ml-connector
Workday Financial ManagementSAP Ariba

Workday Financial Management and SAP Ariba integration

Workday Financial Management runs your general ledger, accounts payable, and procurement finance. SAP Ariba runs your supplier management and purchase order orchestration. Connecting the two keeps your procurement documents and your GL in sync. Approved Ariba purchase orders and invoiced receipts flow into Workday's GL automatically, mapped to the correct GL accounts and cost centers, so month-end close does not require manual verification and re-keying of procurement activity.

How Workday Financial Management works

Workday Financial Management exposes suppliers, purchase orders, supplier invoices, payments, GL accounts, worktags (cost centers), customers, and journal entries through two API surfaces. SOAP/XML is available at tenant-specific URLs with WS-Security UsernameToken authentication, providing full create-read-update capabilities. REST/JSON is available for lighter reads at the same tenant host with OAuth2 refresh-token authentication, where tokens expire in 1 hour and must be manually refreshed by the integration. Workday has no native webhooks or event stream; polling is the only option, with recommended intervals of 15 to 60 minutes for transactional data. The integration must use date-range filters on read operations and respect a minimum 5-minute poll interval to avoid tenant-level throttling.

How SAP Ariba works

SAP Ariba exposes purchase orders, invoices, suppliers, requisitions, contracts, sourcing events, and reporting facts through REST Open APIs. Every request requires OAuth2 client credentials (1-hour expiry) plus a static API key header; both must be present or the call returns 401. The async reporting pattern requires submitting a job filtered by a date range, polling for completion via job ID, and downloading paginated results (max 50,000 records per call, max 2,000,000 per day). View templates must be pre-created in the Ariba UI before reporting calls will return data. Complex operations like invoice creation and PO write-back use SOAP/cXML instead of REST, so the REST surface is primarily read-oriented. Realm must be appended as a query parameter, not a header. Rate limits vary by endpoint (typically 1/sec to 300/sec) and cannot be increased by request. Cursor-based pagination uses pageToken; absence of pageToken indicates the last page.

What moves between them

The primary flow runs from Ariba into Workday. ml-connector reads Ariba purchase orders and invoices on a polling schedule (daily or per-cycle), maps the line items to Workday GL accounts and cost centers via a stored mapping table, and posts the validated receipts and invoices as journal entries into Workday's GL. Supplier and cost center reference data is synchronized in both directions so procurement line items land on valid Workday dimensions. Workday GL journals are the final state; ml-connector never writes procurement data back into Ariba.

How ml-connector handles it

ml-connector stores Workday OAuth refresh tokens encrypted and refreshes them before expiry on each polling cycle. For Ariba, it caches the OAuth token and API key, presents both on every request, and handles the realm query parameter correctly. Because both systems are polling-only, ml-connector retrieves documents on a schedule you define (e.g., daily, or tied to your invoice processing cycle) using date-range filters to track changes. It submits Ariba async reporting jobs in the required format, polls for job completion by job ID, and handles paginated results (up to 50,000 records per page). Line items are validated against a mapping table before posting into Workday; invalid rows are captured in the audit log and can be corrected and replayed. Ariba rate limits are managed with exponential backoff and jitter. The integration respects Workday's 5-minute minimum polling interval and caches Ariba view templates to avoid repeated validation calls. Every record carries a full audit trail, including the original Ariba payload, the mapping decision, and the resulting Workday journal entry.

A real-world example

A mid-sized industrial distributor uses Workday Financial Management for finance and GL, and SAP Ariba for supplier sourcing and purchase orders. Before the integration, the procurement team issued POs in Ariba, suppliers shipped goods, and the accounting team received physical invoices or Ariba notifications, then manually matched them to PO line items and entered the GL postings by hand. With Workday and Ariba connected, each approved Ariba PO and its associated receipt and invoice automatically post into Workday's GL, allocated to the correct cost centers (warehouse, distribution center, office). The accounting team no longer re-enters procurement transactions, and the GL and accounts payable are always in agreement with the source of truth in Ariba.

What you can do

  • Read Ariba purchase orders and invoices on a schedule and post them into Workday's GL, mapped to GL accounts and cost centers.
  • Map Ariba suppliers, requisitions, and line items to Workday worktags and GL accounts so procurement lands on valid cost dimensions.
  • Handle OAuth2 token refresh for Workday (1-hour expiry) and Ariba (1-hour expiry) on each polling cycle without manual intervention.
  • Manage Ariba async reporting jobs, pagination, and date-range windows, including multi-year backfill in annual chunks.
  • Track every document from Ariba payload through GL posting in a full audit trail, with replay capability if a line item fails validation or a Workday write-back call fails.

Questions

Which direction does data move between Workday and Ariba?
The main flow is Ariba into Workday. Purchase orders and invoices move from Ariba into Workday's GL, while suppliers and cost centers are aligned in both directions so Ariba line items match valid Workday dimensions. Workday GL journals are read-only output; ml-connector does not write data back into Ariba.
How does the integration handle Ariba's async reporting job requirement and pagination?
ml-connector submits async reporting jobs filtered by date range, polls for completion using the job ID, and downloads paginated results (up to 50,000 records per page). For multi-year backfills, it submits multiple jobs in annual chunks because Ariba reporting enforces a maximum one-year window between start and end dates. Cursor-based pagination via pageToken indicates page boundaries.
What happens if Workday or Ariba OAuth tokens expire during a sync?
Workday access tokens expire in 1 hour and are cached by ml-connector, which refreshes them before expiry on each polling cycle. Ariba tokens expire in 1 hour as well. Both token caches are checked at the start of a sync; if a token has expired, it is refreshed before the first API call. This prevents mid-sync 401 errors and ensures the sync completes without manual intervention.

Related integrations

Connect Workday Financial Management and SAP Ariba

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started