Manage Inventory Across Multiple Shopify Locations
Running more than one Shopify location? Here's how to set up locations, move stock between them, and prioritize fulfillment without losing count of anything.
The moment a store opens a second location (a second warehouse, a retail floor alongside the online store, a 3PL), Shopify's inventory stops being one number per product. It becomes one number per product per location, and every workflow that assumed a single stock count quietly needs rethinking: where a product is stocked, which location fills which order, and how stock gets from one place to another when the numbers say it should.
This is the mechanics of running more than one: setting locations up, keeping per-location stock straight, deciding which location fills an order, and moving units between them when the numbers say you should. If you haven't turned on inventory tracking at a single location yet, start with the setup guide first. Everything here assumes tracking is already on.
Setting up locations
You manage locations from Settings → Locations in your admin — the same screen where you'd later deactivate one. How many you can add depends on your plan:
locations on Basic
locations on Grow
locations on Advanced
locations on Shopify Plus
Deactivated locations don't count against that limit, so retiring a closed store or a warehouse you've moved out of frees up room without deleting its history — its inventory stays visible and adjustable, and returns can still restock it, it just stops appearing as an active option for new stock or fulfillment.
Adding a location doesn't automatically stock every product there. When you turn on tracking for a product, you pick which locations it's stocked at from an "Inventory will be stocked at" list — a new location starts with nothing assigned to it until you deliberately add products to it, either one at a time or through the bulk editor.
Per-location stock levels
Once a product is stocked at more than one location, Shopify tracks a separate on-hand, available, committed, and incoming count for each one — the same four states covered in how Shopify's tracking actually works, just per location instead of a single global number.
To adjust a quantity at a specific location, go to Products → Inventory, select the location from the filter, then click the on-hand or available number for the variant you want to change and choose Set to or Adjust by. If you manage several locations, get in the habit of checking which location is selected before you edit a number — it's an easy way to accidentally correct the wrong warehouse's count.
Fulfillment priority
When an order comes in and more than one location could fulfill it, Shopify's order routing decides which one does. A new location is added to the bottom of the routing list by default, so it won't get picked over your existing locations unless you move it up or it's the only one that has stock.
The default logic runs in this order: minimize split shipments by preferring a single location that can fill the whole order, stay inside the order's destination market where possible, then ship from whichever eligible location is closest to reduce delivery time. If that default doesn't match how you actually want orders routed (say, you want a specific warehouse to always take priority for a certain product line), you can set custom routing rules, including rules based on location metafields for capacity or shipping cost.
Stock transfers between locations
Say your main warehouse is holding 400 units of a SKU and your retail location is down to 15 with a weekend rush coming. You create a transfer from Products → Transfers, set the warehouse as origin and the store as destination, and specify 60 units to move.
Those 60 units sit in the Incoming state at the retail location, not yet sellable there, until someone at that location accepts the transfer, at which point they move into Available. A transfer can also be rejected, which is recorded but doesn't change quantities anywhere, or canceled before it ships, which returns the inventory to the origin location and makes it available there again. A transfer's status reads "In progress" until every unit has been received, then "Transferred."
Reporting by location
The Inventory page itself is filterable by location, so you can pull up "everything at Warehouse B" as a working view rather than scrolling a combined list. For after-the-fact investigation, the Inventory adjustment changes report lets you filter by SKU, location, staff member, app, and adjustment reason — useful when a number at one specific location looks wrong and you need to see what actually moved it and who or what did it.
Choosing an app for multi-location
Native Shopify gets you the mechanics above (locations, per-location quantities, transfers, routing), but none of it is proactive. Nothing tells you a specific location is about to run out; you find out by looking, location by location, or by a customer telling you. That manual checking is what most dedicated inventory apps are built to remove, with varying degrees of location awareness. It's worth confirming exactly what a given app does and doesn't do per location before you commit to it. A lot of listings gloss over the difference between "supports multiple locations" and "actually treats each location as its own inventory problem."
Our own app, StockCue, is upfront about that line rather than blurring it: stock counts are location-scoped starting on the Starter plan, transfers between locations are a Scale-plan feature, and per-location reorder points and alerts aren't built yet. The app currently forecasts and alerts at the SKU level across your store, not location by location, and we'd rather say that plainly than have a merchant discover it after paying.
STOCKCUE
Running more than one location means more manual checking, not less. StockCue's stock counts are location-scoped from Starter, and Scale adds tracked transfers between locations — with honest limits on what's per-location today and what isn't.
Install StockCue on Shopify →Once locations, transfers, and routing are set up the way you want them, the next question is usually whether the numbers at each location are actually right — which is where running a count at each location comes in, and deciding how often to do it before you start. For the concepts this all builds on, see inventory management fundamentals.
Frequently Asked Questions
How many locations can a Shopify store have?
It depends on your plan. Basic, Grow, and Advanced all allow up to 10 locations; Shopify Plus allows up to 200. Shopify's $5/month Starter plan (the social-selling plan with no online store) is capped at 2. Deactivated locations don't count against the limit, so you can retire an old warehouse without losing room to add a new one.
How do I transfer stock between two Shopify locations?
Go to Products → Transfers, create a new transfer, choose the origin and destination locations, and add the items and quantities you're moving. The units sit in the Incoming state at the destination until someone accepts the transfer there, at which point they become Available.
Can I set different reorder points for the same product at different locations?
Not natively. Shopify's own admin has a per-variant low stock threshold, but no per-location reorder point field. Third-party apps vary on this too; StockCue, for example, doesn't yet support per-location reorder points or alerts and says so plainly rather than letting a merchant assume it works that way.
How does Shopify decide which location fulfills an order?
Order routing applies rules in sequence: it tries to fill the whole order from one location to avoid split shipments, prefers a location inside the order's destination market, and then prefers the closest location to shorten delivery time. Merchants can override the default sequence with custom rules, including location metafields for capacity or cost.