Revenue recognition: the five-step model
Revenue is recognized when control of a promised good or service passes to the customer, at the amount the company expects to be entitled to. Five steps get you there, and the answer can land at a point in time or spread over time.
Before this: Introduction to Financial Statement Analysis
On the exam
- Describe general principles of revenue recognition, specific revenue recognition applications, and implications of revenue recognition choices for financial analysis
Describe the principles, common applications and analysis implications of revenue recognition. Expect to order the five steps, pick principal or agent, decide over time or point in time, and compute revenue or profit to date on a long-term contract.
How deeply to learn each part
- Know the idea
- Understand it in general. It frames other topics, but you will not calculate with it.
- Use it
- Understand it well enough to solve a question with it. Recognize when it applies.
- Memorize
- Learn it by heart. The exam will not give it to you.
You know this one. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still do.
You tested strong here. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still know it.
When does a company count a sale as revenue?
When control of what it promised passes to the customer, not when cash moves. Under accrual accounting a credit sale creates revenue and a receivable at once, and cash received before delivery creates a liability instead. That liability is unearned revenue , also called deferred revenue.
Since 2018 International Financial Reporting Standards (IFRS) and US generally accepted accounting principles (GAAP) share one standard, so revenue recognition works the same way under both.
What are the five steps?
Memorize
Contract, obligations, price, allocate, recognize. The five steps run in that order for every sale, from a coffee to a ten-year construction contract.
- Identify the contract with a customer : enforceable rights, clear payment terms, commercial substance, and collection that is probable.
- Identify the separate performance obligation s: each distinct good or service promised.
- Determine the transaction price , including variable consideration such as bonuses or rebates only to the extent a significant reversal is unlikely.
- Allocate the price to the obligations in proportion to their stand-alone selling prices.
- Recognize revenue when (or as) each obligation is satisfied.
Step 4 is the one you calculate.
Questions ask for the allocation, or work back from an allocation to the bundle price.
A company sells two items together for 1,000.00. Stand-alone selling prices are 600.00 for item A and 600.00 for item B. The transaction price allocated to item A is closest to:
1,000.00 × 600.00 ÷ (600.00 + 600.00) = 500.00
Price allocated to item A500.00
- 600+600=STO1
- 1000×600÷RCL1=
STO store · RCL recall a stored number
- 1000ENTER600×600ENTER600+÷
ENTER enter (on the HP, puts the number on the stack)
Over time or at a point in time?
Over time if the customer gets the benefit as you work, controls the asset you are building, or the asset has no other use to you and you have a right to payment for work done. Otherwise recognition waits for a point in time, when control passes.
An obligation satisfied over time produces revenue gradually as the work is done. One satisfied at a single moment produces it all at once.
- Over time Use it any one test is enough
- Benefit consumed as you perform a subscription, a cleaning contract
- Customer controls the asset as it is built a building on their land
- No alternative use plus right to payment made-to-order equipment
-
- Point in time Use it control passes at one moment
- Signals of the transfer title, possession, acceptance, right to payment
-
Software shows both: a license the customer installs and that you do not keep changing is a point in time sale, usually recognized up front, while cloud access is recognized over time. The exam labels this software license vs software as a service .
How do you recognize revenue on a long-term contract?
Use it
Measure progress as costs incurred to date over total expected costs, then apply that percentage to the price. A long-term contract that meets an over-time test is recognized this way.
A contract has expected total costs of 40.00. Costs incurred to date are 12.00. Using costs incurred to measure progress, the contract is closest to what percent complete?
12.00 ÷ 40.00 = 30.00%
Percent complete30.00%
- 12÷40=as a decimal
- 12ENTER40÷as a decimal
ENTER enter (on the HP, puts the number on the stack)
Try this 0 of 3
- Front-load the work: more cost in year 1 than in years 2 and 3 together
- Switch to point in time and look at year 1
- Make the contract a loss-maker
Expected total cost 40. Costs are assumed to come in as expected.
- Revenue
- Profit (loss)
| Year 1 | Year 2 | Year 3 | Total | |
|---|---|---|---|---|
| Over time: revenue | 15.0 | 25.0 | 10.0 | 50.0 |
| Over time: profit | 3.0 | 5.0 | 2.0 | 10.0 |
| Point in time: revenue | 0.0 | 0.0 | 50.0 | 50.0 |
| Point in time: profit | 0.0 | 0.0 | 10.0 | 10.0 |
Show working
Year-1 progress = cost to date ÷ expected total cost = 12 ÷ 40 = 30.0%
Year-1 revenue = 30.0% × 50 = 15.0; profit = 15.0 − 12 = 3.0
- 12÷40×50=15
- 12ENTER40÷50×15
ENTER enter (on the HP, puts the number on the stack)
If the contract is expected to lose money, recognize the entire expected loss immediately. A EUR 50 million contract with expected total costs of EUR 56 million is a EUR 6 million loss, and all 6 is recognized in the first year, not spread across the life of the contract.
Exam tip Cost to cost gives the percentage. Revenue is price times that percentage; profit is revenue minus the costs incurred, never price minus cost.
Who reports the gross amount: principal or agent?
The principal. A principal vs agent test asks who controls the good or service before it goes to the customer. The one that does, and bears the inventory and price risk, reports the full price. The one that merely arranges the sale reports its fee.
Same profit, very different revenue and margins. A company that shifts from principal to agent sales reports lower revenue and a higher margin with no change in economics.
- Long-term contract Use it over time, progress measured as cost to date over total expected cost
- Expected profit recognize in proportion to progress
- Expected loss recognize all of it at once
-
- Principal or agent Use it
- Principal gross revenue
- Agent net fee
-
- Software Use it
- Installed license point in time, usually up front
- Cloud access over time
-
- Costs of winning the contract Know the idea incremental ones, like a sales commission, are capitalized and amortized
What does this mean for analysis?
Allowed judgments change the timing and size of revenue, so compare like with like. Progress estimates, principal or agent status and variable consideration are all judgments. Where the notes give enough detail, adjust; otherwise rank companies as more or less conservative.
Read these disclosures: contract assets and liabilities, remaining performance obligations, and the significant judgments management made. Incremental contract costs of winning a deal, such as a sales commission, are capitalized and amortized over the contract. That spreads the cost to match the revenue.
Go deeper Variable consideration and the constraint
Prices often include discounts, rebates, refunds or bonuses. The company estimates the amount using either an expected value (probability-weighted) or the single most likely amount, whichever predicts better. It then includes the estimate in the transaction price only to the extent a significant reversal of cumulative revenue is unlikely. This “constraint” stops revenue being booked early on amounts that may never be collected.
Go deeper Contract modifications and bill-and-hold
A contract modification is treated as a separate contract if it adds distinct goods at stand-alone prices; otherwise it is folded into the existing contract. In a bill-and-hold sale the customer is invoiced but the goods stay with the seller. Revenue is recognized only if control has genuinely passed, which is a classic aggressive-reporting flag (see reporting quality).
Go deeper Why the standard was converged
Before 2018 US GAAP had many industry-specific revenue rules and IFRS had thinner, principle-based ones, so similar deals produced different revenue. The converged model uses one principle (transfer of control) for every industry, which makes revenue more comparable across companies and borders.
Memorize this
MemorizeThe five steps, in order
| Step | What you do | Key word |
|---|---|---|
| 1 | Identify the contract with the customer | Contract |
| 2 | Identify the separate performance obligations | Obligations |
| 3 | Determine the transaction price | Price |
| 4 | Allocate the price to the obligations | Allocate |
| 5 | Recognize revenue as each obligation is satisfied | Recognize |
Memory hook Contract, Obligations, Price, Allocate, Recognize: C-O-P-A-R. Allocation always comes after the price, recognition always last.
Know it cold Revenue follows the transfer of control, never the cash.
MemorizePrincipal or agent
| Role | Controls the item before it reaches the customer? | Revenue reported |
|---|---|---|
| Principal | Yes (inventory risk, sets the price) | Gross price paid by the customer |
| Agent | No (arranges the sale for someone else) | Net fee or commission only |
Memory hook Ask who carries the inventory and price risk. Carries it: principal, gross. Only arranges it: agent, net.
Know it cold Same gross profit either way. Only revenue and the margin percentages change.
MemorizeOver time or at a point in time
| Recognize over time if any one holds | Otherwise |
|---|---|
| Customer receives and uses the benefit as you perform | Point in time, when control passes |
| Your work creates or improves an asset the customer controls | (title, possession, acceptance) |
| Asset has no alternative use to you AND you have a right to payment for work done |
Memory hook Think "the customer already has something": a service consumed as it happens, a building on their land, or a made-to-order item you cannot sell elsewhere.
Know it cold Licensed software the customer installs: point in time. Cloud access (software as a service): over time.
- Over time Use it any one test is enough
- Benefit consumed as you perform a subscription, a cleaning contract
- Customer controls the asset as it is built a building on their land
- No alternative use plus right to payment made-to-order equipment
-
- Point in time Use it control passes at one moment
- Signals of the transfer title, possession, acceptance, right to payment
-
- Long-term contract Use it over time, progress measured as cost to date over total expected cost
- Expected profit recognize in proportion to progress
- Expected loss recognize all of it at once
-
- Principal or agent Use it
- Principal gross revenue
- Agent net fee
-
- Software Use it
- Installed license point in time, usually up front
- Cloud access over time
-
- Costs of winning the contract Know the idea incremental ones, like a sales commission, are capitalized and amortized
Quick example
A bundle sells for 1,350. Stand-alone prices are 900 for item 1 and 600 for item 2. Item 1 gets 1,350 × 900 ÷ 1,500 = 810; item 2 gets 540.
- 900+600=STO1
- 1350×900÷RCL1= 810
STO store · RCL recall a stored number
- 1350ENTER900×900ENTER600+÷ 810
ENTER enter (on the HP, puts the number on the stack)
Quick example
Costs to date 15 against total expected costs of 60. 15 ÷ 60 = 25% complete.
- 15÷60= 0.25
- 15ENTER60÷ 0.25
ENTER enter (on the HP, puts the number on the stack)
Quick example
Price 90, total expected cost 60, costs to date 15. Revenue 90 × 15 ÷ 60 = 22.5; profit 22.5 − 15 = 7.5.
- 90×15÷60= revenue 22.5
- −15= profit 7.5
- 90ENTER15×60÷ revenue 22.5
- 15− profit 7.5
ENTER enter (on the HP, puts the number on the stack)
How it is asked
-
Which step comes where
Which is the last step of the revenue recognition model?
Recognize revenue when (or as) the obligation is satisfied. The trap is "determine the transaction price", which is step 3.
-
Cost-to-cost on a long-term contract
Price 80, total expected cost 60, year-1 cost 21. Year-1 gross profit?
21 ÷ 60 = 35%; revenue 28; profit 28 − 21 = 7. Trap: 0 (waiting for completion) or 20 (whole-contract profit at once).
-
Principal or agent
A marketplace never takes control of the sellers' goods. What does it report as revenue?
Only its commission. Reporting the full price paid by buyers is the trap.
-
Cash before delivery
A customer pays for a year of service in advance. What does the company record?
Cash and unearned revenue, a liability. Revenue builds month by month as the service is delivered.
Exam traps
- Booking advance cash as revenue. Until the service is delivered it is unearned revenue, a liability.
- Treating an agent's gross sales as its revenue. An agent reports only its fee.
- Booking a long-term contract's whole profit in year 1, or none until completion when over-time tests are met.
- Forgetting that an expected loss on a contract is recognized immediately, not spread.
Checkpoint
3 exam-style questions. About 90 seconds each.
1Which of the following is the last step of the five-step revenue recognition model?
2A builder signs a GBP 80 million contract with expected total costs of GBP 60 million and recognizes revenue over time using costs incurred. In year 1 it incurs GBP 21 million of costs. Gross profit recognized in year 1 is closest to:
3An online marketplace that never takes control of the goods sold by third-party sellers should report as revenue:
Key takeaways
- Revenue follows the transfer of control, not cash. Five steps: contract, obligations, price, allocate, recognize.
- Over time versus point in time depends on how control passes to the customer.
- Principal reports the gross price; agent reports the net fee. Gross profit is the same.
- Cost to cost: revenue = price × costs to date ÷ total expected costs.
Quick example
A bundle sells for 1,350. Stand-alone prices are 900 for item 1 and 600 for item 2. Item 1 gets 1,350 × 900 ÷ 1,500 = 810; item 2 gets 540.
- 900+600=STO1
- 1350×900÷RCL1= 810
STO store · RCL recall a stored number
- 1350ENTER900×900ENTER600+÷ 810
ENTER enter (on the HP, puts the number on the stack)
Quick example
Costs to date 15 against total expected costs of 60. 15 ÷ 60 = 25% complete.
- 15÷60= 0.25
- 15ENTER60÷ 0.25
ENTER enter (on the HP, puts the number on the stack)
Quick example
Price 90, total expected cost 60, costs to date 15. Revenue 90 × 15 ÷ 60 = 22.5; profit 22.5 − 15 = 7.5.
- 90×15÷60= revenue 22.5
- −15= profit 7.5
- 90ENTER15×60÷ revenue 22.5
- 15− profit 7.5
ENTER enter (on the HP, puts the number on the stack)
All Financial Statement Analysis formulas, every lesson
Practice exam-style questions on Analyzing Income Statements
Questions about this lesson?
Where this comes back
- Financial Reporting Quality Financial Statement Analysis
- Analyzing Statements of Cash Flows I Financial Statement Analysis
Questions candidates ask
What are the five steps of revenue recognition?
Identify the contract with the customer, identify the separate performance obligations, determine the transaction price, allocate the price to the obligations by stand-alone selling prices, and recognize revenue when or as each obligation is satisfied. The model is the same under IFRS and US GAAP.
What is the difference between principal and agent revenue recognition?
A principal controls the good or service before it reaches the customer, so it reports the full price as revenue. An agent only arranges the sale for someone else, so it reports just its commission or fee. Gross profit is identical; revenue and margins differ.
Is unearned revenue a liability?
Yes. Cash received before the company delivers is a liability called unearned or deferred revenue. It moves to revenue as the goods or services are delivered. A 120 annual subscription bought on 1 October leaves 90 of unearned revenue at a 31 December year-end.
Spotted an error? Tell us and we will fix it.