Shopify Inventory Management: Beyond the Basics (Multi-Location, Bundles, Sync)

What Shopify Inventory Can and Can't Do
Shopify gives every store a built-in inventory system. For a single-channel store with one warehouse and straightforward products, it works. You can track quantities per variant, view adjustment history, and manage stock across locations from the admin panel.
The problems start when your operations get even slightly complex. Multiple warehouses, product bundles, marketplace sync, automated reordering, these are standard requirements for growing ecommerce brands, and Shopify's native inventory cannot handle any of them well.
Before deciding what to add, you need a clear picture of what Shopify gives you and where it stops.
| Capability | Shopify Native | Limitation |
|---|---|---|
| Track stock quantity per variant | Yes | No support for lot tracking, serial numbers, or expiry dates |
| Multi-location inventory | Yes (up to 1,000 locations) | No intelligent routing rules or cost-based fulfillment priority |
| Inventory transfer between locations | Yes | Manual process only; no automated replenishment between locations |
| Inventory adjustment history | Yes | Limited audit trail; no reason-code categorization or approval workflows |
| Low stock alerts | Basic (Shopify Flow required) | No velocity-based alerts, no per-channel thresholds, no escalation tiers |
| Bundle and kit inventory | No | Bundles must be managed manually or via third-party apps |
| Automated reorder points | No | No native reorder point calculation or purchase order generation |
| Marketplace inventory sync | No (requires apps) | No built-in sync with Amazon, eBay, Walmart, or TikTok Shop |
| Purchase order management | No (Stocky discontinued for most plans) | No native PO creation, supplier management, or receiving workflow |
| Demand forecasting | No | No built-in forecasting based on sales velocity or seasonality |
If you are running a single Shopify store with under 100 SKUs and no external marketplaces, the native tools are sufficient. Beyond that threshold, you are patching gaps with workarounds that will eventually break.
Multi-Location Setup
Multi-location inventory is one of Shopify's strongest native features. Whether you operate your own warehouse, use a 3PL, run a retail store, or fulfill from multiple facilities, Shopify can track stock separately at each location.
Adding and Configuring Locations
To set up multiple locations, navigate to Settings > Locations in your Shopify admin. Each location represents a physical place where you store or fulfill inventory. You can add up to 1,000 locations on Shopify Plus (fewer on standard plans), including warehouses, retail stores, pop-up locations, and third-party fulfillment centers.
For each location, configure the following:
- Address: The physical address, which Shopify uses for shipping rate calculations and tax determination.
- Fulfillment status: Whether the location can fulfill online orders, POS orders, or both.
- Active inventory: Assign which products are stocked at each location. Products not assigned to a location will not have inventory tracked there.
Fulfillment Priority
Shopify lets you set a fulfillment priority order for your locations. When an online order comes in, Shopify attempts to assign fulfillment to the highest-priority location that has the item in stock. You configure this in Settings > Shipping and delivery > Fulfillment priority.
This priority is a simple ordered list. Shopify does not factor in shipping cost, proximity to the customer, or available capacity. Location A always gets priority over Location B, regardless of whether the customer is 10 miles from Location B and 3,000 miles from Location A.
For operations that need cost-optimized or proximity-based routing, this is a significant limitation. You will need an external order management system that can evaluate multiple routing criteria before assigning fulfillment.
Transferring Stock Between Locations
Shopify supports inventory transfers between locations through the admin interface. To create a transfer, go to Products > Transfers, select the origin and destination locations, and specify the items and quantities.
Each transfer moves through stages: draft, pending, in transit, and received. This gives you visibility into stock that is physically moving between facilities. However, Shopify treats transferred stock as unavailable at the origin once the transfer is created, which means your available-to-sell quantity drops immediately even though the stock has not arrived at the destination yet.
There are no automated transfer rules. If your main warehouse runs low and your secondary facility has surplus, Shopify will not suggest or initiate a transfer. Every transfer is manual, which becomes impractical at scale.
Bundle and Kit Management
Product bundles are one of the most common requirements in ecommerce and one of the biggest gaps in Shopify's native capabilities. A bundle is a product listing that contains multiple individual items sold together at a single price: a skincare kit with three products, a starter pack with accessories, a holiday gift set.
The Core Problem
Shopify has no native concept of a bundle at the inventory level. You can create a product called "Starter Kit" and give it a price, but Shopify treats it as a single SKU with its own inventory count. When someone buys the Starter Kit, Shopify deducts one unit from the Starter Kit inventory. It does not automatically deduct the component items.
This creates a dangerous disconnect. You might have 50 Starter Kits in inventory, but if the individual components are also sold separately and go out of stock, Shopify will still show 50 Starter Kits as available. Customers order the kit, you cannot fulfill it because the components are gone, and you end up canceling orders.
Workaround 1: Manual Tracking with Spreadsheets
The cheapest approach is to manually calculate bundle availability based on component stock levels. If a bundle contains Product A (30 units) and Product B (15 units), the bundle availability is 15, limited by the lowest component. You update the bundle quantity in Shopify manually whenever component stock changes.
This works for stores with one or two bundles and slow-moving inventory. It does not scale. As soon as you have five or more bundles, components shared across bundles, or high sales velocity, manual tracking breaks down within days.
Workaround 2: Shopify Apps
Several Shopify apps address bundle inventory. These apps create a mapping between the bundle listing and its component SKUs, then automatically adjust the bundle's available quantity based on component stock levels. When a bundle sells, the app deducts the component quantities.
Apps solve the basic problem but introduce their own issues. They operate within Shopify's ecosystem, so they can only see Shopify inventory. If you sell components on Amazon or eBay simultaneously, the app does not account for those sales. You can end up with a bundle showing as available on Shopify even though Amazon just sold the last unit of a component.
Workaround 3: External OMS with Bundle Logic
An order management system handles bundle inventory at the centralized level. The OMS knows every channel's sales, every component's true available quantity across all channels, and calculates bundle availability in real time. When a bundle sells on Shopify, the OMS deducts components and pushes updated availability to every channel.
This is the correct architecture for any brand selling bundles across multiple channels. The OMS is the single source of truth for component and bundle inventory, and Shopify is treated as one output channel among several.
Syncing Shopify with Marketplaces
Selling on multiple channels means your Shopify inventory is only one piece of a larger picture. Every unit sold on Amazon, eBay, Walmart, or TikTok Shop reduces what should be available on Shopify, and vice versa. Without accurate sync, you oversell.
The Channels Most Shopify Sellers Expand To
The typical expansion path for a Shopify-native brand follows a predictable sequence. After establishing their direct-to-consumer store on Shopify, most brands add Amazon first for its massive customer base, then eBay for its auction and fixed-price flexibility, followed by Walmart Marketplace for its growing ecommerce presence, and increasingly TikTok Shop for social commerce.
Each of these marketplaces has its own inventory system, its own API, and its own rules about stock counts, reserved inventory, and fulfillment expectations.
Native Shopify Integrations
Shopify offers a Marketplace Connect app that provides basic integration with Amazon, eBay, and Walmart. It can push listings and pull orders. However, the inventory sync has significant limitations:
- Sync delay: Updates are not real-time. There is a lag between a sale on one channel and the stock adjustment appearing on Shopify. During flash sales or peak periods, this lag causes oversells.
- No allocation logic: You cannot reserve a percentage of inventory for specific channels. If you want to hold 20 units for Amazon and 30 for Shopify, there is no native way to enforce that.
- Single-direction limitations: The sync primarily pushes from Shopify outward. It does not handle complex scenarios like Amazon FBA inventory (which Amazon controls) being reflected in your Shopify available counts.
- No multi-location mapping: You cannot map specific Shopify locations to specific marketplace fulfillment configurations. Everything is treated as a single pool.
Why Native Sync Fails for Serious Multi-Channel
Consider a real scenario. You have 100 units of a product. You sell on Shopify, Amazon (FBM), eBay, and Walmart. A customer buys 5 units on Amazon. Simultaneously, a TikTok Shop live stream drives 20 orders in three minutes. Shopify's sync runs on a schedule: say, every 15 minutes. During that window, your Shopify store still shows the full 100 units. Someone buys 90 units on Shopify. You have now committed 115 units of a product you only have 100 of.
This is not an edge case. It happens daily to multi-channel sellers who rely on native Shopify sync. The solution is a centralized inventory system that processes every sale from every channel in near real-time and pushes updated quantities to all channels within seconds.
Dedicated OMS for Marketplace Sync
A dedicated OMS sits between your channels and your inventory. It receives order notifications from Shopify, Amazon, eBay, Walmart, and TikTok Shop. On every sale, it recalculates available inventory and pushes the updated count to every connected channel. The sync cycle is measured in seconds, not minutes.
Beyond speed, the OMS provides inventory allocation: the ability to reserve specific quantities for specific channels. You can allocate 40 units to Amazon, 30 to Shopify, and 30 to eBay. When one channel sells through its allocation, it shows out of stock on that channel while the others continue selling. This prevents any single channel from consuming all your inventory during a spike.
Automated Reorder Points
A reorder point is the inventory level at which you should place a new purchase order with your supplier. It accounts for lead time (how long it takes to receive new stock) and sales velocity (how fast you are selling). Get it right, and you never stock out. Get it wrong, and you either run out of inventory or tie up cash in excess stock.
Shopify Does Not Have This
Shopify has no native reorder point functionality. There is no way to set a minimum threshold that triggers a purchase order. There is no lead time field. There is no sales velocity calculation. Shopify will happily let your best-selling product hit zero without any warning, and by the time you notice, you have already lost days or weeks of sales while waiting for replenishment.
The Basic Reorder Point Formula
The standard reorder point formula is straightforward:
Reorder Point = (Average Daily Sales x Lead Time in Days) + Safety Stock
If you sell 10 units per day, your supplier takes 14 days to deliver, and you want 7 days of safety stock, your reorder point is (10 x 14) + (10 x 7) = 210 units. When your inventory hits 210, you order more.
The challenge is that both sales velocity and lead times fluctuate. A static reorder point calculated once will drift out of accuracy within weeks. Effective reorder automation recalculates continuously based on recent sales trends and actual supplier performance.
Setting Up Automated Reorder Alerts
Without native support, you have three options for implementing reorder points with Shopify:
- Shopify Flow (limited): Shopify Flow can trigger an action when inventory drops below a specific number. You can set up a workflow that sends an email or Slack notification when a product's quantity goes below your threshold. However, Flow does not calculate reorder points dynamically, you must set a fixed number for each product and manually update it as sales patterns change.
- Third-party inventory apps: Several apps add reorder point functionality to Shopify. They can calculate points based on sales history, track supplier lead times, and generate purchase order drafts. These work well for Shopify-only operations but struggle when inventory is shared across channels.
- External OMS with reorder automation: A dedicated OMS calculates reorder points using sales data from all channels, not just Shopify. It factors in actual supplier lead times, applies safety stock buffers, and can automatically generate purchase orders when thresholds are hit. This is the most accurate approach for multi-channel sellers.
Purchase Order Generation
Reorder alerts are only half the equation. Once you know you need to reorder, you need a purchase order. Shopify previously offered PO functionality through the Stocky app, but this has been discontinued for most plan levels. Without a PO system, you are creating orders manually in spreadsheets or supplier portals, a process prone to errors and impossible to audit.
An OMS that combines reorder detection with PO generation closes the loop entirely. The system detects that SKU-1234 has hit its reorder point, generates a PO with the correct quantity (based on economic order quantity or a fixed reorder amount), sends it to the supplier, and tracks it through receiving. No manual intervention required.
Low Stock Alerts and Notifications
Knowing when you are running low on inventory seems like a basic feature. In Shopify, it is surprisingly limited.
Native Shopify Alerts
Shopify's built-in low stock visibility is minimal. You can filter products by "low stock" in the inventory section, but this is based on a global threshold and requires you to actively check. There is no push notification, no email alert, and no Slack integration out of the box.
Shopify Flow (available on Shopify Plus and Advanced plans) adds more capability. You can create workflows that trigger when inventory for a specific product or variant drops below a threshold you define. The workflow can send an email, post to Slack, or trigger a webhook. This is functional but has limitations.
Limitations of Native Alerting
- No per-channel thresholds: You cannot set different alert thresholds for different channels. A product that sells 50 units per day on Amazon and 5 on Shopify should have very different alert thresholds, but Shopify treats them as one.
- No per-location thresholds: If you have three warehouses, the alert triggers based on total inventory or a single location's inventory. You cannot set Warehouse A to alert at 100 units and Warehouse B to alert at 50.
- No velocity-based alerts: A static threshold of "alert at 20 units" means something very different for a product selling 2 per day versus 200 per day. Shopify does not factor sell-through rate into its alerting.
- No escalation: There is no concept of warning tiers, for example, a yellow alert at 30 days of supply and a red alert at 10 days of supply. You get one threshold and one notification.
Enhanced Alerting with an External System
A proper inventory alerting system goes beyond static thresholds. It calculates days of supply based on current sales velocity, sets tiered alerts (caution, warning, critical), segments by channel and location, and routes notifications to the right person. A warehouse manager gets alerted about physical stock levels. A channel manager gets alerted about channel-specific sell-through rates. A purchasing manager gets alerted about items approaching their reorder point.
This kind of granular, role-based alerting is impossible within Shopify alone. It requires a centralized system that aggregates data from all channels and applies business logic that Shopify was never designed to provide.
Shopify POS + Online Inventory
If you operate physical retail locations alongside your Shopify online store, keeping inventory synchronized is a constant challenge. Shopify POS (Point of Sale) shares the same inventory system as your online store, which sounds ideal, but the reality is more nuanced.
How Shopify POS Inventory Works
Shopify POS connects directly to your Shopify inventory. When a customer buys a product in your retail store, POS deducts from the inventory at that physical location. If you have online fulfillment set to pull from the same location, the online available quantity drops simultaneously.
This works cleanly in a simple setup: one retail store, one online store, same inventory. But the complexity scales fast:
- Multiple retail locations: Each POS location has its own inventory count. If you have three retail stores and one online fulfillment center, you are managing four separate inventory pools. Stock that is sitting in Retail Store C cannot automatically fulfill online orders unless you have configured that location for online fulfillment.
- In-store stock reserves: You often want to reserve minimum stock levels for walk-in customers. If a retail location has 20 units and you want to keep at least 5 in-store, you need the online store to show only 15 available from that location. Shopify has no native "reserve" function for this, the online store sees all 20 as available.
- Shrinkage and discrepancies: Physical retail inevitably has inventory discrepancies from theft, damage, miscounts, and returns processed at the register. If POS inventory drifts from reality, your online available quantities become inaccurate. Regular cycle counts are essential but not prompted or automated by Shopify.
The Unified Inventory Challenge
The real challenge is not technical: it is operational. Unified inventory across POS and online requires discipline: regular cycle counts, consistent return processing, strict receiving procedures, and clear rules about which locations fulfill which orders. Shopify provides the infrastructure for multi-location tracking, but it does not enforce any of these operational practices.
For brands with multiple retail locations and a high-volume online store, an external OMS layer becomes essential. The OMS manages the allocation rules (how much inventory each channel can see), enforces reserves (minimum stock for in-store), and reconciles discrepancies through automated alerts when physical counts diverge from system counts.
When to Add an External OMS
Not every Shopify store needs an external order management system. If you sell a small catalog on a single channel from one location, Shopify's native tools are adequate. But operations change, and the shift from "Shopify is enough" to "we are drowning" happens faster than most brands expect.
The 5 Signs You Have Outgrown Shopify-Native Inventory
Here are the five clearest indicators that you need a dedicated inventory and order management system beyond what Shopify provides:
1. You sell on two or more channels. The moment you add Amazon, eBay, Walmart, TikTok Shop, or any other marketplace to your Shopify store, you need centralized inventory control. Shopify's native inventory only knows about Shopify. Sales on other channels do not automatically reduce your Shopify stock. You will oversell, cancel orders, and damage your seller ratings on marketplaces that penalize cancellations harshly.
2. You operate multiple warehouses or fulfillment centers. Shopify's multi-location feature tracks inventory per location, but it cannot make intelligent routing decisions. It does not factor in shipping cost, delivery speed, or warehouse capacity when assigning fulfillment. If you have two warehouses and want orders to route to the closest one, Shopify cannot do that natively. You end up manually reassigning orders or accepting suboptimal shipping costs.
3. You sell bundles or kits. As covered earlier, Shopify has no native bundle inventory management. If bundles are a meaningful part of your catalog, you need a system that understands component-level inventory and automatically calculates bundle availability across all channels. Trying to manage this manually or with a single-channel app leads to overselling and fulfillment failures.
4. You manage more than 500 SKUs. At low SKU counts, you can manually monitor inventory levels, spot low-stock items, and create purchase orders. At 500 or more SKUs, this becomes a full-time job, and mistakes become inevitable. You miss reorder points, overstock slow movers, and understock fast movers. An OMS with automated reorder alerts, demand-based forecasting, and PO generation turns inventory management from reactive to proactive.
5. You need automation to scale. If your team spends hours each day on manual inventory tasks, updating stock counts across channels, checking for oversells, creating purchase orders in spreadsheets, reconciling discrepancies, you have hit the limit of what manual processes can support. Automation is not a nice-to-have at this stage. It is the difference between scaling and stalling. An OMS automates the repetitive work: sync inventory across channels, generate POs when stock is low, route orders to the optimal warehouse, and alert your team only when something needs human attention.
What an External OMS Provides
A dedicated OMS fills every gap identified in this guide. Here is what it adds to your Shopify operation:
- Centralized inventory: One source of truth for stock levels across Shopify, Amazon, eBay, Walmart, TikTok Shop, POS, and any other channel. Every sale on any channel updates the central count and pushes new availability to all channels in near real-time.
- Bundle management: Define bundles as component mappings. The OMS calculates bundle availability based on the lowest-stock component and deducts components on every bundle sale, across all channels.
- Intelligent order routing: Route orders to the warehouse that minimizes shipping cost, maximizes delivery speed, or balances workload, configurable rules that go far beyond Shopify's static priority list.
- Automated reorder points and PO generation: Continuously calculated reorder thresholds based on actual sales velocity and supplier lead times. Purchase orders generated and sent automatically when thresholds are hit.
- Granular alerting: Tiered alerts by channel, location, and velocity. Role-based notifications so the right person gets the right alert at the right time.
- Inventory allocation: Reserve specific quantities for specific channels. Prevent any single channel from consuming all your stock during a demand spike.
- Audit trail and reconciliation: Full visibility into every inventory adjustment, with reason codes, timestamps, and user attribution. Automated reconciliation flags when system counts diverge from physical counts.
The Cost of Waiting Too Long
Most brands add an OMS after a painful incident: a major oversell during a sale, a marketplace suspension due to cancellation rates, or a holiday season where manual processes collapsed under volume. The cost of that incident, lost revenue, damaged reputation, marketplace penalties, almost always exceeds the cost of the OMS itself.
The smarter approach is to add centralized inventory management before the crisis. If you see two or more of the five signs above in your operation, the time to act is now, not after the next stockout or oversell event.
Making Shopify Work Harder
Shopify is an excellent ecommerce platform. Its inventory management is not its strength. For single-channel, single-location, simple-catalog stores, the native tools are fine. For anything beyond that, and most growing brands are beyond that, you need to extend Shopify's inventory capabilities with external tools.
The progression typically looks like this: start with Shopify's native inventory, add Shopify Flow for basic alerts, layer on apps for specific needs like bundles or reorder points, and eventually move to a centralized OMS when multi-channel operations demand it. Each step buys you time, but the eventual destination for any serious multi-channel brand is a dedicated system that treats Shopify as one channel among many.
The brands that get inventory right, accurate counts, automated reordering, real-time sync, zero oversells, outperform their competitors on every metric that matters: customer satisfaction, marketplace ratings, cash flow efficiency, and operational cost. Shopify gives you the storefront. What you build behind it determines whether you scale or stall.
Frequently Asked Questions
Yes, Shopify includes basic inventory management features out of the box. You can track stock quantities, set inventory to be tracked or untracked per variant, view inventory history, and manage stock across multiple locations. However, Shopify does not natively support bundle inventory deduction, automated reorder points, purchase order generation, or real-time sync with external marketplaces like Amazon or Walmart.
In Shopify admin, go to Settings > Locations to add warehouses, retail stores, or 3PL facilities. Each product variant can hold separate stock quantities per location. You can set fulfillment priority to control which location ships first, and use the Shopify admin or API to transfer stock between locations. For complex multi-location operations with routing rules, you will likely need an external OMS.
Shopify does not offer a native, real-time inventory sync with Amazon. The Shopify Marketplace Connect app provides a basic integration, but it syncs on a delay and does not handle edge cases like reserved inventory or multi-location allocation. For reliable two-way inventory sync between Shopify and Amazon, most sellers use a dedicated OMS or multichannel inventory tool that acts as the central source of truth.
The best app depends on your complexity. For simple stock alerts, Shopify Flow or a basic app like Stocky may be enough. For multi-channel sellers managing inventory across Amazon, eBay, Walmart, and Shopify simultaneously, a dedicated OMS like Nventory provides centralized inventory control, automated sync, bundle management, and reorder automation that individual Shopify apps cannot replicate.