Max IT solutionsShopify App Store

Shopify inventory management: the complete guide

Updated October 21, 2026 · Max IT solutions

Inventory is money sitting on shelves; the catalog is how customers and sales channels find it. On Shopify both live in the same place — products, variants, locations and the fields attached to them — and both decay quickly when a store grows: counts drift, variants multiply, tags go out of control, sold-out products clutter collections. This guide covers how Shopify models stock and products, how to keep the numbers accurate, how to plan reorders, and which tools handle the work when there are too many products to fix by hand.

What inventory and catalog management covers on Shopify

Two related jobs:

  • Inventory — how many units of each variant you have, where they are, what is committed to orders, and when to reorder.
  • Catalog — how products are structured and described: variants and options, product type and category, vendor, tags, collections, SKUs, barcodes, weights, SEO fields and images.

They meet at the variant. A variant is the thing you stock, ship and sell, so every catalog decision — how many options, which SKU scheme — becomes an inventory decision too. Reading: Mastering product variants in your Shopify store.

How Shopify tracks inventory

Locations

A location is any place that stocks or fulfills: a warehouse, a shop, a 3PL, a fulfillment app. Every variant has a separate quantity at each location, and you choose which locations fulfill online orders. When an order comes in, Shopify picks the fulfilling location by your rules.

Inventory states

Shopify splits the quantity at a location into states:

State Meaning
On hand Everything physically at the location
Committed Reserved for orders that are not yet fulfilled
Unavailable On hand but not for sale: damaged, quality control, safety stock, other
Available What customers can buy: on hand minus committed minus unavailable
Incoming On the way from a transfer or purchase order

The number you see in most lists is available. When counts look wrong, check committed and unavailable first — the units are often there, just reserved.

Tracking and the out-of-stock policy

Two settings per variant decide what happens at zero:

  • Track quantity. On: Shopify counts units and decreases them with every order. Off: the variant is always available, as for digital or made-to-order products.
  • Continue selling when out of stock. On: customers can buy at zero and below, useful for preorders and backorders. Off: the variant shows as sold out at zero.

A common mistake is a whole collection left on “continue selling” after a preorder campaign, quietly overselling for months. Check both settings across the catalog every season.

Adjustment reasons and history

Every change to a quantity can carry a reason — correction, cycle count, received, damaged, theft or loss, promotion or donation, and others. The inventory history of a variant then reads like a ledger. Without reasons, you cannot tell shrinkage from a counting error.

Keeping counts accurate

Inventory accuracy is the share of variants whose system count matches the shelf. Everything downstream — reorders, “only 3 left” messages, overselling — depends on it.

  • Cycle counts instead of one yearly count. Count a slice of the catalog every week, fast movers more often. Record the result with the cycle count reason.
  • Receive against what arrived, not what was ordered. Suppliers short-ship. Enter the counted quantity with the received reason.
  • Separate damaged and quality-hold stock. Use the unavailable state, not a lower on-hand number, so you still know the units exist.
  • One system of record. If an ERP, a 3PL or a marketplace also holds stock, decide which one wins and sync in one direction.
  • SKUs and barcodes on every variant. Scanning is faster and more accurate than reading titles. Reading: The essential guide to SKUs and barcodes.

Several locations and channels

Stock spread across warehouses, shops and channels needs rules, not attention:

  • Fulfillment priority. Order locations so online orders ship from where it is cheapest or fastest.
  • Safety stock per location. Keep a few units unavailable in a busy shop so walk-in customers and online orders do not collide.
  • Transfers. Move stock between locations with transfers so incoming quantities show on the receiving side.
  • Channel sync. Marketplaces and other storefronts must read the same available quantity. Sync frequency matters most during sales.
  • Closing a location. Move or write off its stock with reasons before deactivating it; otherwise orders may still route there.

Reading: Multi-warehouse inventory on Shopify, Multi-channel inventory sync.

Planning stock: reorder points, safety stock, seasons

Reorder point

Reorder point = average daily sales × lead time in days + safety stock.

A variant selling 4 a day, with a 10-day supplier lead time and 12 units of safety stock, should be reordered when available stock reaches 4 × 10 + 12 = 52.

Safety stock

A simple, widely used formula: safety stock = (maximum daily sales × maximum lead time) − (average daily sales × average lead time). With a maximum of 7 a day and 14 days against an average of 4 and 10, that is 98 − 40 = 58 units. Raise it for products you cannot afford to run out of; lower it for slow, expensive ones.

ABC classification

Rank variants by revenue: A items (the top ~20% of variants that bring most revenue) get frequent counts, tight safety stock and close reorder monitoring; C items (the long tail) get loose rules and are the first candidates for clearance. Shopify’s inventory reports include ABC analysis, sell-through and days of inventory remaining on plans that have them.

Seasons

Seasonal products need a buying plan, a selling plan and an exit plan: how much to buy, when the markdowns start, and what happens to the rest. Reading: Seasonal inventory planning for your Shopify store, Shopify report forecasting, AI forecasting for Shopify operations.

Handling sold-out products

A sold-out product still has value: search ranking, links, customers who want it. Options, roughly from best to worst for a product that will return:

  1. Keep it live, show it as sold out, collect back-in-stock requests. Reading: Back in stock notifications.
  2. Push it down in collections so in-stock products fill the first rows.
  3. Allow preorders with “continue selling when out of stock” and a clear shipping date on the page.
  4. Set it to draft if it will be gone for months — the page disappears but the product and its data stay.
  5. Archive or delete only when it will never return, and redirect the URL to the closest product or collection.

Structuring the catalog

Products and variants

A product can have up to three options and up to 2,048 variants. Put things customers choose between on one product (size, color); make separate products for things they search for separately (a different model, a different material line). One product with 400 variants is harder to merchandise than five products with 80.

Product type, category, vendor and tags

  • Product category — Shopify’s standard taxonomy. Sales channels and marketplaces read it, and it unlocks category-specific attributes.
  • Product type — your own top-level grouping (“Dresses”, “Spare parts”).
  • Vendor — brand or supplier. Handy for supplier price changes.
  • Tags — free labels that drive automated collections, storefront filters and bulk tasks. Powerful and the first thing to rot: “Summer”, “summer”, “summer-24”. Keep a written list of allowed tags.

Collections

Manual collections for curated pages; automated (smart) collections for anything rule-based — “tag equals Summer and inventory greater than 0”. Automated collections stay right as products change, which is why clean tags and types matter.

Reading: Catalog organization for superior UX.

Product data hygiene

Bad product data costs money quietly: wrong weights make wrong shipping rates, missing barcodes block marketplaces, duplicate SKUs confuse warehouses, empty SEO fields waste search traffic.

Field Why it matters Common problem
Title Search, ads, customer clarity Supplier codes, inconsistent casing, missing size or color
SKU Picking, counting, integrations Missing, duplicated, or reused after a product is deleted
Barcode (GTIN, UPC, EAN) Marketplaces, Google Shopping, scanning Missing on variants, wrong check digit
Weight Calculated shipping rates Zero or default values
Tax settings Correct tax at checkout Taxable flag or tax code wrong on a product group
Status What is visible Old products active, new ones stuck in draft
URL handle Links and SEO Supplier codes, changed without a redirect
SEO title and description Search results Empty, duplicated, or longer than search engines show
Images and alt text Conversion, accessibility, image search Missing alt text, oversized files

Reading: Product page SEO for Shopify, Product pages that convert, Product photography guide, Storytelling in product descriptions, AI-powered product descriptions.

Changing many products at once

The admin bulk editor

Select products or variants, choose Bulk edit, add the columns you need and type. Good for dozens of rows. It cannot apply a rule (“add 10 to every variant at location B”), and it keeps no list of old values. Reading: Mastering Shopify’s bulk editor.

CSV import

Product CSVs for catalog fields; a separate inventory CSV for quantities per location. Right for loading stocktake results and for large restructures. The risks: no preview of the result, and a mistake in one column reaches every row. Keep the original export as your undo.

Shopify Flow

Rules that react to events: tag a product when stock falls under a threshold, notify the buyer, hide a product when it sells out. Flow reacts; it is not built for one-off bulk changes.

Bulk editing apps

Apps fill the space between: rule-based selection, a preview, changes per location, a log and a way back.

Job Bulk editor CSV Flow Bulk editing app
Load counts from a stocktake (a different number per variant) Slow Yes — No — use CSV
Add or set the same quantity across a filtered set at one location Manual Yes, in a spreadsheet — Yes
Set one location to zero for a filtered set Manual Yes, in a spreadsheet — Yes
Switch tracking or out-of-stock policy across a collection Manual Yes Per event Yes
Fix tags, vendor, type, SKU, barcode, weight across the catalog Manual Yes Partly Yes
Preview before saving Yes No — Yes
Undo No Re-import old file — Revert the task

How Bulk Product Edit handles inventory and catalog data

We build Bulk Product Edit; this is what it does here — nothing more.

  • Inventory per location: set or adjust Available or On hand at a chosen location with a Shopify reason code, move units into Damaged, Safety stock or Reserved, move or copy stock to another location; switch the out-of-stock policy and quantity tracking.
  • Catalog fields: add, remove or rename tags; fill titles from a template, add text to the start or end, find and replace, remove words; vendor, product type, category, collections, status, SKU, barcode, weight, tax settings, URL handle with a redirect from the old one, SEO title and SEO description.
  • Metafields, images and options: product and variant metafields by type, image alt text from a template, option names and values renamed or sorted.
  • Spreadsheets: export products, variants or collections to CSV or Excel (Google Sheets from the Growth plan), edit the file and import it back with a preview, as a task you can revert.
  • Filters: collection, vendor, product type, tag, option value, price and stock, on products or variants, all or any.
  • Preview, logs and revert: check rows before running, see what changed or was skipped and why, and revert a finished task within your plan’s history.

The free plan runs each task on up to 10 records; paid plans allow 3,000 to 150,000 stock rows (one per variant and location) per task. Details on the Bulk Product Edit page and how-tos on bulkproductedits.com. For very large catalogs, see bulk editing for large catalogs.

Pitfalls that cost money

  • Overselling from “continue selling” left on after a preorder.
  • Untracked variants that never sell out, so customers buy what you do not have.
  • Counts adjusted without reasons, so shrinkage hides as corrections.
  • Duplicate SKUs or missing barcodes, which break warehouse scanning and marketplace listings.
  • Zero weights, which turn calculated shipping into free shipping.
  • Deleted products without redirects, which throw away rankings and links.
  • Tag sprawl, which breaks automated collections and filters silently.
  • Dead stock nobody looks at: money tied up in C items that should have gone to clearance.

Measuring inventory health

  • Inventory accuracy — share of counted variants that matched the system.
  • Stockout rate — share of A items that hit zero available in a period.
  • Sell-through rate — units sold ÷ units received in a period; low sell-through flags overbuying.
  • Days of inventory — stock on hand ÷ average daily sales; compare with lead time.
  • Dead stock — variants without a sale in 90 or 180 days and the money they hold.

Choosing a tool after Stocky: the best Shopify inventory management apps in 2026, eight apps compared by job, price and rating.

Setups merchants run

Receiving a delivery of a new line. Add the same received quantity to every variant of the new collection at the receiving location, with the received reason.

Closing a location. Set the location’s quantity to 0 for every product you filter, with a reason, and leave the other locations alone.

Ending a preorder. Filter the preorder collection and switch “continue selling when out of stock” off in one task.

Cleaning tags before a new season. Remove last season’s tags and add the new ones across a collection, so automated collections refill themselves.

Supplier rebrand. Find and replace the old brand name in titles and SEO titles, and change the vendor field, filtered by the old vendor.

All inventory and catalog guides

Inventory: Seasonal inventory planning · Multi-warehouse inventory management · Multi-channel sync · AI and inventory management · Inventory apps guide

Warehouse: Optimizing your packing station · Warehouse gadgets

Catalog and product pages: Product page UX improvements · Product page SEO guide · Product photography playbook · AI product descriptions

Bulk Product Edit: Product IDs in Shopify Flow

Frequently asked questions

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

On hand is everything physically at a location. Available is what can still be sold: on hand minus units committed to unfulfilled orders and units marked unavailable (damaged, quality control, safety stock). Customers can buy only the available quantity unless the variant is set to continue selling when out of stock.

How many variants can a Shopify product have?

Up to 2,048 variants per product, built from up to three options such as size, color and material. Each variant has its own price, SKU, barcode, weight and inventory per location.

Should I delete products that are out of stock?

Usually not. Deleting removes the page, its search ranking and its links. Keep the product active with stock tracking on, push it down in collections, offer back-in-stock alerts, or set it to draft if it will not return — and redirect the URL if you remove it for good.

How do I calculate a reorder point?

Average daily sales × supplier lead time in days + safety stock. A variant that sells 4 a day with a 10-day lead time and 12 units of safety stock should be reordered when available stock falls to 52.

How do I change inventory for many products at once?

For a few dozen, the admin bulk editor. For counts from a stocktake, a CSV inventory import per location. For rule-based changes — set a location to zero, adjust by a number, switch tracking or the out-of-stock policy across a filtered set — a bulk editing app such as Bulk Product Edit.

What are inventory adjustment reasons in Shopify?

Each change to a quantity can carry a reason, such as correction, cycle count, received, damaged, theft or promotion. Reasons make the inventory history readable: you can tell a recount from shrinkage when the numbers do not add up.

Tags, product type or category — which should I use to organize the catalog?

Use the Shopify product category for the standard taxonomy that sales channels read, product type for your own top-level grouping, vendor for the brand or supplier, and tags for everything that drives automated collections, filters and bulk tasks. Keep a written list of allowed tags so they do not multiply.

Latest inventory & catalog guides