A Shopify store selling sports equipment ships 500 orders a day from one East Coast warehouse. Half its customers are on the West Coast. Shipping from the East costs $12 per order. West Coast fulfillment would cost $7. That's $1,250 a day in wasted shipping — over $30,000 a month — because everything ships from one place. A proper Shopify multi-location inventory setup would have cut that cost on day one.
Shopify multi-location inventory lets you track stock across multiple warehouses, retail stores, and 3PLs — with orders automatically routed to the closest or best-stocked location. It's built into every Shopify plan, no apps required for the basics.
Most merchants don't open a second location because of demand. They open one because a single location is quietly bleeding margin on every order that ships cross-country. And the longer you wait to set up multi-location inventory properly, the more you spend on shipping you didn't need to pay.
When You Actually Need Multiple Locations
Not every store needs this. If you ship fewer than 50 orders a day from one warehouse and your customers cluster in the same region, a single location works fine. Don't add complexity for the sake of it.
Multi-location inventory makes sense when:
- You ship 100+ orders daily and customers spread across distant regions
- Shipping costs are climbing because packages travel too far
- You use a 3PL in addition to your own warehouse
- You have a retail store and an online warehouse stocking the same products
- You're a COD merchant in a large country (India, Brazil, Indonesia) where regional warehouses cut delivery time and reduce failed deliveries
If two or more apply, you're leaving money on the table with a single location.
How Do You Set Up Multi-Location Inventory on Shopify?
Shopify tracks inventory per location natively — no apps needed for the basics. Each location represents a physical place: a warehouse, a retail store, a pop-up, or a 3PL partner.
- Go to Settings → Locations in your Shopify admin
- Click Add location
- Enter the name, address, and whether this location fulfills online orders
- Repeat for each warehouse, store, or 3PL
When you create a new product, Shopify automatically assigns it to all active locations with a starting quantity of zero. You then set actual stock levels for each location individually.
For existing products, you'll need to update inventory at each new location. Use the bulk editor (up to 50 products at a time) or import a CSV for catalogs with 100+ SKUs. The CSV method is faster for large stores — export your current inventory, add columns for the new location, and re-import.
Configure Fulfillment Priority to Route Orders Correctly
This is where most merchants get it wrong. Adding locations is easy. Telling Shopify which location should fulfill which orders is the part that causes overselling and wrong-warehouse shipments.
Shopify uses order routing rules to decide which location gets each order. Go to Settings → Shipping and delivery → Order routing to configure these.
Your options:
- Closest to customer — routes to the location nearest the shipping address. Best for reducing shipping costs and delivery time.
- Priority list — routes to your preferred location first, then falls back to others. Useful when one warehouse is your main hub.
- Available inventory — routes to whichever location has stock. Simple but doesn't optimize for shipping cost.
For most multi-warehouse setups, "closest to customer" is the right default. If you're a COD merchant shipping across India or Indonesia, this single setting can cut delivery time by days — which directly reduces your RTO rate.
Avoid the 5 Mistakes That Cause Inventory Mismatches
Multi-location inventory works well when it's set up correctly. It falls apart fast when it's not. These are the issues that show up repeatedly in Shopify community threads:
1. Not deactivating locations that don't fulfill online orders. If your retail store stocks products but shouldn't fulfill online orders, toggle off "Fulfill online orders from this location." Otherwise, Shopify may route e-commerce orders to your retail counter.
2. Forgetting to set stock at new locations. New locations start at zero inventory for every product. If you add a warehouse but don't update quantities, Shopify knows the location exists but thinks it has nothing to ship.
3. Ignoring sync delays during high-volume periods. Shopify inventory updates aren't always instant, especially when third-party apps manage stock. During peak sales events, a few seconds of delay can mean selling inventory that's already committed. Keep a 5-10% buffer — stock slightly less than your actual physical count.
4. Splitting shipments without realizing it. If a customer orders three items and they're spread across two locations, Shopify may split the order into two shipments. Each shipment costs you a separate shipping label. For COD orders, split shipments are even worse — the customer gets two deliveries and may refuse the second one.
5. Not auditing fulfillment location after setup. After your first week, check 20-30 recent orders. Look at which location fulfilled each one. If orders that should go to your nearest warehouse are routing to the wrong one, your priority rules need adjusting.
Transfer Stock Between Locations
Inventory doesn't stay balanced forever. One warehouse sells through a popular SKU while another sits on excess. Shopify has a built-in transfer system for this.
- Go to Products → Transfers
- Click Create transfer
- Select the origin and destination locations
- Add the products and quantities you're moving
- Mark the transfer as pending, then update to received when the stock physically arrives
Don't skip the "received" step. If you mark items as transferred but don't confirm receipt, your origin location shows reduced stock while your destination still shows zero. That gap causes overselling at one location and phantom stock at another.
For stores with high SKU counts, run a weekly transfer review. Sort products by location and look for SKUs where one location has 50+ units and another has fewer than 10. Rebalancing before you hit zero is cheaper than expedited shipping after a stockout.
Set Location-Specific Shipping Rates
Different warehouses have different shipping costs. A package from your Mumbai warehouse to a customer in Gujarat costs less than one from your Delhi warehouse. Shopify lets you set this up through shipping profiles.
- Go to Settings → Shipping and delivery
- Create or edit a shipping profile
- Under each shipping zone, set rates per location
This matters for margin accuracy. If all your shipping rates are based on your primary warehouse but half your orders ship from a secondary location with different carrier contracts, your actual shipping cost won't match what you charged the customer.
For COD merchants, location-specific rates also affect your COD fee calculations. If you charge a flat COD fee but your fulfillment cost varies by warehouse, some orders are profitable and others aren't — and you won't see the difference until you dig into per-order margins.
Multi-Location Inventory for COD Merchants
COD stores have one problem that prepaid stores don't: every failed delivery is pure loss. The product ships, the courier attempts delivery, the customer isn't home or refuses, and the item returns to your warehouse. You've paid shipping both ways and recovered nothing.
Multi-location inventory helps because proximity reduces delivery time. A package that arrives in 2 days instead of 7 is far more likely to be accepted. In markets like India, Indonesia, and Brazil, cutting delivery time from a week to 2-3 days can meaningfully reduce RTO rates.
The setup is the same, but the stakes are higher. If your routing sends a COD order to the wrong warehouse and it takes 8 days instead of 3, your chance of a successful delivery drops significantly. Get your fulfillment priority right before you scale order volume.
If you're using EasySell for COD order forms, the orders flow into Shopify's standard fulfillment pipeline — so your multi-location routing rules apply to every order placed through the form.
Your First Week Checklist
After setting up multi-location inventory, run through this in your first 7 days:
- Day 1: Add all locations, set fulfillment priority, update stock levels
- Day 2-3: Place 5-10 test orders from different regions and verify which location fulfills each one
- Day 4-5: Check for split shipments in your recent orders — if you see them, consider stocking your top 20 products at all locations
- Day 7: Audit 20+ real orders. Confirm routing matches your expectations. Adjust priority rules if needed.
Multi-location inventory isn't a set-and-forget feature. But the setup takes an afternoon, and the payoff — lower shipping costs, faster delivery, fewer stockouts — compounds on every order you fulfill from a closer warehouse. Start with two locations, get the routing right, then expand from there. If you outgrow manual tracking, check our roundup of the best Shopify inventory management apps for tools that automate syncing across locations.