Sage 100 and Tradeshift integration
Sage 100 runs your accounting and purchasing on-premises. Tradeshift runs supplier collaboration and spend visibility in the cloud. Connecting the two keeps your suppliers and network up to date with your AP invoices and purchase orders without manual re-keying. Invoices created in Sage 100 flow into Tradeshift as UBL documents, and purchase orders are shared with supplier networks so your supply chain sees what you ordered and when. ml-connector handles the friction between Sage 100's local SOAP transport and Tradeshift's cloud REST API, along with the XML structure mapping that makes documents readable to suppliers.
What moves between them
The main flow runs from Sage 100 into Tradeshift. AP invoices and purchase orders are polled from Sage 100 via the local agent on a schedule tied to your AP cycle (recommended every 15 minutes), converted to UBL 2.0 or 2.2 XML format, and posted into Tradeshift's document stream. Vendor master data such as company names and IDs is aligned so each invoice and PO references a network connection that already exists in Tradeshift. Because Tradeshift is the document network and Sage 100 is the system of record, the flow is primarily one-way; supplier responses (shipment notifications, remittance advice) come back into Sage 100 as needed but are not automatically written to GL or AP.
How ml-connector handles it
ml-connector stores the Sage 100 SOAP credentials and runs the polling agent query on your schedule, using DateLastUpdated to fetch only records changed since the last poll. It translates the SOAP response into the UBL 2.0 or 2.2 XML format that Tradeshift requires, mapping Sage 100 line-item amounts, tax amounts, and due dates into the correct UBL elements. On the Tradeshift side, it handles OAuth 1.0a signature generation for each request and includes the X-Tradeshift-TenantId header so documents land in the correct tenant. Sage 100 uses a multi-segment GL account format (e.g. 4000-01-00) that varies by customer configuration, so the mapping is per-deployment; vendor codes in Sage 100 must match the Tradeshift network connection identifiers so the supplier can claim the document. If a Sage 100 SOAP call fails due to record locking or a timeout, ml-connector retries with exponential backoff. Tradeshift may rate limit in high-volume deployments, so ml-connector backs off and retries on HTTP 429. Every document carries an audit trail and can be replayed if a downstream action fails.
A real-world example
A mid-sized distributor uses Sage 100 on-premises for accounting and AP, and Tradeshift as its supplier network and spend analytics platform. Before the integration, AP invoices were manually entered into Tradeshift by the accounts team or suppliers uploaded their invoices through the portal, creating duplicate entry work and visibility lag. POs created in Sage 100 took days to reach suppliers who were not on the portal. With Sage 100 and Tradeshift connected, each AP invoice automatically flows into Tradeshift in UBL format within minutes of creation, suppliers see POs the same day, and the accounts team can reconcile spend visibility without re-keying. Month-end audit trails are automatic and tied to Sage 100 source records.
What you can do
- Poll AP invoices and purchase orders from Sage 100 via SOAP or the local BOI agent and post them into Tradeshift as UBL 2.0/2.2 documents on a schedule you control.
- Map Sage 100 vendor codes to Tradeshift network connection identifiers so suppliers can claim and respond to invoices and POs.
- Convert Sage 100 line-item amounts, tax, and due dates into UBL-compliant XML that Tradeshift and its suppliers can process.
- Authenticate Sage 100 SOAP calls with username and password per request, including the company code, and Tradeshift with OAuth 1.0a and the X-Tradeshift-TenantId header.
- Maintain a full audit trail for every document, handle retries and rate-limit backoff, and replay failed postings if a downstream action did not complete.
Questions
- Can purchase orders and invoices flow back from Tradeshift into Sage 100?
- Supplier responses such as shipment notifications, advance ship notices, and remittance advice can be polled from Tradeshift and posted into Sage 100 for reconciliation and GL matching. However, the primary flow is invoices and POs from Sage 100 into Tradeshift so the network sees what your company orders and owes. Write-back is one-way because Sage 100 is the system of record for AP and GL.
- How does ml-connector handle Sage 100's company code requirement and the local agent?
- Every Sage 100 SOAP or BOI query includes the customer's three-character company code, which ml-connector stores encrypted per deployment. If the integration uses the local BOI agent instead of SOAP, ml-connector calls it over HTTP with an API key or mTLS certificate, polls the agent's response, and converts it to UBL for Tradeshift.
- What happens if a vendor code in Sage 100 does not match a Tradeshift network connection?
- ml-connector includes vendor code in the UBL document so Tradeshift can attempt to match it to a network connection. If no match exists, the document may appear as a broadcast invoice in Tradeshift rather than directed to a specific supplier. The accounts team can review mismatches in Tradeshift's portal and update the vendor master in Sage 100 for future documents.
Related integrations
More Sage 100 integrations
Other systems that connect to Tradeshift
Connect Sage 100 and Tradeshift
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started