ml-connector
Sage 100IBM Sterling

Sage 100 and IBM Sterling integration

Sage 100 runs your on-premises finance, procurement, and inventory. IBM Sterling B2B Integrator routes EDI transactions from your trading partners. Connecting the two keeps procurement aligned with your general ledger and eliminates manual entry of purchase orders and vendor invoices from EDI feeds. Inbound EDI 850 purchase orders, 810 invoices, and 856 ASNs move from Sterling into Sage 100, matched to vendors, and posted to the right GL accounts.

How Sage 100 works

Sage 100 exposes customers, sales orders, AP vendors, AP invoices, purchase orders, GL accounts, and journal entries through SOAP web services at a customer-hosted IIS endpoint, or through a local Windows agent wrapping the BOI COM layer for deeper access to AP, GL, and purchase orders. Authentication uses username and password per SOAP call with no tokens or OAuth. The system requires a company code identifier on every call, individual user enablement for Web Services in Sage 100 admin, and uses multi-segment GL account numbers that vary by customer configuration. Sage 100 has no webhooks or push events, so records are read by polling via DateLastUpdated or DateCreated fields. SOAP covers only sales orders and AR customers; AP, GL, PO, and vendor access requires BOI through a local agent.

How IBM Sterling works

IBM Sterling B2B Integrator exposes trading partners, mailbox messages, documents, workflows, schedules, routing rules, and digital certificates through a REST API served by an embedded IBM WebSphere Liberty Profile server at a customer-configured base URL and port. Authentication uses HTTP Basic (username and password) or OAuth 2.0 client credentials, with the token endpoint local to the customer instance. The platform manages configuration objects and operational objects like workflow instances and mailbox messages, but EDI documents flow as payloads inside the platform and are accessible only via mailbox message extraction. IBM Sterling has no outbound webhooks, so polling is required. The API credential must be a non-admin user account; authenticating with a super-user account results in an error.

What moves between them

Inbound EDI documents flow from IBM Sterling into Sage 100. Purchase orders (EDI 850) arrive in Sterling's mailbox, are extracted by ml-connector, and posted into Sage 100 as PO_PurchaseOrder records with the vendor cross-referenced from AP_Vendor. Invoices (EDI 810) and advance ship notices (EDI 856) follow the same path. Reference data such as vendor records and GL accounts are synchronized first to ensure every incoming document lands on valid dimensions. The flow runs on a schedule you define, typically every 15 to 30 minutes for transaction documents and hourly for master data.

How ml-connector handles it

ml-connector stores Sage 100 credentials (username, password, company code, server URL) and IBM Sterling credentials (host, port, username, password, and OAuth token URL if applicable) encrypted. For Sage 100 it wraps each SOAP call with the username and password, submits to the customer-hosted eBusiness Web Services endpoint, and handles the multi-segment GL account format by reading the account structure from the customer's GL_Account master. For IBM Sterling it authenticates with HTTP Basic or OAuth2 (refreshing the bearer token when a call returns 401), polls the mailbox GET endpoint on your schedule, and extracts document payloads via the mailbox extraction endpoint. ml-connector maps incoming EDI 850 segments to Sage 100's PO_PurchaseOrder schema, EDI 810 to AP_Invoice, vendor references to AP_Vendor, and line GL account assignments to the customer's configured GL account segments. Because Sage 100 uses record-level COM locking on the BOI layer, ml-connector backs off and retries on write conflicts. IBM Sterling rate limits are handled with exponential backoff. Every extracted document carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A mid-sized distribution company runs Sage 100 for AP, GL, and inventory, and receives purchase order acknowledgements, invoices, and ASNs from 80 suppliers via EDI through IBM Sterling B2B Integrator. Before the integration, the procurement team polled Sterling's message archive, extracted EDI documents manually, and entered line-item details and GL allocations into Sage 100 by hand, a process that took 4 to 6 hours per day and introduced transcription errors. With Sage 100 and Sterling connected, each inbound EDI document is automatically extracted, validated against the vendor and GL account master, and posted into AP invoices on the same day it arrives. Reconciliation is faster and the manual data entry step is eliminated.

What you can do

  • Post EDI 850 purchase orders from IBM Sterling into Sage 100 as PO records, matched to vendors and GL accounts.
  • Sync EDI 810 invoices and EDI 856 advance ship notices into Sage 100 AP and reconciliation workflows.
  • Map vendor references and GL account segments from Sage 100 master data so incoming documents land on valid dimensions.
  • Authenticate Sage 100 with username and password over SOAP, and IBM Sterling with HTTP Basic or OAuth2 over REST.
  • Poll on a schedule tied to your procurement calendar, with retries on write conflicts and a full audit trail on every document.

Questions

Which direction does data move between Sage 100 and IBM Sterling?
The main flow is IBM Sterling into Sage 100. EDI documents (purchase orders, invoices, advance ship notices) arrive in Sterling's mailbox and are extracted by ml-connector into Sage 100 as purchase orders, AP invoices, and vendor records. Reference data such as vendors and GL accounts may be synchronized in both directions to ensure alignment on valid dimensions.
How does the integration handle Sage 100's SOAP endpoint and lack of webhooks?
ml-connector accepts the full customer-hosted SOAP endpoint URL and company code, since Sage 100 publishes no shared cloud API. Because both Sage 100 and IBM Sterling are polling-only, ml-connector fetches EDI documents from Sterling's mailbox on a schedule tied to your procurement calendar, then polls Sage 100 to validate vendors and GL accounts before posting transactions.
What happens if an EDI document fails to post into Sage 100 due to a missing vendor or GL account?
ml-connector holds the document in its audit log with the validation error and can be configured to notify you of the failure or to retry when the missing master record is added. Every extracted document includes a complete audit trail, so you can replay it once the upstream issue is resolved.

Related integrations

Connect Sage 100 and IBM Sterling

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

Get started