Inventory cut-off testing confirms that goods received and dispatched around the year end are recorded as purchases, sales and inventory movements in the correct period, by identifying the last goods received note (GRN) and dispatch note issued before the cut-off point and the first issued after it, tracing each to the accounting entries and to the physical stock count, and reconciling any goods-in-transit at year end into the correct side of the balance sheet. It only works as one coherent test when the inventory, purchase and sales cut-off procedures are performed together, against the same cut-off point.
Why cut-off is really one test performed three times
A single physical event — a truck crossing the factory gate — generates three separate accounting consequences: a change in physical stock on hand, a purchase or sales entry, and a payable or receivable movement. Testing inventory cut-off in isolation from purchase and sales cut-off testing produces three different pictures of the same event, and reconciling them afterward is slower and less reliable than testing them together against one agreed cut-off point.
Common practice, not a requirement
Agree the cut-off point with the purchase and sales teams on the audit before fieldwork starts, so inventory, purchase and sales cut-off testing all use the identical reference point — the last GRN and dispatch note numbers recorded at the physical stock count, not a date that each workstream interprets separately.
Goods-in-transit at the year end
Goods-in-transit are goods that have left the supplier but not yet reached the client (inward), or goods that have left the client but not yet reached the customer (outward), at the balance sheet date. Whether they belong in the client's inventory depends on when risk and rewards of ownership transferred, which in turn depends on the shipping terms on the invoice or purchase order — ex-factory, FOR destination, and so on.
| Situation | Typical treatment | What to check |
|---|---|---|
| Inward, supplier's risk until delivery | Not yet the client's inventory or liability | Confirm terms on the purchase order; goods should not appear in the stock count or the purchase register yet |
| Inward, client's risk from dispatch | Client's inventory and liability even though not physically received | Needs a goods-in-transit inventory line and a corresponding purchase accrual |
| Outward, client's risk until delivery | Still the client's inventory, not yet a sale | Should not be in the sales register yet; needs to remain in the stock figure |
| Outward, risk transfers on dispatch | No longer the client's inventory; a sale has occurred | Should be out of the physical count (it will be, by definition) and recorded as a sale with matching dispatch documentation |
A goods-in-transit schedule built by the client from memory, without reference to actual purchase orders and terms, tends to include whatever makes the inventory figure look complete rather than whatever the terms actually dictate. Ask for the schedule to be tied to specific purchase orders or sales orders, not estimated.
Working from the last GRN and dispatch note numbers
This is the mechanical core of the test, and it should have been fixed at the physical stock count — see the stock count observation procedure for capturing these numbers independently on the day rather than relying on the client's recollection afterward.
- 01List GRNs for a window spanning the cut-offSay, the last twenty GRNs before the cut-off and the first twenty after. For each, note the GRN date, the invoice date, and whether it was included in the stock count and in the purchase register for the year being audited.
- 02List dispatch or delivery notes for the same windowSame approach, outward side: last dispatches before cut-off, first after, each checked against the sales register and against the physical count.
- 03Confirm every pre-cut-off GRN is in both the stock count and this year's purchasesA GRN dated before cut-off that is in the stock count but not in the purchase register (or the reverse) is a cut-off error in one direction or the other.
- 04Confirm every post-cut-off GRN is excluded from bothThe mirror check. A GRN dated after the freeze that somehow appears in the stock count suggests goods were received and counted after the freeze was supposed to have started — a control breach on the day, not just an accounting entry issue.
- 05Repeat both directions for dispatch notes against salesA dispatch before cut-off should be out of the physical count and in this year's sales; a dispatch after cut-off should be in the physical count and out of this year's sales.
Matching cut-off evidence across the three tests
The payoff of testing together is that an error shows up as an inconsistency between the three views rather than being invisible in any single one. A purchase recorded in the right period but omitted from the stock count, or counted but not yet invoiced, both net to a different inventory figure even when each individual register looks internally consistent.
- Build one cut-off working paper that lists, for each item in the sample window, the GRN or dispatch number, its date, whether it is in the stock count, whether it is in the purchase or sales register for the year, and whether it is in the goods-in-transit schedule if relevant.
- A row with any inconsistency across these columns is a cut-off error until explained — do not accept a plausible-sounding reason without tracing the supporting document.
- Quantify the net effect of all cut-off errors found in the sample and consider whether it points to a systematic issue (a weekend or holiday around year end disrupting normal recording) rather than isolated mistakes.
Regulatory requirement
Cut-off is one of the assertions an auditor is required to address for transactions and events under the audit evidence requirements of SA 500 and the risk assessment and response standards (SA 315, SA 330). It is tested here specifically for inventory, purchases and sales together because the same underlying event drives all three.
How we think about this
Listing GRNs and dispatch notes either side of a cut-off point, and checking each against the stock count and the relevant register, is exactly the kind of cross-reference that should be run across the whole window automatically rather than built row by row in a spreadsheet — every number either matches across the three sources or it does not, and software should say which. Deciding whether a goods-in-transit arrangement's shipping terms actually transfer risk, and whether an isolated mismatch is a timing quirk or a real misstatement, remains the auditor's judgment.
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 & stockConsignment stock: audit treatment and testingDistinguishing consignment-in from owned stock and the reverse, who recognizes it, GST implications at a high level, and common misclassification.
- Inventory & stockStock audit at a third-party warehouse or job workerAlternative procedures when physical attendance isn't practical: confirmation, reviewing the warehouse operator's own reports, and job-work challan risks.
- Purchase & AP auditCut-off testing for purchases: procedures and worked examplesWhich dates to compare, how terms of delivery decide the answer, how to size the window, and four worked examples including the two that are usually misjudged.
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.