Sage Intacct and Tradeshift integration
Sage Intacct runs accounting and finance. Tradeshift connects suppliers to exchange invoices and purchase orders. Joining the two lets you receive supplier invoices from the Tradeshift network and post them into Intacct's AP module without re-keying. Vendors are kept in sync between both systems so every invoice lands on the right payable. ml-connector bridges the very different auth models and document formats on each side and moves the data on a schedule you control.
What moves between them
The main flow runs from Tradeshift into Sage Intacct. ml-connector polls Tradeshift on a daily or weekly schedule for new and changed invoices, transforms each invoice from UBL format into an Intacct APBILL, and posts it into Intacct's AP module with the vendor and GL accounts matched to the Intacct chart of accounts. Vendor records are synced bidirectionally so supplier details in Tradeshift map to the VENDOR records in Intacct. Reference dimensions such as GL accounts, cost centers, and departments are read from Intacct during the initial setup and cached so every invoice posted references valid Intacct GL accounts.
How ml-connector handles it
ml-connector stores both credential sets encrypted and manages Intacct session caching so the 50-minute session expiry does not interrupt a workflow. It refreshes the Intacct session on the next call if it expires, and parses XML error responses from Intacct to surface application-level failures separate from network errors. On the Tradeshift side it uses OAuth 1.0a two-legged auth with the tenant ID header on every call. The integration polls Tradeshift at a fixed cadence and transforms each UBL invoice into Intacct APBILL structure, validating that the vendor exists in Intacct before posting and that the GL accounts in the invoice map to real Intacct GL accounts. Because both systems use polling (Intacct has no webhooks), ml-connector runs on a schedule you set, and because Intacct lacks a native idempotency mechanism, the integration uses the uniqueid flag and Intacct's deduplication to prevent double-posting on retried calls. Every invoice carries a full audit trail, including the original UBL document, the mapped APBILL, and the Intacct response.
A real-world example
A mid-sized manufacturing company runs Sage Intacct for accounting and AP, and uses Tradeshift to collaborate with suppliers on purchase orders and invoices across a global supply chain. Before the integration, AP staff manually entered invoices received through Tradeshift into Intacct twice a week, a slow and error-prone process where vendor names and GL account numbers often mismatched. With Sage Intacct and Tradeshift connected, supplier invoices flow automatically from Tradeshift into Intacct's AP module, pre-matched to the correct vendors and GL accounts. The AP team now spends time on exception handling and approvals rather than data entry, and invoices post on the same day they arrive.
What you can do
- Poll Tradeshift for new and changed invoices on a schedule you control, and post each one into Sage Intacct as an AP bill.
- Sync supplier records between Tradeshift and Sage Intacct so invoices land on valid vendors without manual lookup.
- Transform Tradeshift UBL invoice documents into Sage Intacct APBILL structure, mapping line-item GL accounts to the Intacct chart of accounts.
- Bridge Sage Intacct session-based XML auth (with automatic 50-minute refresh) and Tradeshift OAuth 1.0a, managing both credential sets encrypted.
- Track every invoice through audit, including the original UBL, the mapped APBILL, and the Intacct posting response, with deduplication on retries.
Questions
- Which direction does data move between Sage Intacct and Tradeshift?
- Invoices flow from Tradeshift into Sage Intacct where they are posted as AP bills. Vendor records are synced bidirectionally so supplier details in Tradeshift map to Intacct vendors. GL accounts and cost dimensions are validated against Intacct so invoice line items are matched to the correct accounts before posting.
- How does the integration handle Sage Intacct's session-based auth and Tradeshift's OAuth?
- ml-connector caches the Intacct sessionid and refreshes it automatically when it expires after 50 minutes, so a session expiry does not interrupt processing. Tradeshift OAuth 1.0a credentials are stored encrypted and used on every call with the required X-Tradeshift-TenantId header. Both credential sets are managed separately and neither is logged.
- What happens if an invoice fails to post into Sage Intacct?
- ml-connector retries failed invoices with exponential backoff, using Intacct's uniqueid flag to prevent double-posting on retry. Every invoice, including failures, is logged in the full audit trail with the original UBL document and the Intacct response so failures can be reviewed and replayed after the issue is fixed.
Related integrations
More Sage Intacct integrations
Other systems that connect to Tradeshift
Connect Sage Intacct and Tradeshift
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started