ml-connector
AcumaticaAmazon Seller Central

Acumatica and Amazon Seller Central integration

Acumatica Cloud ERP runs finance, inventory, and distribution. Amazon Seller Central runs your marketplace storefront, orders, and payouts through the Selling Partner API. Connecting the two keeps marketplace sales and Amazon settlements visible in your ledger without re-keying. Amazon orders become Acumatica sales invoices, Amazon settlement events post as fee and payout journals, and Acumatica item prices and stock flow back out to Amazon listings. ml-connector handles the very different APIs on each side and moves data on a schedule you control.

How Acumatica works

Acumatica Cloud ERP exposes Customer, SalesInvoice, StockItem, Payment, and JournalTransaction records through its Contract-Based REST API. The base URL is instance-specific and version-locked, so the endpoint version in the path must match the customer's ERP release exactly or the call returns 404. Authentication is OAuth 2.0 through the OpenID Connect server built into each instance, and every field value in a request or response is wrapped in a value object. Acumatica can push event notifications from screen SM302000, but those use a shared-secret header rather than a signed payload, so incremental reads commonly use a LastModifiedDateTime filter with $top and $skip paging.

How Amazon Seller Central works

Amazon Seller Central exposes data through the Selling Partner API, a REST surface over regional base URLs where the marketplace ID is required on most calls. Authentication is OAuth 2.0 via Login with Amazon: the seller authorizes once, yielding a long-lived refresh token that the connector exchanges for one-hour access tokens. Orders and financial events are read through the Orders and Finances APIs with NextToken cursor paging, and authoritative payout data comes from the Reports API settlement report, which is generated asynchronously. SP-API does not deliver plain HTTP webhooks; push events arrive only through AWS EventBridge or SQS, so a pure connector reads on a schedule.

What moves between them

The primary flow runs from Amazon Seller Central into Acumatica. ml-connector reads Amazon orders and turns them into Acumatica SalesInvoice records against the right customer, and reads settlement financial events so Amazon fees, refunds, and net payouts post as journal transactions on the correct GL accounts. Listing and pricing data flows the other direction: Acumatica StockItem prices and available quantities are pushed to the matching Amazon listings so the storefront reflects ERP stock. Reference data such as SKU to inventory ID and marketplace to GL account is aligned so every line lands on a valid Acumatica dimension. Cadence follows your settlement and reporting calendar rather than a real-time push.

How ml-connector handles it

ml-connector stores both credential sets encrypted and runs two auth bridges at once: it exchanges the Amazon refresh token for a fresh access token before each batch and caches it for its one-hour life, and it holds an Acumatica OAuth session against the customer's version-locked instance URL. On the Amazon side it follows NextToken until the cursor is absent and passes the marketplace ID on every call; on the Acumatica side it pages with $top and $skip, wraps every field value in a value object, and filters on LastModifiedDateTime for incremental reads. Because Amazon financial settlement is asynchronous, it treats the Reports API settlement report as the authoritative payout source and reconciles event-level Finances data against it. SKU to inventory ID and marketplace to GL account maps are applied first so journals and invoices reference accounts that already exist. Both APIs return HTTP 429 under load, so it backs off with jitter, and it tracks the Acumatica endpoint version so an ERP upgrade does not silently break the path.

A real-world example

A growing consumer-goods seller, roughly fifty staff, runs Acumatica Cloud ERP for inventory and finance and sells across Amazon US and UK through Seller Central. Before the integration, an accountant downloaded Amazon settlement reports every two weeks and hand-keyed the gross sales, FBA fees, refunds, and net payout into the general ledger, then spent days at close reconciling Amazon deposits to the bank. With Acumatica and Amazon Seller Central connected, each marketplace order becomes a sales invoice and each settlement posts its fees and payout as a journal automatically, split by marketplace. The bank deposit ties out to the ledger on its own, and the manual re-keying step is gone.

What you can do

  • Turn Amazon Seller Central orders into Acumatica SalesInvoice records against the correct customer and SKU.
  • Post Amazon settlement fees, refunds, and net payouts into Acumatica as GL journal transactions.
  • Push Acumatica StockItem prices and available quantities out to the matching Amazon listings.
  • Bridge the Login with Amazon refresh token and Acumatica OAuth session, with NextToken and $top or $skip paging.
  • Reconcile against the asynchronous Amazon settlement report, with 429 backoff and a full audit trail per record.

Questions

Which direction does data move between Acumatica and Amazon Seller Central?
The main flow is Amazon into Acumatica. Orders become Acumatica sales invoices and Amazon settlement events post as fee and payout journals. Listing prices and stock flow the other way, from Acumatica StockItem records out to Amazon listings, so the storefront reflects ERP inventory.
Does the integration use Amazon push notifications or polling?
It polls on a schedule. SP-API does not send plain HTTP webhooks; its push events arrive only through AWS EventBridge or SQS, and there is no notification type for settlement or invoice results. ml-connector reads the Orders, Finances, and Reports APIs on a cadence tied to your settlement calendar instead.
How does it handle Acumatica's version-locked URL and Amazon's hourly token?
ml-connector stores the Acumatica endpoint version in config and validates the instance path, since a mismatched version returns 404 on every call. On the Amazon side it exchanges the long-lived refresh token for a one-hour access token and refreshes proactively, so calls do not fail mid-batch on an expired token.

Related integrations

Connect Acumatica and Amazon Seller Central

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

Get started