Before IFRS 15, revenue recognition rules were scattered across multiple standards depending on the industry and transaction type. IFRS 15 replaced all of it with one model β the same five steps whether you're selling software, construction services, or subscriptions.
The Five-Step Model
1. Identify the contract with a customer
2. Identify the performance obligations β the distinct goods or services promised
3. Determine the transaction price β the amount the entity expects to be entitled to
4. Allocate the transaction price to each performance obligation, based on relative standalone selling prices
5. Recognise revenue when (or as) each performance obligation is satisfied
Step 2 is where most of the judgment lives: a single contract can bundle several distinct promises β a product sale plus a service plan, for instance β and each one needs to be identified and priced separately before revenue can be allocated correctly.
Point in Time vs Over Time
Step 5 asks a binary question for each performance obligation: is control transferred at a single point, or progressively over time? Revenue is recognised over time if any one of these applies:
β the customer simultaneously receives and consumes the benefit as the entity performs (e.g. a monthly cleaning service)
β the entity's performance creates or enhances an asset the customer controls as it's created (e.g. building on the customer's land)
β the asset has no alternative use to the entity, and the entity has an enforceable right to payment for progress to date (typical of custom-built assets)
If none of these apply, revenue is recognised at the single point in time control actually transfers β which is often, but not always, the delivery date.
Worked Example: Allocating a Bundled Contract
A company sells a software licence bundled with one year of technical support for a combined price of $45,000. The standalone selling prices are $40,000 for the licence and $10,000 for the support β two distinct performance obligations.
Total standalone value: $40,000 + $10,000 = $50,000
Licence allocation: $45,000 Γ ($40,000 Γ· $50,000) = $36,000
Support allocation: $45,000 Γ ($10,000 Γ· $50,000) = $9,000
The $36,000 licence revenue is recognised at the point the licence is delivered (control transfers immediately). The $9,000 support revenue is recognised over the year, since the customer receives and consumes that benefit throughout the support period β typically on a straight-line basis, roughly $750 per month.
Variable Consideration
When a contract includes discounts, rebates, refunds, or performance bonuses, the transaction price must be estimated up front β but constrained: only include variable consideration to the extent it's highly probable that a significant revenue reversal won't occur once the uncertainty resolves. This constraint is what stops companies from booking optimistic bonus revenue too early.
Where Marks Are Usually Lost
- Treating a bundled contract as one performance obligation. If the customer can benefit from each promised good or service on its own (or with other readily available resources), and each is separately identifiable in the contract, they're distinct β and each gets allocated its own slice of the price.
- Allocating price based on cost, not standalone selling price. Allocation always uses relative standalone selling prices β cost only matters for measuring margin after the fact.
- Recognising revenue at delivery by default. Over-time recognition applies whenever one of the three over-time criteria is met, regardless of when the invoice goes out or cash is collected.
- Including unconstrained variable consideration in the transaction price. A performance bonus or rebate only enters the price to the extent a significant reversal is highly improbable once the uncertainty resolves.
Revenue recognition problems usually hide their difficulty in step 2 and step 4 β missing a distinct performance obligation, or allocating price using the wrong basis. Accountely's revenue recognition challenges isolate each step so you can see exactly where an allocation went wrong, the same way our guide to income statement vs cash flow statement separates recognition from cash timing more generally.
