ml-connector
SAP Business OneAmazon Seller Central

SAP Business One and Amazon Seller Central integration

SAP Business One runs your financials, inventory, and sales accounting. Amazon Seller Central runs your storefront, orders, and Amazon payouts. Connecting the two keeps your books and your Amazon channel in agreement without re-keying. Amazon orders post into SAP Business One as sales invoices, each Amazon settlement posts as customer receipts and fee journals against the right accounts, and SAP item and price changes flow back out to your Amazon listings. ml-connector handles the very different APIs on each side and moves the data on a schedule you control.

How SAP Business One works

SAP Business One exposes Business Partners, Invoices, Items, Incoming Payments, Journal Entries, and the Chart of Accounts through its OData v4 Service Layer. Each customer runs their own Service Layer instance, so the base URL is customer-specific and must be supplied as a credential. Auth is a session login that returns a B1SESSION cookie reused on every request; the session expires after 30 minutes of inactivity and returns error code -5002, at which point the connector re-logs in. Webhooks exist only on recent versions and require server-side admin setup, so records are read by polling with OData filters on the update date.

How Amazon Seller Central works

Amazon Seller Central exposes its data through the Selling Partner API, a REST surface over HTTPS with a regional base URL for North America, Europe, or the Far East. Orders, financial events, and settlement reports are read; listings and inventory can be written. Auth is OAuth 2.0 through Login with Amazon, where a one-time seller authorization yields a long-lived refresh token that is exchanged for one-hour access tokens. There is no plain HTTP webhook, so order and finance data is polled, and settlement detail is pulled from the Reports API once Amazon closes a payout. Most calls require a marketplace ID.

What moves between them

The main flow runs from Amazon Seller Central into SAP Business One. ml-connector reads Amazon orders and posts them into SAP Business One as sales invoices against the matching customer and item codes, then reads each Amazon settlement report and posts the payout as customer receipts plus journal entries for referral fees, FBA fees, and refunds, mapped to the correct GL accounts. SAP Business One item and price records flow the other direction so Amazon listings and inventory reflect the ERP. Settlement data is read-only on the Amazon side, so ml-connector never writes financial entries back into Seller Central.

How ml-connector handles it

ml-connector stores both credential sets encrypted. On the Amazon side it exchanges the seller refresh token for an access token through Login with Amazon, caches it for its one-hour life, refreshes before expiry, and sends the marketplace ID required on most calls. On the SAP Business One side it accepts the full Service Layer base URL per customer, logs in once for a B1SESSION cookie, reuses that cookie, and re-authenticates when a call returns -5002. Because neither side delivers plain HTTP webhooks for finance, both are polled: Amazon orders and settlement reports on a schedule, SAP records by OData filter on the update date. Amazon settlement is async, so payout journals only post after Amazon closes a settlement, and each SKU and fee type is mapped to a SAP item code and GL account first so every line lands on a valid account. Amazon rate limits return HTTP 429 under a token-bucket scheme, so ml-connector backs off and retries with jitter, and SAP has no idempotency key, so it checks DocNum before re-posting an invoice. Every record carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A midsize consumer-goods seller with about 80 staff sells on Amazon in the US and runs SAP Business One for inventory and accounting. Before the integration, a bookkeeper downloaded the Amazon settlement report every two weeks and hand-entered gross sales, referral fees, FBA fees, and refunds into SAP, then spent the start of month-end close reconciling the Amazon deposit against the orders it covered. With SAP Business One and Amazon Seller Central connected, each order posts as a sales invoice and each settlement posts as receipts and fee journals automatically, split to the right accounts, so the bank deposit already ties out. The biweekly re-keying step is gone and close starts from reconciled numbers.

What you can do

  • Post Amazon Seller Central orders into SAP Business One as sales invoices against the matching customer and item codes.
  • Record each Amazon settlement as customer receipts plus journal entries for referral fees, FBA fees, and refunds on the correct GL accounts.
  • Push SAP Business One item and price changes out to Amazon listings and inventory.
  • Authenticate Amazon with the Login with Amazon refresh-token flow and SAP Business One with its session-cookie login.
  • Poll both systems on a schedule with retries, duplicate checks on DocNum, and a full audit trail on every record.

Questions

Which direction does data move between SAP Business One and Amazon Seller Central?
The main flow is Amazon into SAP Business One. Orders post as sales invoices, and settlement payouts post as customer receipts and fee journals in SAP Business One. Item and price changes move the other way to keep Amazon listings and inventory in step. Amazon settlement data is read-only, so ml-connector does not write financial entries back into Seller Central.
Does this use webhooks or polling?
Polling on both sides. Amazon Seller Central has no plain HTTP webhook, and SAP Business One webhooks need server-side admin setup, so ml-connector reads on a schedule. Amazon orders and settlement reports are pulled on a cadence you set, and SAP records are read by OData filter on the update date.
How does the integration handle Amazon settlement timing and rate limits?
Amazon settlement is async, so payout journals only post after Amazon closes a settlement and the report is pulled from the Reports API. Amazon rate limits return HTTP 429 under a token-bucket scheme, so ml-connector backs off and retries with jitter. Because SAP has no idempotency key, it checks the document number before re-posting so a retry never creates a duplicate invoice.

Related integrations

Connect SAP Business One and Amazon Seller Central

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

Get started