Odoo and IBM Sterling integration
Odoo runs accounting, purchasing, and inventory. IBM Sterling B2B Integrator manages EDI translation and trading partner document routing. Connecting the two keeps your ERP in sync with your B2B interchange platform. Purchase orders created in Odoo flow to IBM Sterling for EDI encoding and outbound delivery to suppliers, while inbound EDI messages (invoices, ASNs, remittance notices) are decoded and posted back into Odoo's payables and inventory without re-keying. ml-connector handles the very different APIs on each side and orchestrates the bidirectional sync on a schedule you control.
What moves between them
The main flow runs both directions. Purchase orders created in Odoo are polled and sent to IBM Sterling, where routing rules prepare them for EDI encoding and transmission to suppliers. Supplier responses - invoices (EDI 810), advance ship notices (ASN, EDI 856), and payment remittances - are polled from IBM Sterling's mailbox, decoded from their EDI format, and posted into Odoo's payables and inventory accounts. Reference data such as supplier partner codes and product identifiers are aligned in both directions so EDI documents map correctly to Odoo's purchase order and invoice schemas.
How ml-connector handles it
ml-connector stores Odoo API key and IBM Sterling credentials (OAuth2 client credentials or Basic auth username and password) encrypted at rest. It polls Odoo's purchase.order and account.move models using write_date filters to detect new and modified records, then constructs EDI segments compatible with IBM Sterling's inbound translation. On the IBM Sterling side, it polls GET /B2BAPIs/svc/mailboxMessages/ on a schedule and extracts message payloads via the /extract endpoint, decoding EDI syntax (X12 850 for POs, 810 and 856 for supplier responses) into line-item records and posting them into Odoo's account.move and purchase.order models. Every record carries a timestamp and job ID for deduplication and replay if a downstream call fails. OAuth2 token refresh is handled transparently, and HTTP 429 (rate limit) responses trigger exponential backoff with jitter.
A real-world example
A mid-sized discrete manufacturer uses Odoo for procurement and finance, and IBM Sterling to manage electronic commerce with 40+ suppliers via EDI X12. Before the integration, the procurement team entered purchase orders in Odoo, then manually logged into IBM Sterling to create EDI documents and route them to suppliers. Supplier invoices and ASNs arrived as EDI messages in IBM Sterling but had to be manually matched and re-entered into Odoo's payables and inventory accounts. With Odoo and IBM Sterling connected, each PO created in Odoo flows automatically into IBM Sterling for EDI translation and routing, and inbound supplier documents are decoded and posted into Odoo's accounts without manual intervention. Month-end invoice reconciliation is faster because suppliers and inventory records are already in sync.
What you can do
- Sync purchase orders from Odoo into IBM Sterling for EDI encoding and delivery to suppliers.
- Decode supplier invoices and advance ship notices from IBM Sterling EDI messages and post them into Odoo payables and inventory.
- Map Odoo supplier partner codes and product identifiers to IBM Sterling trading partner and document segment definitions.
- Authenticate Odoo with API key and IBM Sterling with OAuth2 or HTTP Basic credentials, handling token refresh and credential encryption.
- Poll Odoo and IBM Sterling on your defined schedule with full audit trail and replay capability for every record.
Questions
- Which direction does data move between Odoo and IBM Sterling?
- Data moves in both directions. Purchase orders flow from Odoo into IBM Sterling for EDI translation and outbound routing to suppliers. Supplier responses - invoices, advance ship notices, and remittance notices - are polled from IBM Sterling's mailbox, decoded from EDI format, and posted into Odoo's payables and inventory accounts. Supplier master data such as partner codes and product identifiers are aligned in both directions.
- Does IBM Sterling's REST API support webhooks, or do we have to poll?
- IBM Sterling B2B Integrator REST API supports polling only - no outbound webhooks are available. ml-connector polls the mailboxMessages endpoint on a schedule you define (typically every 1-5 minutes) to detect new EDI documents. This is the standard approach because IBM Sterling is an on-premises platform and outbound push would require additional firewall and network configuration.
- How does ml-connector handle Odoo's different deployment models and IBM Sterling's per-customer instance setup?
- Odoo Online, Odoo.sh, and self-hosted each have a different base URL, and ml-connector accepts the full base URL per customer. Similarly, IBM Sterling is deployed per customer with a customer-configured hostname and port, which ml-connector stores and uses for all REST calls. Both systems require network access and valid credentials, which ml-connector stores encrypted and refreshes transparently (OAuth2 token, API key, or HTTP Basic auth).
Related integrations
More Odoo integrations
Other systems that connect to IBM Sterling
Connect Odoo and IBM Sterling
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started