Oracle E-Business Suite and Coupa integration
Oracle E-Business Suite runs your on-premises financials and procurement. Coupa runs cloud-based supplier and purchase order management. Connecting the two keeps your vendor master in sync, sends purchase orders from Coupa into EBS for fulfillment, and routes invoice receipts back to EBS for accrual accounting. ml-connector translates between EBS's session-based ISG authentication and Coupa's OAuth credentials, manages the async write flow through EBS interface tables, and detects when Coupa invoice events should flow back to EBS for three-way matching.
What moves between them
The primary flow runs from EBS into Coupa. Vendor records, purchase order headers and lines, and open invoices are read from EBS via polling and posted to Coupa as suppliers and purchase orders. Coupa purchase order and invoice events flow back to EBS via scheduled queries; when an invoice is received in Coupa, ml-connector routes it to an EBS open interface table for three-way matching. Payments created in Coupa can also be queried and synced back to EBS for reconciliation. The cadence is on schedule, typically daily or after key procurement events in either system.
How ml-connector handles it
ml-connector stores both EBS ISG endpoint credentials and Coupa OAuth secrets encrypted. For EBS, it handles session token refresh on 401 responses and includes the required application context headers (responsibility, application, security group, organization) on every ISG call, obtained from the customer's EBS instance configuration. For Coupa, it refreshes the OAuth bearer token and pins the API version header per Coupa's requirements. When writing to EBS, ml-connector posts vendor or invoice data to an open interface table via REST, then poll-waits for the corresponding concurrent program to import the record from the interface table to the base table; this async flow can take minutes. Coupa webhook events are validated via HMAC-SHA256 signature, and purchase order and invoice webhooks trigger corresponding EBS interface table inserts. Rate limiting on Coupa 429 responses is handled with exponential backoff capped at 30 seconds. Every record carries a transaction ID and timestamp for audit and replay.
A real-world example
A mid-sized discretionary manufacturer operates Oracle EBS on-premises for GL, AP, and procurement, and deployed Coupa in the cloud for supplier self-service and purchase requisition workflows. Before the integration, buyers created requisitions in Coupa and purchase orders in EBS by hand, and invoices from suppliers came into EBS but had to be matched manually against Coupa purchase orders for approval and three-way matching. The finance team received mismatched invoices daily. With EBS and Coupa connected, purchase orders created in Coupa post to EBS automatically, supplier invoices route from EBS to Coupa for matching against the Coupa PO, and when matched, payment recommendations flow back to EBS for accrual. Duplicate POs and manual invoice matching are gone, and the team gets a single source of truth for spend.
What you can do
- Sync vendor records from Oracle EBS to Coupa as suppliers, and receive Coupa supplier events to update EBS vendor data.
- Post purchase orders created in Coupa into EBS open interface tables and retrieve them via concurrent program execution for order fulfillment.
- Route invoices from EBS to Coupa for three-way matching against purchase orders, and send matched Coupa invoice events back to EBS for accrual accounting.
- Bridge EBS session-token authentication and Coupa OAuth 2.0 credential flow, handling token refresh on both sides.
- Poll EBS on a schedule tied to your procurement cycle, with async import tracking and a full audit trail on every vendor, PO, and invoice record.
Questions
- How does ml-connector handle writes to EBS when it only supports interface tables?
- ml-connector posts vendor and invoice data to EBS open interface tables via REST. Each insert includes a validated set of required columns. EBS runs a concurrent program that imports the interface table records to the base tables; ml-connector polls the interface table to detect import completion, so the workflow is async but fully tracked and auditable.
- What happens when a purchase order is created in Coupa?
- When a Coupa purchase order event fires, ml-connector reads the PO header and lines, maps the vendor to an EBS vendor number, and posts the order to an EBS open interface table. The corresponding EBS concurrent program imports it to PO_HEADERS_ALL and PO_LINES_ALL for order fulfillment, and ml-connector tracks completion via the interface table status.
- Does the integration require Oracle SOA Suite or Oracle Integration Cloud?
- No. ml-connector polls EBS directly via the Integrated SOA Gateway REST interface without requiring SOA Suite or Oracle Integration Cloud. The integration reads data by filtering open interface views on LAST_UPDATE_DATE and uses pagination for large result sets.
Related integrations
More Oracle E-Business Suite integrations
Other systems that connect to Coupa
Connect Oracle E-Business Suite and Coupa
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started