Two-way inventory sync between Shopify stores
Yes, there are Shopify apps that sync inventory both ways between stores, so a sale in any store lowers the count in all of them. They do it in two different ways, and only one of them survives two sales landing at the same moment. What to ask, and how StockUnison does it.
Yes, there are Shopify apps that sync inventory both ways between stores, so a sale in any store lowers the count in all of them. Shopify itself cannot do it: every store keeps its own inventory, and nothing in the admin joins two stores.
The apps do it in one of two ways, and the difference decides whether you oversell:
- Copying quantities back and forth. When stock changes in one store, the app copies the new total into the others. This works until two sales land at the same moment.
- One shared count. Every store’s products carrying the same SKU sell from one number. Each sale is applied to that number as a change, so two sales at once both count.
StockUnison does the second. A sale, restock or edit in any store reaches every other store’s products within seconds; every connection starts in preview mode, so you see each change before anything is written; and it is free up to 50 SKUs, then $19 a month for 2,500 SKUs with every store included. We make it, it launched in August 2026, and it has no reviews yet.
Why copying totals oversells
Two stores, one shelf, ten mugs. Both stores show 10.
- A customer buys a mug in store A. Store A now reads 9, and the app copies 9 into store B.
- In the same second, a customer buys a mug in store B. Store B reads 9, and the app copies 9 into store A.
- Both stores end on 9. You have 8.
Every copying app has to decide which total wins when two arrive together, and no rule gets this right: whichever total wins, one sale is lost. The error always points the same way, too, because the lost sale means the stores show more stock than you hold. The busier the stores, the more often two sales land close enough together to collide.
How one shared count avoids it
The same two sales, with one count:
- Store A sells a mug. The count goes from 10 to 9, as a change of −1.
- Store B sells a mug. The count goes from 9 to 8, another −1.
- Both stores are set to 8.
Nothing has to decide which store wins, because nothing is copied from one store to the other. Each store reports a change, the one count absorbs it, and every store is set to the result. That is the same reason two tills in one shop never disagree about the stock: they both take from one number.
How StockUnison does it
- Every product with the same SKU, in every store, shares one count. Products are matched by SKU, ignoring capitals and stray spaces. A SKU found on only one product has nothing to share and is left alone.
- A change anywhere is read, applied and sent out. When Shopify reports a stock change, StockUnison reads the product again, applies the change to the count, and writes the new number to every other product carrying the SKU. Each write is checked against what the product held, so a sale that lands in the middle is caught and counted, not overwritten.
- Its own writes don’t come back as sales. Each write is recognised when Shopify reports it, so the stores never echo a change back and forth.
- It stops rather than guesses. If something outside it rewrites many products at once — a CSV import, another sync app — it stops updating those SKUs and says why, instead of counting one change once per product.
- Every location can keep its own count. Share from one location or several; a sale at your warehouse never moves the count at your shop.
Setting it up
- Install StockUnison in the store that holds the stock and press Share this store’s stock. Pick the locations to share from.
- Install it in each other store and join with the six-character code, or send the invite link to whoever runs that store.
- Press Check my catalogue. It reads every product in every store and lists each SKU found on more than one product, with what each one holds now. Nothing changes yet.
- Review the list and go live. Going live sets the products of each SKU to their lowest count, because showing more stock than you have is what causes overselling. From then on they move together.
The help page has every option, and switching from another sync app has its own steps.
Other apps to compare
These are the apps most often named for keeping your own Shopify stores in sync. Multi-Store Sync Power’s App Store listing says “two-way sync” outright; for the others, ask how a connected store’s sale reaches the rest. The question that separates them all is the one above.
| App | What to ask |
|---|---|
| StockUnison | One shared count per SKU; each sale applied as a change. Ours, new, no reviews yet. |
| Multi-Store Sync Power | Its App Store listing says two-way sync. Ask how it settles two sales at once, and note its plans count products per connected store. |
| Syncio | Built for supplier and retailer stores. Ask which store’s count wins when both sell. |
| Tipo and Synkro | Both sync your own stores by SKU. Ask whether a connected store’s sale changes the main store, and how. |
Ask every vendor the same thing, in writing: “If both stores sell the last unit in the same second, what does each store show afterwards?” No app can stop both orders, because Shopify cannot hold one unit across two stores. An app that keeps one count answers “both sales are counted, every store shows −1, and you know exactly one order is short”. An app that copies totals has to describe its conflict rule, and whichever store wins, it shows a unit you no longer have.
When one-way is the better choice
Two-way is right when every store sells the same physical stock. It is the wrong shape when one store’s number is the real one and the others should only reflect it: a supplier’s store feeding resellers, or a retail store feeding a wholesale store that must never write back. For that, put one store in charge: its counts are copied one way into the connected stores, and nothing a connected store does can change the main store. StockUnison does both; you choose on its first page.
The test is one question: when the other store sells one, should this store’s count go down too? If yes, share one count. If no, put one store in charge.
What it costs
StockUnison prices by SKUs kept in sync, every store included, and a SKU is counted once however many stores carry it:
| Plan | Price | SKUs kept in sync |
|---|---|---|
| Free | $0 | Up to 50, across every store |
| Starter | $19/month | Up to 2,500 |
| Growth | $29/month | Up to 10,000 |
| Pro | $59/month | Up to 100,000 |
| Scale | $99/month | Up to 250,000 |
The store that starts sharing carries the plan; stores that join are free. Sharing inside one store only is the One store plan, $9/month for up to 10,000 SKUs. Matching, preview mode and checks are free at any catalogue size, so you can see exactly what it would do to your real stores before paying. The pricing page has the details, and what every Shopify inventory sync app costs compares the whole category.
Common questions
Is there a Shopify app for two-way inventory sync between stores?
Yes. StockUnison does it as one shared count per SKU: every store's products carrying the same SKU sell from one number, and a sale, restock or edit in any store changes the count in all of them within seconds. Each sale is applied to the count as a change rather than copied as a total, so two sales landing at once in different stores both count. It starts in preview mode, so you see every change before anything is written, and it is free up to 50 SKUs, then $19 a month for 2,500 SKUs with every store included. Multi-Store Sync Power's App Store listing also says two-way sync, and Syncio, Tipo and Synkro are often compared; ask each whether it copies quantities between stores or keeps one count.
What is the difference between one-way and two-way inventory sync?
One-way: one main store's counts are copied into the other stores, and a sale in a connected store never changes the main store, so the main store's admin is where stock is managed. Two-way: a sale in any store lowers the count everywhere, so every store sells from the same shelf. Pick one-way when one store owns the number, such as a supplier feeding resellers; pick two-way when every store sells the same physical stock.
Can two-way inventory sync cause overselling?
It can, if the app copies whole quantities between stores. Store A sells one and copies its new total, 9, to store B; at the same moment store B sells one and copies its 9 to store A. Both stores end on 9 when the real number is 8. Two-way done as one shared count does not have this problem, because each sale is applied to the count as a change: both sales land and the count reads 8.
Does two-way sync work for products inside one Shopify store?
With StockUnison, yes. Shared stock works the same way inside one store: every product carrying the same SKU, such as a mug sold on its own and in a gift set, sells from one count. Sharing inside one store is the One store plan, $9 a month for up to 10,000 SKUs.
What happens if another app or a CSV import changes stock while two-way sync is on?
StockUnison notices when something outside it has rewritten many products at once, stops updating the SKUs involved and says why, instead of counting that one change once per product. Run only one stock sync app on the same products: two apps writing the same counts undo each other's changes.
One item. One number.
StockUnison keeps one count wherever an item sells — across your Shopify stores, or across duplicate products in one. Matched by SKU, previewed before anything moves, and logged write by write.
Install on ShopifyFree for 50 SKUs · paid plans from $9/mo