If you search the Shopify Community forums for “multi-location inventory,” you’ll find the same handful of questions asked in different words, over and over: why isn’t my second warehouse showing on the product page, why does the online store say “out of stock” when there’s clearly stock sitting in the Melbourne warehouse, why does my POS show different stock to my website. These aren’t obscure edge cases, they’re what happens the first time an Australian retailer with more than one warehouse tries to use Shopify’s native location features without a clear mental model of how they actually work.
This guide walks through how Shopify’s multi-location inventory feature genuinely works, how stock gets allocated and displayed across locations on the storefront, the fulfilment priority logic behind it, the specific pitfalls that generate most of those forum threads, and, honestly, when native Shopify locations are enough versus when you actually need an inventory management app or ERP integration to handle real multi-warehouse complexity.
How Shopify’s native multi-location inventory actually works
Shopify treats “locations” as physical or logical places where inventory is held or orders are fulfilled from, a warehouse, a retail store, a 3PL, a dropship supplier. You manage these under Settings > Locations in your Shopify admin. Every Shopify plan supports multiple locations, though the number included before extra fees apply varies by plan tier, so it’s worth checking your current plan’s location allowance if you’re scaling toward several warehouses.
Once you have more than one location active, inventory tracking becomes location-specific. Instead of a single stock number per SKU, each product variant carries a separate stock count at each location. This is set up on the product page: scroll to the Inventory section, and under “Track quantity,” you’ll see the same variant listed against every active location, each with its own editable quantity field.
A few foundational points that matter for retailers new to this:
- A location has to be marked active for a sales channel before it counts. A warehouse can exist in Settings > Locations but not be assigned to fulfil online store orders if it isn’t enabled for that channel.
- Inventory at a location only shows on the storefront if the location is set to fulfil online orders. Stock sitting in a location that’s excluded from the Online Store channel won’t contribute to the “in stock” status customers see.
- Locations can be reordered, and that order matters, it feeds directly into fulfilment priority, covered below.
How stock displays and allocates across locations on the product page
By default, Shopify’s storefront doesn’t show customers a breakdown of “12 in Sydney, 4 in Brisbane.” What the customer sees is a single availability status (in stock, low stock, out of stock, depending on your theme) that Shopify calculates by summing available inventory across all locations enabled for the Online Store channel.
If you want customers to actually see stock broken down by location, common for retailers who want to promote “available for click and collect” messaging at specific stores, that requires either theme customisation using Shopify’s local pickup and inventory location objects in Liquid, or a dedicated app. Out of the box, most Shopify themes will only expose a store-locator-style pickup availability widget if local pickup is enabled for those locations under Settings > Shipping and delivery, not a general per-location stock count.
This is one of the most common points of confusion in Community threads: merchants expect the theme to automatically list stock per warehouse, and it doesn’t, because Shopify’s default product template is built around a single combined availability figure, with location-level detail surfaced mainly through the local pickup flow rather than as a general storefront feature.
Fulfilment priority: how Shopify decides which location fulfils an order
When an order comes in for a product stocked at more than one location, Shopify needs a rule for which location it gets allocated to for fulfilment. This is where the ordering of locations under Settings > Locations comes in, Shopify uses that list, top to bottom, as your default fulfilment priority, assigning the order to the highest-priority location that has enough stock, unless you’re using an origin-based rule set through a shipping app or manually select a different location during fulfilment.
Some retailers also use Settings > Shipping and delivery origin rules, or third-party fulfilment apps, to fulfil based on proximity to the customer rather than a fixed priority order, this becomes more relevant as warehouse count grows, since a fixed priority list doesn’t account for reducing freight cost or delivery time by shipping from the nearest location.
Shopify Plus merchants get more flexibility here through scripts and flow automation for fulfilment routing, but this is genuinely one of the areas where the gap between Shopify and Shopify Plus is meaningful for a business running several distribution points, native fulfilment priority on standard Shopify is a static list, not a dynamic, rules-based engine.
Common pitfalls
These account for most of the recurring Community questions on this topic:
- A location doesn’t show on the product page at all. Usually caused by the location not being enabled for the Online Store sales channel, or the product simply not having any inventory quantity entered for that location (even zero needs to be explicitly tracked, not left blank).
- Stock isn’t syncing between physical count and what Shopify shows. This is rarely a Shopify sync bug, it’s almost always a process gap: stock moved physically between locations without the transfer being recorded in Shopify, or manual quantity edits made in the wrong location’s row.
- POS location vs online store location confusion. Shopify POS is tied to a specific location per device/register. If a retail staff member sells a product from the POS location’s stock, but a customer simultaneously buys the same last unit online (fulfilling from a different location), you can get oversells if the two locations weren’t both tracking quantity accurately. This is a genuinely common issue for retailers running both a physical store and online sales from the same combined stock pool without clear separation.
- Local pickup enabled at a location with no stock, which shows customers a pickup option that then can’t actually be honoured.
- Bulk stock updates via CSV import accidentally overwriting the wrong location’s quantities, because the import file’s location column wasn’t matched carefully against the store’s actual location names.
A setup checklist for multi-location inventory
- Add and name each real warehouse, store or fulfilment point under Settings > Locations.
- Decide and set the priority order of locations for default fulfilment routing.
- Enable the correct sales channels (Online Store, POS, etc.) for each location.
- For every product, confirm quantity is tracked and entered correctly at every active location, not just the original default one.
- Enable local pickup only at locations that genuinely hold stock and can fulfil pickup orders.
- Set a clear internal process for recording stock transfers between locations inside Shopify, not just physically.
- Test the customer-facing experience: check availability messaging, local pickup options, and checkout behaviour for a product stocked at only one of several locations.
- If running POS alongside online sales from shared stock, confirm the register’s assigned location matches the physical stock it’s actually selling from.
When native Shopify locations are enough, and when they’re not
For a retailer running two or three locations, say, a warehouse plus one or two retail stores, with straightforward fulfilment and no complex demand planning, Shopify’s native multi-location inventory, used correctly, is genuinely enough. The functionality above covers stock tracking, basic fulfilment priority, and click-and-collect without needing a third-party system.
Where it starts to strain is real multi-warehouse complexity: forecasting stock needs across five or more locations, automating purchase orders and replenishment, handling inter-warehouse transfers with proper audit trails, syncing with an accounting or ERP system, or routing fulfilment dynamically based on cost and delivery speed rather than a fixed priority list. At that point, native Shopify locations are still the foundation, but they need to be paired with an inventory management app or an ERP integration doing the heavier logistics logic on top.
This is the point where it’s worth getting a second opinion on your setup rather than continuing to bolt on manual workarounds. This is exactly the kind of gap a proper Shopify inventory management integration is designed to close, connecting Shopify’s native location data to the forecasting, purchasing and warehouse logic that native Shopify alone isn’t built to handle.
FAQ
Why isn’t one of my warehouse locations showing on the Shopify product page?
Usually because that location isn’t enabled for the Online Store sales channel, or the product has no inventory quantity tracked at that specific location. Check both Settings > Locations (channel assignment) and the product’s Inventory section (quantity per location).
Does Shopify show customers exactly which warehouse has stock?
Not by default. The storefront typically shows a single combined availability status across all locations enabled for online sales. Showing stock by specific location generally requires enabling local pickup at that location or customising the theme.
How does Shopify decide which location fulfils an order when stock exists in more than one place?
By default, it follows the priority order you’ve set under Settings > Locations, allocating to the highest-priority location with sufficient stock. More advanced routing based on proximity or cost typically requires shipping app rules or, on Shopify Plus, custom automation.
Why does my POS show different stock than my online store?
This is almost always a process issue rather than a platform bug, stock moved physically without a recorded transfer in Shopify, or the POS device is assigned to a location whose quantity isn’t being updated in step with the online store’s shared stock pool.
When do I need an inventory management app instead of just using Shopify’s native locations?
Once you’re managing more than a handful of locations, need demand forecasting or automated purchasing, require detailed transfer audit trails, or want fulfilment routed by cost or delivery speed rather than a fixed list, native Shopify locations become the data layer, but you need dedicated software handling the logistics logic on top.
Ready to fix your inventory setup?
If stock visibility or fulfilment routing across your locations feels like it’s held together with manual workarounds, a Shopify audit is a good starting point to see exactly where the gaps are. If you already know you need help, book a call with our team to talk through your specific warehouse setup.