Intuit Connect, the premier event for accounting firms, is back, 
Oct. 26-28 in Las Vegas!
Woman at laptop comparing revenue recognition options: paid in full vs. over time.
accounting

Timing is everything with ASC 606: The new revenue recognition standard

If you had a lemonade stand as a kid, cash and product changed hands in the same instant, and there was never a question of when you earned that money.

Most businesses don't work that way. A software company gets paid upfront for a year of service it hasn't delivered yet. A construction firm bills as a building goes up, long before the final walkthrough.

Accounting Standards Codification (ASC) 606 is the standard that governs when revenue gets recognized in situations like these, replacing a patchwork of industry-specific rules with a single, principles-based framework.

For Client Accounting Service (CAS) firms, it's important to understand what ASC 606 says and how to apply it to the contracts your clients have. This guide covers all five steps of the framework, with particular depth on Step 5 where most of the judgment calls come about, the mistakes advisors see most often, and how ASC 606 stacks up against its international equivalent, International Financial Reporting Standards ( IFRS) 15.

What is ASC 606?

ASC 606 is the US Generally Accepted Accounting Principles (GAAP) standard governing how companies recognize revenue from contracts with customers. ASC is the numbering system the Financial Accounting Standards Board (FASB) uses to structure the entire body of US accounting standards; 606 is simply the topic number assigned to revenue recognition.

Before ASC 606, revenue recognition followed a wide set of scattered rules, built piecemeal over several decades. Companies were applying entirely different logic to the same underlying question of when revenue has been earned. That fragmentation got more difficult to defend as business models increasingly crossed old industry lines with bundled contracts, multi-year service agreements, and subscriptions billed upfront, but delivered over time. ASC 606 replaced more than 200 pieces of industry-specific revenue guidance with a single, principles-based standard.

FASB didn't take this on alone. The International Accounting Standards Board (IASB) sets the accounting standards used by most countries outside the US. IASB worked jointly with FASB to build a shared framework. FASB codified its version as ASC 606, and the IASB codified its version as IFRS 15, both issued in 2014. Sharing the same 5-step logic means a US company reporting under GAAP and a company reporting under IFRS can apply the same underlying framework to similar contracts, even though a handful of disclosure and rare situations remain. More on that further down.

ASC 606 became effective for public companies for fiscal years beginning after December 15, 2017. Private companies and not-for-profit entities got additional time, with the effective date pushed further due to the pandemic, giving smaller organizations more lead time  to implement what's a significant change to how they close their books.

Today, ASC 606 is the default. Every business that sells to customers under a contract has been operating under it for years, and the ongoing work now is applying it correctly as client contracts change.

Who does ASC 606 apply to?

ASC 606 covers most of the contracts your clients have: Software as a Service (SaaS) and subscription agreements, construction and long-term project contracts, professional services engagements, and standard sales of goods. But there are also a handful of revenue types that fall outside its scope and are governed by their own standards.

Here’s a breakdown:

*Most non-warranty guarantees fall under ASC 460, though some route to other standards depending on structure (for example, a lessee's guarantee of residual value falls under ASC 842). Product/service warranties are a partial exception: a basic assurance that a product works as promised stays out of ASC 606's scope (governed by ASC 460), but any warranty that includes an added service, like extended maintenance, has that service portion evaluated under ASC 606 as a separate performance obligation.

If a client's contract includes elements that span both categories such as a lease bundled with a service agreement, those components typically need to be evaluated separately under their respective standards.

The 5-step revenue recognition model under ASC 606

ASC 606 breaks revenue recognition into five steps. Each one builds on the last:order matters. Here’s a closer look at the workflow:

Step 1: Identify the contract with the customer

Under ASC 606, a contract is defined as an agreement—written, verbal, or implied—that creates enforceable rights and obligations. It must meet five criteria before revenue recognition can begin:

  1. Both parties have approved the contract and are committed to their obligations.
  2. Each party's rights regarding the goods or services can be identified.
  3. Payment terms can be identified.
  4. The contract has commercial substance.
  5. Collection of consideration is probable.

Contract modifications add a wrinkle worth flagging for clients: A change to an existing contract may create an entirely new contract or simply modify the existing one, as well as the accounting treatment differs depending on which applies.

Step 2: Identify the performance obligations

A performance obligation is a promise to transfer a good or service to the customer. When a contract includes multiple promises, each one only counts as its own separate performance obligation if it's distinct, which means the customer can benefit from it on its own, and the promise to deliver it is separately identifiable from the other promises in the contract. 

If a promise doesn't meet both of those conditions, it gets bundled with related promises until the combined package does, and that bundle instead, is treated as a single performance obligation.

A software license paired with implementation services is a common example. If the customer could use the license without the implementation work and the implementation is standard setup rather than something that fundamentally customizes the software, the two are typically treated as separate performance obligations. If the implementation is so extensive that the customer couldn't use the license without it, the two are usually treated as one.

Step 3: Determine the transaction price

The transaction price is what your client expects to receive in exchange for the goods or services they transfer to a customer. Variable consideration, including discounts, rebates, refunds, or performance bonuses, along with non-cash consideration and financing components, is where this step gets complicated.

ASC 606 puts a constraint on variable consideration; your client can only include an estimated amount in the transaction price if it's probable that the amount won't need to be reversed later. This is new territory for anyone used to the legacy GAAP rules, where variable amounts weren't recognized until they were certain. Clients still working off instinct sometimes skip the estimate entirely, or make one without properly testing it against the constraint.

Step 4: Allocate the transaction price

Once the transaction price is determined, it gets allocated across each performance obligation based on relative standalone selling price (SSP), meaning the price your client would charge for that good or service if it sold it separately.

When SSP isn't directly observable, ASC 606 allows three estimation approaches: adjusted market assessment, expected cost plus a margin, or the residual approach. A $10,000 software contract that includes a license and a year of support, for example, needs the total price allocated between those two elements based on what each would sell for on its own, not split evenly or assigned arbitrarily.

Step 5: Recognize revenue when performance obligations are satisfied

While the first four steps are mostly about setting up the contract correctly, this point in the process is where you actually decide when revenue hits the books. It essentially comes down to three core questions.

  1. Is this recognized over time or at a point in time?
  2. How do you measure progress if it's over time?
  3. How does the math change for project-based contracts?

Three criteria for recognition over time

Revenue can be either recognized at a point in time or over a period of time. ASC 606 lays out three criteria for determining whether revenue should be recognized over time. If the contract meets any one of these three, then revenue should be recognized over time.

  1. The customer receives and uses the benefits of the service at the same time that the company performs the service. Examples of this are monthly payroll processing services, electric utilities, and annual gym memberships.
  2. Control of the asset or assets being created passes to the customer as the business performs. An example of this is an industrial warehouse being constructed on land owned by the customer.
  3. The product or service has no alternative use other than its use by the customer, and there is an enforceable right to payment for work completed to date. An example of this is consulting services where the agreement includes progress billing as the work is completed.

Which point in time?

If none of these criteria apply, revenue is recognized at a point in time. The following events can be used as a cue to determine the appropriate point in time:

  1. Your client has a present right to payment for the goods or services.
  2. The customer has a legal title.
  3. Your client has transferred physical possession of the asset.
  4. The customer has accepted the asset.

Choose a method to measure progress

When revenue is recognized over time, your client needs to choose a method to measure progress in completing the contract, and this method needs to be used consistently for similar contracts. The idea is to recognize revenue in proportion to the goods and services transferred to the customer so far.

The chosen method can be based on either outputs or inputs. An output method looks at the fair market value of goods and services transferred to the customer to date. An input method will be based on the costs for labor and materials as your client incurs them.

Uninstalled materials get a different treatment

A significant change from legacy GAAP is the method to be used in construction contracts that include installation of large components that are produced by third parties. If these large components comprise a significant portion of the cost of the whole project and are delivered to the site long before installation, the cost for those components is carved out of the whole and recognized separately, to the extent of that cost.

An example in the standards is the installation of an elevator for a total contract price of $5 million. In this example, the estimated cost for the entire contract is $4 million, of which $1.5 million is the cost of the elevator itself. If the elevator is delivered at a point when only 20% ($500,000) of the additional costs have been incurred, including the elevator's cost, the total would overstate progress toward completion of the project. In this situation, your client would recognize revenue to the extent of the cost of the elevator ($1.5 million), plus 20% of the remaining revenue (20% x $3.5 million = $700,000), for a total of $2.2 million.

Under percentage of completion, a business would have incurred 50% of the total costs and so would recognize 50% of the revenue, or $2.5 million.

ASC 606 vs. IFRS 15: Key differences

As mentioned earlier, IFRS 15, the international equivalent of ASC 606, was developed alongside 606 and shares the same five-step model. The two aren't identical, though, and for CAS firms advising clients with international operations, the differences that remain are worth knowing:

For a client operating only in the US, these differences are largely academic. For a client with a foreign parent, subsidiary, or significant cross-border contracts, they can affect which version of the standard applies to which entity, and that's worth surfacing early rather than at audit time.

ASC 606 in practice: Industry-specific examples for your clients

The five-step framework is the same across industries, but the specific revenue recognition challenges that arise depend heavily on the type of business.

  • SaaS and subscriptions. Revenue is typically recognized ratably over the subscription term rather than at the point of sale, since the customer receives the benefit of the service continuously. Upfront fees such as implementation or onboarding charges, often need to be deferred and recognized over the expected customer relationship rather than booked immediately.
  • Professional services and consulting. Whether revenue is recognized over time or at milestones depends on which of the three over-time criteria apply. An engagement with progress billing and no alternative use for the work product is typically recognized over time. A fixed-deliverable engagement with a single handoff point may be recognized at that point instead.
  • Software with multiple elements. A license bundled with implementation and ongoing support is rarely recognized as one transaction. Each piece usually ends up on its own timeline, which means revenue from a single contract can hit the books at different points instead of all at once.
  • Retail and point-of-sale. Most retail transactions are recognized at the point of sale, but contracts with a right of return require your client to estimate returns and recognize revenue net of expected returns rather than the full sale amount.
  • Construction and long-term projects. This is where the over-time model and the uninstalled materials treatment covered earlier come into play most directly, since large projects with progress billing are a common example of the "no alternative use" criterion.

Common ASC 606 mistakes, and how advisors can help clients avoid them

ASC 606 asks for more judgment than the standard it replaced, and mistakes tend to trace back to a specific gap between how legacy GAAP worked and what ASC 606 actually requires.

Here are some of the mistakes advisors commonly flag when reviewing client contracts:

  1. Treating everything as point-in-time. Clients coming from legacy GAAP sometimes default to recognizing revenue at delivery or invoicing without testing the contract against the three over-time criteria first. The fix is procedural: Build that test into the contract review itself, so it's the first question asked rather than an afterthought if something looks off later.
  2. Not separating performance obligations in bundled contracts. Lumping a license, implementation, and support into a single recognition pattern when they should be evaluated and recognized separately. Running each bundled contract through the distinctness test from Step 2 before finalizing the recognition treatment catches this before it becomes a restatement.
  3. Skipping the variable consideration constraint. We covered the mechanics of this in Step 3. In practice, it's worth asking a client directly how they arrived at an estimated rebate, discount, or bonus amount, and whether that estimate has actually been tested against the constraint, rather than just carried over from last year's process.
  4. Overlooking disclosure requirements. ASC 606 disclosures are more extensive than legacy GAAP required, and clients sometimes treat them as an afterthought rather than building them into the close process. Adding disclosure prep as a standing line item in the close checklist, rather than something assembled after the numbers are final, keeps it from becoming a last-minute scramble.
  5. Defaulting to ASC 605 logic. Carrying forward an old revenue recognition policy without re-evaluating it under ASC 606, particularly for contracts that were grandfathered in years ago and never revisited. Any contract still running on a policy written before ASC 606 adoption is worth a fresh look against the current five-step model, especially if its terms have changed since then.

Transition methods: Full retrospective vs. modified retrospective

When entities first adopted ASC 606, moving off legacy GAAP meant choosing one of two transition methods:

  1. Full retrospective application restates all prior periods presented as if ASC 606 had always been in effect.
  2. Modified retrospective application applies the new standard only to contracts in effect as of the adoption date, with a cumulative catch-up adjustment to opening retained earnings and no restatement of prior periods.

Modified retrospective was the more common choice among companies adopting the standard timeline, largely because it avoided the cost and complexity of restating multiple years of financial statements.

For CAS firms working with private company or nonprofit clients who adopted later, or now facing their first audit under ASC 606, knowing which method a client used still matters; it determines how prior periods are presented in their financial statements, and that context doesn't disappear once the initial adoption year has passed.

Applying ASC 606 as your clients' businesses change

Most clients are past initial adoption at this point. The real work now is applying ASC 606 as their business changes; a new product line can shift how performance obligations get identified, or a new pricing model can turn a fixed fee into variable consideration that needs testing against the constraint, a renewal can raise the contract modification question from Step 1.

Ongoing judgment is where CAS firms add value, catching these shifts as they happen and not just getting clients compliant at the moment of adoption. For clients with a high volume of contract changes, QuickBooks Online Advanced's revenue recognition tools can automatically track and enter deferred revenue, which cuts down on the manual tracking so you can focus on the judgment calls.

Frequently asked questions

What is the ASC 606 standard?

ASC 606 is the US GAAP standard for recognizing revenue from contracts with customers. It replaced industry-specific revenue guidance with a single five-step framework that applies across most industries.

What is ASC 606 in simple terms?

It's the rulebook for when and how a business records revenue it earns from customer contracts. Instead of recognizing revenue when cash changes hands, businesses recognize it as they deliver on their promises to the customer.

What are the five steps in ASC 606?

Identify the contract, identify the performance obligations, determine the transaction price, allocate the transaction price, and recognize revenue as performance obligations are satisfied.

What is the difference between IFRS 15 and ASC 606?

IFRS 15 is the international equivalent of ASC 606. They share the same five-step framework but differ on points like disclosure detail, treatment of intellectual property licenses, and how each defines the collectibility threshold. 

Does ASC 606 apply to private companies?

Yes. ASC 606 applies to public, private, and nonprofit entities with contracts with customers, though private companies and nonprofits had a later effective date than public companies. The original date for private companies and nonprofit entities  was fiscal years beginning after  December 15, 2018. A pandemic deferral extended the date to annual reporting periods beginning after December 15, 2019.

What is deferred revenue under ASC 606?

Deferred revenue is payment a business has received for goods or services it hasn't yet delivered. It sits on the balance sheet as a liability until the related performance obligation is satisfied, at which point it converts to recognized revenue.


Recommended for you

Get the latest to your inbox

Get the latest product updates and certification news to help you grow your practice.

Looking for something else?

Get QuickBooks

Smart features made for your business. We've got you covered.

Tax Pro Center

Expert advice and resources for today’s accounting professionals.

QuickBooks Support

Get help with QuickBooks. Find articles, video tutorials, and more.

How can we help?
Talk to sales 1-800-497-1712

Monday - Friday, 5 AM to 6 PM PT

Get product support