Revenue is the top line of the P&L. It feeds almost every metric you'll compute: growth, margins, turnover, multiples. It's also the easiest number to inflate, because of how it's built. Revenue is a claim, and a claim rests on a judgment about when performance happened. Look at the great frauds. Enron, Satyam, Luckin Coffee, Manpasand: at heart, every one of them was a revenue fraud.
What rule decides when revenue is recognised?
Start from first principles. Under accrual accounting, the convention you met when you learned double-entry, revenue is recognized when it's earned by performance. When the cash arrives doesn't decide it. An advance payment isn't revenue at all. It's a debt you'll pay off in service. Goods delivered on credit are revenue now, plus a receivable that may never turn into cash (expected credit losses deal with that). Most of your analysis happens in the gap between revenue recognized and cash collected.
Since 2018 one model has governed revenue almost everywhere. ASC 606 (US GAAP), IFRS 15 and Ind AS 115 (India) are converged in all but a few corners. You learn it once and use it in Mumbai and New York alike. Its core principle is to recognize revenue to depict the transfer of promised goods or services, in the amount the entity expects to be entitled to. In practice that runs as five steps.
Advertisement
The five-step model
Step 1: Identify the contract. A contract exists once it's approved and has commercial substance. Its rights and payment terms must be identifiable, and collection must be probable. That last word hides one of the few real US/IFRS differences. Under US GAAP "probable" means roughly "likely", about 75 to 80% in practice. Under IFRS 15/Ind AS 115 it means more likely than not, so anything above 50%. A customer with shaky credit can therefore pass Step 1 under Ind AS and fail it under US GAAP. When that happens, the US seller books any cash received as a deposit liability and records no revenue.
Step 2: Identify the performance obligations (POs). A PO is a promise to transfer a distinct good or service. Distinct means two things at once. The customer can benefit from it alone (or with resources that are readily available). And it's separately identifiable within the contract, so it isn't just an input into one combined output. Bundles get unbundled at this step. A phone with a 12-month plan is two POs. A construction contract's thousand activities are one PO, because they integrate into one asset. Warranties are a classic judgment call. An assurance warranty ("it will work as specified") isn't a PO; you accrue its expected cost as a provision. A service warranty, meaning extended coverage, is a PO with deferred revenue. Implementation services sold with software are the other classic call. They're distinct if they're generic. If they significantly customize the platform, they're combined with the subscription.
Step 3: Determine the transaction price. Start with the contract price, then adjust for:
- Variable consideration covers discounts, rebates, refunds, penalties, bonuses. Estimate it by expected value (probability-weighted) when you have many similar contracts, or by most likely amount when the outcome is binary. Then apply the constraint. You include variable amounts only to the extent it's highly probable that a significant revenue reversal won't occur. That's the IFRS/Ind AS wording; US GAAP says "probable", with the same intent.
- Significant financing component. If payment and performance are more than about a year apart, split the time value out. Say you sell today and collect ₹1,050 in two years, when the cash price is ₹900. Then ₹900 is revenue, and ₹150 is interest income earned over the wait. As a practical expedient you can ignore it when the gap is ≤12 months.
- Amounts collected for third parties are excluded. So GST never appears in an Indian revenue line, because the company only collects it as the government's agent. US sales taxes are typically excluded too, by election. Watch the time series here. Before GST (before FY18), excise duty was presented gross, so Indian revenue lines dropped mechanically when GST arrived on 1 July 2017. Don't compute growth across that boundary without adjusting for it.
Step 4: Allocate the price to the POs in proportion to their standalone selling prices (SSPs). An SSP is what each item would sell for on its own. Use the observed price if there is one. If not, estimate it with an adjusted-market, cost-plus-margin or residual approach. A bundle discount therefore gets spread pro rata, unless it clearly belongs to one item.
Step 5: Recognize revenue when (or as) each PO is satisfied, which happens when control of the good or service passes to the customer. Control can pass at a point in time or over time. You'll get the decision rule for choosing between the two a little further on.
Where do ASC 606 and IFRS 15 differ?
The three standards' residual differences are small enough to fit in one table:
| Item | ASC 606 (US) | IFRS 15 / Ind AS 115 |
|---|---|---|
| Step-1 collectibility threshold | "Probable" ≈ likely (~75–80%) | "Probable" = more likely than not (>50%) |
| Variable-consideration constraint wording | "Probable" no significant reversal | "Highly probable" no significant reversal (same intent) |
| Shipping & handling after control transfers | Policy election: may treat as fulfilment cost | No election — assess as a separate PO or fulfilment activity |
| Sales-type taxes | Policy election to present net | Assess agent test (GST/VAT: net, as agent for government) |
| Reversal of impairment on capitalized contract costs | Prohibited | Required if conditions recover |
Everything else is identical: the five steps, contract assets/liabilities, principal versus agent, the over-time criteria. Ind AS 115 is IFRS 15 with Indian formatting. There's no substantive carve-out for revenue.