← All notes

Shopify + Amazon: Lessons From the Build

Plenty of brands sell on both Shopify and Amazon. Far fewer have the two systems genuinely
talking to each other. When they don’t, you end up doing everything twice: listing products on both,
adjusting stock by hand, moving orders into fulfilment manually, and hoping nothing slips. A real
integration removes that by keeping products, inventory, and orders in sync automatically.
We recently built exactly this for a brand whose stock is held and fulfilled by Amazon. On paper the
goal is simple: keep two systems agreeing with each other. In practice, that word “agreeing” is
where all the hard parts live. Here are five lessons from doing it for real.

1. Inventory sync is about timing, not just data

The easy part is copying stock levels from one platform to the other. The hard part is the gap in
between. What happens in the seconds between a sale on one channel and the stock update
reaching the other? That window is where overselling hides, two customers buying the last unit on
two different channels before either system catches up. A good integration is designed around that
timing problem, not just the data transfer.

2. Decide your single source of truth early

When two systems disagree about stock, or about an order, something has to win. If you don’t
decide upfront which platform is authoritative, you get drift, and drift becomes confusion fast. We
fix this at the design stage: one system is the source of truth for inventory, one owns the order flow,
and everything else follows from that. It sounds obvious, but skipping this decision is where a lot of
integrations quietly go wrong.

3. A silent failure is worse than a loud one

Syncs fail sometimes, a timeout, an API hiccup, a rate limit. The danger isn’t the failure itself; it’s a
failure that happens quietly while stock slowly drifts out of line and nobody notices until a customer
complains. So we build visible failure states and retries: if a sync drops, it should shout, retry, and
surface the problem, not disappear into a log file. Designing the unhappy path matters as much as
the happy one.

4. Plan the handover from day one

The best integration is one the client’s own team can run without calling a developer every week.
That means documentation and training aren’t an afterthought bolted on at the end, they’re part of
the build. When we hand a system over, the people using it should understand how it behaves,
what to do if something looks off, and how to operate both channels confidently on their own.

5. A tight deadline changes what you build, not how well

Our timeline on this project was three weeks, and the client flagged timing as critical. A deadline
like that is not a licence to cut corners; it’s a reason to scope ruthlessly. We got the core sync rock-
solid first, products, inventory, orders, and left anything optional for later. The result was live and
working on time, because the hard centre was done properly rather than spread thin across nice-
to-haves.

The takeaway

None of these lessons are exotic. But together they’re the difference between an integration that
quietly works and one that quietly breaks. If you sell on both Shopify and Amazon and want them
genuinely in sync, or you’re weighing whether to build it at all, this is the kind of work we do. Happy
to talk it through.

Got a Shopify problem worth writing about?

We are usually happy to talk it through, whether or not it turns into a project.

Book a 20-minute call