Skip to content

Overselling Is an Integration Problem, Not a Warehouse One

A technical guide to running Amazon Seller Central and NetSuite as one system rather than two. It explains why a one-way inventory feed causes overselling, exactly which records have to move in each direction, where the genuine conflicts are and who should win them, and what a stale listing costs in Amazon account health terms. Covers the record lifecycle across both systems, the checks to run before building it, and how a field-level sync engine keeps stock and orders honest.

Author
Ruben Burdin · Founder & CEO
Published
July 22, 2026
Read time
9 min read
Overselling Is an Integration Problem, Not a Warehouse One
DATA ENGINEERING

Ask a seller why they oversold and the answer is usually about the warehouse: a miscount, a late receipt, stock committed to another channel. Occasionally that is true. Far more often the warehouse knew exactly what it had, NetSuite knew exactly what it had, and Amazon was told about it eleven hours ago.

That gap is the whole problem, and it is an integration problem. A listing does not sell what you own, it sells the number you last sent. If that number is pushed once a night, then for most of the trading day Amazon is advertising a quantity that stopped being true at some point after breakfast. Buyers keep buying it. The only exit is cancelling their orders, and Amazon has opinions about sellers who do that.

A nightly feed versus a two-way sync between Amazon and NetSuite, compared across stock accuracy, order entry, and fulfillment

This guide covers running the two systems as one: why a single direction never covers it, exactly which records move which way, where the real conflicts are and who should win them, and what to check before you build.

Why one direction is never enough

Most Amazon integrations start as an order downloader. Orders arrive in NetSuite, someone picks and ships them, everyone is pleased. It works because at low volume a human closes every loop the integration left open: they update the listing, they confirm the shipment in Seller Central, they retype the tracking number.

Those loops are the integration. Pulling orders is the easy half, and it is the half that does not protect you. What protects you is the traffic going the other way, because that is what keeps Amazon's view of your business accurate.

  • Available-to-promise. NetSuite is the system that counts real stock across locations and knows what is committed elsewhere. Amazon should be receiving that number continuously, not holding its own stale copy of it.
  • Shipment confirmation and tracking. Amazon expects seller-fulfilled orders to be confirmed with valid tracking, promptly. If that happens by hand at the end of the day, the late shipment rate is a matter of who was still at their desk.
  • Prices. A price agreed in the ERP that has to be retyped into a listing will eventually be retyped wrong, or not at all.
  • Cancellations and status. When something cannot ship, Amazon needs to know from the system that discovered it, not from a person remembering to log in.

What flows each way

Before building anything, write down the direction of every record. Ambiguity here is what produces the two-systems-disagree problem later, and it takes ten minutes to avoid.

RecordDirectionWhy it has to move
OrdersAmazon to NetSuiteBecome sales orders, so fulfillment, invoicing, and revenue happen in one place
Available-to-promiseNetSuite to AmazonThe listing should show what the warehouse can actually ship today
FBA quantitiesAmazon to NetSuiteThat stock physically sits in Amazon's network, so Amazon is the authority
Item and price changesNetSuite to AmazonA price agreed in the ERP should not depend on someone retyping it
Item fulfillment and trackingNetSuite to AmazonConfirming shipment on time with valid tracking is what protects account health
Returns and refundsAmazon to NetSuiteStock comes back and the credit has to exist against the right order
Settlements and feesAmazon to NetSuiteThe channel's true margin lives in the fee lines, not in the payout

Two directions, one connection. Every row here is a loop that otherwise closes by hand.

A one-way nightly inventory feed compared against a two-way sync between Amazon and NetSuite
The difference is not how much data moves. It is whether either side is ever wrong.

Note the FBA row, because it is the one people get backwards. For stock you hold, NetSuite is the authority and Amazon receives. For stock sitting in Amazon's fulfillment network, Amazon is the authority and NetSuite receives. Getting that inverted produces a sync that confidently overwrites accurate numbers with guesses.

Where the conflicts actually are

A two-way sync is only as good as its answer to one question: what happens when the same field changes in both systems before either change has propagated. The honest answer is that it happens constantly, and that a policy decided in advance beats whichever job ran last.

FieldChanges on both sides whenWho should win
Quantity availableA sale on Amazon and a stock receipt in NetSuite land togetherNetSuite, it counts physical stock
PriceA repricer moves the listing while finance updates the ERPName an owner per SKU family, then hold to it
Order statusAmazon cancels while NetSuite is already pickingAmazon, it owns the buyer relationship
Shipping addressA buyer edits it before dispatchAmazon, and NetSuite must see it before the label prints

Decide these four up front. They cover most of what a sync will ever have to arbitrate.

Resolution has to happen per field, not per record. If a buyer changes their shipping address in the same minute a picker in the warehouse adds a note to the order, a record-level rule discards one of the two edits. A field-level engine applies both, because they never actually collided.

Lifecycle of an Amazon order across NetSuite: mapped, sales order, fulfilled by FBA or seller, tracking recorded, settlement posted, conflicts resolved
One order, both systems, including the branch where the two disagree.

The other half of the problem is echo. The engine writes a quantity to Amazon, then reads Amazon a moment later and sees a change it made itself. Without origin tracking, that write comes back into NetSuite as a fresh update and the two systems trade the same number back and forth. Tagging every write with where it came from is what turns two-way sync from a nice idea into something you can leave running.

What a stale listing costs

On most channels, overselling costs you a refund and an apology. On Amazon it costs you standing. Amazon measures sellers on a pre-fulfilment cancellation rate, a late shipment rate, and whether shipments carry valid tracking, and it publishes targets for each that leave very little room. Cancelling orders because the listing was wrong is counted against you directly.

The consequences compound. Falling short of those targets puts Buy Box eligibility at risk, and losing the Buy Box on a competitive listing removes most of its sales without removing any of its costs. That is why inventory accuracy on Amazon is not an operations detail: the integration that keeps the number current is protecting the channel's economics, not just its logistics.

Book a Stacksync demo: push available-to-promise from NetSuite to Amazon and pull orders back in seconds

What to check before you build it

Whether you build the connection or buy it, four questions decide whether it survives a peak week.

  • How does it behave against Amazon's rate limits? Each Selling Partner API operation has its own quota. A design that pushes a full inventory file on a timer will hit a limit during exactly the promotion where accuracy matters most. Work should queue, back off, and drain in order.
  • How does it behave against NetSuite's concurrency limits? NetSuite governs how many requests an account can run at once. An integration that ignores that will contend with every other job and script you already run there.
  • Does it sync changes or reload objects? Field-level change detection uses a fraction of the quota and makes conflict resolution possible. A full reload uses the budget and destroys the information you need to arbitrate.
  • Can you prove what happened? When a quantity is wrong, you need to know which system wrote it and when. An exportable audit trail per write turns a two-hour argument into a lookup.

One number, two systems

The goal is unglamorous: the quantity on the listing and the quantity in NetSuite should be the same number, all day, without anyone maintaining that fact. Everything else, the orders, the tracking, the fees, follows from treating the two systems as one rather than as a source and a copy.

Stacksync syncs Amazon Seller Central and NetSuite in real time and both ways on one engine, resolving conflicts per field and tracking the origin of every write, over OAuth and without storing a copy of your data. To see it against your own catalog, book a demo, or read more about the Amazon Seller Central and NetSuite integration, the NetSuite connector, and what to look for in an enterprise iPaaS for Amazon Seller Central. For the finance side of the same data, see how to sync Amazon Seller Central with QuickBooks.

Stop overselling on Amazon with real-time two-way sync between Seller Central and NetSuite

FAQ

Frequently asked questions

What is two-way sync between Amazon Seller Central and NetSuite?
It is one connection that moves data in both directions and settles disagreements at the field level. Orders, returns, and settlement lines flow from Amazon into NetSuite; available-to-promise, prices, and item fulfillment with tracking flow from NetSuite back out to the listings. Both sides stay current, and when the same field changes in both systems the engine applies a policy instead of letting whichever job ran last overwrite the other.
Why does a nightly inventory feed cause overselling?
Because the listing advertises a number that stopped being true hours ago. If stock is pushed to Amazon overnight, a unit sold on another channel at nine in the morning is still shown as available on Amazon all day. Buyers keep ordering it, and the only way out is cancelling their orders, which Amazon counts against you. The gap between what the warehouse holds and what the listing claims is the whole problem, and it scales with how fast you sell.
Should Amazon or NetSuite own inventory?
NetSuite, in almost every case. It is the system that counts physical stock across locations, applies commitments from other channels, and knows what is genuinely available to promise. Amazon should receive that number rather than hold its own opinion about it. The exception is FBA stock, which physically sits in Amazon's network, so Amazon is the authority on those quantities and NetSuite should receive them.
How fast does the sync need to be?
Fast enough that the listing is never advertising stock you have already sold. In practice that means seconds rather than a schedule, because the risk is not average latency but the worst case: a fast-moving SKU during a promotion. A sync that updates on change rather than on a timer keeps the exposure to the length of one write, and a queue that respects Amazon's rate limits keeps that true when volume spikes.
What does a stale listing actually cost?
Cancellations, and then account health. Amazon tracks a pre-fulfilment cancellation rate, a late shipment rate, and valid tracking, and it publishes strict targets for each. Breaching them puts selling privileges and Buy Box eligibility at risk, which costs far more than the cancelled orders themselves. Inventory accuracy is not just an operations concern on Amazon, it is a condition of continuing to sell well.
Does Stacksync store the order or buyer data it moves?
No. Amazon and NetSuite connect over OAuth and Stacksync moves data between them without keeping a copy parked in a middleman. On Amazon that matters more than usual, because buyer information on an order is restricted data governed by Amazon's Data Protection Policy. An integration layer that does not retain it is one fewer system to bring into scope for that policy.

About the author

Ruben Burdin
Ruben Burdin
Founder & CEO

Ruben Burdin is the Founder and CEO of Stacksync, the first real-time and two-way sync for enterprise data at scale. Ruben is a Y Combinator alumni with a strong background in software engineering and business.

All posts by Ruben Burdin

About Stacksync

Stacksync powers real-time, two-way sync between CRMs, ERPs, and databases. Engineers sync data at scale and automate workflows, not dirty API plumbing.

Coworkers laughing in front of a laptop in a casual office setting

Your last integration took months.
Your next one takes a prompt.