Key Takeaways

  • How to apply each step of the IFRS 15 five-step model on a real engagement, with paragraph-level references for the judgments that carry the highest audit risk
  • How to identify distinct performance obligations under IFRS 15.27 when the client bundles goods and services into a single contract
  • How to audit variable consideration estimates and the constraint under IFRS 15.56 through 15.58
  • How the ciferi IFRS 15 Revenue Calculator helps you test transaction price allocations using standalone selling prices

Identifying the contract under IFRS 15.9

IFRS 15.9 sets out five criteria that must all be met before the entity can apply the revenue recognition model to a contract. The parties must have approved the contract and be committed to their obligations. Each party’s rights regarding the goods or services must be identifiable. The payment terms must be identifiable. The contract must have commercial substance. And it must be probable that the entity will collect the consideration.

The criterion that generates the most audit work is collectability (IFRS 15.9(e)). This is not a credit risk assessment in the IFRS 9 sense. IFRS 15.9(e) asks whether it is probable that the entity will collect the consideration to which it will be entitled in exchange for the goods or services. The assessment is based on the customer’s ability and intention to pay when due. If a contract fails this test, the entity does not recognise revenue under IFRS 15 at all (IFRS 15.15 applies instead, with revenue recognised only when specific conditions are met).

For non-Big 4 audit clients, the collectability criterion matters most in two situations. The first is contracts with new customers where no payment history exists and the customer’s creditworthiness is uncertain. The second is contracts where the entity has historically experienced significant non-payment from the customer or the customer class. A Dutch wholesaler with a 15% write-off rate on sales to a specific customer segment needs to assess whether those contracts meet IFRS 15.9(e) at inception, not just whether the receivable is impaired under IFRS 9 after the sale.

IFRS 15.17 addresses contract modifications. If a contract is amended after inception (scope change, price change, or both), the entity must determine whether the modification creates a new contract or is treated as part of the existing contract. IFRS 15.20 requires a new contract if two conditions are both met: the modification adds distinct goods or services, and the price increases by an amount that reflects the standalone selling prices of those additional goods or services. If either condition fails, the modification is accounted for as part of the original contract, either prospectively (IFRS 15.21(a)) or as a cumulative catch-up (IFRS 15.21(b)). Contract modifications that cross reporting periods are a frequent source of revenue misstatement because the entity may recognise the modification revenue in the wrong period.

Identifying performance obligations under IFRS 15.22

IFRS 15.22 requires the entity to identify each promise to transfer a good or service (or bundle of goods or services) that is distinct. This is the step with the highest judgment content in the entire model, and the step where audit findings concentrate.

A good or service is distinct if it meets both criteria in IFRS 15.27. First, the customer can benefit from the good or service on its own or together with other readily available resources (IFRS 15.27(a)). Second, the promise to transfer the good or service is separately identifiable from other promises in the contract (IFRS 15.27(b)). The first criterion is relatively easy to assess. The second is where the complexity lives.

IFRS 15.29 provides indicators that promises are not separately identifiable: the entity provides a significant integration service, one item significantly modifies or customises another, or the items are highly interdependent or highly interrelated. These indicators require judgment on every bundled contract.

Take the software example. A perpetual licence, post-implementation support, data migration, and on-site training. Can the customer benefit from the licence on its own? If the software is functional without customisation, yes (IFRS 15.27(a) is met). Is the licence separately identifiable from the data migration? If the migration is a standard data transfer that any third party could perform, the licence and migration are separately identifiable (IFRS 15.27(b) is met). But if the migration involves significant customisation of the software to work with the customer’s existing systems, the migration may not be separately identifiable because it significantly modifies the licence (IFRS 15.29(b)).

For audit purposes, the performance obligation assessment is where you spend the most time on bundled contracts. Each obligation you identify changes the revenue allocation and potentially the timing of recognition. If the entity identifies one performance obligation where there are two, it may recognise all revenue at a single point in time when a portion should be recognised over the support period.

Your working paper for this step needs to document each promised good or service, the IFRS 15.27(a) assessment for each, the IFRS 15.27(b) assessment for each, and the conclusion on how many performance obligations exist. If the entity bundles items and you disagree with their bundling, the rest of the five-step model changes.

Determining the transaction price

IFRS 15.47 defines the transaction price as the amount of consideration the entity expects to be entitled to in exchange for transferring goods or services to a customer. The transaction price is not always the stated contract price.

IFRS 15.48 requires consideration of variable consideration, constraining estimates of variable consideration, significant financing components, non-cash consideration, and consideration payable to the customer. For most non-Big 4 audit clients, variable consideration is the element that carries the most audit risk.

Variable consideration arises whenever the contract includes discounts, rebates, penalties, performance bonuses, price concessions, or rights of return. IFRS 15.53 requires the entity to estimate variable consideration using either the expected value method (probability-weighted) or the most likely amount method, whichever better predicts the amount of consideration.

The constraint under IFRS 15.56 is the safety valve. It requires the entity to include variable consideration in the transaction price only to the extent that it is highly probable that a significant reversal of cumulative revenue will not occur when the uncertainty is subsequently resolved. IFRS 15.57 lists factors that increase the likelihood of a reversal: the amount is highly susceptible to external factors, the uncertainty is not expected to be resolved for a long period, the entity has limited experience with similar contracts, and the entity has a practice of offering price concessions or changing payment terms.

When auditing variable consideration, your procedures should cover the estimation method selected and whether it’s appropriate for the contract type, the inputs to the estimate (historical data on returns, rebates, or penalties), the application of the constraint, and whether the entity has reassessed the estimate at each reporting date per IFRS 15.59. A client that records €2.8M of revenue on a contract with a 10% performance penalty clause but does not estimate variable consideration is potentially misstating revenue by up to €280K.

IFRS 15.60 through 15.65 address significant financing components. If the timing of payments differs significantly from the timing of revenue recognition (more than 12 months), the entity should adjust the transaction price for the time value of money. IFRS 15.63 provides a practical expedient: if the period between payment and performance is 12 months or less, the entity need not adjust. Most non-Big 4 clients rely on this expedient, and your audit should confirm it applies (payment terms within 12 months of delivery or service completion).

Allocating the transaction price

When a contract contains more than one performance obligation, IFRS 15.73 requires the entity to allocate the transaction price to each obligation based on relative standalone selling prices.

IFRS 15.77 defines the standalone selling price as the price at which the entity would sell a promised good or service separately to a customer. The best evidence is an observable price (IFRS 15.77). If no observable price exists, IFRS 15.79 requires the entity to estimate the standalone selling price using an approach that maximises observable inputs. The standard suggests the adjusted market assessment approach and the expected cost plus a margin approach as the primary methods, with the residual approach permitted only if the selling price is highly variable or uncertain (IFRS 15.79(c)).

For audit purposes, the key risk is that the entity has not determined standalone selling prices at all and instead allocated the transaction price based on cost proportions, management judgment, contractual split, or some combination of these (none of which necessarily reflect standalone selling prices). If the entity sells the licence separately for €400K and the support for €120K per year, those observable prices drive the allocation for those obligations. If the entity never sells these items separately, it must estimate standalone selling prices, and your audit needs to evaluate the estimation method.

The ciferi IFRS 15 Revenue Calculator takes the individual standalone selling prices and the total transaction price as inputs and produces the relative allocation for each performance obligation. Running the client’s figures through the calculator gives you an independent allocation to compare against the entity’s own calculation.

A practical point: IFRS 15.81 requires that any discount in the contract be allocated proportionately across all performance obligations unless IFRS 15.82 applies (the entity has observable evidence that the discount relates entirely to one or more specific obligations). If a contract has a total price of €600K but the sum of standalone selling prices is €670K, the €70K discount must be allocated proportionally unless the entity can demonstrate it relates to a specific obligation. Most entities allocate discounts proportionally by default, which is usually correct, but your working paper should confirm the basis.

Recognising revenue over time or at a point in time

IFRS 15.31 states that revenue is recognised when (or as) the entity satisfies a performance obligation by transferring a promised good or service to the customer. Transfer occurs when the customer obtains control.

IFRS 15.35 identifies the criteria for over-time recognition. A performance obligation is satisfied over time if it meets any one of the criteria in IFRS 15.35(a) through (c). The customer simultaneously receives and consumes the benefits as the entity performs (IFRS 15.35(a), typical for ongoing services). The entity’s performance creates or enhances an asset the customer controls (IFRS 15.35(b), typical for construction on customer-owned 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 (IFRS 15.35(c), typical for custom manufacturing).

If none of these criteria is met, revenue is recognised at a point in time under IFRS 15.38. The indicators of transfer include the entity’s right to payment, the customer’s legal title, physical possession, significant risks and rewards, and customer acceptance.

For non-Big 4 audit clients, the over-time versus point-in-time assessment generates findings in two areas. Construction companies and project-based service firms frequently meet IFRS 15.35(c) and recognise revenue over time based on percentage of completion, but the “enforceable right to payment for performance completed to date” requires legal analysis of the contract terms. If the contract permits the customer to terminate for convenience without compensating the entity for work done, IFRS 15.35(c) may not be met, and the entire revenue recognition pattern changes from over-time to point-in-time.

The second area is the measurement of progress for over-time obligations. IFRS 15.39 through 15.45 require the entity to measure progress toward complete satisfaction using either an output method or an input method. Cost-to-cost (an input method) is the most common for construction and project-based entities. The audit risk is that the estimated total cost is understated, which overstates the percentage of completion and therefore overstates revenue. Your procedures on cost-to-cost should independently assess the total estimated cost by reviewing recent cost revisions, subcontractor commitments, outstanding purchase orders, and remaining work scope.

Worked example: Visser IT Solutions B.V.

Client scenario: Visser IT Solutions B.V. is a Dutch IT services company with €19M revenue. Visser entered into a contract with a hospital group for €600K, comprising a perpetual software licence (€320K if sold separately), 12 months of post-implementation support (€140K if sold separately), a data migration service (€90K if sold separately), and two days of on-site training (€60K if sold separately). Total standalone selling prices: €610K. The contract price of €600K includes a €10K discount relative to the sum of standalone selling prices. The software is functional without customisation, and the data migration is a standard transfer that any qualified IT firm could perform.

Step 1. Identify the contract (IFRS 15.9)

The contract is signed by both parties, rights and payment terms (€200K at go-live, €200K at migration completion, €200K in monthly instalments over 12 months) are identifiable, commercial substance exists (hospital receives functional software), and collectability is probable (hospital group is a Dutch public healthcare institution with no payment history issues). All five IFRS 15.9 criteria are met.

Documentation note

Record each IFRS 15.9 criterion with a specific factual basis. For collectability, reference the customer’s status as a publicly funded healthcare institution and the absence of prior payment disputes.

Step 2. Identify performance obligations (IFRS 15.22 and 15.27)

The software licence is distinct: the customer can benefit from it on its own (IFRS 15.27(a), the software is functional without customisation), and it is separately identifiable (IFRS 15.27(b), no significant integration or customisation is required). The data migration is distinct: any qualified IT firm could perform it (IFRS 15.27(a)), and it does not significantly modify the licence (IFRS 15.27(b)). The post-implementation support is distinct: it is available from Visser or third-party providers (IFRS 15.27(a)), and it does not modify or customise the software (IFRS 15.27(b)). The on-site training is distinct: the customer can benefit from training using readily available materials (IFRS 15.27(a)), and training does not modify or customise any other deliverable (IFRS 15.27(b)). Result: four distinct performance obligations.

Documentation note

For each promised good or service, record the IFRS 15.27(a) and 15.27(b) assessment with specific facts. Note that the software is functional without customisation (per product documentation) and that migration services are available from third parties (per market analysis of IT service providers in the Netherlands).

Step 3. Determine the transaction price (IFRS 15.47)

The contract states €600K with no variable consideration, no rights of return, no performance penalties, and no significant financing component (all payments due within 12 months of go-live, per the IFRS 15.63 practical expedient). Transaction price: €600K.

Documentation note

Confirm the absence of variable consideration by reviewing the full contract terms. Document the IFRS 15.63 practical expedient application (payment period under 12 months).

Step 4. Allocate the transaction price (IFRS 15.73)

Total standalone selling prices: €610K (€320K + €140K + €90K + €60K). The contract price of €600K is below the sum of standalone prices by €10K. Under IFRS 15.81, allocate proportionally based on relative standalone selling prices.

Licence: (€320K / €610K) x €600K = €315K. Support: (€140K / €610K) x €600K = €138K. Migration: (€90K / €610K) x €600K = €89K. Training: (€60K / €610K) x €600K = €59K.

Documentation note

Record the standalone selling prices with their source (Visser’s published price list for separately sold items). Show the allocation calculation. Cross-check using the ciferi IFRS 15 Revenue Calculator and note any difference. Document the €10K discount allocation basis per IFRS 15.81 (proportional across all obligations).

Step 5. Recognise revenue (IFRS 15.31)

The licence transfers at go-live (point in time, IFRS 15.38, transfer of control when the customer can use and benefit from the licence). Revenue: €315K at go-live. The data migration completes at a point in time (IFRS 15.38, when migration is complete and customer accepts). Revenue: €89K at migration completion. The on-site training completes at a point in time (IFRS 15.38, when the two training days are delivered). Revenue: €59K at training completion. The support is satisfied over time (IFRS 15.35(a), the customer simultaneously receives and consumes the benefits). Revenue: €138K recognised ratably over 12 months (€11.5K per month).

Documentation note

For the licence, confirm go-live date per client sign-off documentation. For migration, confirm completion per acceptance certificate. For training, confirm delivery dates per attendance records. For support, confirm the over-time basis per IFRS 15.35(a) and record the monthly recognition amount.

Conclusion: The entity recognised all €600K at go-live. The correct treatment allocates €315K at go-live (licence), €89K at migration completion, €59K at training delivery, and €138K over 12 months (support). If migration and training completed in the same reporting period, the period-end adjustment is the unrecognised portion of support revenue. A reviewer sees each IFRS 15 step documented with paragraph references, observable standalone selling prices, and a clear reallocation from the entity’s original treatment.

Practical checklist for your current engagement

  1. For every material revenue stream, document which IFRS 15.9 criteria are met and verify the collectability assessment is based on the customer’s ability and intention to pay, not just the entity’s historical collection rate.
  2. For bundled contracts, list every promised good or service and apply IFRS 15.27(a) and 15.27(b) to each one. If the entity treats a bundle as a single performance obligation, challenge whether the IFRS 15.29 indicators genuinely apply.
  3. Search the contract for variable consideration triggers: rebates, penalties, performance bonuses, price concessions, rights of return, volume discounts. If any exist, verify the entity estimated variable consideration per IFRS 15.53 and applied the constraint per IFRS 15.56.
  4. For contracts with multiple performance obligations, verify the standalone selling prices used for allocation per IFRS 15.77 through 15.79. Observable prices take precedence over estimates. If the entity estimated, evaluate the method.
  5. For over-time recognition under IFRS 15.35(c) (no alternative use plus enforceable right to payment), read the termination clause of the contract. If the customer can terminate without paying for work completed, IFRS 15.35(c) may not be met.
  6. Revenue is the financial statement line item with the highest presumed fraud risk under ISA 240.26. Every judgment in the five-step model (performance obligation identification, variable consideration estimation, standalone selling price allocation, over-time versus point-in-time classification) is a potential manipulation point. Document each judgment with enough specificity that a reviewer can see the basis for your conclusion.

Common mistakes

  • Treating a bundled contract as a single performance obligation without applying the IFRS 15.27 distinctness criteria. The AFM’s thematic inspection on revenue recognition noted that insufficient analysis of performance obligations in multi-element arrangements was a recurring deficiency, particularly in IT, construction, and professional services entities.
  • Recognising revenue at a point in time for services that meet the IFRS 15.35(a) over-time criteria. Ongoing maintenance, support, and subscription services where the customer simultaneously receives and consumes benefits should be recognised over the service period, not at inception or completion.

Related content

Related guides:

Put audit concepts into practice with these free tools:

Related products

ISAE 3402 Workbook → · ISA 240 Toolkit →

Get practical audit insights, weekly.

No exam theory. Just what makes audits run faster.

No spam — we're auditors, not marketers.

Frequently asked questions

What are the five steps of the IFRS 15 revenue recognition model?

The five steps are: (1) identify the contract under IFRS 15.9, (2) identify the performance obligations under IFRS 15.22, (3) determine the transaction price under IFRS 15.47, (4) allocate the transaction price to each performance obligation under IFRS 15.73, and (5) recognise revenue when or as each performance obligation is satisfied under IFRS 15.31.

How do you determine if a good or service is a distinct performance obligation?

A good or service is distinct if it meets both criteria in IFRS 15.27: (a) the customer can benefit from it on its own or together with other readily available resources, and (b) the promise to transfer it is separately identifiable from other promises in the contract. IFRS 15.29 provides indicators that promises are not separately identifiable, including significant integration services, significant modification or customisation, and high interdependence.

What is the IFRS 15.56 constraint on variable consideration?

The constraint under IFRS 15.56 requires the entity to include variable consideration in the transaction price only to the extent that it is highly probable that a significant reversal of cumulative revenue will not occur when the uncertainty is subsequently resolved. Factors that increase the likelihood of a reversal include high susceptibility to external factors, long resolution periods, and limited experience with similar contracts.

When is revenue recognised over time versus at a point in time under IFRS 15?

Revenue is recognised over time if the performance obligation meets any of the three criteria in IFRS 15.35: (a) the customer simultaneously receives and consumes the benefits, (b) the entity’s performance creates or enhances a customer-controlled asset, or (c) the entity’s performance does not create an asset with alternative use and the entity has an enforceable right to payment for performance completed to date. If none are met, revenue is recognised at a point in time under IFRS 15.38.

How does IFRS 15 require allocation of the transaction price to multiple performance obligations?

IFRS 15.73 requires allocation based on relative standalone selling prices. The best evidence is an observable price at which the entity sells the good or service separately (IFRS 15.77). If no observable price exists, IFRS 15.79 requires estimation using approaches such as the adjusted market assessment approach or expected cost plus margin approach. Any discount must be allocated proportionally under IFRS 15.81 unless the entity can demonstrate it relates entirely to specific obligations.

Further reading and source references

  • IFRS 15, Revenue from Contracts with Customers: the complete five-step model including implementation guidance and illustrative examples.
  • ISA 240.26: the presumption that revenue recognition is a fraud risk, making every judgment in the IFRS 15 model a potential audit focus area.
  • IFRS 9, Financial Instruments: the ECL assessment on trade receivables that arises after revenue recognition under IFRS 15.
  • Revenue recognition: Ciferi glossary entry covering the IFRS 15 five-step model fundamentals.