Shopify guideGuide9 min read

How to Manage Inventory and Stock in Shopify

Shopify's own inventory tools now handle counts, transfers and purchase orders, and Stocky is gone. Here is how to set up stock properly, step by step, and when an inventory app is still worth paying for.

Setup card: locations set up, tracking on every variant and scheduled stock counts, with two apps syncing stock marked as a mistake
Set up locations and SKUs first, then keep one source of truth for stock.

Key takeaways

  • Shopify's built-in inventory management now covers tracking, stock counts, transfers between locations and purchase orders, with no extra app.
  • Stocky, Shopify's old inventory app, stopped working on 31 August 2026. Its features moved into the Shopify admin and Shopify POS.
  • Every unit sits in one inventory state: available, committed, unavailable or incoming. On hand is the total of everything physically at a location.
  • Basic, Grow and Advanced include up to 10 inventory locations. Shopify Plus includes up to 200.
Who it is for
Store owners setting up or fixing stock
Time needed
A day for setup, then minutes a week
What you need
Admin access, SKUs and a stock count

For years, the standard answer to "how do I raise a purchase order in Shopify" was "install Stocky". That changed in 2026. Shopify removed Stocky from the App Store in February, switched it off on 31 August, and moved purchase orders, stock counts and transfers into the admin itself. Many stores still run their stock on spreadsheets and habits built around the old setup.

This guide shows how to set up Shopify inventory management from scratch, or tidy up an existing store: locations, tracking, bulk updates, counts, transfers and purchase orders, and when an inventory app is still worth paying for. Menu names and limits come from Shopify's help center and developer docs, as checked on 7 November 2026.

How Shopify counts stock

Most confusion about inventory comes from the different numbers on the Inventory page. Shopify keeps each unit in one state at a time, per location:

StateWhat it meansCan it sell?
AvailableFree stock customers can buyYes
CommittedPromised to unfulfilled orders, draft orders or outgoing transfersNo
UnavailableOn the shelf but held back: damaged, in quality control, safety stock or reservedNo
IncomingOn its way to the location, such as a supplier deliveryNot yet
On handEverything physically at the locationTotal only

On hand is available plus committed plus unavailable. Incoming isn't included, because those units haven't arrived. So if a location shows 40 on hand, 6 committed and 4 unavailable, you can sell 30. Keep that sum in mind and most of the "why does Shopify say I have stock when I don't" questions answer themselves.

Step 1: Set up your locations

A location is anywhere you keep stock or fulfill orders: a warehouse, a shop, a stockroom or a fulfillment partner. You need at least one before Shopify can track anything, and you should set them up before entering quantities.

  1. Open locations. Go to Settings > Locations and, in All locations, click Add location.
  2. Enter the address exactly as it should appear on shipping labels and tax calculations.
  3. Decide which locations fulfill online orders. The setting "Inventory at this location is available to fulfill online orders" is on by default. Only stock at those locations counts as available online. If your shop holds stock but doesn't ship online orders, the product can show as sold out on the website while it sits on a shelf.
  4. Check your order routing. New locations go to the bottom of the routing list, which decides where online orders are fulfilled from.

Basic, Grow and Advanced allow up to 10 inventory locations, and Shopify Plus allows up to 200, according to Shopify's pricing page. Deactivated locations and app-based locations, such as a fulfillment service, don't count toward the limit.

Step 2: Turn on tracking for each product

  1. Open the product. Go to Products and click the product, then the variant if it has variants.
  2. Add a SKU and barcode. Use one SKU format across the catalog, such as TEE-BLK-M. Scanners, stock counts and suppliers all rely on it.
  3. Turn on tracking. In the Inventory section, turn on Track quantity.
  4. Choose out-of-stock behavior. Leave selling to stop at zero, or choose Continue selling when out of stock for items you can always restock or make to order.
  5. Enter quantities per location from a physical count, not from memory, then click Save.

"Continue selling when out of stock" doesn't apply to Shopify POS. In a shop, staff can always sell below zero, and POS warns them first. On the online store, the setting is how you take backorders. It is also how some stores take pre-orders without an app, which I cover in the pre-orders guide.

Step 3: Update stock in bulk with CSV

For more than a few dozen variants, the CSV is faster and leaves a clean record.

  1. Export. Go to Products > Inventory, click Export, pick a location or All locations, and choose All states.
  2. Edit only the right column. The file has On hand (current), a snapshot, and On hand (new), the number to set. Fill in the new column and leave the rest. Leave a cell blank for no change.
  3. Import. Back on Products > Inventory, click Import, add the file, review the summary and click Start import.

The safety check is the clever part. Shopify compares your live stock with the "current" column, and skips any row that changed after you exported, so an order placed during your stocktake isn't overwritten. Import fast after exporting, and never clear the current column to force the import through.

The file can be up to 15 MB. Quantities must be whole numbers. Location names are case sensitive. Write Not stocked for items a location never carries. The import also doesn't change SKUs, so fix those on the product or in a product CSV.

Step 4: Adjust stock and keep the history clean

Single changes happen on the Inventory page, where you can filter by location, vendor or product type and save a filtered list as a view. Every adjustment is recorded with who changed it, when and why, so the reason you give matters when you look back.

When stock is on the shelf but shouldn't sell, don't reduce the quantity. Move it to unavailable instead, marked as damaged, quality control or safety stock. On hand stays accurate, the units stop selling, and you can move them back when they're cleared. Safety stock is useful for fast sellers: holding back a few units protects you from overselling when two channels sell the last item at the same moment.

Inventory limits worth knowing

  • Locations on Basic to Advanced10Shops, warehouses and app locations.
  • Locations on Plus200For larger retail networks.
  • Inventory CSV file size15 MBSplit bigger files.
  • Variants per product2,048Each tracked separately.
From Shopify's pricing page and help center, as checked on 7 November 2026.

Step 5: Run regular stock counts

Records drift: breakages, picking errors and theft all chip away at accuracy. Stock counts are how you catch it.

  1. Create the count. Go to Inventory > Stock counts, choose a location and the products to count.
  2. Count. Staff scan items with a barcode scanner or type quantities. At locations with Shopify POS Pro, they can count in the POS app.
  3. Review and approve. A manager approves the result before stock changes. Shopify then applies the difference between counted and expected quantities and logs each change in the adjustment history.

You don't need to count everything every month. Shopify suggests grading products by the revenue they bring in, often called ABC analysis. I count the top sellers monthly, the middle group quarterly and the rest twice a year.

Step 6: Move stock with transfers

When stock moves between your own locations, or between a supplier and a location, record it as a transfer rather than two manual adjustments. Open the Transfers page in the admin, create a transfer, add the products, and process it. Shopify creates the shipments, which move through ready to ship, in transit and transferred. You can add tracking, split a transfer into several shipments, and receive all or part of it at the destination, including in Shopify POS. While a transfer is ready to ship, its units count as committed at the origin, so nobody sells them by mistake.

Step 7: Order from suppliers with purchase orders

  1. Add your suppliers with contact details, payment terms and currency.
  2. Create a purchase order with products, quantities and costs. Save it as a draft while you agree terms.
  3. Mark it as Ordered once the supplier confirms.
  4. Create the inventory transfer from the purchase order. This tracks the delivery, shows the units as incoming and lets you receive them when they arrive.
  5. Add cost adjustments, such as freight, on the transfer, so your product costs stay accurate.

Accurate costs feed straight into your margin reports. If you're not sure your prices leave enough room after freight and fees, run them through the profit margin calculator.

If you used Stocky

Stocky is gone, and its data didn't move over by itself. Shopify's migration notes say historical purchase orders and stocktakes don't transfer automatically, suppliers can't be exported, and past purchase orders can't be imported. Stocky data stays exportable in read-only mode for at least 90 days after 31 August 2026, so if you haven't exported your reports yet, do it now. Then rebuild suppliers in the admin, remove the old Stocky tile from the POS smart grid, and test a purchase order and a transfer end to end, including in POS.

When you still need an inventory app

For a single-channel store with one or two locations, the built-in tools are enough. An inventory management app, or a full inventory management system, starts to earn its fee when you have:

  • Several sales channels outside Shopify, such as Amazon or a wholesale portal, that need one shared stock count.
  • Demand forecasting and automatic reorder points across hundreds of SKUs.
  • Bundles and kits, where selling one bundle has to reduce several components.
  • A warehouse system, ERP or 3PL that should be the single source of truth.

Before choosing, list the exact jobs you need done and check whether a native feature already covers them. Inventory apps sync in the background and can fight each other, so run one source of truth, not three. If no app fits your process, a small custom app can be cheaper over a few years. I explain how to weigh that in custom app vs subscription.

Common mistakes

  • Stock at a location that doesn't fulfill online orders, so the website shows sold out.
  • Lowering quantities for damaged items instead of marking them unavailable, which hides losses.
  • Two apps both writing stock levels, overwriting each other.
  • "Continue selling" left on by mistake for items you can't restock.
  • Old CSV exports imported days later, or with the current column cleared.
  • No SKUs, which makes counting, scanning and supplier orders slow.

Inventory setup checklist

  1. Locations added, with online fulfillment and priority set.
  2. SKUs and barcodes on every variant.
  3. Tracking on, and out-of-stock behavior chosen per product.
  4. Opening quantities entered from a physical count.
  5. Safety stock held on fast sellers.
  6. Suppliers and purchase orders set up in the admin.
  7. Stock count schedule agreed for each product group.
  8. One source of truth for stock, with any overlapping apps removed.

Next steps

Start with locations and SKUs, because everything else depends on them. Then do one full count, enter it by CSV, and switch to scheduled counts. If your catalog isn't set up cleanly yet, my guide to adding products the right way covers SKUs, variants and the fields that matter.

If your stock process needs something Shopify doesn't do, such as syncing with a supplier feed or an ERP, I build custom integrations through my Shopify app development work, starting from $800 with a fixed quote. Or send your store for a free review and I'll point out where your setup is costing you sales.

Free tools

Check your own store

Free, no sign-up. Each one runs a part of this guide for you.

Frequently asked questions

Does Shopify have built-in inventory management?

Yes. Shopify tracks stock per variant and per location, and the admin includes stock counts, transfers between locations and purchase orders with suppliers. You don't need an app for most single-channel stores.

What happened to Stocky?

Shopify removed Stocky from the App Store on 2 February 2026 and switched it off on 31 August 2026. Its main features, including purchase orders, transfers and stock counts, are now built into the Shopify admin and POS.

How many inventory locations can I have on Shopify?

Up to 10 on Basic, Grow and Advanced, and up to 200 on Shopify Plus, according to Shopify's pricing page as checked on 7 November 2026.

What is the difference between on hand and available in Shopify?

On hand is everything physically at a location. Available is what customers can still buy, after taking off units committed to orders and units marked unavailable, such as damaged stock or safety stock.

How do I update inventory in bulk on Shopify?

Go to Products > Inventory, export a CSV, fill in the On hand (new) column and import it. Shopify skips rows where stock changed since your export, so import soon after exporting.

Do I need an inventory management app for Shopify?

Only if you sell on several channels outside Shopify, need forecasting, sell bundles that use component stock, or run a warehouse system or ERP. Otherwise the built-in tools are usually enough.

Sources

  1. Setting up inventory for the first time, Shopify Help Center
  2. Exporting and importing inventory with a CSV file, Shopify Help Center
  3. Stock counts, Shopify Help Center
  4. Migrating from Stocky to Shopify inventory management, Shopify Help Center
  5. Apps in inventory management (inventory states), Shopify.dev
  6. Shopify pricing, Shopify
Ashraf Siddik

Written by Ashraf Siddik

I'm a Shopify developer and CRO specialist. I have built and improved Shopify stores since 2018, completed more than 1,000 projects, and hold a 4.96 average rating across 719 client reviews.

About me · Client reviews

Free 3‑point store review

  1. 1
    Send your storeTakes about a minute
  2. 2
    I review it by handOn mobile and desktop, not by a tool
  3. 3
    Get three ranked fixesBy email, free, with no obligation

“Very professional and deep understanding of the Shopify ecosystem. Friendly and proactive communication. Delivered on time with good quality”

Verified client, United Kingdom
4.96 from 719 client reviews

Get your free review

Takes about a minute. No obligation.

Your email is used only to reply about your store. No newsletter, never sold. Privacy note