Oracle E-Business Suite and SPS Commerce integration
Oracle E-Business Suite runs your financials, procurement, and inventory. SPS Commerce connects you to retail trading partners like Walmart and Target via EDI. Linking the two means purchase orders that arrive from retailers flow directly into EBS as AP invoices without manual keying, invoice amounts are validated against EBS GL accounts, and you can see which orders have been received and which are still pending. ml-connector handles the very different APIs and authentication schemes on each side and moves the data on a schedule you control.
What moves between them
Purchase orders originate from retail trading partners and flow into SPS Commerce as EDI X12 850 documents. ml-connector polls SPS for new purchase orders at a configurable interval (typically 5 to 15 minutes), wraps each order in the RSX envelope format, and posts it to the Oracle E-Business Suite Integrated SOA Gateway as an AP interface invoice and a PO receipt. Invoice amounts are validated against existing EBS GL accounts and cost centers. The flow is unidirectional from SPS into EBS; EBS does not push data back to SPS.
How ml-connector handles it
ml-connector stores both credential sets encrypted: the EBS Basic Auth username and password, and the SPS OAuth 2.0 client ID and secret. For each EBS customer, it accepts the on-premises ISG hostname and port, since EBS publishes no fixed base URL. On EBS, it requests a session token via the login endpoint with Basic auth and caches it until 401 signals expiry, then re-authenticates. For SPS, it exchanges the client credentials for a JWT bearer token via the SPS token endpoint and includes the token on all subsequent calls. ml-connector polls SPS purchase orders on a schedule tied to your retail calendar, wraps each order in the RSX 7.7.7 envelope, and posts to the EBS AP_INVOICES_INTERFACE and PO_LINES open interface tables via the ISG. It deduplicates using the purchase order number, checks invoice amounts against existing EBS GL_CODE_COMBINATIONS to prevent invalid GL postings, and respects EBS session timeout by handling 401 responses with re-auth. Every record carries a full audit trail and can be replayed if a downstream EBS concurrent program import fails.
A real-world example
A mid-sized retailer supplier operates Oracle E-Business Suite for accounting and procurement and sells to Walmart, Target, and smaller retail chains through SPS Commerce. Before the integration, the supply chain team logged into SPS every morning, downloaded the overnight purchase orders as EDI files, and manually re-entered quantities, prices, and line items into EBS as AP invoices. This process was error-prone and delayed EBS visibility into incoming orders. With Oracle E-Business Suite and SPS Commerce connected, each purchase order from a trading partner flows automatically into EBS as an invoice, matched to the correct GL account, and appears in the inventory and accounts payable modules within five minutes. The finance team no longer re-keys orders, and the procurement team has real-time visibility into what retailers have ordered.
What you can do
- Poll SPS Commerce purchase orders and automatically post them into Oracle E-Business Suite as AP invoices and PO receipts.
- Validate invoice amounts and line items against EBS GL accounts and cost centers before posting to prevent financial misstatement.
- Authenticate Oracle E-Business Suite via HTTP Basic Auth and session tokens, and SPS Commerce via OAuth 2.0 client credentials.
- Deduplicate purchase orders so retries and replays do not create duplicate EBS invoices.
- Maintain a full audit trail of every order, every field mapping, and every EBS concurrent program result for compliance and troubleshooting.
Questions
- How does the integration handle the fact that Oracle E-Business Suite has no public URL?
- ml-connector accepts the full on-premises ISG hostname and port per EBS customer. Because EBS publishes no shared base URL, you provide the customer-specific hostname during setup, and all REST calls route to that instance. The integration also respects EBS session timeout by checking for 401 responses and re-authenticating when the token expires.
- What happens if a purchase order fails to post to EBS?
- ml-connector tracks which purchase orders have been successfully imported using the purchase order number as a dedup key. If an invoice fails validation against EBS GL accounts or the concurrent program import stalls, the order is marked for retry. The full audit trail shows which field caused the rejection, and you can correct the GL account mapping or EBS configuration and replay the same order without creating a duplicate invoice.
- Does SPS Commerce have webhooks, or must the integration poll?
- SPS Commerce has a webhook framework in development, but the recommended production pattern is polling /fulfillment/v1/purchaseorders at a configurable interval (typically 5 to 15 minutes). ml-connector implements cursor-based pagination and exponential backoff on rate-limit responses so polling is efficient and reliable without waiting for SPS to finalize their webhook system.
Related integrations
More Oracle E-Business Suite integrations
Other systems that connect to SPS Commerce
Connect Oracle E-Business Suite and SPS Commerce
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started