ml-connector
Sage 300Tradeshift

Sage 300 and Tradeshift integration

Sage 300 runs your on-premise ERP for accounting and procurement. Tradeshift connects you to your supply chain network and automates the exchange of business documents with suppliers. Connecting the two keeps your accounts payable and supplier master in agreement. Supplier invoices and credit notes from Tradeshift flow into Sage 300 AP batches and are posted to your general ledger without manual re-entry. Purchase order confirmations and delivery documents from the B2B network update your procurement records, so your ERP knows what suppliers have acknowledged and shipped.

How Sage 300 works

Sage 300 is a Windows-based on-premise ERP exposing vendors, purchase orders, AP invoices, AP payment batches, GL accounts, GL batches, receipts, and items through REST and OData. It authenticates with HTTP Basic Authentication over HTTPS, and every request must include an Authorization header with base64-encoded uppercase username and password. Sage 300 publishes no webhooks or push notifications, so all sync is pull-based polling with OData date filters and pagination. The API user must be created in Administrative Services with Web API security group privileges, and the IIS server must be configured with Anonymous Authentication enabled and Windows Authentication disabled.

How Tradeshift works

Tradeshift is a cloud-based B2B network exposing invoices, purchase orders, credit notes, receipts, remittance advice, and quotations through a REST API. It authenticates with OAuth 1.0a using consumer credentials, token pair, and tenant ID, and every call requires the X-Tradeshift-TenantId header. Documents are exchanged in UBL 2.0 and 2.2 XML format with a documentProfileId parameter. Tradeshift offers polling via timestamp filters on the documents endpoint or an optional continuous event stream for registered plugins. Invoices and credit notes are read-only from the perspective of sourcing them from the network; purchase order responses and delivery confirmations are also pulled from the network.

What moves between them

The main flow runs from Tradeshift into Sage 300. After each sync cycle, ml-connector reads Tradeshift invoices, credit notes, purchase order confirmations, and receipts from the B2B network and posts them into Sage 300 AP batches, mapped to the matching vendor and GL accounts. Supplier master data is synchronized in both directions so Tradeshift company profiles keep pace with Sage 300 vendor master records. Sage 300 purchase orders are pushed to Tradeshift so suppliers see what your company is ordering. Delivery receipts and remittance advice from the network flow back into Sage 300 receipt and payment batches.

How ml-connector handles it

ml-connector stores both credential sets encrypted. For Sage 300, it base64-encodes the uppercase username and password on every request and accepts the full IIS server URL per customer. For Tradeshift, it holds the OAuth 1.0a consumer and token secrets and adds the required X-Tradeshift-TenantId header to each call. Tradeshift UBL documents are parsed to extract line items, supplier identifiers, and amounts, and mapped to Sage 300 vendor records by matching the supplier tax ID or network identifier to the Sage 300 vendor master. AP invoices are routed to the correct GL accounts based on the line item codes and dimensions embedded in the UBL payload. Because both systems are pull-only for inbound documents, ml-connector polls Tradeshift on a schedule tied to your procurement cycle and Sage 300 on a schedule aligned to your AP close, with backoff and retry on transient failures. Every record carries a full audit trail and can be replayed if a downstream AP batch post fails.

A real-world example

A mid-sized manufacturing company uses Sage 300 for accounting and procurement and participates in a Tradeshift B2B network with 40 enterprise suppliers. Before the integration, the AP team received invoices via EDI, email, and the Tradeshift portal, then manually entered them into Sage 300 AP batches by vendor and GL account, a process that took 3 to 4 hours per day and produced entry errors and duplicates. With Sage 300 and Tradeshift connected, invoices arrive from the network and are automatically posted to AP batches within minutes, routed to the correct vendor and GL account. The company also publishes its purchase orders to Tradeshift, so suppliers confirm receipt and delivery directly against the company's orders. The AP team now spends 30 minutes a day on exception handling and reconciliation, and invoice-to-ledger matching is nearly error-free.

What you can do

  • Post Tradeshift invoices and credit notes into Sage 300 AP batches, mapped to the correct vendor and GL accounts.
  • Keep Sage 300 vendor master aligned with Tradeshift company profiles and network connections.
  • Sync purchase order confirmations and delivery receipts from Tradeshift back into Sage 300 to keep procurement in sync.
  • Bridge Sage 300 HTTP Basic Auth with Tradeshift OAuth 1.0a, handling UBL document parsing and line item mapping.
  • Poll on a schedule tied to your AP and procurement calendar, with automatic retry and a full audit trail on every record.

Questions

How does ml-connector handle the difference between Sage 300 Basic Auth and Tradeshift OAuth 1.0a?
ml-connector stores both credential sets encrypted. For each Sage 300 call, it base64-encodes the uppercase username and password in the Authorization header. For Tradeshift, it uses the OAuth 1.0a consumer key, consumer secret, token, and token secret to sign each request and includes the required X-Tradeshift-TenantId header. Both credentials are refreshed according to their respective system requirements.
What happens when a Tradeshift document matches multiple vendors in Sage 300?
ml-connector matches Tradeshift supplier identifiers to Sage 300 vendors by tax ID or network connector ID. If multiple vendors share the same identifier, the integration flags the record for manual review and does not post. Most conflicts are resolved by clarifying the supplier ID in the Tradeshift network connection or vendor master.
Can Sage 300 purchase orders be sent to Tradeshift suppliers?
Yes. ml-connector reads Sage 300 purchase orders and their line items and publishes them to Tradeshift in UBL format so suppliers can see the orders and respond with confirmations and delivery notices. The integration then pulls those responses back into Sage 300 receipt and payment batches.

Related integrations

Connect Sage 300 and Tradeshift

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

Get started