AASB 15 revenue recognition for SaaS, in plain English

Michael Dean
Sales and Marketing Director
Tax Compliance Solutions
Financial Reporting
Accounting Best Practices

AASB 15 is Australia's adoption of IFRS 15, and it is functionally equivalent to ASC 606 in the United States. If you sell software subscriptions, it governs when you are allowed to call cash revenue — and for most SaaS businesses, the answer is "not when you invoiced".

This is a working explanation for finance teams, not a technical accounting paper. Your auditor is the authority on your specific contracts.

The five-step model

AASB 15 uses a single framework for all revenue contracts.

Step 1: Identify the contract. An agreement with enforceable rights and obligations, where collection is probable. For SaaS this is usually the order form plus the master agreement — read together, not separately.

Step 2: Identify the performance obligations. What have you actually promised? A distinct promise is one the customer can benefit from on its own. A software subscription is typically one performance obligation delivered over time. Implementation, training, premium support and professional services may be separate ones — or may not, depending on whether the customer could obtain them elsewhere.

Step 3: Determine the transaction price. The consideration you expect to be entitled to. Variable consideration — usage overages, volume rebates, service credits — has to be estimated and constrained so that a significant reversal is not probable.

Step 4: Allocate the price to the performance obligations. Based on standalone selling price. If you discount a bundle, the discount is generally allocated proportionally across obligations rather than assigned to whichever one is convenient.

Step 5: Recognise revenue as obligations are satisfied. Over time for a subscription; at a point in time for something delivered once.

Where SaaS contracts get complicated

Implementation fees. A common instinct is to recognise a setup fee immediately because the work is done. Often that is wrong. If the implementation is not distinct — if the customer cannot benefit from it without the subscription, and nobody else could provide it — it is not a separate performance obligation, and the fee is generally recognised across the subscription term.

Multi-year deals with uplifts. A three-year contract at increasing annual prices is not necessarily three annual revenue figures. If it is a single performance obligation delivered evenly, the total transaction price may be recognised rateably across the whole term — which produces a different revenue number from the invoice in years one and three.

Usage-based components. Variable consideration is estimated and constrained, unless it qualifies for the variable consideration allocation exception. This is genuinely difficult and worth getting advice on.

Free periods and pilots. A "free" first month inside a twelve-month contract is usually a discount on the whole arrangement, not a month of zero revenue.

Contract costs. Sales commissions directly attributable to obtaining a contract are generally capitalised and amortised over the expected benefit period, which may be longer than the initial term if renewals are likely.

Why this breaks spreadsheets

Every one of those situations is manageable in Excel for a handful of contracts. The difficulty is that they compound.

A single customer might have an initial contract, a mid-term seat expansion, a usage overage in month seven, a renewal at a different rate, and a partial credit for an outage. Each event changes the schedule. In a spreadsheet, each event is a manual adjustment somebody has to remember to make, in two places, correctly.

Across four hundred customers, that is not a process. It is an accumulating liability, and it typically surfaces during your first serious audit.

This is the specific problem revenue recognition automation solves: the schedule is derived from the contract record, so when the contract changes, the schedule changes with it — with the working retained for the auditor.

The practical test for your own numbers

Three questions worth asking this month:

  • Does your deferred revenue balance reconcile to your open contracts? Every dollar of deferred revenue should trace to a remaining obligation. If the total does not tie, something has drifted.
  • Can you produce the revenue schedule for any single customer in under a minute? If it takes an hour of spreadsheet archaeology, your auditor will ask for a sample of forty.
  • Does your ARR reconcile to your recognised revenue? It will not be equal — they measure different things — but you should be able to explain the bridge. If you cannot, one of the two numbers is wrong.

Where Cynder fits

We configure Campfire's revenue engine against real contract populations for ANZ finance teams — which in practice means reading the contracts, agreeing the performance obligation treatment with your auditor, and building the configuration to match rather than forcing contracts into a template.

If your revenue schedule currently lives in a spreadsheet and you are heading towards an audit or a raise, that is a good conversation to have early. You can also read how we approach implementation.