Testing sales cut-off through the IRN timestamp means comparing the invoice date recorded in the client's books against the Invoice Registration Number generation timestamp returned by the Invoice Registration Portal for that same invoice, for every sale around the period end, and treating any material gap between the two dates as a specific exception to investigate rather than a rounding difference. The IRN timestamp is generated on a government system the client does not control, which makes it a stronger cut-off anchor than the invoice date printed on the client's own document.
Why this is a separate test from general sales cut-off
General sales cut-off testing works from dispatch documents, gate entries and delivery proof around the period end. For an entity covered by e-invoicing — above the applicable aggregate turnover threshold — there is an additional, independent data point: every B2B invoice above the threshold has to be reported to the Invoice Registration Portal and carries an IRN and a generation timestamp issued by that portal, not by the client. That timestamp is a separate, harder-to-manipulate source of cut-off evidence, and it is worth testing on its own rather than folding it into the general procedure.
The testing sequence
- 01Obtain the e-invoice register or the IRN log for the period straddling year endThis should include, for each invoice, the invoice number, the invoice date as recorded in the books, the IRN, and the IRN generation date and time as returned by the portal.
- 02Select the population of invoices dated in the last and first few days of adjoining periodsThe window should be wide enough to catch invoices dated just before year end and reported late, and invoices dated just after year end that may belong to the prior period.
- 03Compare the book invoice date to the IRN generation timestamp for each invoice in the sampleA same-day or near-same-day match supports the recorded date. A generation timestamp materially later than the invoice date is the specific exception this procedure is built to find.
- 04Investigate each gap rather than accepting an aggregate explanationAsk why the invoice was reported late, obtain the dispatch or delivery evidence for that specific transaction, and determine the period in which revenue recognition criteria were actually met, independent of either date on the invoice.
- 05Check for invoices with no IRN at all in the populationWhere e-invoicing applies to the entity, a B2B sales invoice with no corresponding IRN is itself an exception — either it was not reported, which is a compliance gap, or it falls outside the mandate for a specific reason that should be documented.
- 06Cross-check against the cancellation windowAn e-invoice can be cancelled within a limited window after generation. Invoices generated just before year end and then cancelled and reissued after year end are a specific pattern worth tracing, since the reissued invoice's IRN timestamp will show the true, later date.
- 07Reconcile the sample conclusions back to the general cut-off working paperThe IRN evidence corroborates or contradicts the dispatch-based cut-off conclusion; it does not replace it. A transaction can have a clean IRN timestamp and still fail cut-off because the goods were not actually dispatched until the next period.
| Question | Evidence |
|---|---|
| Was the invoice reported close to its recorded date | IRN generation timestamp against book invoice date |
| Is there a gap, and why | Investigation of the specific transaction, dispatch and delivery records |
| Was any invoice cancelled and reissued across the period boundary | Cancellation log against the reissued invoice's new IRN |
| Does the IRN evidence agree with the dispatch-based conclusion | Cross-reference to the general sales cut-off working paper |
A pattern of invoices with IRNs generated several days after the invoice date, concentrated right around year end and absent at other times of year, is a specific red flag for backdated revenue that general cut-off procedures built around a sample of dispatch documents can miss entirely.
How we think about this
Matching the book date to the IRN timestamp across the full population in the cut-off window is a deterministic comparison and should be run on every invoice in the window, not a sample. Deciding what a gap actually means for revenue recognition — rather than just flagging that one exists — still depends on looking at the underlying transaction.
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
- Revenue, receivables & cut-offSales cut-off testing: dispatch, invoice and ledger datesWhy dispatch, invoice and ledger dates disagree at year end, how to sample either side of the cut-off, and the evidence that settles which date governs.
- GST & GSTR-2BE-invoicing compliance audit: thresholds and common gapsAn audit checklist for e-invoicing compliance: applicability thresholds, IRN generation testing, and the common gaps between invoices raised and reported.
- GST & GSTR-2BE-invoice QR code compliance auditA sales register total that matches the GSTR-1 total can still contain invoices with no IRN at all — the QR code check has to run invoice by invoice, not at the total level.
- Revenue, receivables & cut-offMatching dispatch, invoice and ledger for revenue testingThe sales-side mirror of the purchase three-way match: what breaks it in practice, and why the unmatched population should be sized by value, not count.
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.