
What are the 7 Essential Tips for Managing Inventory on Shopify?
Managing inventory on Shopify requires synchronized tracking across product variants, multi-location fulfillment hubs, and purchase order lifecycles. Outdated spreadsheets cause severe supply chain disruptions for over 40% of small retailers annually. Implementing structured stock controls directly within the Shopify admin eliminates overselling, stabilizes fulfillment margins, and automates supplier replenishments.
Tip 1: How to Track Inventory by Variant and Location in Shopify
Tracking inventory at both the variant and location levels in Shopify ensures accurate stock counts, prevents overselling, and keeps multi-warehouse or retail operations synchronized.
Step 1: Set Up Your Locations
Before assigning inventory counts, configure all physical and fulfillment locations.
- Go to Settings > Locations in your Shopify Admin.
- Click Add location.
- Enter the name (e.g., Main Warehouse, Downtown Store) and physical address.
- Check Fulfill orders from this location if items ship or sell directly from that address.
- Click Save.
Step 2: Enable Quantity Tracking on Product Variants
Activate tracking for specific SKU variations (size, color, material, etc.).
- Navigate to Products and click the item you want to edit.
- Scroll down to the Variants section:
- For an individual variant: Click the specific variant row.
- For multiple variants: Select the checkboxes next to the variants and click Bulk edit.
- Under the Inventory section, check Track quantity.
- (Optional) Decide whether to check Continue selling when out of stock if backorders are permitted.
Step 3: Assign Locations and Quantities per Variant
Assign stock numbers to each active location.
Option A: From the Product Page
- On the variant detail screen, look for the Inventory / Locations block.
- Click Edit locations if a required location is missing, then select the checkboxes for all locations storing that variant.
- Under Available, enter the exact stock quantity for each specific location.
- Click Save.
Option B: Using the Inventory Management Page (Best for Bulk Setup)
- Go to Products > Inventory in your navigation bar.
- Select your target location from the top location dropdown menu.
- Search or filter by variant name or SKU.
- Update quantities directly in the Available column.
- Click Save.
Step 4: Update Quantities Efficiently via CSV (For Large Catalogs)
For stores managing hundreds of variants across multiple locations:
- Go to Products > Inventory.
- Click Export to download your current inventory CSV file.
- Open the file in Google Sheets or Excel. Locating the columns formatted by location name (e.g.,
Main Warehouse,Downtown Store). - Update the numerical counts under each location column for each variant row.
- Save the CSV and click Import on the Products > Inventory page to apply the changes.
Best Practices for Multi-Location Variant Tracking
- Unique SKUs: Ensure every individual variant has a unique, descriptive SKU (e.g.,
TSHIRT-BLK-SvsTSHIRT-BLK-M) to prevent scanning and syncing errors. - Fulfillment Priority: Go to Settings > Locations and adjust the fulfillment priority order so Shopify automatically deducts stock from the closest or preferred location during checkout.
- Internal Stock Transfers: When moving stock between warehouses or storefronts, use Products > Transfers to track items in transit before adjusting final counts.
Tip 2: How to Automate Low-Stock Alerts Using Shopify Flow
Automating low-stock alerts using Shopify Flow (available on Shopify, Advanced, and Shopify Plus plans) ensures your team is notified automatically before product variants sell out completely.
Step 1: Install and Open Shopify Flow
- In your Shopify Admin, navigate to Apps > Shopify Flow.
- Click Create workflow in the top-right corner.
Step 2: Choose or Build from a Template
- Quickest Method: Click Browse templates and search for "low stock". Select the default Send internal email when product inventory is low template and adjust the parameters.
- Manual Setup: Click Create workflow from scratch and follow the 3-part framework below:
1. Set the Trigger
- Click Select trigger.
- Search for and select Inventory quantity changed under the Product variant section.
2. Add the Condition
- Click the
+icon attached to the trigger block and select Condition. - Set the check to evaluate the available stock:
- Select field:
Product variant > InventoryQuantityorProduct variant > InventoryItem > InventoryLevel > Available. - Set condition: is less than or equal to (e.g.,
5or10, depending on your reorder lead times).
3. Define the Action
- Click Then (
+on the true path) and select Action. - Select Send internal email.
- Fill out the email fields:
- To: Your ops team email address (e.g.,
inventory@yourstore.com). - Subject:
LOW STOCK ALERT: {{variant.displayName}} - Body: Insert template variables like variant SKU, current quantity, and product link:
Attention Team,
The following item has fallen below the reorder threshold:
- Product: {{product.title}}
- Variant: {{variant.title}}
- SKU: {{variant.sku}}
- Remaining Quantity: {{variant.inventoryQuantity}}
Please place a purchase order soon.
Step 3: Save and Turn On the Workflow
- Click Save in the top corner and name your workflow (e.g., "Low Stock Alert - Quantity <= 5").
- Toggle the workflow status to Turned on.
Advanced Tips for Variant-Specific Tracking
- Filter by Product Tags: If high-turnover items need alerts at 20 units while slower items need alerts at 3 units, add a second condition checking
Product > Tags. Set distinct threshold branches for tagged items. - Auto-Tag Low-Stock Items: Add an extra action under the same trigger to automatically add a
low-stocktag to the product. This allows your store theme to display "Only a few left!" badges automatically. - Integrate External Tools: Instead of standard email alerts, you can set the action to push messages directly to a Slack channel, Microsoft Teams, or your project management software via webhook or app integration.
For a visual step-by-step tutorial on building low stock automations, check out Shopify Low Inventory Alerts Tutorial, which walks through configuring triggers, conditions, and internal notification steps directly inside the Shopify Flow interface.
Tip 3: How to Manage Supplier Replenishment with Native Purchase Orders
Managing supplier replenishment using native Purchase Orders (POs) in Shopify (or linked native transfers) creates a clear audit trail between ordering, receiving, and updating stock across your locations.
Step 1: Set Up Supplier Profiles
Before creating POs, ensure your vendors are added to your admin.
- Go to Products > Purchase orders (or Inventory > Suppliers / Purchase orders depending on your admin layout).
- Click Manage suppliers (or Add supplier).
- Enter the vendor details: Company Name, Contact Email, Address, and default Payment Terms (e.g., Net 30).
- Click Save supplier.
Step 2: Create a New Purchase Order
- In your Shopify Admin, navigate to Products > Purchase orders.
- Click Create purchase order.
- Select the Supplier from the dropdown.
- Select the Destination location (the specific warehouse or retail storefront receiving the shipment).
- In the Add products section:
- Search and select the specific variants you need to reorder.
- Enter the Quantity and cost per unit (Cost price) for each item.
- Set key logistical dates:
- Estimated arrival date: Anticipated delivery window.
- Payment terms: Select agreed terms or mark as paid.
- Supplier currency / Shipping carrier / Tracking number: Add if available.
- Click Save as draft or click Mark as ordered once sent to the vendor.
Step 3: Receive and Adjust Inventory Counts
When the physical delivery arrives at your loading dock or retail location, record the receipt against the open PO.
- Go to Products > Purchase orders and open the active PO.
- Click Receive inventory.
- Enter the exact number of units physically received under the Accept column for each variant row.
- If items are damaged or missing: Enter damaged units under Reject to keep accurate records for vendor credits.
- Click Save.
Partial vs. Full Receipts
- Partial Receipt: If the shipment arrives in multiple batches, enter only what arrived today and save. The PO status changes to Partial, leaving the remaining items open for future receiving.
- Full Receipt: Once all expected items are marked accepted, click Mark as completed. Shopify automatically adds the received quantities to the Available inventory count for that specific location.
Best Practices for Native PO Replenishment
- Separate Ordering from Receiving: Keep PO creation restricted to purchasing managers and receiving approval restricted to warehouse staff. This prevents items from accidentally going "Live" before boxes are unpacked.
- Use Barcode Scanners for Receiving: Connect a handheld barcode scanner directly to your terminal during the receiving step to scan incoming variants into the PO rather than typing quantities manually.
- Audit Variant Costs: Updating unit costs on a PO updates your cost of goods sold (COGS) reporting, keeping your store's margin analytics precise.
Tip 4: Why You Must Separate Ordering from Receiving Workflows
Separating ordering from receiving workflows is a critical operational safeguard for retail and e-commerce inventory management. Treating these as two distinct steps in your system—rather than a single process—prevents stock discrepancies, maintains accurate accounting, and reduces internal risk.
1. Prevents "Phantom Stock" and Overselling
When purchasing and receiving are merged into one step, items are often marked as "Available" or "In Stock" the moment a purchase order is placed or dispatched.
- The Risk: Customers buy items online before the delivery truck even arrives at your dock.
- The Solution: Keeping ordering separate ensures stock counts only increase when the physical shipment is physically unpacked, inspected, and scanned into the warehouse.
2. Ensures Accurate Financial Accounting
An order represents expected liabilities and inventory on paper, whereas receiving represents actual physical assets in hand.
- Combining the two distorts your balance sheet by prematurely recording incoming goods as active assets before verifying whether suppliers billed correctly or filled the order completely.
- Decoupling the workflows allows your accounting team to match purchase orders against incoming receiving slips and vendor invoices before releasing payment.
3. Simplifies Partial Shipments and Vendor Errors
Suppliers frequently split orders across multiple shipments, send backordered items, or deliver damaged goods.
- A separate receiving workflow lets receiving staff accept only the physical units that arrive today (marking damaged items as rejected or partial), leaving the remainder of the purchase order open for future delivery.
- If ordering and receiving are locked together, handling partial receipts creates messy manual adjustments and ruins supplier performance tracking.
4. Establishes Internal Controls and Reduces Shrinkage
In inventory management, combining ordering and receiving under a single step creates a significant internal control vulnerability.
- If a single person can create a purchase order, mark it as received, and approve stock additions, it becomes difficult to audit inventory loss, theft, or administrative errors.
- Separating these roles enforces a natural check-and-balance system: Purchasing authorizes what was ordered, while Receiving verifies what actually hit the loading dock.
5. Maintains Clear Audit Trails and Transit Visibility
When using e-commerce platforms like Shopify, creating a formal separation via inventory transfers or purchase order states keeps items in an "Incoming" / "In Transit" state while en route.
- This gives customer service representatives real-time visibility into incoming stock without exposing unreceived items to live customer checkouts.
- It also helps warehouse managers plan receiving schedules and allocate labor efficiently, reducing bottlenecks and ensuring a smoother flow of goods from suppliers to your sales channels.
Tip 5: How to Rebalance Regional Stock Using Shopify Transfers
Rebalancing stock across multiple physical locations or warehouses using native Shopify inventory transfers prevents localized stockouts, reduces dead stock, and eliminates manual count adjustments.
Step 1: Create an Inventory Transfer
- In your Shopify Admin, navigate to Products > Transfers (or Inventory > Transfers).
- Click Create transfer.
- Set the location endpoints:
- Origin: Select the warehouse or store with excess stock (e.g., Main Distribution Center).
- Destination: Select the location running low on stock (e.g., Downtown Store).
Step 2: Add Variants and Specify Quantities
- In the Add products section, search for or browse the product variants you need to rebalance.
- Enter the exact Quantity of each variant being moved.
- (Optional) Add tracking and shipment details:
- Expected arrival date: Helps receiving managers anticipate delivery windows.
- Shipping carrier & Tracking number: Keeps transit status visible across teams.
- Reference number: Internal transfer code or freight bill number.
- Click Save as draft.
Step 3: Mark the Transfer as "In Transit"
When the goods leave the origin facility:
- Open the draft transfer and click Mark as in transit.
- System Behavior: Shopify automatically places the selected items into an "Incoming" state at the destination location and reserves them at the origin location so they cannot be sold or double-counted during transport.
Step 4: Receive and Accept Goods at the Destination
When the delivery arrives at the target store or warehouse:
- Go to Products > Transfers and select the active transfer.
- Click Receive inventory.
- Accept or reject incoming stock:
- Accept: Enter the physical count accepted into active inventory.
- Reject: Enter any items damaged or lost during transit.
- (Optional) Use a barcode scanner to scan variants directly into the transfer to minimize manual entry errors.
- Click Save.
Key Benefits of Using Transfers Over Manual Adjustments
- Partial Receipts Support: If a multi-box shipment arrives over several days, receiving managers can accept what arrived today while leaving the remainder open as Partial.
- Transit Visibility: Customer service and operations teams can see exactly what stock is moving between facilities before it reaches the shelf.
- Audit Trail Integrity: Prevents staff from using generic manual "+/- adjustment" reasons, preserving accurate inventory historical reports for auditing.
Tip 6: How to Use Barcode Scanning for Accurate Receiving
Barcode scanning eliminates manual data entry, prevents mistyped SKUs, and dramatically accelerates the intake of purchase orders (POs) and inventory transfers.
Step 1: Ensure Barcodes Are Mapped to Product Variants
For hardware scanners or mobile apps to recognize products during receiving, every SKU must have a unique barcode recorded in your system.
- In your Shopify Admin, go to Products.
- Click into a product variant and locate the Inventory block.
- Verify that the Barcode (ISBN, UPC, GTIN, etc.) field contains the exact string printed on the product’s physical tag or outer carton.
Step 2: Choose Your Hardware Setup
| Scanner Type | Connectivity | Ideal Environment |
|---|---|---|
| Bluetooth / Wireless Handheld Scanner | Pairs via Bluetooth to a mobile phone, tablet, or POS terminal. | Retail stockrooms, medium-sized sales floors, and fast-paced dock counters. |
| USB 1D/2D Wired Scanner | Plugs directly into a desktop terminal running your admin interface. | Fixed receiving desks and packing workstations. |
| Built-in Mobile Camera | Uses the camera feed within the Shopify POS app or mobile admin interface. | Small stockrooms or quick floor audits without dedicated hardware. |
Step 3: Receive Purchase Orders and Transfers via Barcode Scanning
Option A: Receiving via Desktop / Browser Interface
- Open the active Purchase Order or Transfer in your admin dashboard.
- Click Receive inventory.
- Click into the search/item field on the receiving screen.
- Scan the physical barcode label on an incoming item using your connected USB or Bluetooth scanner.
- The scanner inputs the barcode string and automatically increments the Accepted field count for that specific variant row by
1with each scan. - Verify totals, enter any damaged counts into Reject, and click Save.
Option B: Receiving via Shopify POS App
- Open the Shopify POS app on an iPad, tablet, or Android device.
- Tap the Transfers tile on your smart grid (or navigate to Inventory > Transfers / Purchase Orders).
- Select the incoming document listed under the In transit tab.
- Tap Scan to use the device's camera OR connect a paired Bluetooth barcode scanner.
- Scan each physical unit as it is unpacked. The app validates each unit against expected quantities in real time.
- Tap Save to finalize receipt and push the updated counts instantly to your live inventory.
Best Practices for Barcode Receiving
- Scan Outer Master Cartons vs. Individual Units: If receiving bulk stock, ensure master cartons have distinct barcodes from individual retail items to prevent receiving a case of 24 as a single item.
- Audit Mismatches Immediately: If a scanned barcode returns an "Unknown Barcode" error, do not bypass it. Halt intake to confirm whether the vendor changed UPCs or sent an unapproved substitute item.
- Combine Scanning with Spot-Checks: Scan every item in small shipments. For massive pallet shipments, scan a random 10–20% sample across boxes to confirm label consistency before bulk-accepting remaining counts.
Tip 7: Which Shopify Inventory Reports and Metrics Should You Track?
To maintain optimal inventory health, Shopify provides a suite of native analytics and inventory reports (accessible under Analytics > Reports in your admin dashboard). Tracking these key metrics helps prevent stockout losses, reduces holding costs, and improves forecasting.
1. Core Shopify Inventory Reports to Monitor
| Report Name | What It Tracks | Strategic Value |
|---|---|---|
| Month-End Inventory Value | Summarizes the physical unit count and total dollar value of ending inventory for each variant at every location. | Essential for monthly accounting, balancing asset balance sheets, and tracking carrying costs. |
| Percent of Inventory Sold | Calculates the percentage of total inventory sold within a specific date range compared to total starting stock. | Helps identify fast-moving winners versus slow-moving inventory across catalog collections. |
| Average Inventory Over Time | Tracks average quantity held across locations over days, weeks, or months. | Prevents over-purchasing and helps calculate precise turnover ratios. |
| Product Sell-Through Rate | Measures the percentage of total inventory sold relative to stock received from suppliers over a selected timeframe. | Evaluates vendor efficiency and indicates whether reorder quantities align with actual customer demand. |
| Days of Inventory Remaining | Projects how many days of stock remain based on current daily average sales velocity per variant. | Serves as the primary indicator for when purchase orders must be issued to avoid stockouts. |
2. Key Inventory Metrics to Measure & Calculate
1. Inventory Turnover Ratio
Measures how many times your store sells and replaces its stock over a given period (typically annually or quarterly).
- Formula:
- Why it matters: A higher turnover ratio indicates strong sales velocity and efficient capital usage, whereas a low ratio signals overstocking and high holding costs.
2. Sell-Through Rate (%)
Evaluates how quickly received supplier inventory turns into revenue.
- Formula:
- Why it matters: A low sell-through rate on a new variant indicates poor product-market fit or overestimating initial reorder volumes.
3. Days of Inventory Outstanding (DIO) / Days Sales of Inventory (DSI)
Estimates the average number of days it takes to convert current stock into completed sales.
- Formula:
- Why it matters: Keeps working capital liquid by alerting team leaders when stock is sitting idle too long in warehouses.
4. Backorder / Stockout Rate (%)
Tracks the percentage of total order volume or page sessions lost because items were out of stock.
- Formula:
- Why it matters: Directly quantifies lost revenue and helps justify adjusting reorder lead-time buffers.
Best Practices for Routine Reporting
- Conduct Weekly Turnover Audits: Review the Days of Inventory Remaining report every Monday to identify items approaching reorder thresholds.
- Perform Monthly Valuation Matches: Run the Month-End Inventory Value report on the last day of each calendar month to synchronize your Shopify store data directly with your accounting platform.
- Analyze Seasonality Trends: As noted in the Shopify Inventory Guide, regularly reviewing inventory adjustment history and analytics helps store owners anticipate seasonal demand surges and prevent dead stock accumulation.
- Set Reorder Alerts: Configure low-stock notifications and reorder points within Shopify to ensure timely replenishment and avoid stockouts.
Mistakes to avoid
Trying to manage thousands of active SKUs entirely in your head or on loose paper notes remains a recipe for financial disaster. Another common mistake is ignoring vendor lead times, which guarantees stockouts during peak holiday shopping rushes. Many merchants also fail to train their fulfillment staff on proper barcode scanning procedures, leading to phantom inventory discrepancies that haunt quarterly balance sheets. Finally, merchants migrating away from legacy tools like Stocky must remember that Shopify notes Stocky will no longer be available after August 31, 2026, and it was delisted from the App Store on February 2, 2026, meaning historical records do not automatically migrate as detailed in the Shopify Stocky Transition Guide.
Actionable checklist for inventory success
- Enable variant tracking across every product in your Shopify admin dashboard.
- Set up low-stock automation rules using Shopify Flow.
- Issue formal purchase orders for every supplier replenishment cycle.
- Keep ordering and receiving processes separated to protect audit trails.
- Utilize location-based inventory transfers to balance regional stock demands.
- Implement barcode scanners for all incoming shipments and cycle counts.
- Run weekly inventory reports to analyze turnover rates and slow-moving goods.
Comparison of inventory management approaches
| Approach | Manual Spreadsheets | Basic Shopify Admin | Advanced Shopify Workflows |
|---|---|---|---|
| Accuracy | Low (prone to human error) | Medium (tracks core levels) | High (location and variant aware) |
| Speed | Very slow | Moderate | Fast (barcode and automation-driven) |
| Scalability | Fails quickly as volume grows | Good for single-location stores | Excellent for multi-channel growth |
| Reporting | Manual data entry | Built-in basic analytics | Comprehensive data exploration |
Frequently Asked Questions about Shopify Inventory Management
How do I track inventory by location on Shopify?
You can track inventory by location inside your Shopify admin by assigning stock quantities to specific fulfillment centers, retail stores, or warehouses through the product details page.
What happened to Shopify Stocky?
Stocky was delisted from the Shopify App Store on February 2, 2026, and native features are replacing its core workflows as stock management capabilities move directly into standard Shopify admin tools.
Can Shopify automate low-stock notifications?
Shopify Flow allows you to create automated workflows that trigger internal notifications or alerts whenever a specific product variant dips below your chosen threshold.
Do I need a barcode scanner for Shopify inventory?
While a barcode scanner is not strictly mandatory, using one drastically improves counting speed, reduces data entry typos, and speeds up receiving workflows significantly.
How do purchase orders work in Shopify?
Purchase orders let you record products, supplier details, costs, and payment terms before shipments arrive, creating a reliable audit trail for your inventory replenishments.
What is the best way to handle stock transfers?
Creating a formal inventory transfer inside your Shopify admin reserves the stock at the origin location and safely tracks it until it is received and scanned at the destination.




