Workday Financial Management and Coupa integration
Workday Financial Management handles your general ledger and accounts payable. Coupa handles procurement and supplier management. Connecting the two closes the gap between what you ordered, what arrived, and what you owe. Supplier records stay in sync in both directions, Coupa invoices flow into Workday as AP documents aligned to the correct GL accounts and cost centers, and Workday Financial Management and Coupa can be reconciled in a single source of truth. ml-connector handles the two different API styles and the fact that Workday requires polling rather than webhooks.
What moves between them
The primary flow runs from Coupa into Workday Financial Management. Invoice and payment events from Coupa are delivered via webhook where enabled, with fallback to polling on a 15-60 minute cycle. Each Coupa invoice is mapped to a Workday supplier invoice and posted to the GL account and cost center specified in the mapping. Supplier records are synchronized bidirectionally so both systems see the same vendor master, and purchase order references ensure invoices land on the correct POs. Workday Financial Management is read-only on GL posting to prevent out-of-sequence journal entries, so ml-connector does not write back to Workday GL once an entry is posted.
How ml-connector handles it
ml-connector stores both credential sets encrypted, using the Workday OAuth2 refresh token to obtain access tokens for REST calls and presenting the Integration System User credentials for SOAP operations. On the Coupa side it registers for webhook events on invoice, supplier, and payment streams, validates signatures via HMAC-SHA256, and caches the mapping between Coupa line items and Workday GL accounts and cost centers. If Coupa webhooks are not available on a customer instance, ml-connector polls the Coupa REST API on a schedule to catch invoices and supplier changes. Coupa invoice status and payment state drive whether an entry is posted to Workday Financial Management, and retries follow exponential backoff when Coupa returns 429 rate limits. Every invoice carries a unique external identifier so duplicate posts do not occur if a webhook is replayed or a poll detects the same record twice.
A real-world example
A mid-sized services company runs Workday Financial Management for AP and GL close, and uses Coupa for procurement and vendor management across 50+ suppliers. Before the integration, the AP team downloaded Coupa invoices weekly, matched them to POs in Workday by hand, and entered them into Workday Financial Management as journal entries, frequently delaying the GL close by days when invoices arrived out of sequence. With Coupa connected to Workday Financial Management, each approved Coupa invoice flows directly into Workday as an AP entry, allocated to the correct cost center for the customer that the PO specifies. Supplier master changes in Coupa propagate to Workday automatically, and reconciliation between the two systems is instant.
What you can do
- Sync Coupa supplier records into Workday Financial Management as supplier master data, maintaining bidirectional alignment.
- Post Coupa invoices into Workday Financial Management as accounts payable journal entries, mapped to the GL account and cost center for each PO.
- Use Coupa webhooks for real-time invoice notifications where enabled, with fallback to polling on a regular cycle for full reconciliation.
- Authenticate Workday Financial Management via OAuth2 refresh token or SOAP Integration System User, and Coupa via OAuth2 client-credentials.
- Track Coupa invoice status and prevent duplicate GL postings via unique external identifier deduplication.
Questions
- Which direction does procurement data flow between Coupa and Workday Financial Management?
- The primary flow is Coupa into Workday Financial Management. Invoices, payments, and supplier records flow from Coupa into Workday, where they are posted to the GL as AP entries and supplier master data. Supplier records are aligned bidirectionally so both systems share the same vendor master, but GL postings are read-only in Workday to protect the integrity of the general ledger.
- Does ml-connector use Coupa webhooks or polling to catch invoices?
- ml-connector prefers Coupa's webhook events for invoices, suppliers, and payments, where webhooks are enabled on the Coupa instance. If webhooks are not available, ml-connector falls back to polling the Coupa REST API on a 15-60 minute cycle to catch new invoices and supplier changes. Both methods include deduplication so invoices are never posted twice.
- How does the integration handle the fact that Workday has no native webhooks?
- Workday Financial Management requires polling since it does not expose webhooks for financial transactions. ml-connector uses Coupa webhooks on the source side to trigger reads of the associated Workday GL account and cost center mapping, then polls Workday Financial Management on a daily cycle to validate supplier master and GL account state. This hybrid approach balances real-time invoice delivery with the polling constraint Workday imposes.
Related integrations
More Workday Financial Management integrations
Other systems that connect to Coupa
Connect Workday Financial Management and Coupa
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started