Separate Shopify stores don't share inventory. That's true on every plan, including Shopify Plus: each store keeps its own products and its own stock counts, and a sale in one store changes nothing in the other. You have two ways to run one inventory. Either bring everything into one store, using Markets for other countries, B2B for wholesale and sales channels for marketplaces, or keep separate stores and sync them with an app or a custom service.
A merchant asked us recently how to keep stock accurate across three stores: their main direct-to-consumer site, a wholesale store for retail partners, and a brand they'd just acquired. They were spending hours every week reconciling counts by hand and still overselling. This guide is what we told them: what Shopify handles natively, when a second store is actually necessary, how to choose a sync app, and when a custom build is worth it.
The short version
- Question the second store first. Wholesale, other countries and marketplaces can all run from one store, with one stock count.
- If you need separate stores (a different brand, a different legal entity, a genuinely different catalog), pick one store or system as the source of truth for stock.
- Match every shared product by SKU, variant by variant, before you sync anything.
- Start with a sync app on a handful of products, then roll it out.
- Go custom when products don't match one-to-one, you need priority rules, or an app keeps drifting.
Do you need more than one store?
Most multi-store inventory problems start with a second store that didn't need to exist. Before you solve syncing, check whether one store can do the job:
| Why you opened another store | What one store can do instead |
|---|---|
| Wholesale buyers need their own prices and terms | Shopify B2B, on the Basic, Grow, Advanced and Plus plans. Companies, catalogs and payment terms live in the same store as your retail customers. |
| A store for each country | Shopify Markets: local currencies, languages, domains and prices from one store, fulfilled from whichever location your order routing chooses. |
| Selling on Amazon, eBay or Walmart | Sales channels. Shopify Marketplace Connect syncs listings, orders and inventory with Amazon, eBay, Walmart and Target Plus from your one admin. |
| A warehouse and a physical shop | Locations. Each location has its own stock count inside the same store. |
| A separate brand, business or company | This is the case where a second store usually makes sense. |
If one store covers it, you don't have a sync problem any more. You have a single stock count per location that every channel sells from, and Shopify keeps it up to date.
What Shopify handles natively
Locations inside one store
A location is anywhere you keep stock: a warehouse, a shop, a stockroom. When a product is stocked at several locations, Shopify tracks the inventory separately for each, and order routing decides which location fulfills each order. Every location splits its stock into states: Committed (in unfulfilled orders), Unavailable (damaged or set aside), Available (what you can sell) and On hand (everything physically there).
Shopify's location limits are generous: 10 locations on Basic, Grow and Advanced, and 200 on Shopify Plus. Locations run by fulfillment apps, such as a 3PL, don't count toward the limit.
Shopify Plus expansion stores
This is where many merchants get caught out. Shopify Plus lets one organization run up to ten stores on the same contract: a main store and nine expansion stores. They share users and billing, but not data. Shopify's own help centre is direct about it: store settings, products, collections and inventory aren't synced between stores. You can import products, themes and files from another store in your organization when you create an expansion store, and that's it. After that, Shopify points you to third-party apps or an ERP to keep inventory in step.
So Plus doesn't solve multi-store inventory by itself. It just makes running several stores cheaper to administer.
Built-in, app or custom build
| One store (built in) | Sync app | Custom sync service | |
|---|---|---|---|
| Stock counts | One per location, shared by every channel | One per store, kept in step | One per store, kept in step |
| Setup | Markets, B2B, channels, locations | Install, map products, test | Built for you |
| Products must match | Not applicable | Usually by SKU, one-to-one | Any mapping you define |
| Priority rules when stock is low | Order routing | Limited, varies by app | Whatever your business needs |
| Risk of drift | None | Some; check the app's logs and resync tools | Low, if it reconciles regularly |
| Best for | Wholesale, countries, marketplaces | Two or three stores with clean, matching SKUs | Different SKU schemes, bundles, several brands |
How to sync inventory between two Shopify stores
- Decide the source of truth. One store (or your warehouse system) owns the real count. The others follow it. Two-way syncing without a clear owner is where most drift comes from.
-
Clean up SKUs. Every shared variant needs the same unique SKU in every store. Export products from each store and compare them in a spreadsheet: look for blanks, duplicates and near-misses like
TOTE-BLKandTOTE-BLACK. - Turn on tracking everywhere. Products with Track quantity switched off can't be updated by any app.
- Map locations. Decide which location in each store represents the shared stock. If the wholesale store has one location and retail has three, write down which counts feed which.
- Pilot with a few products. Pick ten SKUs that sell in both stores. Run the sync for a week and compare counts every day.
- Do a count, then go live. Count the physical stock, set the source store to match, and let the sync push it out. Starting from a correct number matters more than the tool.
- Watch the logs. Any decent sync tool shows what it changed and what failed. Check it weekly, and after every bulk import.
Choosing a sync app
There are plenty of multi-store sync apps in the Shopify App Store, and we don't make one, so we won't pick a winner. What we'd check before installing any of them:
- Variant-level matching. Syncing happens per variant, not per product. Make sure the app matches on SKU (or barcode) and tells you what it couldn't match.
- Multi-location support. Can it map specific locations between stores, or does it lump everything together?
- Direction. One-way from a source store, two-way, or both? Two-way needs conflict rules.
- Speed and recovery. How quickly does a sale reach the other store, and what happens if an update fails? Look for a scheduled resync that corrects drift on its own.
- Logs you can read. When a count is wrong, you need to see why.
- Plan pricing by SKU or order volume. Costs often scale with catalog size.
When a custom sync is worth it
An app works when the stores are close copies of each other. It starts to struggle when they're not: the acquired brand has its own SKU scheme, a wholesale case of 12 has to draw down 12 retail units, some variants exist in only one store, or retail should stop selling when stock falls below what's promised to wholesale.
That's when we build a small custom service. It listens for Shopify's inventory webhooks from each store, maps products using whatever rules fit (SKU, a lookup table, metafields), applies priority rules when stock is low, and runs a regular reconciliation that compares every store against the source of truth and fixes differences. It also alerts someone when an update fails, instead of quietly letting counts drift.
One more thing to know if you go this route: Shopify's inventory-level webhook reports changes to available stock, not every inventory state, so a well-built sync pairs webhooks with that scheduled reconciliation rather than relying on either alone.
If your counts still drift
- Overselling right after a sale. The sync is slower than your checkout. Hold back a small buffer on fast sellers in the follower stores, or move to one store.
- A product never syncs. Its SKU differs between stores, is blank, or is used twice. Search each store for that SKU.
- Counts are right, then wrong again. Someone is editing stock in a follower store, or a CSV import overwrote it. Only change stock in the source of truth.
- Numbers bounce back and forth. Two-way sync is echoing its own updates. Switch to one-way from a single source.
- Stock looks missing. You may be looking at the wrong location. Check the quantity per location, and use View inventory history on the product to see what changed it.
- An app says it updated, but Shopify disagrees. Check that Track quantity is on for that variant and the location is active.
Common questions
Can two Shopify stores share the same inventory?
Not natively. Each Shopify store keeps its own stock counts. To share inventory, either merge into one store or connect the stores with a sync app, an ERP or a custom service.
Does Shopify Plus sync inventory between expansion stores?
No. Expansion stores share users and billing, but Shopify says products, collections and inventory aren't synced between them. You can copy products into a new expansion store when you create it, but not afterward.
Can I run separate stores for different countries with one inventory?
You can, with a sync app, but you usually don't need to. Shopify Markets lets one store sell in several countries with local currencies, languages, domains and prices, all drawing from the same stock.
How do I unify wholesale and DTC inventory?
Run wholesale inside your main store with Shopify B2B, which is available on the Basic, Grow, Advanced and Plus plans. Wholesale buyers get their own catalogs and payment terms, and both kinds of order draw from the same stock.
How many warehouses or locations can one Shopify store have?
Up to 10 locations on Basic, Grow and Advanced, and up to 200 on Shopify Plus. Locations managed by fulfillment apps don't count toward the limit.
Do I need inventory software if I only sell on one store?
Not for syncing: Shopify already keeps one count per location across every channel. You might still want help with counts, receiving and reordering as you grow. That's operations, not sync.
Where to start
Write down how many stores you run, which products overlap, and what it costs you when something oversells. If one store can do the job, consolidate. If it can't, try a sync app on a few products before anything bigger. For more on the inventory side, read what comes next for inventory after Stocky and how Shopify's inventory adjustment history works. If you're weighing an app against a build, this guide to apps, custom code and the options in between will help.
And if your setup has outgrown both spreadsheets and off-the-shelf apps, that's exactly the kind of problem our custom apps work starts with. Tell us about your stores.