Deltek and Coupa integration
Deltek Vantagepoint runs project accounting, finance, and the general ledger. Coupa runs procurement, where requisitions become purchase orders and supplier invoices are approved. Connecting the two means approved Coupa invoices and the purchase orders behind them flow into Deltek as AP invoices without re-keying, and the Deltek vendor firm master stays in agreement with Coupa suppliers. ml-connector handles the different APIs and auth on each side and moves the data on a schedule you control. The general ledger stays in Deltek, where Coupa never writes accounting entries.
What moves between them
The main flow runs from Coupa into Deltek. ml-connector reads approved invoices from Coupa and the purchase orders behind them and posts them into Deltek Vantagepoint as AP invoices, mapped to the matching Deltek vendor firm, project, and GL account. Supplier records flow the same direction so the Deltek firm master reflects Coupa suppliers and their tax and remittance details. Reference data such as suppliers and account segments is aligned so each AP invoice line resolves to a real Deltek firm number and GL account. The general ledger lives in Deltek, so ml-connector never writes accounting entries back into Coupa.
How ml-connector handles it
ml-connector stores both credential sets encrypted. On the Coupa side it requests an OAuth 2.0 client-credentials token, caches it per instance until shortly before expiry, and sends the pinned X-Coupa-API-Version header on every call. On the Deltek side it requests an OAuth 2.0 password-grant token against the customer tenant URL and refreshes it when a call returns 401, which depends on the password grant being enabled in Vantagepoint settings and the API user role having full field visibility so fee and amount fields do not read as zero. Suppliers are mapped to Deltek firm numbers and Coupa account segments to Deltek GL accounts first, so every AP invoice line lands on a valid firm and account. Coupa can push approved-invoice and supplier webhooks signed with HMAC-SHA256 to trigger the work immediately, while a scheduled poll over Coupa invoices and suppliers backfills anything a push missed, since Deltek itself offers only workflow callbacks with no HMAC. Because Deltek has no idempotency key, ml-connector queries Deltek by invoice number before posting and dedupes on a BullMQ jobId, which avoids double-booking a re-read invoice. Each record carries a full audit trail and can be replayed if a downstream call fails.
A real-world example
A mid-sized architecture and engineering firm of roughly three hundred staff runs Deltek Vantagepoint for project accounting and the general ledger, and uses Coupa for procurement and supplier invoice approval. Before the integration, an AP clerk reviewed each approved invoice in Coupa and re-keyed it into Deltek by hand, matching it to the right vendor and project, which left invoices waiting days and let supplier numbers drift between the two systems. With Deltek and Coupa connected, each approved Coupa invoice and its purchase order post into Deltek as an AP invoice against the correct firm and project, and supplier changes keep the firm master aligned. Invoices clear faster, the re-keying step is gone, and the AP ledger matches procurement without a month-end reconciliation scramble.
What you can do
- Post approved Coupa invoices into Deltek Vantagepoint as AP invoices against the matching vendor firm and project.
- Carry the purchase order behind each Coupa invoice through to the Deltek AP record for matching.
- Keep the Deltek firm master aligned with Coupa suppliers and their tax and remittance details.
- Authenticate Coupa with OAuth 2.0 client credentials and Deltek with its tenant OAuth 2.0 password grant.
- Trigger on Coupa HMAC-signed webhooks with a scheduled poll backfill, retries, and a full audit trail on every record.
Questions
- Which direction does data move between Deltek and Coupa?
- The main flow is Coupa into Deltek. Approved invoices, their purchase orders, and supplier records move from Coupa into Deltek Vantagepoint, posted as AP invoices and firms against the matching projects and GL accounts. The general ledger lives in Deltek, so ml-connector does not write accounting entries back into Coupa.
- How does the integration bridge the two different auth methods?
- ml-connector stores both credential sets encrypted and handles each side separately. For Coupa it requests an OAuth 2.0 client-credentials token and sends the pinned X-Coupa-API-Version header on every call. For Deltek it requests an OAuth 2.0 password-grant token against the customer tenant URL and refreshes it on a 401, which requires the password grant to be enabled in Vantagepoint settings.
- Does Coupa push invoices, or does ml-connector poll Deltek for them?
- Coupa can push approved-invoice and supplier events by webhook, signed with HMAC-SHA256, which trigger the work as soon as an invoice is approved. A scheduled poll over Coupa backfills anything a push missed, since Deltek offers only workflow callbacks with no HMAC signature. Because Deltek has no idempotency key, ml-connector checks for an existing invoice number before posting so a re-read invoice is not booked twice.
Related integrations
More Deltek integrations
Other systems that connect to Coupa
Connect Deltek and Coupa
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started