Shopify Markets does not replace inventory locations, shipping profiles or order routing. It defines the regional selling context, and the fulfillment stack still decides whether stock is sellable and which eligible warehouse receives the order.
That distinction explains a costly merchant complaint: the US warehouse reaches zero, the storefront keeps accepting orders, and Shopify assigns fulfillment to Europe. Nothing there is necessarily random. The store may have told Shopify that European stock is eligible, then asked routing to find the best available location.
What controls regional inventory in Shopify?
Locations hold separate inventory quantities. Markets define who the store sells to, and can shape catalogs, pricing, currency, domains and language. Shipping profiles determine which products and origins can produce rates. Order routing ranks the eligible fulfillment locations once an order exists.
Why does Shopify choose the wrong warehouse?
Shopify's default routing applies rules in order: minimize split fulfillments, stay within the destination market, then ship from the closest location. If a location is eligible and has stock, an earlier rule can keep it in the running even when the merchant informally thinks of that inventory as belonging to another region.
Shopify documents how routing rules rank eligible locations and why their order matters.
Read Shopify's order-routing rules →How should a multi-warehouse store diagnose availability?
- ✓Map each product to every location that stocks or can fulfill it
- ✓List the markets each location is meant to serve
- ✓Review shipping profiles and zones for each origin
- ✓Read the routing rules from top to bottom
- ✓Test in-stock, local-stockout, split-cart and total-stockout scenarios
Test the storefront and the resulting order separately. A product can look available because online inventory exists, while routing picks a location the business considers commercially wrong. The reverse happens too: a product can appear sold out while stock exists because that stock cannot serve the shopper's market.
When should you use routing rules instead of duplicate products?
Use one product when the merchandise identity is shared and the variation is operational: warehouse priority, regional stock, a price adjustment, a shipping origin. Duplicate products only when the regions genuinely need distinct merchandising records, compliance, content ownership, or integrations that cannot coexist cleanly.
Duplicating every SKU by region turns a fulfillment exception into permanent catalog debt. Every update happens several times, reporting fragments, and search engines meet near-identical product pages. The workaround usually ends up costing more than the routing problem did.
When does the architecture require separate Shopify stores?
Separate stores become reasonable when regions require incompatible checkout currencies or gateways, legal entities, tax logic, teams, assortments, or release schedules. A currency that changes back at checkout is one signal that the constraint may sit in the payment architecture rather than the theme.
Design the exception before the happy path
An order placed while every warehouse has stock tells you very little. The useful test is what happens when the preferred region reaches zero, a cart spans locations, a rate is unavailable, or a fulfillment app goes offline. Define the acceptable fallback for each of those cases, then encode only the rules you actually want Shopify to execute.
If your regional inventory is sellable in the wrong place, or unavailable in the right one, we can map and rebuild the Markets, shipping, and routing logic.
Scope a Shopify technical review →



