What you'll learn

  • How to audit each of the five IFRS 15 steps, with the specific procedures that apply at each stage
  • How to evaluate variable consideration, contract modifications, and principal-versus-agent determinations (the areas that produce the most errors)
  • Where to focus when the entity has multi-element arrangements or long-term contracts
  • What reviewers and regulators check on IFRS 15 files ( IFRS 15.9 -13, IFRS 15.22 -30, IFRS 15.46 -72, IFRS 15.73 -86, IFRS 15.31 -45)

The client recognises €12M of revenue on a single contract that bundles equipment, installation, and a three-year maintenance agreement. Everything hits the income statement when the equipment ships. The maintenance component is a separate performance obligation. So is the installation, if the customer could hire someone else to do it. Two of the five steps in the revenue model were skipped, and the revenue line is wrong.

IFRS 15 requires entities to recognise revenue by identifying the contract, identifying separate performance obligations within it, determining the transaction price, allocating that price to each obligation, and recognising revenue as each obligation is satisfied ( IFRS 15.9 -45). For auditors, each step is a potential failure point with its own audit procedures and its own set of common errors. In our experience, Step 5 is where reviewers push back hardest because the WPs often read as a tick box exercise rather than a control-transfer argument.

Table of contents

  1. Step 1: identify the contract ( IFRS 15.9 -13)
  2. Step 2: identify performance obligations ( IFRS 15.22 -30)
  3. Step 3: determine the transaction price ( IFRS 15.46 -72)
  4. Step 4: allocate the transaction price ( IFRS 15.73 -86)
  5. Step 5: recognise revenue ( IFRS 15.31 -45)
  6. Contract modifications
  7. Principal versus agent
  8. Worked example: Hendriks Techniek B.V.
  9. Practical checklist
  10. Common mistakes
  11. Frequently asked questions
  12. Related content

For a visual walkthrough of the five-step model with decision trees at each stage, the ciferi IFRS 15 revenue flowchart maps the standard's requirements into an audit-usable decision sequence. The rest of this post provides the procedures and judgment calls behind each decision point.

Step 1: identify the contract ( IFRS 15.9 -13)

IFRS 15.9 lists five criteria for a contract to exist: both parties have approved the contract, each party's rights regarding goods or services are identifiable, payment terms are identifiable, the contract has commercial substance, and it is probable that the entity will collect the consideration. All five must be met. If any criterion is not met, IFRS 15.15 requires the entity to continue assessing whether the criteria are subsequently met.

The audit procedure at this step is contract inspection. Select a sample of revenue transactions and inspect the underlying contracts. For each contract, verify that all five criteria in IFRS 15.9 are satisfied. Pay particular attention to the collectability criterion ( IFRS 15.9 (e)). This is not a test of whether the customer will pay in full. It is a test of whether it is probable that the entity will collect the consideration to which it will be entitled in exchange for the goods or services that will be transferred. If the entity gives an implicit price concession (it expects to accept less than the contractual price), the transaction price is the amount the entity expects to collect, not the contractual amount.

Watch for oral agreements, framework agreements, and purchase orders that are treated as contracts. IFRS 15.10 explicitly permits oral contracts to meet the definition. The audit evidence is different (email confirmations, delivery records, payment history) but the recognition criteria are the same.

For entities with high-volume, low-value transactions (retail, e-commerce, subscriptions), auditing individual contracts is impractical. Test the contract identification process instead. Verify that the entity's systems and controls correctly identify when a contract exists, capture the contract terms, and initiate revenue recognition at the right point.

Step 2: identify performance obligations ( IFRS 15.22 -30)

A performance obligation is a promise to transfer a distinct good or service (or a bundle of goods or services) to the customer. IFRS 15.22 requires the entity to identify all performance obligations at contract inception.

A good or service is distinct under IFRS 15.27 if two conditions are met. First, the customer can benefit from the good or service on its own or together with other readily available resources (capable of being distinct). Second, the entity's promise to transfer the good or service is separately identifiable from other promises in the contract (distinct within the context of the contract).

The audit procedure is to evaluate management's identification of performance obligations for a sample of contracts. For multi-element arrangements, challenge whether each element meets both conditions in IFRS 15.27 . Common questions. Could the customer buy the installation service from a third party? (If yes, installation is likely a separate obligation.) Is the customisation so significant that the goods and services are highly interrelated and form a single combined output? (If yes, they may not be distinct within the context of the contract under IFRS 15.29 .)

The most frequent error at this step is failure to identify separate obligations. Entities bundle everything into one obligation because it simplifies accounting. This is wrong when the elements are genuinely distinct. A contract for software plus implementation plus ongoing support almost always contains at least two performance obligations (software and implementation may be combined, but ongoing support is separate).

The ciferi IFRS 15 revenue flowchart includes a decision tree specifically for the "distinct within the context of the contract" test at IFRS 15.29 , covering the interdependence and modification indicators.

Step 3: determine the transaction price ( IFRS 15.46 -72)

The transaction price is the amount of consideration the entity expects to be entitled to in exchange for transferring goods or services. IFRS 15.47 lists the components to consider: variable consideration, constraining estimates of variable consideration, the existence of a significant financing component, non-cash consideration, and consideration payable to the customer.

Variable consideration ( IFRS 15.50 -54) is the most audit-intensive area. It includes discounts, rebates, refunds, credits, incentives, performance bonuses, penalties, and price concessions. The entity must estimate the amount using either the expected value method (probability-weighted) or the most likely amount method, whichever better predicts the amount to which the entity will be entitled.

IFRS 15.56 imposes a constraint on variable consideration. It is included in the transaction price only to the extent that it is highly probable that a significant reversal will not occur. This constraint prevents entities from recognising revenue based on optimistic estimates that are likely to be reversed in future periods.

Audit procedures on variable consideration include inspecting contract terms for discount clauses, rebate structures, penalty provisions, and bonus triggers. Compare the entity's estimate to historical data. If the contract includes a volume rebate of 5% above 10,000 units, and the customer purchased 12,000 units in the prior year (PY), the rebate is likely to apply. Verify that the constraint under IFRS 15.56 has been applied. If the entity included a performance bonus that depends on meeting a target it has never met, the constraint is probably not satisfied. This is where we see clients pencil in an upside and move on. Nobody enjoys unwinding the estimate six months later, but skipping the constraint check is how files get flagged.

For the significant financing component ( IFRS 15.60 -65), compare the payment terms to the transfer date. If the entity delivers in January and the customer pays in December, a financing component may exist. IFRS 15.63 provides a practical expedient. No adjustment is needed if the period between transfer and payment is one year or less.

Step 4: allocate the transaction price ( IFRS 15.73 -86)

When a contract has multiple performance obligations, the transaction price must be allocated to each obligation based on relative standalone selling prices ( IFRS 15.73 -74). The standalone selling price is the price at which the entity would sell the good or service separately.

IFRS 15.77 provides a hierarchy for estimating standalone selling prices when they are not directly observable. The adjusted market assessment approach looks at what a customer in the market would pay. The expected cost plus margin approach adds a reasonable margin to the entity's expected costs. The residual approach ( IFRS 15.79 ) is permitted only when the standalone selling price is highly variable or uncertain.

Audit procedures at this step focus on the entity's method for determining standalone selling prices. For software companies that sell licences both bundled and separately, the standalone selling price is observable. For construction companies where installation is never sold separately, the entity must use one of the estimation methods. Verify the inputs to the estimation (cost data, comparable market prices, and margin assumptions).

The most common error is applying a residual allocation to the performance obligation the entity wants to recognise first (because it makes the revenue recognition faster) rather than to the one whose standalone price is genuinely uncertain. Check whether the residual approach is justified under IFRS 15.79 by verifying that the selling price for that element is genuinely highly variable or uncertain.

Step 5: recognise revenue ( IFRS 15.31 -45)

Revenue is recognised when (or as) a performance obligation is satisfied by transferring the promised good or service to the customer. Transfer occurs when the customer obtains control.

IFRS 15.35 provides three criteria for determining whether control transfers over time. The customer simultaneously receives and consumes the benefits (common for services), the entity's performance creates or enhances an asset the customer controls, and the entity's performance does not create an asset with an alternative use and the entity has an enforceable right to payment for performance completed. If any one of these three criteria is met, revenue is recognised over time using an appropriate method (input or output). If none is met, revenue is recognised at a point in time when control transfers ( IFRS 15.38 ).

Audit procedures at this step differ depending on the recognition pattern. For point-in-time recognition, verify that the indicators of control transfer in IFRS 15.38 are satisfied at the date revenue was recognised. Did the entity transfer physical possession? Did the customer accept the asset? Has the entity an enforceable right to payment? Did risks and rewards transfer? For delivery-based revenue, test the cut-off by examining shipments around the reporting date. If the evidence stacks up on every indicator, the WP note can read appears reasonable. Waive further pursuit.

For over-time recognition, evaluate the input or output method used to measure progress. Input methods (costs incurred as a percentage of total expected costs) are common in construction. The audit risk is that estimated total costs are understated, inflating the percentage complete. Compare estimated costs to actual costs incurred to date, and compare estimated total costs to the original bid estimate. If costs are running 15% above the original estimate but the completion percentage hasn't changed, the estimate may be stale.

Contract modifications

IFRS 15.18 -21 addresses contract modifications (changes in scope, price, or both). The accounting depends on whether the modification creates a new performance obligation at a standalone selling price. If it does, the modification is treated as a separate contract ( IFRS 15.20 ). If it does not, the entity accounts for it either prospectively or as a cumulative catch-up adjustment, depending on the nature of the remaining goods or services ( IFRS 15.21 ).

Audit risk concentrates on modifications that occur near the reporting date. A scope reduction agreed in December that reduces the transaction price should reduce recognised revenue in the current period. Entities sometimes defer the accounting for modifications until the amended contract is signed (which may be in January), resulting in revenue overstatement.

Test for completeness of contract modifications. Inquire of management, inspect correspondence with customers around the reporting date, review credit notes issued in the post-balance-sheet period, and compare the contract list at year-end to the list at a subsequent date. Any contracts that disappear from the list may have been modified or terminated.

Principal versus agent

IFRS 15 .B34-B38 addresses the principal-versus-agent determination. A principal controls the good or service before it is transferred to the customer and recognises revenue at the gross amount. An agent arranges for another party to provide the good or service and recognises revenue at the net amount (the commission).

The indicators of control in IFRS 15 .B37 include whether the entity is primarily responsible for fulfilling the promise, whether it has inventory risk, whether it has discretion in establishing the price, and whether it bears credit risk. No single indicator is determinative. The overall assessment of control before transfer is what matters.

This determination has no effect on profit. A principal and an agent recognise the same gross margin. But it has a material effect on revenue, which affects revenue-based metrics, covenants, regulatory thresholds, and size criteria.

Audit the determination by inspecting the contractual arrangements between the entity, the customer, and the supplier. If the entity never takes title to the goods and never bears inventory risk, the entity is an agent. If the entity takes title, bears risk, and sets the price, it is a principal. Mixed indicators require judgment, and the entity should document its rationale under IFRS 15 .B34.

Worked example: Hendriks Techniek B.V.

Hendriks Techniek B.V. is a Dutch industrial automation company with €45M revenue. The entity enters into a contract with a manufacturing client for €2,400,000, comprising delivery and installation of an automated packaging line (€1,800,000) and a two-year maintenance agreement (€600,000). Performance materiality (PM) is €450,000.

Identify the contract

The auditor identifies the contract. The contract is signed by both parties, specifies the goods and services, states payment terms (40% on delivery, 30% on installation completion, 30% in monthly instalments over the maintenance period), has commercial substance, and the customer has a strong credit history. All five criteria in IFRS 15.9 are met.

Documentation note: "Contract dated 14 March 2025 inspected. Five IFRS 15.9 criteria assessed: (a) both parties approved, signatures verified; (b) rights identifiable: equipment delivery, installation, 2-year maintenance; (c) payment terms per clause 7; (d) commercial substance, customer's production line depends on the equipment; (e) collectability probable, customer credit-checked, no history of default. Contract exists."

Identify performance obligations

The auditor identifies performance obligations. The packaging line and installation are assessed together. The installation requires specialist knowledge specific to the equipment. A third-party installer could not perform it without the entity's involvement. Under IFRS 15.29 (a), the installation significantly modifies the equipment for the customer's specific production environment. The equipment and installation are not distinct within the context of the contract. They form a single performance obligation. The maintenance agreement is distinct: the customer could obtain maintenance from another provider, and the maintenance is not highly interrelated with the equipment delivery. Two performance obligations exist.

Documentation note: "Two performance obligations identified. PO1: equipment plus installation, combined because installation not distinct within contract context per IFRS 15.29 (a), specialist customisation required. PO2: two-year maintenance agreement, distinct because customer could obtain from third party, not interrelated with PO1. Management's allocation consistent with our assessment."

Determine the transaction price

The auditor determines the transaction price. The total contract price is €2,400,000. No variable consideration, no significant financing component (practical expedient in IFRS 15.63 applies as longest interval between payment and transfer is less than twelve months for equipment, and maintenance payments are monthly concurrent with service delivery), no non-cash consideration.

Documentation note: "Transaction price: €2,400,000 fixed. No variable consideration per contract terms (no discounts, rebates, penalties, or bonuses). Financing component: practical expedient applied per IFRS 15.63 . No non-cash consideration. No consideration payable to customer."

Allocate the transaction price

The auditor reviews the allocation. Standalone selling prices: Hendriks sells comparable packaging lines with installation for €1,700,000-€1,900,000 (average €1,800,000 based on five comparable contracts inspected). Standalone maintenance contracts for similar equipment are sold at €320,000-€360,000 per year (average €340,000/year, so €680,000 for two years). Total standalone: €1,800,000 + €680,000 = €2,480,000. Allocation: PO1 = €2,400,000 x (€1,800,000/€2,480,000) = €1,741,935. PO2 = €2,400,000 x (€680,000/€2,480,000) = €658,065.

Documentation note: "Allocation based on relative standalone selling prices per IFRS 15.74 . Equipment+installation SSP: €1,800K (based on 5 comparable contracts in 2024-2025, range €1.7M-€1.9M, schedules inspected). Maintenance SSP: €680K (2 years at €340K/year, based on 4 standalone maintenance contracts inspected). Management's allocation: PO1 €1,742K, PO2 €658K. Verified, consistent with our calculation (rounding difference of €65 immaterial)."

Recognise revenue

The auditor tests revenue recognition. PO1 (equipment and installation) transfers control at a point in time: when installation is complete and the customer accepts the packaging line. The acceptance certificate is dated 18 November 2025. Revenue of €1,742,000 recognised in November 2025. PO2 (maintenance) is satisfied over time as the customer simultaneously receives and consumes the benefits ( IFRS 15.35 (a)). Revenue recognised monthly: €658,065 / 24 months = €27,419 per month. Two months recognised in 2025 (November and December) = €54,838.

Documentation note: "PO1: point-in-time recognition on 18 November 2025. Control transfer evidenced by signed customer acceptance certificate (inspected). Revenue: €1,742K. PO2: over-time recognition, straight-line monthly ( IFRS 15.35 (a), customer simultaneously receives and consumes maintenance benefit). Nov-Dec 2025: €54,838. Total 2025 revenue from this contract: €1,796,838. Contract asset/liability position verified. No unbilled receivable as 40% milestone payment (€960K) received on delivery."

Practical checklist

Common mistakes

  • Recognising variable consideration without applying the constraint. When an entity includes performance bonuses in the transaction price based on optimistic projections, and those bonuses are later reversed, the revenue line is overstated in the initial period. IFRS 15.56 requires inclusion only to the extent a significant reversal is highly probable to not occur.

  • Misclassifying principal and agent. Entities that act as intermediaries (purchasing goods from a supplier and reselling to a customer) sometimes recognise gross revenue when the indicators in IFRS 15 .B37 point to agent treatment. The revenue effect can be material even though profit is unchanged.

Frequently asked questions

How do you determine whether a performance obligation is satisfied over time or at a point in time under IFRS 15 ?

IFRS 15.35 provides three criteria for over-time recognition: the customer simultaneously receives and consumes the benefits as the entity performs (e.g. routine cleaning services), the entity's performance creates or enhances an asset that the customer controls as it is created (e.g. building on customer land), or the entity's performance does not create an asset with an alternative use and the entity has an enforceable right to payment for performance completed to date. If none of these criteria are met, revenue is recognised at a point in time when control transfers under IFRS 15.38 .

What is the constraint on variable consideration in IFRS 15 ?

IFRS 15.56 requires that variable consideration (such as performance bonuses, penalties, or volume discounts) be included in the transaction price only to the extent that it is highly probable that a significant reversal in the amount of cumulative revenue recognised will not occur when the uncertainty is subsequently resolved. The auditor tests this by examining management's estimate against historical outcomes, contractual terms, and the entity's ability to influence the variable amount. Revenue overstatement from ignoring the constraint is one of the most common IFRS 15 errors.

How should an auditor test the allocation of the transaction price to multiple performance obligations?

Under IFRS 15.73 -74, the transaction price is allocated to each performance obligation on a relative standalone selling price basis. The auditor should first evaluate the entity's method for determining standalone selling prices (observable prices, adjusted market assessment, expected cost plus margin, or the residual approach as a last resort under IFRS 15.79 ). Then test the mathematical allocation, verify the standalone selling prices against external evidence where available, and assess whether any discount or variable consideration should be allocated entirely to one performance obligation rather than proportionally.

When does a contract modification create a new contract versus a prospective adjustment under IFRS 15 ?

IFRS 15.18 -21 distinguishes two scenarios. A modification is treated as a separate contract when it adds distinct goods or services and the price increase reflects their standalone selling prices ( IFRS 15.20 ). If those conditions are not met, the modification is accounted for either as a termination of the old contract and creation of a new one (when remaining goods are distinct from those already transferred) or as a prospective cumulative catch-up adjustment. The auditor should trace the modification terms, verify the assessment of distinctness, and recalculate revenue allocation for the modified arrangement.

What are the key principal-versus-agent indicators in IFRS 15 ?

IFRS 15 .B37 lists indicators that an entity is a principal: it has primary responsibility for fulfilling the promise, it bears inventory risk before or after transfer, and it has discretion in establishing the price. If an entity is a principal, it recognises revenue at the gross amount. If it is an agent, it recognises only the fee or commission. The auditor should examine the substance of the arrangement by reviewing who bears credit risk, who controls the goods before delivery, and whether the entity can substitute the supplier, rather than relying solely on legal form.

Related tools

Get practical audit insights, weekly.

No exam theory. Just what makes audits run faster.

290+ guides published20 free toolsBuilt by practicing auditors

No spam. We’re auditors, not marketers.