Skyline Nexus ERP Skyline Nexus ERP
IFRS

IFRS 15 revenue recognition: the five-step model

IFRS 15 step by step: contracts, performance obligations, variable consideration, allocation, timing and principal vs agent, with EUR and CAD examples.

Last reviewed 13 min

What IFRS 15 is and why it matters

IFRS 15 Revenue from Contracts with Customers is the IFRS standard that decides when revenue is recognised and how much. It applies one five-step model to every contract with a customer: identify the contract, identify the performance obligations, determine the price, allocate it, and recognise revenue as each obligation is satisfied. It matters because revenue is the largest number in most accounts and the most frequent source of audit adjustments.

IFRS 15 has applied to annual periods beginning on or after 1 January 2018 and replaced IAS 18, IAS 11 and several interpretations. The core principle is that revenue depicts the transfer of promised goods or services to customers in an amount that reflects the consideration the entity expects to be entitled to. Control, not risks and rewards, is the test. The IASB's post-implementation review, concluded in September 2024, found the standard working as intended, so the model is stable. Leases (IFRS 16), insurance contracts (IFRS 17) and financial instruments (IFRS 9) are outside its scope.

Step 1: identify the contract

A contract can be written, oral or implied by customary business practice, but IFRS 15 applies only when five criteria are all met: the parties have approved the contract and are committed to it, each party's rights are identifiable, the payment terms are identifiable, the contract has commercial substance, and it is probable that the entity will collect the consideration it is entitled to. If collection is not probable, cash received is a liability until the criteria are met or the contract ends.

Two further questions belong to step 1. Contracts entered into at or near the same time with the same customer are combined when they were negotiated as a package or their prices depend on each other. A contract modification, such as extra scope or a price change, is either accounted for as a separate new contract (when it adds distinct goods at their standalone price), as the end of the old contract and the start of a new one, or as a cumulative catch-up to the existing contract.

Step 2: identify the performance obligations

A performance obligation is a promise to transfer a distinct good or service, or a series of substantially the same distinct services with the same pattern of transfer, such as monthly cleaning. A good or service is distinct when the customer can benefit from it on its own or with readily available resources, and when the promise is separately identifiable in the context of the contract. It is not separately identifiable when the entity integrates it with other items into a combined output, significantly modifies or customises it, or when the items are highly interdependent.

Hidden obligations are where errors start. A warranty that only assures the product meets agreed specifications is an assurance-type warranty and is provided for under IAS 37; an extended warranty or one that adds a service is a separate obligation. An option to buy future goods at a discount the customer would not otherwise get is a material right and takes part of today's price. Free installation, training or support promised in a proposal is an obligation even if the invoice does not list it.

Step 3: determine the transaction price

The transaction price is the consideration the entity expects to be entitled to, excluding amounts collected for third parties such as VAT, GST or sales tax. Four adjustments can move it away from the invoice amount:

  • Variable consideration: rebates, discounts, penalties, bonuses and rights of return are estimated using the expected value (probability-weighted, suited to many similar contracts) or the most likely amount (suited to a binary outcome such as hitting a volume threshold).
  • The constraint: variable consideration is included only to the extent it is highly probable that a significant reversal of cumulative revenue will not occur when the uncertainty resolves. It is reassessed at every reporting date.
  • Significant financing component: when payment timing gives the customer or the entity a significant financing benefit, the price is adjusted for the time value of money. A practical expedient removes this when the gap between transfer and payment is one year or less.
  • Non-cash consideration is measured at fair value, and consideration payable to the customer, such as listing fees or coupons, reduces revenue unless it pays for a distinct good or service.

Step 4: allocate the transaction price

The price is allocated to each performance obligation in proportion to its standalone selling price, the price at which the entity would sell that item separately. The best evidence is an observable price in separate sales. Without one, the entity estimates it using an adjusted market assessment, an expected cost plus a margin, or, only in limited cases where prices are highly variable or uncertain, the residual approach.

A bundle discount is spread across all obligations in proportion unless observable evidence shows it relates to only some of them. Variable consideration can likewise be allocated entirely to one obligation, such as a usage fee that relates only to the service period in which the usage occurs. Getting the standalone prices documented once, in a price list or policy, saves re-arguing them on every contract.

Step 5: over time or at a point in time

An obligation is satisfied over time if any one of three criteria is met: the customer simultaneously receives and consumes the benefits as the entity performs (support, cleaning, payroll processing); the entity's work creates or enhances an asset the customer controls as it is created (building on the customer's land); or the work creates an asset with no alternative use to the entity and the entity has an enforceable right to payment for performance completed to date (custom-built equipment). Progress is measured with an output method, such as milestones or units delivered, or an input method, such as costs or hours incurred relative to the total expected.

Everything else is recognised at the point in time when control passes. Indicators include a present right to payment, legal title, physical possession, the significant risks and rewards of ownership, and customer acceptance. Delivery terms matter: under an Incoterm where control passes on shipment, revenue is recognised on shipment even if the goods arrive after the year end.

Worked example: a software bundle across a quarter

On 1 July 2026 Helix Software Ltd, an Irish company, signs a contract with a customer for EUR 90,000: a perpetual licence, implementation services that do not significantly modify the software, and twelve months of support. Standalone prices are licence 60,000, implementation 20,000 and support 20,000, a total of 100,000, so the 10 percent bundle discount is spread in proportion: licence 54,000, implementation 18,000, support 18,000. Half the price is invoiced on signing and half at go-live. Irish VAT at 23 percent is charged on each invoice.

The licence key is delivered on 1 July, so the licence is recognised at that point. Implementation is recognised over time on hours: 300 of 400 budgeted hours are worked by 30 September, 75 percent of 18,000 is 13,500. Support is recognised evenly: three of twelve months, 4,500. Revenue for the quarter is 54,000 + 13,500 + 4,500 = 72,000, while only 45,000 has been invoiced, so the entity holds a contract asset of 27,000: a right to consideration that depends on reaching go-live, not only on the passage of time.

  • 1 July, licence delivered and first invoice issued: Dr Trade receivables 55,350 / Dr Contract asset 9,000 / Cr Revenue 54,000 / Cr VAT payable 10,350.
  • Quarter to 30 September, implementation and support: Dr Contract asset 18,000 / Cr Revenue 18,000.
  • Contract asset at 30 September: 9,000 + 18,000 = 27,000. It becomes a receivable when the go-live invoice is issued; any billing ahead of performance after that point is a contract liability.
  • VAT follows the invoice and its tax point, not the revenue pattern, which is why VAT on 45,000 is payable while revenue is 72,000.

Worked example: a volume rebate

Prairie Supply Inc., a Canadian distributor, sells a part at CAD 50 per unit. If a customer buys more than 10,000 units in the calendar year, the price for every unit that year falls to CAD 45. In the first quarter the customer takes 3,000 units and forecasts 12,000 for the year. The outcome is binary, so the most likely amount method applies, and the forecast makes 45 the most likely price. Recognising 45 also passes the constraint, because 45 is the lowest price the customer can end up paying, so no significant reversal can follow. GST and HST are omitted to keep the entries on the point.

By the end of the third quarter demand has collapsed: cumulative purchases are 7,000 units (3,000 + 2,000 + 2,000) and the forecast is 9,000, below the threshold. The estimate is updated with a cumulative catch-up in the period the estimate changes.

  • Each quarter, invoiced at 50 but recognised at 45. First quarter: Dr Trade receivables 150,000 / Cr Revenue 135,000 / Cr Refund liability 15,000.
  • Refund liability built up by the end of the third quarter: 7,000 units x 5 = 35,000.
  • Third quarter reassessment, rebate no longer expected: Dr Refund liability 35,000 / Cr Revenue 35,000.
  • The constraint cuts one way: even in a year where 50 per unit looked likelier, uncertain volumes would still limit revenue to 45 per unit until it was highly probable the threshold would be missed, because recognising 50 too early risks a significant reversal.

Principal or agent

When another party is involved in providing the goods or services, the entity must decide whether it controls each specified good or service before it is transferred to the customer. If it does, it is a principal and reports gross revenue; if not, it is an agent and reports only its commission or fee. Indicators of control are primary responsibility for fulfilling the promise, inventory risk before or after transfer, and discretion in setting the price.

An online marketplace illustrates the difference. A third-party seller lists a product at EUR 200 and the platform keeps a 15 percent commission, remitting 170. If the seller sets the price, holds the stock and handles defects, the platform is an agent: revenue 30. If the platform buys the stock, sets the price and takes returns, it is a principal: revenue 200 and cost of sales 170. Gross profit is 30 either way, but revenue differs almost sevenfold, which changes every margin ratio and any revenue-based covenant or threshold.

Contract costs, returns and other traps

IFRS 15 also governs costs. Incremental costs of obtaining a contract, typically sales commissions, are capitalised if the entity expects to recover them and amortised in line with the transfer of the related goods or services; a practical expedient allows them to be expensed when the amortisation period would be one year or less. Costs to fulfil a contract are capitalised only if they relate directly to the contract, generate resources used in future performance and are expected to be recovered. The situations below are the ones auditors test most often:

  • Right of return: recognise revenue only for goods not expected to be returned, a refund liability for the rest, and an asset for the right to recover the goods at their former carrying amount less recovery costs.
  • Bill-and-hold: revenue at invoice only if the customer requested the arrangement, the goods are identified separately, ready for transfer and cannot be used or sent to another customer.
  • Consignment: goods placed with a dealer who has not obtained control stay in the seller's inventory, and no revenue is recognised until the dealer sells them or control otherwise passes.
  • Licences: a right to access intellectual property as it changes is recognised over time; a right to use it as it exists is recognised at a point in time. Sales- or usage-based royalties are recognised only when the sale or usage occurs.
  • Customer acceptance clauses: if acceptance is more than a formality, revenue waits for acceptance.
  • Disclosure: disaggregate revenue into categories that show how economic factors affect it, reconcile contract balances, and disclose the transaction price allocated to remaining performance obligations.

Doing this in Skyline Nexus ERP

In Skyline Nexus ERP the point-in-time side of IFRS 15 is carried by the sales documents. Drafts, quotations and proformas do not post; a final sale posts Dr Accounts Receivable, Cr revenue and Cr VAT Output as a background job once Auto-post Sales Transactions is switched on under Fiscal Authority > Settings. Each product category can carry its own GL Sales Account, so revenue is split by category in the ledger, a practical starting point for the IFRS 15 disaggregation note. A sales return is a credit note and, with sales auto-posting on, reverses the revenue, VAT and cost of sales. Our guide on automatic journal entries in Skyline Nexus ERP lists every document that posts and the accounts it hits.

Over-time recognition, contract assets, contract liabilities and rebate refund liabilities are recorded in Skyline Nexus through Fiscal Authority > Journal Entries > New Journal Entry, from a schedule kept alongside the contract. Each entry must balance, can carry a project and a cost centre on every line to track a contract's balances, and follows the approval workflow when its amount reaches the configured Approval Threshold. Keep the allocation, progress and rebate calculations in a working paper referenced in the journal's Description.

Related guides

Revenue connects to receivables, currency and presentation. These guides continue from here.

  • What is IFRS: the framework, who must use it and a map of the standards.
  • IFRS 9 expected credit losses: the loss allowance on the receivables and contract assets created above.
  • IAS 21 foreign currency accounting: invoicing in a currency other than your own.
  • IFRS 18 presentation and disclosure: where revenue and related items sit in the new income statement.
  • Accrual versus cash basis accounting: why revenue and cash receipts fall in different periods.
  • CRM that ends in the ledger: the quote, order, invoice and receipt chain behind every contract.
  • How to record a sale: the sales document and what it posts in Skyline Nexus ERP.

Common questions

What are the five steps of IFRS 15?

The five steps of IFRS 15 are: identify the contract with the customer; identify the performance obligations in the contract; determine the transaction price; allocate the transaction price to the performance obligations by relative standalone selling price; and recognise revenue when or as each performance obligation is satisfied, either over time or at a point in time when control of the good or service passes to the customer.

What is a performance obligation under IFRS 15?

A performance obligation under IFRS 15 is a promise in a contract to transfer a distinct good or service, or a series of substantially the same distinct services, to the customer. A good or service is distinct when the customer can benefit from it on its own or with readily available resources and the promise is separately identifiable within the contract, rather than an input to a combined output.

What is the difference between a contract asset and a receivable?

A contract asset is a right to consideration for goods or services already transferred that is conditional on something other than the passage of time, such as completing the next milestone. A receivable is an unconditional right to consideration, where only time must pass before payment is due. A contract asset becomes a receivable when the condition is met, usually when the entity is entitled to invoice.

How do you account for variable consideration under IFRS 15?

Variable consideration under IFRS 15 is estimated using either the expected value or the most likely amount, whichever better predicts the outcome, and is then included in the transaction price only to the extent that it is highly probable a significant reversal of revenue will not occur. Variable consideration is reassessed at each reporting date, with changes recognised as a cumulative catch-up.

When is revenue recognised over time under IFRS 15?

Revenue is recognised over time under IFRS 15 when the customer simultaneously receives and consumes the benefits as the entity performs, when the entity's performance creates or enhances an asset the customer controls, or when the performance creates an asset with no alternative use and the entity has an enforceable right to payment for work completed to date. Otherwise revenue is recognised at a point in time.

How do you decide whether you are a principal or an agent under IFRS 15?

The principal or agent decision under IFRS 15 turns on whether the entity controls the specified good or service before it is transferred to the customer. Indicators of control include primary responsibility for fulfilment, inventory risk and discretion over price. A principal recognises gross revenue and the related cost; an agent recognises only its commission or net fee as revenue.

Is VAT included in revenue under IFRS 15?

VAT is not included in revenue under IFRS 15, because the transaction price excludes amounts collected on behalf of third parties, and output VAT, GST and sales taxes are collected on behalf of tax authorities. VAT is recorded as a liability when the invoice or tax point arises, which can fall in a different period from the revenue recognised on the same contract.

This guide is general information, not tax, accounting or legal advice. Rules differ from country to country and change over time; confirm the current position with your tax authority or a qualified adviser before acting on anything here.

Ready to run your operation on a single workspace?

Talk to us about your business

Tell us what you run and we will come back with a straight answer about fit, timeline and price.

No card, no obligation. We reply within one business day.