ml-connector
Sage X3IBM Sterling

Sage X3 and IBM Sterling integration

Sage X3 manages your procurement, inventory, and finance. IBM Sterling manages your EDI and B2B partner communications. Connecting them keeps purchase orders, supplier invoices, and advanced shipping notices flowing reliably to and from your trading partners without manual re-keying. Sage X3 purchase orders automatically route through IBM Sterling to your suppliers in the EDI format they expect, and inbound EDI documents from suppliers post back into X3 as receipts and invoices.

How Sage X3 works

Sage X3 runs on-premise and cloud and exposes purchase orders, supplier invoices, goods receipts, suppliers, and GL accounts through REST (api1 with HTTP Basic Authentication or GraphQL endpoint with OAuth2 client credentials). The GraphQL endpoint is recommended and requires Sage X3 V12 or later. REST tokens expire in 5 minutes, with 30-day refresh tokens. Sage X3 does not support outbound webhooks, so records are detected through polling with updatedDate fields. The server URL and folder name are customer-specific with no central registry. Access tokens are OAuth2 JWTs via Connected Application for GraphQL, or HTTP Basic Authentication for REST api1.

How IBM Sterling works

IBM Sterling B2B Integrator runs on-premises or hybrid-cloud with REST APIs served by an embedded WebSphere Liberty Profile server on a customer-configured HTTPS port (default 10075). It manages trading partners, mailbox messages, EDI documents, workflows, and routing rules. Authentication is HTTP Basic or OAuth2 Client Credentials with a local token endpoint. IBM Sterling does not support outbound webhooks; new EDI documents are detected by polling the mailbox message endpoint every 1-5 minutes and extracting payloads. EDI documents (POs, invoices, ASNs) flow as payloads inside the platform and are accessed via mailbox extraction, not as direct REST resources. Network access to the B2Bi instance via VPN or DMZ exposure is required.

What moves between them

Purchase orders and goods receipts flow from Sage X3 into IBM Sterling. ml-connector polls X3 for new POs and receipts, translates them to EDI 850 (PO) and 856 (ASN) format within Sterling, and routes them to your suppliers according to your trading partner profiles. Supplier invoices (EDI 810), advanced shipping notices (EDI 856 inbound), and remittance advice flow the opposite direction. ml-connector polls IBM Sterling's mailbox for inbound EDI documents, extracts them, and posts the records into Sage X3 as supplier invoices (supplierBpInvoice) and goods receipts (gacentry) mapped to the matching purchase orders.

How ml-connector handles it

ml-connector stores credentials for both systems encrypted. On the Sage X3 side, it accepts either GraphQL OAuth2 (V12+) or REST api1 Basic Auth and polls the updatedDate field to detect new or changed purchase orders and goods receipts since the last run. It then posts those records to IBM Sterling via the REST API under the same OAuth2 or Basic Auth credentials, creating EDI messages that Sterling translates and routes to your configured trading partners. Inbound documents arrive in IBM Sterling's mailbox; ml-connector polls the mailbox endpoint every few minutes, extracts each EDI payload, parses the document type (810 for invoices, 856 for ASNs), and posts the records back into Sage X3. Because Sage X3 offers no webhooks, both directions rely on scheduled polling; ml-connector retries failed calls and maintains a full audit trail of every record moved in both directions. Access tokens expire in 5 minutes on X3, so ml-connector refreshes them before each poll to avoid rate-limit issues.

A real-world example

A mid-market manufacturer uses Sage X3 to manage procurement and inventory across three plants and sources parts from six regular suppliers, plus occasional spot purchases. Before the integration, the procurement team manually created EDI files from X3 purchase orders using legacy FTP scripts, uploaded them to IBM Sterling, and waited for supplier confirmations and ASNs to arrive in Sterling's inbox before manually re-entering goods receipts and invoices into X3. With Sage X3 and IBM Sterling connected, each purchase order created in X3 automatically flows to Sterling as an EDI 850, routes to the supplier, and inbound ASNs and invoices post back into X3 as goods receipts and pending invoices. The manual EDI translation and re-keying step is eliminated, and procurement staff spend their time on supplier negotiations rather than file handling.

What you can do

  • Automatically translate Sage X3 purchase orders into EDI 850 format and route them through IBM Sterling to your trading partners.
  • Receive inbound EDI 810 invoices and 856 advanced shipping notices from suppliers and post them into Sage X3 as supplier invoices and goods receipts.
  • Map EDI documents to the correct Sage X3 purchase orders, cost centers, and GL accounts based on supplier and item configurations.
  • Poll Sage X3 and IBM Sterling on a schedule that matches your procurement cycle, with automatic retries on network failures and full audit trails.
  • Support both GraphQL and REST authentication for Sage X3 and Basic Auth or OAuth2 for IBM Sterling, with encrypted credential storage.

Questions

Which direction does data move between Sage X3 and IBM Sterling?
Outbound: Sage X3 purchase orders and goods receipts flow to IBM Sterling, where ml-connector translates them to EDI (850 for POs, 856 for ASNs) and routes them to suppliers. Inbound: Supplier invoices (EDI 810) and advanced shipping notices (EDI 856) arrive in IBM Sterling's mailbox and post back into Sage X3 as supplier invoices and receipts. The flow is bidirectional and fully automated.
Does ml-connector support both GraphQL and REST for Sage X3?
Yes. ml-connector can use either GraphQL (recommended for V12+) with OAuth2 Client Credentials, or the legacy REST api1 endpoint with HTTP Basic Authentication. Both require the customer-specific server URL and folder name. Tokens expire in 5 minutes on the REST endpoint, so ml-connector refreshes them before each poll.
How does ml-connector handle EDI document extraction from IBM Sterling?
IBM Sterling does not expose EDI documents as direct REST resources. ml-connector polls the mailbox endpoint every few minutes to detect new messages, extracts each EDI payload, determines the document type (invoice, ASN, etc.), and then posts the parsed data into Sage X3. Both Sage X3 and IBM Sterling offer no outbound webhooks, so polling is the only option for both directions.

Related integrations

Connect Sage X3 and IBM Sterling

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started