Short answer
Marketplaces behave differently from your own store. Amazon's SP-API rate-limits order searches heavily, so use ORDER_CHANGE notifications (delivered to Amazon SQS or EventBridge) and fetch individual orders rather than polling, and request a Restricted Data Token only when you truly need buyer PII. Walmart Marketplace uses OAuth client credentials, token-bucket rate limits, and an acknowledge-then-ship order lifecycle. In the ERP, tag every order with its channel, keep one inventory pool with per-channel buffers, treat FBA stock as a separate location, record marketplace-collected sales tax as the marketplace's liability, and reconcile settlements — not orders — to the bank.
- Amazon / Walmart Orders
- Channel adapters Notify
- ERP Orders
- Shopify Same stock pool
Adding Amazon and Walmart to a store that already runs on Shopify and an ERP sounds like “more of the same orders”. It isn’t. Marketplaces own the customer, enforce their own fulfillment deadlines, rate-limit APIs much harder than storefront platforms, and pay you net of fees on their own schedule. This guide covers the integration differences that matter and how to keep one ERP as the source of truth across channels. As on every page, documented marks statements from Amazon, Walmart, or official sources, and recommendation marks our guidance.
The architecture: one adapter per channel, one ERP
Recommendation: build a separate adapter for each channel (Shopify, Amazon, Walmart) that converts channel events into one internal order model, and keep everything else — inventory allocation, fulfillment, finance — in the ERP. Every order carries its channel, marketplace, and the channel’s order ID as a unique external reference. That prevents duplicates across retries and lets you report by channel. See event-driven architecture and preventing duplicate orders.
Amazon: notifications first, polling last
Documented: SP-API rate limits use a token bucket — a rate (requests per second added to the bucket) and a burst (maximum bucket size) — and can apply per account-application pair. For Orders API v2026-01-01, Amazon lists default limits of 0.0056 requests per second with a burst of 20 for searchOrders and 0.5 per second with a burst of 30 for getOrder. Amazon may grant higher limits to some selling partners, and you shouldn’t depend on the rate-limit header being present.
Documented: the ORDER_CHANGE notification reports order-level changes such as status updates and buyer-requested changes, and replaced the older order status notifications. Notifications are delivered to a destination you create — an Amazon SQS queue (after granting SP-API permission to write to it) or Amazon EventBridge.
Recommendation:
- Subscribe to
ORDER_CHANGEwith an SQS destination and process messages from the queue. - For each message, fetch the order with
getOrder(well within its higher limit) and upsert it into the ERP by Amazon order ID. - Run
searchOrderson a slow schedule (for example hourly) for orders updated since your last checkpoint, purely as reconciliation. - Back off on HTTP 429 and spread backfills over time — the search limit makes large backfills slow by design.
Amazon also maintains the older Orders API v0. If you’re maintaining an existing integration, check Amazon’s migration guidance for the current recommended version.
Amazon: buyer PII and Restricted Data Tokens
Documented: operations that return personally identifiable information — such as buyer details and shipping addresses — are restricted and require a Restricted Data Token (RDT) obtained from the Tokens API, which is then sent in place of the regular access token for those calls.
Recommendation: request RDTs only for merchant-fulfilled orders where you need the address to ship, and only for the data elements required. Don’t copy buyer PII into systems that don’t need it (analytics, chat tools), and follow Amazon’s data protection requirements for retention.
Amazon: FBA vs. merchant-fulfilled
Recommendation:
- FBA (Fulfilled by Amazon): Amazon ships from its warehouses. Model FBA as a separate ERP location, record sales and cost of goods when Amazon ships, and reconcile FBA quantities with Amazon’s inventory data. Inbound shipments to FBA are stock transfers from your warehouse to that location.
- Merchant-fulfilled (MFN): you ship. The order flows to your warehouse or 3PL like any other channel, but with Amazon’s ship-by dates and the requirement to confirm shipment with tracking. Missing those windows affects your account health, so make the ship-by date a first-class field in the ERP and the warehouse.
Which of the two to use is mostly a cost decision made product by product; see how to compare FBA and FBM cost per order.
Walmart Marketplace: acknowledge, then ship
Documented: Walmart Marketplace APIs authenticate with an access token obtained through the OAuth client credentials grant. Walmart enforces rate limits with a token bucket and reports remaining capacity in the x-current-token-count response header. Orders are acknowledged with a call to the acknowledge endpoint for the purchase order; Walmart’s documentation notes you can re-acknowledge an order already in Acknowledged status (for example after an error) but shouldn’t acknowledge orders that have moved further along. Shipment confirmation with tracking is sent per order line.
Recommendation:
- Pull or receive new orders, upsert them into the ERP by purchase order ID, then acknowledge only after the ERP has stored the order — acknowledgment is your promise to fulfill.
- Ship confirmation goes per line with carrier and tracking, after the warehouse confirms the shipment.
- Read
x-current-token-countand slow down before you hit zero instead of waiting for errors. - Refresh access tokens before they expire, in one place, so parallel workers don’t race each other.
Inventory across channels
Recommendation: keep a single available-to-sell pool in the ERP and publish per-channel quantities from it:
- Subtract unshipped orders from every channel before publishing.
- Apply per-channel buffers — marketplaces often penalize cancellations for stockouts more than your own store does.
- Exclude FBA stock from what you publish to Shopify and Walmart unless you use Amazon’s multi-channel fulfillment for those orders.
- Push changes on events and reconcile daily. See syncing inventory.
Sales tax and settlements
Documented: states with marketplace facilitator laws require marketplaces that meet thresholds to collect and remit sales tax on the sales they facilitate.
Recommendation:
- Record marketplace-collected tax as collected and remitted by the marketplace, not as your liability, and keep it out of the returns you file yourself. See sales tax in ERP integrations.
- Reconcile settlements, not orders. Each payout nets sales against referral fees, fulfillment fees, refunds, advertising, and adjustments over a settlement period. Import settlement data, book each fee type to its own account, clear the order receivables, and match the net to the bank deposit. Trying to match payouts to individual orders by hand doesn’t scale past a few dozen orders a day.
When a 3PL or EDI is involved
If a 3PL ships your merchant-fulfilled orders, the marketplace adapters still create orders in the ERP, and the ERP sends them to the 3PL — usually via EDI 940/945 or the 3PL’s API. Keep one path to the warehouse. See EDI for ecommerce and 3PLs.
Common pitfalls
- Polling Amazon for orders and hitting the search limit during peak days.
- Acknowledging Walmart orders before the ERP has them, then losing them on an error.
- FBA stock counted as sellable on other channels.
- Marketplace tax reported as your own, or missed in nexus tracking where states count it.
- Payouts matched to orders by hand instead of settlement-level reconciliation.
- Buyer PII copied everywhere after one RDT call.
Frequently asked questions
Should I poll Amazon for new orders?
Avoid frequent polling. Amazon's documented default for searchOrders in Orders API v2026-01-01 is 0.0056 requests per second per account-application pair, with a burst of 20 — roughly one request every three minutes once the burst is used. Subscribe to ORDER_CHANGE notifications, fetch each changed order with getOrder, and keep an infrequent search as a reconciliation safety net.
Why can't my integration see Amazon buyer names and addresses?
Buyer PII is returned only by restricted operations, which require a Restricted Data Token (RDT) created through the Tokens API. Request an RDT only for the operations and data elements you need — for example, the shipping address for merchant-fulfilled orders — and keep that data only as long as you need it.
How should FBA orders appear in the ERP?
As sales that were fulfilled from Amazon's warehouses. Model FBA as its own inventory location, record the sale and cost of goods when the order ships, and reconcile FBA stock with Amazon's inventory data. Don't send FBA orders to your own warehouse or 3PL.
Who pays the sales tax on Amazon and Walmart orders?
In states with marketplace facilitator laws, the marketplace generally collects and remits sales tax on sales it facilitates. Record that tax as collected and remitted by the marketplace rather than as your liability, and confirm your obligations with a tax professional.
How do I reconcile marketplace payouts?
Reconcile settlements, not orders. A marketplace payout nets sales against fees, refunds, advertising, and other charges over a settlement period. Import the settlement data, book each fee type to its own account, clear the order receivables, and match the net amount to the bank deposit.
Sources and further reading
Platform-specific statements on this page were checked against these sources on . Vendor APIs change; confirm details in the current documentation before you build.
- [1] Orders API rate limits — Amazon Selling Partner API
- [2] Tutorial: Subscribe to the ORDER_CHANGE notification — Amazon Selling Partner API
- [3] Set up notifications using the Amazon SQS workflow — Amazon Selling Partner API
- [4] Authorization with the Restricted Data Token — Amazon Selling Partner API
- [5] Walmart Marketplace rate limiting — Walmart Developer
- [6] Acknowledge an order — Walmart Developer
- [7] Ship order lines — Walmart Developer
- [8] Marketplace facilitator state guidance — Streamlined Sales Tax Governing Board
Related reading
- Guides Sales Tax in Ecommerce ERP Integrations: Nexus, Tax Engines, and Data Flow How US sales tax should flow between Shopify, a tax engine, and your ERP — nexus after Wayfair, marketplace orders, exemptions, refunds, and reconciliation.
- Guides How to Synchronize Inventory Between Shopify and an ERP Keep Shopify stock levels aligned with your ERP — choosing which quantity to publish, mapping locations, using compare-and-swap updates, and reconciling drift.
- Guides How to Prevent Duplicate Orders in an ERP Integration Why ecommerce integrations create duplicate ERP orders — duplicate webhooks, retries after timeouts, races — and the layered defenses that stop them.
- Guides EDI for Ecommerce: Connecting 3PLs and Retail Partners to Your ERP How ecommerce brands use EDI with 3PLs and retailers: the X12 documents that matter (940, 945, 846, 850, 856, 810), AS2 and VANs, SSCC labels, and ERP design.
- Concepts What Is Event-Driven Architecture in Integrations? How event-driven architecture applies to ecommerce-ERP integrations — events, producers, consumers, queues, outbox patterns — and the trade-offs it introduces.
- ERP integrations Shopify NetSuite Integration: Architecture, APIs, and Pitfalls How to integrate Shopify with Oracle NetSuite — REST web services, OAuth 2.0, external-ID upserts, concurrency limits, order and inventory flows, and connector options.