Blog
→
AI Spend Management
October 21, 2026

SaaS revenue recognition explained

Written by:
Christophe Sion
CEO
Learn when SaaS revenue is recognized, how ASC 606 and IFRS 15 work, common contract examples, deferred revenue, and process pitfalls.
Share on XShare on LinkedInShare on FacebookShare by email
In this article
Ready to get started?
Get full visibility into your spend in minutes.
Get started for free

SaaS revenue recognition explained

SaaS revenue is recognized when you deliver the service or provide access, not when the customer prepays the invoice. That is the core rule. The complexity starts when contracts mix subscriptions, onboarding, usage fees, discounts, credits, and mid-term changes. Under ASC 606 (the US accounting standard for revenue) or IFRS 15 (its international equivalent, used for listed companies in the EU), all of that has to flow through the same logic. Many private European startups report under local accounting rules instead, but follow the same logic because investors and auditors expect it. Below, you will get the five-step framework in plain English, practical contract examples, and the controls that keep month-end manageable.

Why cash in the bank is not SaaS revenue yet

Revenue recognition answers a simple question: when has your company actually earned the revenue? In SaaS, that moment is often different from the invoice date or the day cash lands in the bank. If a customer prepays for a 12-month subscription, you have the cash today, but you are still delivering the service month by month. Until that service period passes, the undelivered portion typically sits as deferred revenue, a liability, not earned revenue.

This timing gap matters more as a SaaS business grows. It affects reported revenue, gross margin analysis, forecasts, covenant reporting, and board numbers. It also shapes how investors read the business. A strong cash month can look great operationally, but if finance recognizes it too early, the P&L stops reflecting what the company actually delivered.

What ASC 606 and IFRS 15 actually ask you to do

ASC 606 and IFRS 15 were built to make revenue reporting more consistent and less arbitrary. The practical principle is straightforward: recognize revenue when promised goods or services are transferred to the customer, in the amount you expect to be entitled to receive.

For SaaS companies, that means contracts should follow the same high-level logic whether you report under US GAAP or IFRS. The labels may differ around the edges, but the engine is the same. Finance teams care because clean policies reduce rework. Founders care because reported performance becomes easier to explain when managing startup finances. Investors care because the numbers are more comparable and more defensible.

The 5 ASC 606 steps, in plain English

SaaS revenue recognition becomes much easier when you treat it as a repeatable workflow. These are the five steps finance teams keep coming back to:

  1. Identify the contract. Confirm there is a real agreement, whether that comes through an order form, online checkout, renewal, or amendment.
  2. Identify the performance obligations. Break the deal into the distinct promises you made, such as platform access, onboarding, training, or support.
  3. Determine the transaction price. Work out what you actually expect to receive after discounts, credits, rebates, and variable usage-based amounts.
  4. Allocate the price. Split the contract value across the promised items using a consistent standalone selling price approach.
  5. Recognize revenue as you perform. Record revenue when each promised service is delivered, often over time for SaaS access and on a different timing basis for other items.

Step 1: Lock down the contract

Before you recognize anything, you need a valid contract for accounting purposes. That means the agreement is approved, the rights of both parties are clear, payment terms can be identified, and collection is expected to be likely enough to support recognition. In SaaS, contracts do not live only in signed PDFs. They can come through checkout pages, click-through terms, renewal notices, and amendments. Upgrades, downgrades, add-ons, and auto-renewals can all change the accounting facts and trigger reassessment.

Step 2: Split out the performance obligations

This is where finance looks past the headline package price and asks what the customer was actually promised. A SaaS contract may include platform access, setup, training, support, or consulting. Some of those promises are distinct. Some are not. The reason this step matters is timing. If different obligations are separate, they may recognize on different schedules. A bundled deal that looks simple to sales can create several revenue streams in the accounting layer.

Step 3: Set the transaction price

The transaction price is the amount you expect to receive under the contract after considering discounts, service credits, rebates, refunds, and other variable items. This is where SaaS gets more interesting than a one-time sale. Usage-based pricing, incentive credits, or refund exposure can all make the final amount uncertain. The key is consistency. Finance needs a documented estimation method and appropriate constraint, not an optimistic assumption that pulls revenue forward before the uncertainty is resolved. AI features priced on usage add a second layer: the same usage that drives revenue also drives AI cost. Tracking AI cost per customer next to revenue, as Husk does, shows whether usage-based deals stay profitable once the revenue is recognized.

Step 4: Allocate the price across what you promised

Once the total contract price is set, you allocate it across the identified obligations based on standalone selling prices. That is where bundled SaaS deals become real accounting work. A subscription sold with onboarding, implementation, or premium support may not all recognize on one line and one date. The allocation logic needs to be documented, supportable, and applied consistently across similar contracts. If not, two similar deals can produce two very different revenue outcomes.

Step 5: Recognize revenue as you deliver

This is the moment the earlier judgments hit the P&L. Ongoing SaaS access is typically recognized over time because the customer receives and consumes the service as it is provided. Other deliverables may recognize at a point in time or based on milestones, depending on the contract and the nature of the promise. The invoice date is not the driver. Delivery is. That is also why deferred revenue gradually unwinds into recognized revenue as performance happens.

Performance obligations: the split that changes everything

In SaaS, performance obligations are often the judgment call that drives the whole result. The practical test is simple. Can the customer benefit from the item on its own, or together with other readily available resources? And is that item separately identifiable in the contract, rather than tightly integrated with other promises?

Software access is often one clear obligation. But setup, training, migration, support, custom work, or consulting may or may not be distinct. Standard support might just be part of the subscription. A deeply integrated implementation might not stand on its own. A separate training package often does. That split matters because it changes allocation, timing, deferred revenue tracking, and audit support. Gray areas usually show up in bundled offers, interdependent services, and modified contracts that evolve over the customer lifecycle.

How common SaaS contracts and deferred revenue get recognized

Here is a quick sanity check for common deal types. Pure SaaS access usually recognizes over the service period. License and service components can follow different timing rules, which is why deferred revenue needs to be tracked at the obligation level.

Annual prepaid subscription
Recognition: over the subscription term, often ratably (in equal monthly amounts) if service is delivered evenly.
What stays deferred: the undelivered portion of the prepaid term.

Subscription plus onboarding
Recognition: subscription access recognizes over time. Onboarding recognizes when delivered only if it is distinct; otherwise it follows the related service period.
What stays deferred: prepaid subscription amounts and any non-distinct onboarding element, until earned.

Usage-based pricing
Recognition: as usage occurs, or as the variable consideration becomes supportable under the contract facts.
What stays deferred: amounts billed ahead of service, if any, until the underlying usage or service occurs.

Upgrade or downgrade mid-term
Recognition: treated as a contract modification. Recognition may be prospective or may require a catch-up adjustment, depending on whether the added goods or services are distinct.
What stays deferred: any remaining prepaid balance for undelivered service.

Add-on services, training, or consulting
Recognition: distinct services usually recognize when delivered or over the service period. If not distinct, they are combined with the main obligation.
What stays deferred: prepayments, until the related service is performed.

Perpetual license with maintenance
Recognition: the license may recognize at a point in time when control transfers, while maintenance recognizes over the support term.
What stays deferred: the maintenance and any undelivered service component.

Software development work
Recognition: depends on the contract. It may recognize over time if the criteria are met, or at delivery or milestones if they are not.
What stays deferred: prepayments, until the relevant performance is delivered.

Recognized revenue is not ARR, bookings, or Rule of 40

SaaS companies track several financial and operating metrics at once to generate better financial insights. They are useful, but they are not interchangeable:

  • Recognized revenue is the accounting number that hits the income statement when performance occurs.
  • Cash collected is a liquidity metric. It tells you when money arrived, not when it was earned.
  • Bookings measure contracted value. They can lead recognized revenue by months or years.
  • ARR and MRR are operating metrics for recurring run rate. They are not revenue recognition rules.
  • Most SaaS companies make money through four broad revenue types: subscriptions, usage-based fees, services such as implementation or consulting, and licenses or maintenance where relevant.
  • Rule of 40 is a growth-and-profitability benchmark. It says nothing about when revenue should be recognized.

Where SaaS revenue recognition usually breaks

Problems usually start small, then show up all at once during close, audit prep, or diligence. Common break points include:

  • Inconsistent contract language, where sales terms, order forms, and finance policies do not describe the same promises.
  • Bundles and discounts that were sold commercially but never translated into clear accounting allocations.
  • Usage-based pricing and credits that are tracked loosely, which makes variable consideration hard to support.
  • Upgrades, downgrades, renewals, and add-ons that change the contract economics without a clear modification workflow.
  • Weak evidence of delivery, especially for onboarding, services, milestones, or acceptance-based work.
  • Mismatches across CRM, billing, ERP, and spreadsheets, which create broken schedules and unreliable deferred revenue balances.
  • Thin documentation, missing approvals, and poor support for judgments around performance obligations and standalone selling prices.

How to tighten the process before month-end gets messy

Good revenue recognition is not just an accounting memo. It is an operating process. The cleanest SaaS teams usually do a few things consistently:

  • Write a clear revenue recognition policy that maps common contract types, modification scenarios, and material judgments back to ASC 606 or IFRS 15.
  • Build a contract review workflow so finance sees unusual terms, discounts, credits, service promises, and renewal mechanics before deals go live.
  • Assign ownership across sales, finance, and operations. Someone should own contract setup, someone should own billing accuracy, and someone should own close review.
  • Reconcile billing, accounting, payroll, and spend data regularly. Clean handoffs matter more than heroic clean-up work at month-end.
  • Once contract volume or pricing complexity grows, use dedicated revenue recognition tooling that connects to your accounting system to reduce manual error and strengthen the audit trail.
  • Keep the wider finance stack disciplined. Whatever tools your team uses, rev rec will only stay clean if the source contract, billing, and reconciliation data is clean first.

‍

Same model, different bill: direct APIs, clouds and routers

The same model can produce a different bill depending on where you buy it, because LLM pricing is several markets stacked on top of each other: model makers selling direct, managed cloud platforms, routing services and hosts that run open models. Each route changes how pricing, access and governance work.

Common buying routes

  • Direct provider API: best for access to the newest models, simpler pricing and fast experimentation. Total cost can rise through separate billing per vendor, fewer controls across providers and no built-in backup if one vendor fails.
  • Managed cloud platform: best for enterprise procurement, control over where data is processed, security and governance. Total cost can rise through platform-specific pricing, regional price differences and possible markup.
  • Router or marketplace: best for switching models quickly, one connection to many vendors and automatic fallback. Total cost can rise through markup, different rounding and extra monitoring or routing fees.
  • Open-model hosting provider: best for low token prices on selected workloads and a wide choice of models. Total cost can rise through uneven quality, missing features and host-specific limits.
  • Self-hosted open models: best for predictable high volume and heavy customization. Total cost can rise through hardware costs, servers sitting idle, engineering time and responsibility for uptime.

Direct provider APIs

Direct APIs are usually the cleanest place to start a comparison. Pricing is easier to read, new models arrive there first, and there is no extra commercial layer between you and the model maker. For testing the newest models or moving quickly, this route gives the clearest view of raw model economics.

Managed cloud platforms

Azure, AWS Bedrock, Vertex AI and similar platforms add considerations beyond price. A company may accept a higher rate because the route fits its procurement process, regional deployment, data-handling policy, network setup or existing cloud commitments, such as an annual spend already agreed with AWS. For many finance and compliance teams that trade-off makes sense, as long as it is measured explicitly.

You deserve
financial clarity.
Get full visibility into your company’s finances in minutes.
Get started for free