ml-connector
Oracle NetSuiteIBM Sterling

Oracle NetSuite and IBM Sterling integration

Oracle NetSuite runs your procurement and finance. IBM Sterling manages your EDI documents and trading partner communication. Connecting the two keeps purchase orders and vendor bills flowing to your partners without manual EDI translation or re-entry. Purchase orders created in NetSuite are automatically translated to EDI 850 format and routed through Sterling to suppliers, while inbound invoices are converted from EDI 810 and posted back into NetSuite's vendor bill records. ml-connector handles the translation, credential storage, polling schedule, and the full audit trail.

How Oracle NetSuite works

Oracle NetSuite exposes purchase orders, vendor bills, vendors, departments, accounts, items, and classifications through SuiteTalk REST API, with OAuth 2.0 client credentials (M2M) as the recommended authentication. NetSuite also supports event subscriptions that push webhooks for create/edit/delete events on supported record types, though webhooks require IP allowlist or shared secret validation instead of HMAC. Alternatively, SuiteQL allows polling for bulk or historical reads. OAuth tokens are valid 60 minutes with no refresh token in the M2M flow, and tokens are scoped to a role assigned to the integration mapping. Webhook retry uses exponential backoff and endpoints must return 2xx promptly.

How IBM Sterling works

IBM Sterling B2B Integrator exposes trading partners, mailbox messages, documents, workflows, routing rules, and schedules through REST API running on an embedded WebSphere Liberty server, typically at https://<hostname>:<port>/B2BAPIs/svc/. Authentication uses HTTP Basic (username and password) or OAuth 2.0 client credentials with a local token endpoint. Sterling is on-premises or customer-managed only with no shared SaaS endpoint, so each customer provides their own host and port. The REST API manages configuration and operational objects but does not expose EDI documents as queryable REST resources; financial documents flow as payloads inside mailbox messages and must be extracted via dedicated endpoints. Sterling has no outbound webhooks and requires polling only, typically every 1-5 minutes. The credential authenticating must be a non-admin user account.

What moves between them

The main flow is from Oracle NetSuite outbound to IBM Sterling and then to trading partners. Purchase orders are read from NetSuite, translated to EDI 850 format, and routed through Sterling to suppliers. Inbound EDI 810 invoices from suppliers arrive in Sterling's mailbox, are extracted, translated back to vendor bills, and posted into NetSuite for three-way matching against POs and receipts. Vendor master data (names, payment terms, tax IDs) is synchronized from NetSuite to Sterling's trading partner catalog to ensure outbound EDI documents carry valid supplier identifiers. The cycle runs on a schedule aligned with your procurement and accounts payable close periods.

How ml-connector handles it

ml-connector stores NetSuite's OAuth credentials and Sterling's Basic Auth or OAuth credentials encrypted in its database, with separate credential sets per customer instance. It polls NetSuite every 30 minutes (configurable) for new or updated purchase orders using SuiteQL queries, then for each order requests item details, cost center, and ship-to location. Each PO is translated to ANSI X12 850 format using a mapping that aligns NetSuite line item numbers, descriptions, quantities, unit prices, and dates to the EDI standard. ml-connector then posts the 850 to Sterling via the mailbox API, specifying the trading partner and routing rule to ensure the EDI reaches the correct supplier. On the return side, ml-connector polls Sterling's mailbox for inbound 810 invoice documents (every 15 minutes, configurable), extracts the payload, parses the EDI segments, maps back to NetSuite vendor bill fields (vendor ID, line amounts, GL account), and creates vendor bills in NetSuite with a cross-reference to the Sterling mailbox message ID for audit and replay. NetSuite's 60-minute OAuth token expiry is handled by refreshing before each batch. Sterling's local API endpoint requires network access (VPN or DMZ), which ml-connector validates at setup. All EDI conversions are logged with before-and-after payloads so any translation error can be replayed after correction.

A real-world example

A mid-market manufacturing company buys materials from 40 suppliers across North America and Europe, most of whom accept EDI orders via X12 850 and send invoices via 810. Previously, the procurement team exported purchase orders from Oracle NetSuite as CSV, manually converted them to EDI 850 format using a third-party tool, uploaded them to Sterling, and then manually entered returned EDI 810 invoices back into NetSuite for matching. This process took two full days per week and introduced typos and discrepancies. With NetSuite and Sterling connected through ml-connector, purchase orders flow to Sterling automatically the same day they are created, EDI 810 invoices are parsed and posted as vendor bills within an hour of arrival, and the procurement team reclaims that time for supplier relationship management and cost negotiation.

What you can do

  • Translate NetSuite purchase orders to ANSI X12 850 EDI format and route them to suppliers through IBM Sterling automatically.
  • Convert inbound EDI 810 invoices from Sterling back to NetSuite vendor bills, with automatic matching to purchase orders.
  • Synchronize vendor master data from NetSuite to Sterling's trading partner catalog to ensure EDI documents reference valid suppliers.
  • Handle NetSuite OAuth token refresh, Sterling API authentication, and encrypted credential storage with separate per-customer instances.
  • Poll NetSuite and Sterling on a procurement-aligned schedule with full audit trails, error logs, and replay capability for each document.

Questions

What happens if an EDI translation fails or a supplier EDI is malformed?
Every translation is logged with before-and-after payloads in the audit trail. If an EDI parse fails, ml-connector quarantines the document and alerts your team with the error details. Once the issue is corrected in the source data or the mapping, the document can be replayed without manual intervention. All malformed or unparseable EDI is retained with context so you can investigate with the supplier.
Does ml-connector support EDI formats other than X12 850 and 810?
Currently the mapping covers X12 850 (PO) and 810 (invoice). IBM Sterling supports EDIFACT and TRADACOMS as well. Additional formats are added on demand based on your supplier base and Sterling configuration. Discuss custom format requirements during setup.
How does ml-connector handle the network isolation of IBM Sterling?
IBM Sterling runs on-premises or in a customer-managed cloud, not on a shared SaaS endpoint. During setup, you provide the Sterling host, port, and authentication credentials. ml-connector validates network access via a health check and stores the endpoint encrypted. If the connection is lost, ml-connector retries with exponential backoff and logs the outage so your team is notified before orders queue up.

Related integrations

Connect Oracle NetSuite and IBM Sterling

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

Get started