Service revenue cut-off testing uses the same window concept as goods-based revenue — flag every invoice within a configurable number of days of the period end for someone to trace — but the document at the other end of the trace is different. There is no delivery challan, no e-way bill, no dispatch note, because nothing physically moved. What a reviewer traces to instead is whatever evidences that the service was actually performed, or performed to the stage billed, by the period end: a signed completion certificate, a milestone sign-off, a timesheet or work log, a stage-of-completion working paper for a long contract. The window still narrows the population that needs tracing. It is the evidence standing in for the dispatch note that changes.
Why 'no physical movement' doesn't mean 'no cut-off risk'
It's tempting to treat services as lower cut-off risk because there's no inventory movement to misstate around. That's backwards. A dispatch note is at least an independent, usually third-party-stamped record of when something happened. Service completion is self-reported far more often — an internal sign-off, a consultant's own note that the deliverable went out, a percentage-complete estimate made by the team doing the work. The absence of an independent physical event makes the evidence weaker, not the risk lower, and arguably raises the bar for what tracing has to achieve.
What to trace a flagged service invoice to
| Goods revenue | Service revenue equivalent |
|---|---|
| Delivery challan / dispatch note | Signed completion certificate or client acceptance email |
| E-way bill | Milestone sign-off or stage-completion approval from the client |
| Goods receipt note from the customer | Timesheet / work log showing hours actually incurred by period end |
| Gate pass with dated security log | Project management tool's status change log (date work item marked complete) |
Three service-revenue cut-off patterns worth watching for
- Invoice raised on contract milestone date, not on actual completion date — a consulting firm bills on the 30th by contract terms even though the deliverable went out on the 5th of the following month
- Percentage-of-completion revenue recognised on an internal estimate that moves after year end — the stage-of-completion working paper gets revised in April for a March close, and the revised number, not the one used at close, is what ends up supporting the entry
- Retainer or subscription revenue recognised for a period that straddles year end without a clean proration — common in SaaS and annual-retainer professional services, where the full invoice amount hits revenue in one period instead of being split
Common practice, not a requirement
For stage-of-completion contracts, it's worth asking for the completion percentage as it stood on the actual closing date, not the version in the file today. Teams sometimes update the estimate after year end for good operational reasons, and the updated number quietly becomes the one in the audit file.
The window still does the same job, nothing more
Narrowing the population by a window of days around the period end works exactly the same way for service revenue as for goods revenue: every invoice dated inside the window, across the full population, gets flagged for someone to look at. What it does not do, for service revenue any more than for goods revenue, is decide the cut-off question itself. There's no dispatch-date field to compare an invoice date against in Lekhya's data model for goods revenue, and there is correspondingly no completion-date field it checks automatically for service revenue either. The selection narrows the list; a person still has to go find the completion certificate, the sign-off, or the timesheet, and make the call.
Resist treating a client's own self-certified 'work is done' email as equivalent to a third-party dispatch document. It's the only evidence available in many service engagements, but it deserves more scepticism than a signed delivery challan from an independent transporter, precisely because it's self-reported.
Regulatory requirement
Ind AS 115 (and AS 9 under the non-Ind AS framework) requires revenue to be recognised as or when performance obligations are satisfied, which for services usually means over time or at a defined completion point — not simply when an invoice happens to be raised. Cut-off testing on service revenue is, in substance, testing whether the invoice date and the performance-obligation-satisfied date actually line up.
How we think about this
Lekhya's revenue and cut-off testing applies the same window-based, full-population selection regardless of whether the client's revenue is goods or services. It makes no claim to know what completion evidence looks like for a given service line — that judgement, and the document it rests on, stays with the audit team.
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 cut-off testing across the full population, not a sample around the year endThe hard part of cut-off testing was never the tracing. It was deciding which invoices to pull in the first place.
- 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-offReal estate developer revenue recognition audit under Ind AS 115Most residential developers moved from recognising revenue as construction progressed to recognising it at possession. Auditing whether that call was actually right is the core of this engagement.
- 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.
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.