This is a composite, illustrative scenario built from how a stock count variance typically gets worked, not an account of a named client. A year-end physical inventory count showed one product line roughly 6% below the quantity recorded in the perpetual stock ledger — large enough that ordinary counting error was an unlikely sole explanation, and too large to simply book as shrinkage without finding out why. The eventual cause was a scanning gap in the warehouse's goods-out process for that specific product, which had been shipping out without a corresponding system deduction for several months.
Why it wasn't treated as ordinary shrinkage
Some variance between a perpetual ledger and a physical count is normal — breakage, minor miscounts, small theft. A 6% gap concentrated in a single product line, rather than spread thinly across the whole inventory, is a different pattern: it points at something specific to that item's handling, not general wear on the system as a whole.
What was checked
- 01Recounted the product line independentlyA second count team, working from a blank sheet rather than the first team's tally, got the same result — ruling out a counting or recording error in the physical count itself.
- 02Reviewed the goods-out process for that product specificallyFound the item was one of a small number shipped using a separate, older packing-slip process that didn't route through the main barcode scanner at dispatch.
- 03Checked how long that process had been in useRoughly five months — since a packaging change for that product required different dispatch handling that nobody had updated the scanning step for.
- 04Estimated the cumulative effectFive months of unscanned dispatches, at the product's typical shipping volume, reasonably accounted for the full variance — no further gap was left needing a different explanation.
What it actually was
A system gap, not theft and not a counting failure. The product had genuinely left the warehouse and been genuinely sold — the ledger simply never recorded the reduction, because the dispatch process for that one item bypassed the scanner that every other product's dispatch went through. The inventory was overstated in the books because the system quantity had been silently diverging from the real quantity for months, surfacing only at the year-end physical count.
| Area | Effect |
|---|---|
| Inventory valuation | Written down to the physical count quantity — the ledger quantity could not be relied on for this product line |
| Cost of goods sold | Increased by the same amount, since the “missing” stock had in fact already been sold, just never recorded as such |
| Dispatch process | The packaging-change workaround was flagged and the product routed back through the main scanning process |
What went into the file
- The independent recount result, ruling out a physical-count error as the explanation.
- The root-cause trace to the bypassed scanning step, with the packaging-change date that started it.
- The adjusting entry: inventory written down, cost of goods sold increased, for the one affected product line.
- A check of other products on the same packaging-change list, to confirm this gap was isolated to this one item and not a wider pattern.
- A management letter point on the control gap in the dispatch process, specifically naming the trigger (an unflagged packaging change) rather than describing it only as a general scanning weakness.
How we think about this
The variance itself only told the team something was wrong. What resolved it was tracing the specific process the affected item moved through, rather than assuming the standard shrinkage explanation applied by default — a 6% gap concentrated in one line is a different investigation from a thin, even variance spread across the whole count.
This is practical guidance written for audit teams, not an authoritative statement of any standard or statute. Standards, forms and timelines change. Check the current text issued by the ICAI and the relevant authority before relying on anything here in an audit file.
Related resources
- Inventory & stockPhysical stock count: audit observation procedurePlanning the count date and cut-off instructions, test counts and sampling, covering multiple locations at once, and reconciling count to book quantities.
- Inventory & stockInvestigating inventory shrinkage and count variancesDistinguishing genuine shrinkage from a data or counting error, materiality thresholds for investigation, and write-off authorization.
- Inventory & stockInventory cut-off testing around the year endGoods-in-transit at year end, last GRN and dispatch numbers before and after cut-off, and matching to the stock count and purchase/sales cut-off testing.
Free tools, no signup
Each one reads a file entirely in your browser — or, for two of them, just answers a few questions — and nothing is ever uploaded.
- Purchase register checkDuplicate payments, round-sum amounts, weekend-dated invoices, incomplete records.
- GSTR-2B reconcilerMatches your purchase register against GSTR-2B — missing invoices either side, amount mismatches.
- Bank reconciliation checkerMatches your cash book against a bank statement — what's outstanding on each side.
- Fixed asset register checkDuplicate asset codes, missing location or useful life, negative net book value.
- Payroll red-flag scannerBank accounts shared across employees, and records missing an ID, PAN or salary.
- CARO applicability checkerAnswer a few questions about the company and see which CARO 2020 clauses likely apply.
- MSME payment delay checkerMSME-flagged invoices paid — or still unpaid — beyond the 45-day Section 22 limit.
- Related-party transaction screenerTransactions above a threshold you set with no approval reference, grouped by counterparty.
- Depreciation useful life checkerCompares a useful life in use against the Schedule II, Part C indicative figure.
- Materiality calculatorOverall and performance materiality against PBT, revenue, assets or equity, with reasoning shown.
- Sample size calculatorStatistical sample size for a test of controls or a substantive test of detail.