Home/Blog/Shopify Inventory Audit Guide
InventoryJune 2, 2026 · 12 min read

Shopify Inventory Audit: How to Count and Verify Your Stock (2026)

Shopify shows what it thinks you have in stock. An inventory audit shows what you actually have. For most stores, those two numbers are not the same. This guide covers how to run a full count, find discrepancies, investigate the causes, and update Shopify correctly — plus how to set up cycle counting so you never need a panicked full audit again.

Why your Shopify stock counts drift over time

Shopify updates inventory automatically when orders are placed and fulfilled. In theory, your stock counts should always be accurate. In practice, they drift — and the longer you go without an audit, the bigger the gap becomes.

The drift happens from small things that add up: a supplier shipment received and put away without being logged, a return accepted without being restocked in the system, a unit damaged and thrown out without an adjustment, a fulfillment error where the wrong quantity shipped. None of these feel significant individually. After 6 months they create meaningful discrepancies across your catalog.

These drift causes are closely related to a handful of habits that quietly cost Shopify sellers money — see our breakdown of common Shopify inventory mistakes for the full list and how to fix each one.

What inventory drift actually costs
Phantom stock
Shopify says you have 30 units. You have 8. A customer orders 15. You have a problem you did not see coming.
Ghost stock
Shopify says you have 0 units. You actually have 12 on a back shelf nobody checked. You stop selling a product that is in stock.
Wrong reorder decisions
Your reorder points are calculated from the stock count Shopify shows. If that count is wrong, you reorder too early or too late.
Inaccurate profit reporting
COGS calculations depend on accurate inventory counts. Drifted counts mean your margin reports are slightly wrong — and get more wrong over time.

Four types of inventory audit — which one you need

Not every audit is a full warehouse shutdown. Match the type to what you are trying to accomplish.

Full inventory countOnce a year (minimum)
ScopeEvery SKU in your entire catalog
Use whenEnd of financial year, after a major platform migration, or when you suspect significant discrepancy between your system and physical stock
Time required1-2 days for most small stores
Cycle countWeekly or monthly
ScopeA rotating subset of your catalog — typically A-items weekly, B-items monthly, C-items quarterly
Use whenOngoing — built into your regular operations rather than a one-off event
Time required1-2 hours per session
Spot checkAs needed
ScopeOne or a few specific products where you suspect a discrepancy
Use whenAfter a stockout that should not have happened, after a large shipment received, or when a customer reports an issue
Time required15-30 minutes
Receiving auditEvery incoming shipment
ScopeProducts in a specific purchase order
Use whenEvery time stock arrives from a supplier — count what came in before putting it away
Time required30-60 minutes per shipment

How to run a full Shopify inventory audit — step by step

This is the process for a full count. For cycle counts, follow the same steps but only for the subset of products you are auditing that session.

01
Freeze your inventory

Before counting, pause any activity that changes stock levels. If possible, pause fulfillment for a few hours, hold any new receiving, and make sure no orders are being picked. Even a small store processing 20 orders a day will have stock moving constantly — count against a moving target and your numbers will never reconcile.

02
Export your current Shopify stock counts

Go to Shopify Admin → Products → Inventory → Export. This gives you a CSV with every product variant and its current recorded quantity. This is your "expected" count — what Shopify thinks you have. Save it with today's date. Do not update it yet.

Note: Export before you count, not after. You need to capture what Shopify currently believes your stock is, so you can compare it against what you actually find.
03
Count your physical stock

Count every unit physically present. For each SKU: count what is on shelves, count what is in storage or backroom, count any units in transit that have already been received physically but not yet logged. Write down the physical count per SKU on paper or in a separate spreadsheet column — do not update Shopify yet.

Note: Count blind if possible — do not look at what Shopify says before you count. Knowing the "expected" number biases your count. Count first, compare after.
04
Compare physical count to Shopify records

Open your exported CSV and add a column for your physical count. For each SKU, calculate the variance: Physical Count minus Shopify Count. A positive variance means you have more than Shopify thinks. A negative variance means you have less — this is more concerning and needs investigation.

05
Investigate variances before updating

Do not immediately update Shopify to match your physical count. First, investigate any variance over 5 units or 10%. Common causes: units received but not logged in Shopify, items damaged and removed without an adjustment, theft or shrinkage, fulfillment errors where the wrong quantity shipped, returns received but not restocked in Shopify.

Note: A variance is a symptom. Update the number but also fix the root cause, or the same discrepancy will reappear next audit.
06
Update Shopify inventory adjustments

In Shopify Admin → Products → Inventory, use the inventory adjustment tool to update quantities with a reason code. Use the correct reason: "Correction" for count discrepancies, "Received" for unlogged shipments, "Damaged" for units that cannot be sold, "Theft or loss" for shrinkage. Reason codes matter for your records and for identifying patterns over time.

07
Document and review the results

Save your completed audit spreadsheet with the date, the variances found, the root causes identified, and the adjustments made. Review it before the next audit. Are the same SKUs showing variances repeatedly? That points to a specific process problem — a receiving step being skipped, a product that's frequently miscounted, a fulfillment error pattern.

Common causes of inventory variance — and how to fix each one

Finding a variance is the easy part. Fixing the number in Shopify without understanding the cause means the same discrepancy will be back at your next audit.

Receiving without logging
What happened

A shipment arrived and was put away without being marked as received in Shopify or your PO system. Physical count is higher than Shopify.

Fix it

Implement a receiving audit on every incoming shipment — count units before putting away, log in Shopify immediately.

Fulfillment errors
What happened

Wrong quantity packed for an order — more units sent than charged, or less. Physical count does not match either way.

Fix it

Spot-check packed orders for your fastest-moving SKUs. One pick-and-pack error per 100 orders compounds fast.

Damage and shrinkage not logged
What happened

Units damaged in storage, broken during fulfillment, or lost — removed physically but never adjusted in Shopify.

Fix it

Log every damaged or lost unit immediately using Shopify's inventory adjustment with a reason code.

Returns not restocked
What happened

A customer return was received and accepted but the unit was never added back to Shopify inventory.

Fix it

Build a returns process that includes a Shopify inventory update as part of the receiving step.

Manual adjustment errors
What happened

Someone adjusted inventory quantities manually and entered the wrong number, or adjusted the wrong variant.

Fix it

Limit who can make manual inventory adjustments. Require a second person to verify changes over a threshold.

Cycle counting: how to never need a panicked full audit again

A full inventory audit once a year is the minimum. But stores that only audit once a year spend 11 months operating on slightly wrong stock counts. Cycle counting solves this by spreading the audit work across regular, small sessions.

The key is matching count frequency to product tier. ABC analysis gives you exactly this — it categorises every product into A, B, or C based on revenue contribution, and the count frequency for each tier follows naturally:

TierCount FrequencyRationale
A ItemsWeeklyYour highest-revenue SKUs. A discrepancy here costs the most — catch it early.
B ItemsMonthlySolid performers that still need regular verification, but not as time-sensitive as A-items.
C ItemsQuarterlyLow revenue, low urgency. Count them during your quarterly review or full annual audit.
New arrivalsOn receiptCount every incoming shipment against the PO before putting stock away. Non-negotiable.
Dead stockMonthlyAny product flagged as dead stock should be physically verified — sometimes Shopify shows stock that has already been disposed of.

A store with 200 SKUs and a typical A/B/C split has roughly 40 A-items, 60 B-items, and 100 C-items. Counting 40 A-items weekly takes about an hour. Counting 60 B-items monthly takes two hours. The 100 C-items get covered quarterly. Spread across 52 weeks, you have counted every product multiple times with a fraction of the effort of one annual panic audit.

Cycle counting also makes each session faster — you already know roughly what to expect for products you count regularly. Unexpected variances stand out immediately instead of getting lost in the noise of a full-catalog count.

What to do when your audit surfaces dead stock

Every inventory audit surfaces some products that have not moved in 60 or more days. These are not just an inventory accuracy problem — they are a cash flow problem. Every unit of dead stock is money that could be funding your next bestseller.

When your audit flags a product with zero recent sales and significant stock on hand, act on it before the next audit cycle. The options in order of preference: targeted discount to clear it, bundle it with a fast-moving A-item, flash sale to your email list, return to supplier if still within the return window, or write it off and discontinue.

For a full breakdown of strategies ranked by cash recovery, see our guide on finding and fixing dead stock on Shopify.

How Debnix helps with ongoing inventory accuracy

A manual audit catches discrepancies that have already built up. Debnix helps prevent them from building up in the first place — and surfaces the ones that do faster.

ABC analysis — automatically categorises every SKU so your cycle count schedule is always based on current revenue data, not a spreadsheet you updated 6 months ago
Dead stock detection — flags every product with 60+ days of no sales so you surface dead stock during cycle counts, not once a year
Purchase order tracking — tracks every incoming shipment from PO creation through receipt, reducing the most common cause of inventory drift — unlogged receiving
Reorder point alerts — calculated from live sales velocity so your reorder triggers are always based on accurate stock counts, not drifted numbers

Frequently asked questions

How often should I do a Shopify inventory audit?

At minimum, once a year as a full count. In practice, most stores benefit from cycle counting — auditing a rotating subset of products regularly rather than everything at once. Count A-items weekly, B-items monthly, C-items quarterly. This spreads the work across the year and catches discrepancies faster than waiting for an annual audit.

What is the difference between an inventory audit and a cycle count?

A full inventory audit counts every SKU at once and typically takes 1-2 days for a small store. A cycle count audits a rotating subset of your catalog on a regular schedule — a few products per week — so that every SKU gets counted over a defined period without stopping operations. Most stores use cycle counting as their primary method and do one full audit per year.

Can I do an inventory audit without stopping my Shopify store?

For a cycle count covering a small subset of products, yes — you can count a few SKUs without pausing operations. For a full inventory audit, it is strongly recommended to pause fulfillment for a few hours while you count. Counting against live order activity means your numbers will be slightly wrong by the time you finish, making reconciliation harder.

What causes inventory discrepancies in Shopify?

The most common causes are: receiving shipments without logging them in Shopify, fulfillment errors where the wrong quantity ships, returns received but not added back to inventory, damaged units removed physically but not adjusted in the system, and manual adjustment errors. Identifying which cause is creating your discrepancies is more important than just fixing the numbers — the same variance will reappear if the root cause is not addressed.

Does Shopify have a built-in inventory audit tool?

Shopify Admin does not have a dedicated inventory audit workflow. You can export inventory counts to CSV, make manual inventory adjustments with reason codes, and view adjustment history. For a formal audit process with variance tracking, discrepancy analysis, and cycle count scheduling, you need either a structured spreadsheet process or a third-party inventory app.

How do I update inventory counts in Shopify after an audit?

Go to Shopify Admin → Products → Inventory. You can update individual product quantities inline, or use the CSV import to update multiple products at once. Always use reason codes when adjusting — Correction, Received, Damaged, or Theft and Loss. Reason codes create a traceable history of adjustments that is useful for accounting, loss prevention, and spotting patterns across multiple audits.

Keep your Shopify stock counts accurate without manual effort

Debnix connects to your Shopify store and gives you ABC analysis, dead stock detection, purchase order tracking, and reorder point alerts — all the tools that prevent inventory drift before it needs an audit to fix. $21.99/mo, 30-day free trial.

Built solo from Nepal.