Ind AS 115 recognises revenue by walking through five defined steps — identify the contract, identify the distinct performance obligations within it, determine the transaction price, allocate that price to each performance obligation based on standalone selling price, and recognise revenue as each obligation is satisfied, either at a point in time or over time — and the audit has to test each step separately, because a misstatement at step two (bundling two distinct obligations into one) changes both the timing and the amount recognised, even if the total contract value and the invoicing are entirely correct.
Testing each step
- 01Step 1 — Contract identificationConfirm the contract has commercial substance, both parties' rights to goods/services and payment terms are identifiable, and collectibility is probable; contracts that should be combined (same commercial objective, negotiated as a package, or consideration depends on another contract) must be treated as one for recognition purposes, not accounted separately.
- 02Step 2 — Distinct performance obligationsA good or service is distinct if the customer can benefit from it on its own or with readily available resources, and it is separately identifiable from other promises in the contract — test whether management's bundling or unbundling decision holds up, since a single invoice can still contain multiple performance obligations.
- 03Step 3 — Transaction priceTest variable consideration (discounts, rebates, penalties, performance bonuses) is estimated using the expected value or most likely amount method, and constrained to the extent it's probable a significant reversal won't occur — recompute a sample of variable consideration estimates independently.
- 04Step 4 — Allocation to performance obligationsWhere a contract bundles multiple obligations, the transaction price should be allocated based on each obligation's standalone selling price, not an arbitrary split — test the SSP evidence (observable prices where sold separately, or an estimation method where not).
- 05Step 5 — Recognition timingTest whether each obligation is satisfied over time (control transfers progressively — e.g., a long-term construction or services contract measured by an input or output method) or at a point in time (control transfers at delivery/acceptance), and recompute the over-time recognition using the actual method applied, not management's year-end percentage-complete assertion alone.
Treating a contract with a material unsatisfied performance obligation — an extended warranty, a free period of service, a material right to a future discount — as fully recognised at delivery is one of the most common Ind AS 115 errors, because the obligation is easy to miss when it isn't separately priced on the invoice.
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-offRevenue recognition testing in a statutory auditThe transfer-of-control test that governs when a sale is recognised, the misstatement patterns that recur in practice, and what evidence ties a recognised sale to an underlying document.
- 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.
- Revenue, receivables & cut-offCommon exceptions in revenue and receivables testingA reference catalogue of the exceptions that recur most often across revenue and receivables testing, why each happens, and what to do about it.
- 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.
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.