What ASC 606 requires, and where the revenue mapping breaks
Key takeaways
What it is. ASC 606 recognizes revenue as control of a good or service transfers to the customer, worked through five steps that apply to every revenue model.
Where it breaks. The judgment is in the mapping: which promises are distinct, principal versus agent, variable consideration, standalone selling price, and timing. Revenue drives more restatements than any other area.
How we help. We run the five steps against your actual contracts, document the positions your auditors and the SEC test, and keep them current as the contracts change.
ASC 606 is one framework applied to every revenue model, which means the standard itself is rarely the problem. The problem is the mapping: what your contracts actually promise, measured against the five steps, documented at the level auditors and the SEC test. Revenue drives more restatements than any other area, and nearly all of them trace to a mapping done casually.
This page covers the six places the mapping goes wrong, with the treatment for each. For the gross-versus-net question specifically, our technical accounting overview and fintech page cover principal-versus-agent in depth; here we go deep on everything around it.
The standard
The five-step model, applied to your contracts
ASC 606 recognizes revenue as control of goods or services transfers to the customer, worked through five steps. The judgment sits in how the steps apply to real contracts: which promises are distinct, whether you are principal or agent, and when control passes. We run the five steps against your actual agreements, document the positions your auditors test, and keep them current as your contracts change.
The five-step model with the industry fact patterns where each step most often drives the answer. Illustrative and not exhaustive.
Applied: software and SaaS
One software contract, many promises
A software deal is rarely one promise. The subscription, 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. The prior question, whether the arrangement is a license the customer can possess or a hosted service it only accesses, drives the timing more than anything else. Our software and SaaS revenue page covers all of it in depth.
A typical software deal, unbundled into its performance obligations. Illustrative and not exhaustive.
Applied: digital assets
Revenue for crypto and digital assets
The five-step model still governs, but digital-asset businesses answer a prior question first: is there a contract with a customer at all? Exchange fees, staking-as-a-service, and NFT sales are contracts with customers and follow ASC 606; solo mining and validator rewards have no customer and follow a separate model. Crypto received as a fee is noncash consideration measured at fair value at inception, and holding crypto at fair value under ASU 2023-08 is a separate question from revenue. This area has no single dedicated standard, so the positions below reflect current, evolving practice.
Whether a contract with a customer exists is the first split. An evolving area with no dedicated standard; illustrative only, and not a substitute for professional advice.
This is for you if
Your revenue policy predates your current contracts, packaging, or pricing model.
Auditors or diligence questioned your obligations, estimates, or gross-versus-net presentation.
Commissions have never been capitalized and the auditors just noticed ASC 340-40.
A filing or first audit will put the revenue line under real testing for the first time.
What you get
Revenue policy and memos The five-step mapping per revenue stream, with the judgment memos auditors test.
Obligation inventory and SSP study Product-line obligation analysis, material rights, and standalone selling prices from your transaction data.
Estimation models Variable consideration by program with quarterly back-testing, and the 340-40 commission model reconciled to payroll.
Disclosure package Disaggregation, contract balances, and remaining performance obligations built from the same models.
How We Help
What we deliver
On an ASC 606 engagement, you get a revenue framework your auditors can re-perform.
Revenue policy and memosThe five-step mapping per revenue stream, with the judgment memos auditors test.
Obligation inventory and SSP studyProduct-line obligation analysis, material rights, and standalone selling prices from your transaction data.
Estimation modelsVariable consideration by program with quarterly back-testing, and the 340-40 commission model reconciled to payroll.
Disclosure packageDisaggregation, contract balances, and remaining performance obligations built from the same models.
When companies bring us in
Your revenue policy predates your current contracts, packaging, or pricing model.
Auditors or diligence questioned your obligations, estimates, or gross-versus-net presentation.
Commissions have never been capitalized and the auditors just noticed ASC 340-40.
A filing or first audit will put the revenue line under real testing for the first time.
Our Experience
Where we have done this work
Engagement Notes
Subscription and usage models through audit and filing
Revenue policies and SSP studies for software and platform companies: obligation inventories per product line, material right analysis on renewal pricing, usage allocation under the series guidance, and the 340-40 commission models reconciled to payroll, carried through PCAOB audits and registration statements.
Engagement Notes
When the estimate is the finding
Variable consideration remediation for companies whose rebate and concession estimates kept missing: expected-value models rebuilt on program-level data, constraint documentation, and quarterly back-testing that converted a recurring audit finding into a monitored estimate.
The Detail
The gaps, and how we close each one
Judgment 01
Contract existence, combinations, and modificationsStep 1
Revenue starts with an enforceable contract, and the edges are where errors live: side agreements that change terms, master agreements with orders, contracts signed while collectibility is doubtful, and the constant stream of amendments that nobody maps to the modification framework.
The answer
A contract exists when approval, rights, payment terms, commercial substance, and probable collection are all present; fail the gate and cash received sits as a liability until the criteria are met or the arrangement terminates. Contracts entered at or near the same time with the same customer combine when negotiated as a package, when price in one depends on the other, or when the goods form a single performance obligation, which is how side letters get captured. Modifications route three ways: a separate contract when it adds distinct goods at standalone selling price; a prospective termination-and-new-contract when the remaining goods are distinct from those delivered; a cumulative catch-up when they are not. Build a modification log with the routing decision per amendment, because auditors sample amendments and test the routing, not the arithmetic.
How we handle it: We build the modification log and route every amendment through the framework, sampled-ready for audit.
Judgment 02
Performance obligations, material rights, and the seriesStep 2
Counting the promises is the judgment that shapes everything downstream. Bundles that should split, options that are really discounts on future purchases, renewal terms that convey a material right, and free services buried in the order form all change the allocation and the timing.
The answer
A promise is a separate performance obligation when it is capable of being distinct (the customer can benefit from it alone or with readily available resources) and distinct within the context of the contract (not an input to a combined output, not significantly modifying another promise, not highly interdependent). Test the usual suspects explicitly: implementation services (distinct when others could perform them), specified upgrades versus unspecified support, and hosting bundled with licenses. Customer options create a material right, a separate obligation with allocated revenue deferred, when they offer a discount incremental to what similar customers get: renewal pricing locked below market and loyalty accumulations are the classic cases. Recurring services that are substantially the same with the same pattern form a series, treated as one obligation, which simplifies allocation of usage-based fees. Write the obligation inventory per product line and keep it current as packaging changes.
How we handle it: We write the obligation inventory per product line, including the material right analysis on options and renewals.
Judgment 03
Variable consideration and the constraintStep 3
Rebates, refunds, service credits, usage tiers, price concessions, and penalties all make the price variable, and the standard demands an estimate up front rather than waiting until the final amount is known. The constraint then asks the uncomfortable question: how much of that estimate could reverse?
The answer
Estimate variable amounts by expected value (probability-weighted, best for large populations like rebate programs) or most likely amount (binary outcomes like a milestone bonus), then apply the constraint: include amounts only to the extent a significant revenue reversal is not probable, weighing susceptibility to outside factors, history with similar contracts, and the breadth of possible outcomes. Rights of return book as a refund liability plus a return asset, on portfolio return rates. A history of price concessions makes stated prices variable whether the contract says so or not, an SEC comment classic. Reassess every period and true up through revenue. The audit evidence is the back-test: estimated versus settled by program, tracked quarterly, which is also how you know the model works before anyone else tests it.
How we handle it: We build the estimation model by program and the quarterly back-test that proves it predicts.
Recognizing your own contracts in these? Send us one and we will tell you where the mapping breaks.
Once the obligations are counted, the price allocates on relative standalone selling prices, and most companies discover they have never actually established SSPs: list prices nobody pays, discounting that varies wildly, and new products with no history.
The answer
The hierarchy is practical: observable prices from standalone sales where they exist; otherwise estimate by adjusted market assessment (what would this market bear), expected cost plus margin, or, narrowly, the residual approach, permitted only when pricing is highly variable or uncertain, which is a fact to demonstrate, not a convenience to elect. In practice, SSP for software and services companies is built from pricing analytics: stratified bands of actual transaction prices by product, segment, and deal size, refreshed on a defined cadence and governed like any other estimate. Discounts allocate proportionally unless evidence ties the discount to specific obligations; variable consideration allocates entirely to a distinct service in the series when it relates specifically to it. The SSP study is a standing workpaper, and the companies that treat it that way stop re-fighting allocation every audit.
How we handle it: We run the SSP study from your actual transaction data and maintain it as a standing workpaper.
Judgment 05
Timing: over time, point in time, and licensesStep 5
The last step decides when: over time on a measure of progress, or at a point when control transfers. The over-time gates are precise, the progress measures are choices with consequences, and licenses run their own sub-framework that trips software and life sciences companies alike.
The answer
Recognize over time only if one gate is met: the customer simultaneously receives and consumes (routine services), the customer controls the asset as it is created (customer-site construction), or the asset has no alternative use and an enforceable right to payment for performance to date, including a reasonable margin, the gate custom manufacturers live and die on, and the right to payment must survive the actual termination clauses. Then choose the progress measure deliberately: output methods when milestones faithfully depict transfer, input methods (cost-to-cost) when they do not, with uninstalled materials and inefficiencies carved out. Point-in-time transfers follow the control indicators, with customer acceptance substantive or not per the analysis on our manufacturing page. Licenses: functional IP (software, media, compounds) recognizes at the point access begins; symbolic IP (brands, franchises) over time; and sales- or usage-based royalties on licenses wait for the underlying sales, no estimating ahead.
How we handle it: We document the over-time gates against your actual termination clauses and set the progress measures deliberately.
From our engagements: The over-time gate we test most for private companies is the enforceable right to payment, because standard termination-for-convenience clauses quietly fail it, flipping recognition to completion and restating the backlog story investors were told.
Judgment 06
Contract costs: commissions, fulfillment, and the amortization questionASC 340-40
The standard nobody read until the auditors asked: incremental costs of obtaining a contract capitalize, and the amortization period is not the contract term if renewals are expected. Sales commission plans, with accelerators, splits, and renewal rates, turn this into a real model.
The answer
Capitalize costs that are incremental to obtaining the contract, paid only if the deal signs: base commissions qualify; salaries, draws, and costs incurred win-or-lose do not; bonuses qualify only when attributable to identifiable contracts. Fringe on qualifying commissions capitalizes with them. Amortize over the period of benefit, which extends past the initial term when renewal commissions are not commensurate with the original, the usual case, making customer life, informed by churn data, the amortization horizon, with the technology-refresh argument documented where a shorter life is used. The practical expedient expenses costs with an amortization period of one year or less, elected as policy. Fulfillment costs (setup, migration) capitalize under the three-part test when they create a resource used to satisfy future performance. Impairment tests the asset against remaining consideration less remaining costs. The commission model, plan by plan, is the deliverable, and it has to reconcile to payroll.
How we handle it: We build the commission capitalization model plan by plan, reconciled to payroll, with the amortization period supported.
FAQ
Frequently asked questions
Do we really need SSPs if we always sell bundles?
Yes, that is exactly when you need them: allocation only matters for bundles. SSPs are estimated when observable prices do not exist, and a documented pricing study beats a list price nobody pays.
Our contracts let customers cancel for convenience. Does that change revenue?
It can change everything: the contract term shrinks to the committed period, material rights analysis applies to renewals, and the over-time right-to-payment gate may fail for custom work. The termination clause is the first thing we read.
When do commissions have to be capitalized?
When they are incremental to obtaining the contract and the period of benefit exceeds a year. Most base commission plans qualify, and the amortization period usually extends past the initial term because renewal commissions are lower. The one-year practical expedient covers the rest.
How much documentation does a revenue policy need?
Enough that an auditor can re-perform the conclusion: the obligation inventory, the SSP study, the variable consideration model with back-testing, and memos on the judgment calls. We build it as a package that updates with the business rather than a one-time binder.
Can you review our existing ASC 606 adoption rather than redo it?
Yes, and it is a common engagement: a gap review of the original adoption against how contracts have evolved since, with targeted memos where the mapping drifted. Most adoptions were right for the contracts of that year, not this one.
What is the difference between the full and modified retrospective transition methods?
Full retrospective restates every prior period presented as if ASC 606 had always applied. Modified retrospective recognizes the cumulative effect as an opening retained-earnings adjustment in the adoption year without restating prior periods. Most companies chose modified retrospective as less disruptive; full retrospective gives cleaner period-over-period comparability. For a late or corrective adoption, we advise on which fits.
What is a contract asset, and how is it different from a receivable?
A contract asset arises when you have satisfied a performance obligation but do not yet have an unconditional right to payment, for example when the right to bill depends on satisfying another obligation. A receivable arises when the right to consideration is unconditional. The distinction affects balance-sheet presentation and the ASC 606 disclosures.
Which ASC 606 issues draw the most SEC comment letters?
Insufficient revenue disaggregation, vague performance-obligation descriptions, thin explanation of recognition timing, under-disclosed significant judgments, and inconsistencies between the revenue policy and the MD&A revenue discussion. We draft disclosures that anticipate each of these.
Do you work with foreign companies or international operations?
Yes. We regularly work with foreign private issuers and cross-border structures, including IFRS reporting, US GAAP reconciliations, and multi-entity consolidations across domestic and international subsidiaries.
How quickly can you get started?
Usually within a few days of finalizing the engagement: a brief discovery session, a clear statement of work, and secure access setup. We do not run lengthy intake procedures that delay the actual work.
Sources & authorities
Primary sources for this page
ASC 606, Revenue from Contracts with Customers. The five-step model that recognizes revenue as control transfers, issued as FASB ASU 2014-09 and codified in ASC 606.
Contract costs. ASC 340-40 on the incremental costs of obtaining a contract and the costs to fulfill it.
Income statement presentation.Regulation S-X Rule 5-03: the revenue and cost captions a registrant reports.
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.