ml-connector
Sage 300TrueCommerce

Sage 300 and TrueCommerce integration

Sage 300 manages your procurement, inventory, and general ledger. TrueCommerce connects you to your trading partners via EDI, SFTP, and APIs. Connecting the two keeps your purchase orders in sync with your supply chain partners and moves incoming invoices, advance ship notices, and acknowledgments into Sage 300 without re-keying. ml-connector handles the very different authentication and transport layers on each side and moves the data on a schedule you control.

How Sage 300 works

Sage 300 is an on-premise Windows IIS ERP with a SQL Server backend that exposes purchase orders, receipts, invoices, vendors, and general ledger accounts through REST and OData APIs. Authentication is HTTP Basic Authentication with uppercase username and password sent with every request. The API requires an administrative user with Web API security group access, and IIS must be configured with Anonymous Authentication enabled and Windows Authentication disabled. All data movement is polling based through OData filters (DocumentDate, $skip, $top, $orderby) since Sage 300 has no webhooks or change-data-capture. Large volumes of polling calls can trigger IIS AppPool timeouts if the server is not properly configured for sustained concurrent requests.

How TrueCommerce works

TrueCommerce is a managed Value-Added Network (VAN) platform for EDI and supply chain integration that connects businesses with trading partners using EDI (X12, EDIFACT), SFTP file exchange, and managed API connectivity. Authentication is via SFTP username and password provisioned by TrueCommerce, or via the managed Exchange API with an API key or bearer token. Data movement is primarily polling from the TrueCommerce SFTP server (typically hourly or daily), with limited push capability through exception alerts available only via managed implementation. Document format is flat file (XML, CSV, JSON, TXT) or raw EDI X12, and all file naming conventions and integration paths are customer-specific and must be confirmed during TrueCommerce onboarding.

What moves between them

Purchase orders and order changes flow from Sage 300 to TrueCommerce in X12 850 and 860 EDI formats for delivery to your trading partners. Incoming documents from TrueCommerce (Advance Ship Notices in X12 856, Invoices in 810, functional acknowledgments in 997) are polled from the TrueCommerce SFTP server on a scheduled cadence and posted back into Sage 300 as receipt batches, invoice batches, and audit records. Vendor master data such as GLVendors and account codes is kept synchronized so incoming transactions post to the correct GL accounts and cost centers.

How ml-connector handles it

ml-connector stores both credential sets encrypted: the Sage 300 HTTP Basic Auth credentials (uppercase username and password) and the TrueCommerce SFTP or Exchange API credentials. On the Sage 300 side it polls the API using OData date filters and pagination, building purchase order and order change batches, then transforms them into X12 850 and 860 EDI documents and uploads them to the TrueCommerce SFTP server using the provisioned credentials. On the inbound side it polls TrueCommerce SFTP on your configured schedule (hourly or daily), detects new EDI documents, parses them into line-item and header data, maps them to the correct Sage 300 vendors and GL accounts using the vendor master data already in Sage 300, and posts them as receipt batches and invoice batches. EDI functional acknowledgments (997) handle deduplication via ISA control numbers. Because both systems are polling based (Sage 300 has no webhooks and TrueCommerce push is managed-only), ml-connector coordinates the polling schedule to prevent duplicate submissions. Sage 300 usernames and passwords must be uppercase, and the API user must have Web API security group access in Administrative Services. IIS AppPool timeout issues are handled through connection pooling and request batching. Every record carries a full audit trail including the original EDI document, the Sage 300 batch ID, and timestamps for replay if a downstream post fails.

A real-world example

A mid-sized distributor runs Sage 300 for procurement, inventory, and accounting, and works with dozens of trading partners through TrueCommerce EDI. Before the integration, the supply chain team exported purchase orders from Sage 300 and manually formatted them as EDI 850 documents, uploaded them to TrueCommerce, then downloaded incoming invoices and ship notices from TrueCommerce and re-entered them into Sage 300's receipt and invoice batches. With Sage 300 and TrueCommerce connected, each new purchase order in Sage 300 is automatically transformed into an EDI 850, delivered to trading partners, and incoming 856 advance ship notices and 810 invoices flow back into Sage 300 as receipt batches and payables transactions. Month-end close is faster because AP clerks no longer spend days re-keying documents, and the trading partner feed is up-to-date because Sage 300 order changes automatically become EDI 860 documents.

What you can do

  • Export Sage 300 purchase orders and order changes to TrueCommerce as X12 850 and 860 EDI documents for delivery to your trading partners.
  • Import advance ship notices, invoices, and functional acknowledgments from TrueCommerce back into Sage 300 as receipt batches and invoice batches.
  • Map TrueCommerce vendors and EDI documents to the correct Sage 300 vendors, GL accounts, and cost centers using your existing master data.
  • Authenticate Sage 300 with HTTP Basic Auth and uppercase credentials, and TrueCommerce with SFTP or managed API credentials.
  • Poll on a schedule you control with EDI deduplication via ISA control numbers, full audit trail, and replay on every record.

Questions

Which direction do purchase orders and invoices flow between Sage 300 and TrueCommerce?
Purchase orders and order changes flow from Sage 300 to TrueCommerce as EDI 850 and 860 documents for delivery to your trading partners. Incoming advance ship notices (856), invoices (810), and functional acknowledgments (997) flow from TrueCommerce back into Sage 300 as receipt batches and invoice batches. Reference data such as vendors and GL accounts is kept synchronized in both directions so EDI documents post to the correct accounts.
Does Sage 300 require special configuration for the API integration to work?
Yes. The API user must be created in Sage 300's Administrative Services with the Web API security group assigned (the built-in Admin user does not have API privileges). IIS must be configured with Anonymous Authentication enabled and Windows Authentication disabled. Usernames and passwords must be uppercase. ml-connector handles all of these requirements, but your Sage 300 administrator must set up the API user before the integration can connect.
How does ml-connector handle EDI document deduplication and TrueCommerce's lack of webhooks?
TrueCommerce has no webhooks, so ml-connector polls the SFTP server on a schedule you choose (typically hourly or daily). EDI functional acknowledgments (997) handle deduplication via ISA control numbers, which prevents duplicate invoices or ship notices from posting multiple times. ml-connector coordinates the polling schedule to ensure consistency and tracks every EDI document in the audit trail for replay if needed.

Related integrations

Connect Sage 300 and TrueCommerce

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

Get started