Corviniti/Services/Software & SaaS Revenue Recognition

Services / Technical Accounting / Software Revenue

Software & SaaS Revenue Recognition

Revenue for software and SaaS under ASC 606: whether you sold a license or a service, how many promises are in the contract, and the timing that follows from each.

Or call (347) 472-1115

Ro Sokhi, CPA, founder of Corviniti, advising on software revenue recognition
Ro Sokhi Founder and CEO, Corviniti
In the press
Overview

What ASC 606 requires of a software contract

Key takeaways
  • What it is. ASC 606 applies the five-step model to software and SaaS, but two questions set the outcome: is the arrangement a license the customer can possess or a hosted service it only accesses, and how many distinct promises the contract contains.
  • Where it breaks. Term licenses recognized ratably when they belong at a point in time, implementation and services bundled or split wrong, usage fees estimated when the invoice already answers it, and commissions expensed when they should be capitalized.
  • How we help. We classify the arrangement, count the performance obligations, set the allocation and timing, and document the positions your auditors test, including the ASC 340-40 cost analysis.

Software revenue is where ASC 606 gets specific. A perpetual license, a term license, and a SaaS subscription can carry the same price in a price book and recognize completely differently: one at a point in time, one over a period, one ratably as a service. The classification is not a formality, it is the single biggest driver of when revenue lands, and it is the first thing an auditor or an SEC reviewer tests.

This page covers the questions that decide software revenue, from the license-versus-service line through the performance-obligation count to the variable consideration and cost questions around them. The general five-step model lives on our ASC 606 revenue recognition page; here we go deep on how it applies to software and SaaS.

The question

Software license versus SaaS service: the possession test

The single test that sets the timing: can the customer take possession of the software and run it on its own or a third party's hardware, at any time during the term, without a significant penalty? If yes, the arrangement is a software license, and functional IP recognizes at a point in time, when the customer can first use it. If no, it is a SaaS service, recognized over the term. Hybrid deals carry both promises. We run the test on the actual contract terms and document the conclusion.

ASC 606 software possession test: if the customer can take possession and run the software itself without significant penalty it is a license recognized at a point in time, otherwise it is a SaaS service recognized over the term.
The possession test that decides license versus service. Illustrative and not exhaustive.
Performance obligations

Performance obligations in a software contract

A software order is rarely one promise. The subscription or license, implementation, professional services, support, specified upgrades, usage fees, and renewal rights each get tested for whether they are distinct, and each carries its own timing. Getting the count right is what sets the allocation and the revenue pattern, and it is where software revenue most often goes wrong. We write the obligation inventory per product and keep it current as packaging changes.

A software or SaaS contract unbundled into performance obligations under ASC 606: hosted subscription, implementation, professional services, maintenance and support, specified upgrades, usage fees, and renewal material rights, each with whether it is distinct and its timing.
A typical software deal, unbundled into its performance obligations. Illustrative and not exhaustive.
Judgment

Usage pricing, term licenses, and ASC 340-40 commissions

Three judgments decide most software revenue. Usage-based fees are variable consideration, but the right-to-invoice expedient lets you recognize what you can bill when it matches the value delivered, instead of estimating the whole contract. A term license of functional software front-loads: it recognizes at a point in time, at the start of the term, not ratably. And sales commissions are an asset under ASC 340-40, capitalized and amortized over the expected customer relationship, not expensed as paid.

The recurring software revenue judgments under ASC 606: usage-based pricing and the right-to-invoice expedient, term licenses recognized at a point in time, and sales commissions capitalized under ASC 340-40.
The judgments that decide the timing and the cost side. Illustrative and not exhaustive.

This is for you if

  • You are moving from perpetual to term or subscription pricing and the revenue curve is about to change shape.
  • An auditor or the SEC has questioned how you split licenses, services, and support in a bundled deal.
  • Usage-based or consumption pricing has outgrown the way you estimate and recognize it.
  • You are heading into a raise, an audit, or an IPO and the revenue policy has to hold up.

What you get

  • The classification License versus SaaS decided on the possession test, per contract type, with the conclusion papered.
  • The obligation inventory Every promise in the deal identified and tested for distinct, per product SKU.
  • The SSP study A standalone selling price analysis that survives inconsistent discounting.
  • The variable-consideration approach Where the right-to-invoice expedient applies, and the estimate where it does not.
  • The ASC 340-40 schedule Commission capitalization and amortization, reconciled to the commission plan.
How We Help

What we deliver

A software revenue policy built on your actual contracts: classified, unbundled, timed, and documented to the level auditors test.

The classificationLicense versus SaaS decided on the possession test, per contract type, with the conclusion papered.
The obligation inventoryEvery promise in the deal identified and tested for distinct, per product SKU.
The SSP studyA standalone selling price analysis that survives inconsistent discounting.
The variable-consideration approachWhere the right-to-invoice expedient applies, and the estimate where it does not.
The ASC 340-40 scheduleCommission capitalization and amortization, reconciled to the commission plan.

When companies bring us in

  • You are moving from perpetual to term or subscription pricing and the revenue curve is about to change shape.
  • An auditor or the SEC has questioned how you split licenses, services, and support in a bundled deal.
  • Usage-based or consumption pricing has outgrown the way you estimate and recognize it.
  • You are heading into a raise, an audit, or an IPO and the revenue policy has to hold up.
Our Experience

Where we have done this work

Engagement Notes

A term-license company recognizing ratably

An infrastructure-software company had been spreading its three-year term-license revenue straight-line across the term. We ran the possession test, concluded the licenses were functional IP recognized at a point in time, separated the maintenance element, and quantified the front-loading before the audit rather than during it. The correction conversation happened on our timeline, with the position memo already written.

Engagement Notes

A usage-priced platform estimating every quarter

A consumption-billed API company was trying to estimate variable consideration across thousands of customers every quarter. We established that the right-to-invoice expedient applied to the pure-usage tiers, built the estimate only for the minimum-commitment and tiered contracts where it did not, and cut the quarterly close work substantially while tightening the support for the number.

The Detail

The gaps, and how we close each one

Issue 01

License or service: the question that sets the timingASC 606 / 985-20

A perpetual license, a term license, and a SaaS subscription can carry the same price and recognize on completely different schedules. The line between them, whether the customer can take possession of the software, decides point-in-time versus over-time, and teams get it wrong in both directions.

The treatment

The test is whether the customer can take possession of the software at any time during the term without a significant penalty and run it on its own or a third party’s hardware. If yes, it is a software license, and functional IP (most enterprise software) recognizes at a point in time, when the customer can first use it, which for a term license is the start of the term, not ratably. If no, it is a SaaS arrangement, a stand-ready service recognized over the term. Hybrid deals, a license plus hosting, carry both promises, and on-premise-plus-support bundles split the license from the maintenance. We run the possession test on the actual contract terms and document the conclusion, because the classification drives every period after.

How we handle it: We run the possession test on your contract types and paper the license-versus-service conclusion.

Issue 02

Counting the performance obligationsStep 2

A software order is rarely one promise: the subscription or license, implementation, professional services, training, support, specified upgrades, and usage all sit in one contract, and whether each is distinct changes the allocation and the timing.

The treatment

Test each promise for distinct: capable of being distinct, and distinct within the context of the contract. Implementation and setup are distinct only if another vendor could perform them; heavily customized or essential-to-function implementation combines with the software. Maintenance and support is generally a separate stand-ready obligation recognized over the period; specified upgrades are separate promises, while unspecified upgrades are part of support. Then allocate the transaction price on relative standalone selling price, which for software means building an SSP analysis where list prices are discounted inconsistently and a defensible range has to be established. We write the obligation inventory per product SKU and keep it current as packaging changes.

How we handle it: We build the performance-obligation inventory per SKU and the SSP study behind the allocation.

Changing your pricing model, or heading into an audit? Talk to us before the revenue curve moves and someone asks why.

Talk to an Expert
Issue 03

Term licenses and the point-in-time surpriseLicenses of IP

Finance teams expect software revenue to be ratable, and for SaaS it is. For a term license of functional software it is not: the revenue recognizes at a point in time, at the start of the term, which front-loads the number and surprises everyone who modeled it straight-line.

The treatment

Functional IP, software whose functionality is substantially unchanged by the vendor’s ongoing activities, recognizes at the point the customer can use it. A three-year term license delivers most of its revenue on day one of the term, with only the support and any hosting recognized over time. Symbolic IP (rare in software, common in brand licensing) recognizes over time. The sales-based and usage-based royalty exception applies when the license fee is a royalty on the customer’s sales or usage: recognize as the sales or usage occur, notwithstanding the point-in-time default. We map each license to functional or symbolic and apply the royalty exception where it fits.

How we handle it: We map each license to functional or symbolic and quantify the term-license front-loading before it lands.

From our engagements: Term-license front-loading is the most common surprise we are brought in to explain, usually the quarter after a company shifts from perpetual to term pricing and the revenue curve jumps.
Issue 04

Usage-based pricing and variable considerationStep 3

Consumption pricing, tiered fees, overages, and credits make the transaction price variable, and the standard wants an estimate up front, unless an exception lets you recognize what you can invoice.

The treatment

Usage and overage fees are variable consideration, estimated with the expected value or most likely amount and held back by the constraint. The right-to-invoice practical expedient is the relief valve: when the amount you can invoice corresponds directly to the value delivered to date, recognize that amount and skip estimating the whole contract. It fits pure consumption pricing cleanly and tiered or minimum-commitment pricing poorly, so the analysis is contract by contract. We determine where the expedient applies and build the estimate where it does not.

How we handle it: We determine where the right-to-invoice expedient applies and build the estimate where it does not.

Issue 05

Material rights and the cost to obtainASC 606 / 340-40

Renewal options, discounted upgrades, and free-period promotions can convey a material right, a separate obligation with revenue deferred, and the commissions paid to win the contract are an asset, not an expense, more often than software teams book them.

The treatment

A customer option is a material right when it provides a discount incremental to the range a similar customer would get; below-market renewal pricing and free or discounted upgrade rights are the common cases, and the deferred amount recognizes over the option period or when it lapses. On the cost side, ASC 340-40 capitalizes the incremental costs of obtaining a contract, sales commissions being the classic case, and amortizes them over the expected customer relationship, which for SaaS with high retention is often far longer than the initial term. A practical expedient allows expensing when the amortization period would be one year or less. We build the material-right analysis and the commission capitalization schedule, reconciled to the commission plan.

How we handle it: We build the material-right analysis and the ASC 340-40 commission schedule, reconciled to the plan.

FAQ

Frequently asked questions

Is our term license recognized over the term or at a point in time?

If the software is functional IP, which most enterprise and infrastructure software is, a term license recognizes at a point in time, when the customer can first use it, generally the start of the term. It is not spread ratably. Only the maintenance and support element and any hosting recognize over the period. The result front-loads revenue, which is the most common surprise for companies moving from perpetual to term pricing.

What decides whether we have a software license or a SaaS service?

The possession test: whether the customer can take possession of the software at any time during the term, without a significant penalty, and run it on its own or a third party’s hardware. If it can, the arrangement includes a software license. If it can only access software the vendor hosts, it is a SaaS service. The distinction drives the timing of revenue more than any other question in a software contract.

Do we have to estimate usage-based revenue, or can we recognize what we invoice?

Usage-based fees are variable consideration, but the right-to-invoice practical expedient lets you recognize the amount you have the right to invoice when it corresponds directly to the value delivered to date. That fits pure consumption pricing well. For tiered pricing, minimum commitments, or credits, the expedient often does not apply and you estimate the variable consideration subject to the constraint. It is a contract-by-contract determination.

Do we capitalize sales commissions?

Generally yes. ASC 340-40 treats the incremental costs of obtaining a contract, sales commissions being the classic case, as an asset, amortized over the expected customer relationship rather than the initial contract term. For high-retention SaaS that period is often several years. A practical expedient permits expensing when the amortization period would be one year or less. The judgment is the amortization period and which costs are truly incremental.

How is implementation revenue recognized?

It depends on whether implementation is distinct. If another vendor could perform it and it does not significantly customize or modify the software, it is a separate performance obligation recognized as delivered. If it is essential to the functionality of the software or heavily customized, it combines with the software or subscription and follows that timing. We test it against the actual scope rather than the invoice description.

Sources & authorities

Primary sources for this page

  • ASC 606 for software and SaaS. Applying the five-step model to licenses, subscriptions, and hosting arrangements.
  • Licenses of intellectual property. ASC 606-10-55 on functional versus symbolic licenses, and point-in-time versus over-time recognition.
  • Internal-use and hosting. ASC 350-40 on software a customer accesses, and the related implementation costs.
  • Income statement presentation. Regulation S-X Rule 5-03, with the SEC Financial Reporting Manual.

This page summarizes FASB accounting standards and SEC guidance for general information, and is not accounting or legal advice. Standards change; confirm the current text before you rely on it.

Contact Us

Contact Us to Learn More

Call: (347) 472-1115
Email: info@corviniti.com

The best way to get started is to complete the form below. Tell us a bit about your business and we will advise on how best to get started.

We will get back to you within 24 hours.

Ro Sokhi, CPA
Ro Sokhi, CPA
Founder & CEO · Big Four experience · 20+ years

We will get back to you within 24 hours.