Revenue Recognition for SaaS Companies

How IFRS 15 applies to every SaaS contract type — multi-element bundles, setup fees, usage-based pricing, professional services, free trials, discounts, and the judgements that determine when each euro is earned.

IFRS 15 Five Steps Performance Obligations Transaction Price Multi-Element Variable Consideration Disclosures
5 IFRS 15 Steps
POB Perf. Obligation
SSP Standalone Price
Over Time Recognition
Point In Time = Setup
VAR Variable Consid.

5 Key Takeaways From This Page

IFRS 15 applies to all Estonian OÜ using IFRS
IFRS 15 (Revenue from Contracts with Customers) has been effective since 2018 and applies to any Estonian company that reports under IFRS or that has investor or lender requirements specifying IFRS-compliant accounts. It replaced all previous revenue standards with a single comprehensive framework.

Every contract has one or more performance obligations
A performance obligation is a distinct promise to transfer a good or service to a customer. Identifying all the separate promises in a SaaS contract — access to software, setup, support, training, professional services — determines how the total price is split and when each portion is recognised.

Standalone selling price drives allocation
When a contract contains multiple performance obligations, the total transaction price is allocated based on each obligation’s standalone selling price (SSP) — the price the company would charge if it sold that obligation independently. SSP is estimated using observable data where possible.

Over time vs point in time determines recognition timing
Performance obligations are satisfied either over time (continuously, like subscription access) or at a point in time (one-off, like a setup completion or software delivery). These produce fundamentally different revenue timing patterns.

Variable consideration requires constraint analysis
Usage-based pricing, volume discounts, refund rights, and performance bonuses create variable consideration — amounts the company may receive but cannot be certain of. IFRS 15 requires these to be estimated and constrained to amounts unlikely to reverse.

What does IFRS 15 mean for a SaaS company’s revenue recognition? Every contract with a customer must be analysed through the five-step model: identify the contract, identify distinct performance obligations within it, determine the transaction price, allocate the price to each obligation based on standalone selling prices, and recognise revenue as each obligation is satisfied. For most SaaS businesses, the core challenge is handling the mix of subscription access (over time), setup fees (point in time or over time), and variable elements like usage-based pricing. This page works through each scenario in full.

Section 1 — The IFRS 15 Five-Step Model Applied to SaaS

Each step in detail — what it means and how it applies to a typical SaaS contract

1
Identify the Contract
Agreement creating enforceable rights and obligations
2
Identify Performance Obligations
Each distinct promise to transfer goods/services
3
Determine Transaction Price
Amount of consideration expected
4
Allocate Transaction Price
Proportionally based on standalone selling prices
5
Recognise Revenue
When (or as) obligations are satisfied

Transaction Price Allocation — €12,000 Enterprise Contract

SaaS subscription (12 months @ €800/month): SSP €9,600 | Implementation project: SSP €4,800 | Total contract price: €12,000 (discounted from €14,400)

Allocated to subscription: €8,856 (€738/month) | Allocated to implementation: €3,144 (recognised at completion)

Section 2 — Revenue Recognition Timing by Contract Type

Visual timelines showing when different SaaS contract components generate revenue

Revenue Recognition Timeline — Monthly vs Annual vs Multi-Year
Monthly sub (€100): €100/month | Annual sub paid upfront (€1,200): €100/month | Setup fee at delivery (€400): €400 in January2-year contract (€600/year): €50/month
Multi-Element Contract — Revenue Recognition Schedule (12 Months)
Contract: €12,000 total | SaaS subscription allocated €8,856 (€738/month) | Implementation allocated €3,144 (milestone completion)Month 1: €738 | Month 2: €2,310 | Month 3: €2,310 | Months 4–12: €738 each

Section 3 — Setup Fees and Onboarding Revenue

The most commonly mis-recognised element — when setup fees are distinct and when they are not

Simple account creation
Not distinct — spread over subscription term
Manual data migration
Yes — distinct — recognise at completion
Custom configuration
Usually Yes — recognise at substantial completion
Standard onboarding call
No — bundle with subscription

Non-Distinct Setup Fee — Amortisation Example

Setup fee: €500 (bundled) | Monthly subscription: €99 | Expected customer life: 24 months

Monthly amortisation: €20.83 | Total monthly revenue: €119.83

Section 4 — Variable Consideration and Usage-Based Pricing

How to estimate, constrain, and update variable revenue components

Usage-Based Revenue — Practical Approach

Hybrid model (flat fee + overages): Base subscription: €299/month (recognise each month) | Overage: €0.05/call above 5,000

March actual calls: 8,200 = 3,200 overage | March revenue: €299 + €160 = €459

Section 5 — Multi-Year Contracts and Significant Financing

When long-term contracts contain a financing component — and how to account for it

Monthly rolling contract — Month by month — No deferred revenue
Annual contract, upfront payment — €1,200 ÷ 12 = €100/month
2-year contract, upfront payment — Total ÷ 24 months

Section 6 — Free Trials, Discounts, and Promotional Pricing

How to handle revenue recognition when the commercial price is not what it appears

Free Trial Periods

Unconditional free trial: no contract during trial — revenue begins at conversion

Trial with credit card auto-convert: contract exists from sign-up — constrain revenue to zero during trial

Section 7 — Journal Entries for Common SaaS Revenue Scenarios

The complete accounting entries for the scenarios most SaaS companies encounter

Scenario A — Monthly Subscription, Payment and Recognition in Same Month
DR Cash €199.00 / CR Revenue — Monthly Subscriptions €163.11 / CR VAT Payable €35.89
Scenario B — Annual Subscription, Upfront Payment
DR Cash €2,388 / CR Deferred Revenue €1,956.56 / CR VAT Payable €431.44Monthly release: DR Deferred Revenue €163.05 / CR Revenue €163.05
Scenario C — Multi-Element: Subscription + Implementation
DR Cash €12,000 / CR Deferred Revenue — Subs €8,856 / CR Deferred Revenue — Implementation €3,144Implementation at 50%: DR Deferred Revenue €1,572 / CR Revenue €1,572

Frequently Asked Questions

For an unconditional free trial — where the customer can cancel at any time with no charge — no contract exists during the trial period and no accounting entries are required. When the customer converts to paid at day 15, the contract begins and you post the first month’s revenue recognition. The trial is a marketing and sales activity, not a revenue transaction. If the trial requires a credit card and the customer is charged automatically unless they cancel, a conditional contract exists from sign-up — in this case, constrain the revenue to zero during the trial (high probability of cancellation), and recognise from the first confirmed payment date. Keep the accounting simple: the materiality of recognising small amounts during the trial period is negligible for most companies.

When the customer cancels and the no-refund clause means they will not receive the remaining €10,000 of services, you have a choice of accounting treatments depending on the contract terms. If the cancellation terminates the performance obligation (you are no longer required to provide access), and the no-refund clause entitles you to keep the full payment, the remaining deferred revenue (approximately €10,000 for the last 10 months) is recognised immediately at the point of cancellation — you have earned it through the contractual right to payment without further performance obligation. Journal: DR Deferred Revenue (remaining balance) / CR Revenue. If the customer retains access until the end of the contracted period (service continues), recognise monthly as normal until the contracted end date — even though you know they will not renew.

Yes — you need to assess whether the premium support is a distinct performance obligation. Premium support is typically distinct: it is a separately identifiable service (the customer could buy support separately), and the customer can benefit from it independently. With two distinct obligations, you should allocate the €400 transaction price in proportion to standalone selling prices. If you sell support at €120/month standalone and SaaS at €300/month standalone, the allocation would be: SaaS = €400 × (300/420) = €286, Support = €400 × (120/420) = €114. Both are recognised over time, so in this case the practical effect on total monthly revenue is the same (€400) — but the split matters for product-level gross margin reporting and for any scenario where the two obligations are satisfied in different periods.

Almost certainly not — but the answer depends on whether the setup is distinct. Ask: can the customer independently benefit from the setup work without the ongoing subscription? For most SaaS setups (account configuration, data import, preferences), the customer cannot — the setup has no standalone value without the subscription access. This means the setup fee is not a distinct performance obligation and must be bundled with the subscription. The €2,000 is then recognised over the expected customer life — if you expect customers to stay for 24 months on average, the setup fee contributes €83.33/month to revenue over 24 months on top of the subscription revenue. Only if the setup genuinely creates a distinct, transferable deliverable (a configured system the customer could take elsewhere) should it be recognised at completion.

This is a hybrid model with a fixed floor and variable ceiling. The fixed minimum is recognised each month regardless of usage — it is a certain amount you are entitled to. The overage above the minimum is variable consideration recognised in the month the usage occurs, using the practical expedient of recognising what you are entitled to invoice in arrears. In months where usage does not exceed the minimum: recognise the minimum only. In months where usage billing exceeds the minimum: recognise the usage amount (which automatically exceeds the minimum). Never recognise less than the minimum in any given month. At contract inception, you have a minimum obligation: your total consideration over the contract term is at least the minimum × contract months, with upside from usage. Report the minimum portion as fixed revenue and the overage as variable revenue — which matters for investor reporting and gross margin analysis.

Revenue recognition getting complex as your SaaS scales?

Book a free 30-minute consultation. We review your contract types, build your IFRS 15 recognition policies, and ensure your revenue accounting is investor-ready and audit-proof.

companyforbusiness.ee →