Shopify Inventory Management: How to Stop Losing Money on Stockouts and Overselling
Inventory problems kill Shopify stores quietly. Overselling destroys customer trust. Stockouts leave revenue on the table. Dead stock ties up your cash. Here's how to build an inventory system that actually works at any scale.
The Inventory Problem Every Shopify Seller Faces
You list a product. You get an order. Then you discover you don't actually have it in stock.
Or the opposite: you're sitting on $20,000 of a slow-moving product while your three best sellers are on backorder, customers are waiting, and the sales you should be making are going to a competitor who has stock.
Inventory management is one of the top operational challenges for eCommerce businesses β and it compounds as you scale. The manual approach that works at 10 orders per day breaks at 100. What works for one product line fails when you expand to five. What works for a single warehouse is inadequate when you add a second location.
This guide covers the principles, systems, and tools for Shopify inventory management that actually work at scale β from basic setup through to integrating with a full ERP system when Shopify's native capabilities are no longer sufficient.
Why Native Shopify Inventory Falls Short for Growing Stores
Shopify's built-in inventory tracking handles the basics competently:
- Track quantity per product variant per location
- Set inventory policy (stop selling when out of stock, or continue)
- Send low-stock notifications
- Import and export inventory via CSV
No purchase order management. When you need to restock from a supplier, Shopify provides no mechanism to create a purchase order, track it, and receive goods against it. This happens entirely outside Shopify, then manually updated.
No reorder point automation. Shopify can alert you when stock hits zero β but you need to have already run out. There's no system to trigger reordering when stock reaches your reorder point (before you run out).
No demand forecasting. Shopify doesn't calculate how much stock you'll need based on historical sales velocity. Purchase decisions rely on your memory or external spreadsheets.
No multi-location transfer management. Moving stock between locations (warehouse to retail store, fulfillment center to another warehouse) requires a workaround rather than a native workflow.
No inventory costing. Shopify doesn't track the cost basis of your inventory using FIFO, LIFO, or weighted average β methods required for accurate profit calculations and accounting.
No batch or expiry date tracking. For food, pharmaceutical, or perishable products, lot/batch tracking and expiry management don't exist in Shopify.
No accounting integration for COGS. When a product is sold, the cost of that product should transfer from inventory (asset) to cost of goods sold (expense). Shopify doesn't post these accounting entries β they must be handled externally.
These limitations are by design, not oversight. Shopify is an eCommerce platform, not an inventory management system. As stores scale, they need tools built specifically for inventory management.
Core Inventory Principles: The Foundation Before the Tools
1. Every Physical Movement Needs a System Transaction
Your Shopify inventory count is only as accurate as your processes. Every time an item physically moves β in or out of your warehouse β without a corresponding system update, your count diverges from reality.
Build and enforce this rule: every physical movement = an immediate system transaction.
This applies to:
- Receiving stock from suppliers (immediately update on receipt, not at end of week)
- Fulfilling orders (handled automatically when you fulfill in Shopify)
- Processing returns (restock sellable items immediately; write off damaged items)
- Moving stock between locations (record the transfer in both directions)
- Writing off damaged or lost inventory (adjust the count immediately)
2. Enable Inventory Tracking for Every Variant
Shopify allows you to choose whether to track inventory per variant. For any product with physical stock, always enable tracking. Untracked variants can be oversold without limit β Shopify will happily accept orders for items with no stock and no tracking.
Check this for every product in your catalog:
For new products added in future, make enabling tracking part of your product creation checklist.
3. Configure Inventory Policy Correctly
For each tracked variant, you choose the "out of stock" behavior:
Stop selling when inventory reaches zero β the right default for physical inventory you can't ship. Shopify marks the product as unavailable when stock depletes, preventing orders you can't fulfill.
Continue selling when out of stock β appropriate for made-to-order products, digital products, print-on-demand items, or pre-orders where you'll communicate the fulfillment timeline. Don't use this as a workaround for slow inventory updates β it will generate orders you can't fulfill.
Set the policy explicitly. Don't rely on Shopify's default behavior, which varies based on product type.
4. Use Locations Correctly for Multi-Location Inventory
Shopify supports multiple inventory locations. Stock is tracked per location per variant. This is powerful but requires discipline:
- Always fulfill orders from the correct location in Shopify (don't fulfill from Location A while the inventory shows Location B)
- Record stock transfers between locations as formal transfers in Shopify β never just physically move stock without a system record
- Set your fulfillment priority so Shopify automatically assigns orders to the correct location
Reorder Management: The System You Need to Never Stock Out
Running out of a selling product is a double loss: you lose the sale, and you potentially lose the customer to a competitor who has stock. A reorder management system prevents this by triggering restocking before you run out β not after.
Setting Reorder Points
The reorder point is the stock level at which you place a new purchase order. The formula:
Reorder Point = (Average Daily Sales Γ Supplier Lead Time in Days) + Safety Stock
Example:
- You sell 15 units/day on average
- Your supplier delivers in 10 days
- You want 5 days of safety stock as buffer against supplier delays
When your stock falls to 225, you order. This ensures you won't stock out before the new delivery arrives, even if the supplier is 5 days late.
Adjusting safety stock: Higher safety stock protects against more uncertainty. Products with variable demand (seasonal items, trending products), unreliable suppliers, or high stockout cost (bestsellers) warrant more safety stock. Slow-moving predictable products can have less.
Setting Order Quantities
The Economic Order Quantity (EOQ) formula minimizes total inventory cost (ordering costs + holding costs):
EOQ = β(2 Γ Annual Demand Γ Order Cost Γ· Holding Cost per Unit per Year)
In practice, most eCommerce sellers simplify this:
- Order enough stock to cover 45β90 days of expected sales
- Factor in supplier minimum order quantities
- Consider storage space constraints
- Account for seasonal demand variations
Building the Reorder System
Shopify's native low-stock notification tells you when stock hits zero β too late. The practical approach:
For advanced stores, this process is automated by inventory management systems that create draft purchase orders automatically when stock crosses reorder thresholds.
ABC Analysis: Focus Your Attention Where It Matters
Not all products deserve equal inventory management attention. ABC analysis prioritizes your effort:
A-class products (top 10β20% of SKUs, typically 70β80% of revenue):
- Weekly physical counts
- Tight reorder points with higher safety stock
- Multiple supplier relationships to reduce stockout risk
- Priority in warehouse layout (fast-pick locations)
- Real-time sales monitoring
- Monthly physical counts
- Standard reorder points
- Single supplier with backup identified
- Quarterly physical counts
- Minimal safety stock
- Evaluate regularly for discontinuation if not selling
Revisit the classification every quarter β products move between classes as demand shifts.
Handling Returns: Where Inventory Accuracy Often Breaks
Returns are a major source of inventory inaccuracy in eCommerce. When handled inconsistently, they create "phantom inventory" β items that appear in your system as available but don't exist in sellable condition.
The right process for every return:
Common mistakes:
- Physically returning items to shelf without updating Shopify
- Creating a return in Shopify without performing the physical inspection
- Batch-processing returns at end of week (creates temporary inaccuracy that compounds if someone oversells)
Seasonal Inventory Planning
For most eCommerce businesses, inventory demand is not constant throughout the year. Missing demand peaks means lost revenue. Over-buying for seasons that underperform means dead stock and tied-up cash.
Building a seasonal inventory plan:
Dead Stock: Finding and Managing Inventory That Isn't Selling
Dead stock is inventory that isn't selling at a sufficient rate to justify carrying it. It ties up cash, consumes storage space, and may become unsellable over time (for perishables or trend-sensitive products).
Identifying dead stock in Shopify:
- Analytics β Inventory β Days of inventory remaining (or Stocky app)
- Products with 180+ days of inventory remaining at current sales velocity
- Products with zero sales in the past 90 days
Markdown: Price reduction accelerates velocity. A 30% discount often more than compensates for margin loss when compared to the carrying cost of inventory.
Bundle with fast movers: Pair a slow SKU with a fast-moving product as a bundle. Clears the slow stock while adding perceived value.
Liquidation: Sell to liquidators at cost or below. Recovering 40% of cost is better than writing off 100%.
Return to supplier: If your supplier agreement allows returns with a restocking fee, this may be worth exercising for excess inventory.
Write-off: For inventory with zero resale value, write it off as a loss. This keeps your inventory count accurate and removes false assets from your balance sheet.
When to Use Third-Party Inventory Management
Shopify's native inventory is sufficient for:
- Stores with under 500 SKUs
- Single warehouse or retail location
- Simple product types (no batches, no expiry, no serial numbers)
- Under 200β300 orders per day
- No physical retail operations alongside eCommerce
- You carry 500+ SKUs
- You sell across multiple channels (Shopify + Amazon + retail + wholesale)
- You need purchase order management integrated with inventory
- You need COGS tracking for accurate accounting
- Your team is making inventory errors regularly
- You need batch/lot tracking for perishable or regulated products
Stocky (free, Shopify-native): Good for single-location stores needing purchase orders and basic demand forecasting. Best free option available in the Shopify ecosystem.
Cin7 (formerly DEAR Inventory): Strong for manufacturing, wholesale, and retail. Multi-channel, multi-location, purchase orders, FIFO/LIFO costing, EDI support. Mid-market pricing.
Linnworks: Multi-channel inventory and order management. Connects Shopify with Amazon, eBay, and other marketplaces. Good for businesses selling across multiple eCommerce platforms.
Extensiv (formerly Skubana): High-volume multi-channel inventory and fulfillment. Enterprise pricing.
Connecting Inventory to Accounting: The Often-Missed Piece
Inventory is not just an operations problem β it is an accounting problem. Your inventory value is an asset on your balance sheet. When you sell a product, the cost transfers from inventory (asset account) to cost of goods sold (expense account). When inventory is damaged or lost, it becomes an expense. When you purchase inventory, cash reduces and inventory increases.
Most Shopify stores handle this badly: they track sales revenue in their accounting system but don't accurately record COGS, so their profit calculations are wrong. A store reporting 40% gross margins may actually be at 30% because inventory cost movements aren't being recorded.
What proper inventory-accounting integration requires:
- Every purchase order receipt updates inventory cost basis
- Every sale records the cost of goods sold at the correct per-unit cost (FIFO, LIFO, or weighted average depending on your method)
- Returns credit back the appropriate cost
- Inventory write-offs record the loss as an expense
- Month-end inventory value on the balance sheet matches your system count Γ cost per unit
When your Shopify store is integrated with [Taskmate ERP](/taskmate) by AHAD Global Ventures, every sale posts both the revenue entry and the corresponding COGS entry automatically. Purchase receipts update inventory cost basis. Month-end inventory valuation matches the accounting records. Your financial statements reflect the true economics of the business.
Read more about [inventory management best practices](/blog/inventory-management-best-practices), [digital transformation for retail businesses](/blog/digital-transformation-for-retail-businesses), or [explore our eCommerce integration services](/services).
Frequently Asked Questions
How do I fix negative inventory in Shopify? Negative inventory happens when sales have been processed without inventory being tracked, or when manual adjustments weren't made correctly. Fix: first enable tracking for the product variant. Then do a physical count of the actual quantity on hand. Create an inventory adjustment in Shopify to set the correct quantity. Going forward, enable tracking before the product goes live.
How often should I do physical inventory counts? For A-class products (your top revenue drivers): weekly spot checks on the 5β10 most critical SKUs. For all products: a full count quarterly, or at minimum twice a year. Monthly cycle counts β counting a rotating subset of your catalog each month β keep accuracy high without requiring a full shutdown.
What's the best way to handle inventory across Shopify and a retail store? Enable the retail store as a location in Shopify and track inventory separately per location. Any sale at the retail counter should decrement the retail location's inventory in Shopify β either through Shopify POS or through a manual adjustment. For businesses with significant retail volume, an ERP system that connects both channels in real time is a better long-term solution than manual management.
Should I allow backorders? Backorders work well when: you have a firm restock date to communicate to customers, the product has loyal buyers willing to wait, and you can reliably fulfill within 2β3 weeks. They work poorly for price-sensitive products with easy alternatives, and they damage trust when the promised fulfillment date is missed.
How do I track inventory cost for tax purposes? The US, UK, and India all require accurate inventory valuation for tax reporting. You must track per-unit cost at purchase, apply a consistent costing method (FIFO is most common and most accepted by tax authorities), and report ending inventory value at year-end. Most eCommerce accounting software (Xero, QuickBooks, or an ERP like Taskmate) handles this with proper inventory integration. Shopify alone does not β you need an accounting system connected to your inventory.
What is the best way to handle product variants in Shopify inventory? Each variant (size/color/material combination) should have its own inventory count. Never track inventory at the parent product level when selling variants β you'll lose visibility into which specific variants are selling and which are out of stock. In Shopify, go to each variant and individually set the quantity and tracking policy.
Conclusion
Inventory management is the operational foundation that determines whether a Shopify store can scale or will hit a wall of stockouts, overselling, inaccurate counts, and accounting errors.
The discipline starts with the basics: tracking enabled for every variant, inventory policy configured correctly, and every physical movement recorded immediately. It scales through reorder management systems, ABC prioritization, and seasonal planning. For growing stores, it requires dedicated inventory management software and, ultimately, integration with accounting for accurate profitability reporting.
The stores that build this foundation early grow without the operational crises that come from inventory chaos. The stores that treat inventory management as an afterthought spend more time fighting fires than growing the business.
AHAD Global Ventures helps eCommerce businesses build operational systems that match their ambition β from Shopify inventory management to full ERP integration that unifies inventory, accounting, and sales across all channels. [Explore our services](/services) to discuss what your business needs.