Oracle JD Edwards and SPS Commerce integration
Oracle JD Edwards EnterpriseOne runs procurement and finance for distributors and manufacturers. SPS Commerce connects suppliers to retail trading partners like Walmart, Target, and Amazon via an EDI network. Linking the two means inbound orders from major retailers flow straight into JD Edwards as purchase orders, and outbound invoices automatically reach the correct partner through SPS without manual document handling. ml-connector handles the on-premises AIS Server connection, OAuth credentials, EDI envelope format translation, and a complete audit trail.
What moves between them
Inbound documents flow from SPS Commerce into JD Edwards. Purchase orders arrive as EDI 850 documents, which ml-connector unwraps from the RSX envelope and loads as JD Edwards F4301/F4311 records (purchase order header and detail). Advance ship notices (856) become goods receipt records. Outbound documents flow from JD Edwards back to SPS. When invoices are created in JD Edwards, ml-connector wraps them in RSX format and posts them as EDI 810 documents to SPS, which routes them to the correct retail trading partner. Polling of SPS for inbound documents runs on a regular schedule; outbound posts happen on JD Edwards invoice creation. Reference data such as vendor masters and item numbers are aligned so retail PO line items map to valid JD Edwards items.
How ml-connector handles it
ml-connector accepts the full Oracle JD Edwards AIS Server URL and maintains a session token, refreshing it when it receives an HTTP 444 (token invalid). On each poll, it queries the JD Edwards data service for new purchase orders, goods receipts, and other inbound documents. For SPS Commerce, ml-connector stores OAuth 2.0 credentials and refreshes the JWT bearer token before expiry. When pulling inbound documents, it polls the SPS fulfillment endpoints at regular intervals, parses the RSX 7.7.7 envelope, and extracts the embedded EDI document. It then maps EDI fields to JD Edwards F-table structures: EDI 850 purchase order numbers and line details become F4301/F4311 records, and quantity/date fields map to corresponding JD Edwards fields. Outbound invoices are read from JD Edwards, wrapped in RSX 7.7.7 format, and posted to SPS as EDI 810 documents. Trading partner identifiers are stored per customer so the same invoice can route to Walmart, Target, or other partners. Because JD Edwards is on-premises, each customer must whitelist the connector's egress IP. Because SPS rate limits are undocumented, ml-connector implements exponential backoff with jitter on 429 responses. Every document pulled or posted carries a dedup key (purchase order number, invoice number) so retries do not create duplicates. The full audit trail records the RSX envelope received, the mapping applied, and the result in JD Edwards.
A real-world example
A mid-sized apparel distributor operates Oracle JD Edwards for procurement, inventory, and accounts payable, and ships to major retailers including Walmart and Target through SPS Commerce. Before the integration, the procurement team received EDI 850 purchase orders as SFTP files, manually parsed line items, and typed them into JD Edwards one by one. When invoices were ready, someone exported them from JD Edwards, formatted them as EDI 810, and uploaded them to SPS via SFTP, a process that took two hours per batch and was error-prone. With SPS and JD Edwards connected, each inbound retailer order automatically becomes a JD Edwards purchase order with the correct item numbers and quantities, and each outbound invoice flows straight to SPS and then to the retailer. The procurement team now spends that two hours on exception handling and vendor negotiations instead of data entry.
What you can do
- Receive inbound purchase orders from Walmart, Target, Amazon, and other retail partners via SPS Commerce and load them as JD Edwards purchase orders in real time.
- Post outbound invoices from JD Edwards to SPS Commerce, which routes them to the correct trading partner in EDI 810 format.
- Unwrap and parse RSX 7.7.7 JSON envelopes so EDI documents are readable and mappable to JD Edwards tables.
- Maintain separate OAuth 2.0 credentials for SPS and session-token authentication for the customer-hosted JD Edwards AIS Server.
- Track every document with a full audit trail and prevent duplicate posts on retry.
Questions
- How does ml-connector handle the fact that JD Edwards is on-premises with no fixed hostname?
- Customers provide the full AIS Server URL (including hostname, port, and base path) as a credential during setup. ml-connector connects directly to that customer-owned server. Because on-premises servers often have IP allowlists, the customer must whitelist the connector's egress IP address so calls can reach the AIS Server. Session tokens expire every 30-60 minutes, so ml-connector refreshes them proactively and handles 444 (invalid token) responses by obtaining a new token.
- What does ml-connector do with the RSX 7.7.7 envelope format that SPS requires?
- SPS wraps all EDI documents in RSX 7.7.7 JSON envelopes. ml-connector automatically unwraps inbound envelopes to extract the raw EDI 850, 856, or 997 document, then maps EDI fields to JD Edwards purchase order and goods receipt records. When pushing invoices outbound, ml-connector wraps the formatted EDI 810 in the RSX envelope before posting to SPS so the network can route it to the correct trading partner.
- How does the integration handle rate limits and retries?
- SPS Commerce does not publish rate limits, so ml-connector implements exponential backoff with jitter on any HTTP 429 response. Every document is tagged with a dedup key (purchase order number or invoice number) so retries do not create duplicate records in JD Edwards. If a document fails to post, ml-connector records the error in the audit trail and can replay it once the underlying issue is resolved.
Related integrations
More Oracle JD Edwards integrations
Other systems that connect to SPS Commerce
Connect Oracle JD Edwards and SPS Commerce
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started