Sage 300 and Amazon Seller Central integration
Sage 300 runs your ERP for order entry, inventory, and general ledger. Amazon Seller Central manages your product listings, orders, and settlement financials. Connecting them keeps your inventory quantities in agreement, pushes Amazon orders into Sage 300 as sales invoices, and brings your settlement and refund financials into the ledger. ml-connector handles the different authentication schemes and polling cadences on each side, so your finance and inventory teams stay synchronized without manual reconciliation.
What moves between them
Amazon Seller Central order and financial data flows into Sage 300. New orders are pulled from Amazon on a schedule and mapped to sales invoices in Sage 300, with order lines matching line items and the Amazon order number stored as the sales order reference. Settlement financials (shipment fees, refunds, adjustments) flow from Amazon's financial events into Sage 300 GL, mapped to revenue and expense accounts based on the event type. Inventory quantities from Sage 300 can be pushed to Amazon Seller Central to keep listing availability current. All records carry timestamps so subsequent polls skip previously synced data.
How ml-connector handles it
ml-connector stores the Sage 300 HTTP Basic Auth credentials and the Amazon refresh token encrypted in the database. For Sage 300, it accepts the full IIS application URL per customer and refreshes the Amazon access token before each call to prevent expiry. It polls Amazon's Orders API and Finances API on a configurable schedule (typically daily or per Amazon settlement period), maps the Amazon order structure to Sage 300's order entry and invoice format, and handles the fact that both systems measure inventory and orders but with different definitions: Amazon tracks listing availability while Sage 300 tracks on-hand and allocated stock. For financial events, ml-connector groups Amazon's granular settlement events by type and period, maps them to Sage 300 GL accounts, and posts them as journal batches so the reconciliation trail is clear. Both systems are eventually consistent; ml-connector tracks the last successful read timestamp per entity to avoid duplicate pulls and maintains a full audit log of every record mapped and posted.
A real-world example
A mid-market retailer runs Sage 300 ERP for order management, inventory control, and general ledger, and sells through Amazon Seller Central as their largest sales channel. Before the integration, the finance team exported orders and settlement reports from Amazon every few days and manually entered the sales invoices and fees into Sage 300, spending hours each week reconciling inventory counts between systems and chasing discrepancies when Amazon's available quantity drifted from what Sage 300 showed. After connecting the two systems, new Amazon orders flow automatically into Sage 300 sales invoices each morning, settlement financials post into the GL with full auditability, and inventory quantities from Sage 300 can push to Amazon to keep listings accurate. Month-end reconciliation is faster, the order re-keying step is gone, and the inventory counts stay aligned.
What you can do
- Automatically pull orders from Amazon Seller Central and post them into Sage 300 as sales invoices, mapped to the correct customers and GL accounts.
- Sync Amazon settlement financials (shipment fees, refunds, adjustments, service fees) into Sage 300's general ledger on a schedule aligned with your settlement period.
- Keep Amazon Seller Central inventory listings current by pushing on-hand quantities from Sage 300 inventory items.
- Store Sage 300 HTTP Basic Auth credentials and Amazon OAuth2 refresh tokens encrypted, and manage token expiry so calls never fail due to stale credentials.
- Audit every order, financial event, and inventory update with full traceability and the ability to replay any record if a downstream post fails.
Questions
- How does the integration map Amazon orders to Sage 300 sales invoices?
- ml-connector reads each Amazon order and its line items from the Orders API, maps the order header to a Sage 300 sales invoice with the customer matched by Amazon seller name or a pre-configured mapping, and maps each line item to an invoice line with product code matched from catalog data or a product mapping table. The Amazon order number is stored as the sales order reference for traceability, and the order date becomes the invoice date. Line amounts and totals are taken from Amazon's calculated values.
- Which direction does data move, and how often does it sync?
- The primary flow is Amazon Seller Central into Sage 300. Orders and settlement financials are pulled from Amazon on a schedule you set (typically daily or aligned to your settlement period), and inventory quantities from Sage 300 can be pushed to Amazon listings to keep availability current. ml-connector polls both systems; it does not rely on push notifications because Amazon's financial settlement events are not available through webhooks and must be polled.
- How does ml-connector handle authentication differences between the two systems?
- Sage 300 uses HTTP Basic Auth with a base64-encoded username and password, while Amazon uses OAuth2 with a refresh token that yields an access token valid for one hour. ml-connector stores both credential types encrypted in the database, sends the Basic Auth header on every Sage 300 request, and refreshes the Amazon access token before each call to prevent expiry during a request. If Amazon returns a 401, ml-connector re-authenticates and retries.
Related integrations
More Sage 300 integrations
Other systems that connect to Amazon Seller Central
Connect Sage 300 and Amazon Seller Central
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started