Shopify inventory out of sync between stores

Two stores are supposed to show the same stock and they do not. Before changing anything, it is worth finding out which of the five usual causes you have: the fix is different for each, and re-syncing everything blindly can make the wrong number the new number in both stores.

1. The location mapping is wrong

This is the most common one and the least obvious. Stock in Shopify lives per location, not per store. If your sending store keeps stock across a warehouse and two shops, and the app was told to send only the warehouse, the receiving store is correct and simply lower than you expect.

Check what the app compares before you touch the numbers. StoreTwin shows this on the connection page: the locations you ticked in the sending store are added up and compared with one location in the receiving store, and leaving the selection empty means every location.

2. Something else writes stock in the receiving store

A stocktake app, a POS, a supplier feed, a warehouse integration. Every one of them writes the same field, and the last writer wins. When two systems disagree about a product you get numbers that flip back and forth on their own, which is easy to mistake for a broken sync.

Look at the product timeline in the receiving store. If changes appear from two apps within the same minute, you have found it, and the answer is deciding which one owns that product, not resyncing harder.

3. A change was missed and nothing looked again

Real-time sync runs on webhooks, and webhooks are delivered on a best effort basis: an app restart, a deploy, a network problem, and one update never arrives. If the app only reacts to events, that product stays wrong forever, because nothing ever compares the two stores again.

This is why StoreTwin re-checks changed products every hour and the full catalogue every night, and why a missed event becomes a line in a report instead of a permanent difference.

4. The variants no longer match

A supplier feed rewrote SKUs, a variant was renamed, or someone created the same product by hand in both stores. The app can no longer tell which variant corresponds to which, so it either stops updating it or, worse, creates a duplicate.

The symptom is one product stuck at an old number while the rest of the catalogue is fine. StoreTwin puts these into a review queue instead of guessing, with the product named and the conflict explained.

5. The sync is not running at all

The connection was paused, access was revoked when someone changed the store password, the app was uninstalled in one store, or a plan limit was reached and new products stopped being added. Each of these is quiet unless the app tells you.

StoreTwin emails you when a connection pauses itself, when access to a store is lost, and when a catalogue grows past its plan. The connection page says the same thing in plain words.

How to check instead of guessing

Pick one product that is wrong and compare it in both stores, per location, by hand. Then look at what your app says about that same product. If the app cannot show you the two values side by side, that is the real problem: you cannot fix drift you cannot see.

StoreTwin's free plan audits a catalogue of any size, including one another app is syncing, so you can get that comparison without changing your current setup. How the audit works ยท Pricing