Let’s face it—when most people hear ASC 606, they don’t exactly get excited. Compliance isn’t glamorous, but it’s critical. Whether you’re a CFO trying to make sense of financial statements or a controller knee-deep in contracts, the reality is this: getting ASC 606 right is non-negotiable.
Over the years, I’ve seen companies wrestle with the revenue recognition standard, unsure of where to begin or how to apply the rules to their unique business needs. I get it—it’s technical, time-consuming, and the stakes are high. That’s why I want to break this down for you in a way that feels less overwhelming.
By the end of this post, you’ll know exactly what ASC 606 is, the steps you need to take to achieve compliance, and how tools like Sage Intacct can help.
What Is ASC 606?
Simply put, ASC 606 is an accounting standard that outlines how and when companies should recognize revenue from contracts with customers. It was issued by the Financial Accounting Standards Board (FASB) in 2014, with the goal of creating a more consistent and comprehensive approach to recording revenue.
Before ASC 606, there were multiple sets of rules for recognizing revenue based on industry-specific guidelines. This often led to confusion and inconsistencies in financial reporting. With ASC 606, all companies are now required to follow the same principles when it comes to recognizing revenue.
So why is this important? For one, it provides investors and stakeholders with a more accurate picture of a company’s financial health. Companies that follow standardized guidelines can better compare their performance against others in their industry. This also increases transparency, allowing investors to make more informed decisions.
ASC 606 also requires companies to provide more detailed disclosures about their revenue recognition policies and methods. This can help identify potential risks or issues with a company’s revenue streams. It also allows for better analysis of a company’s revenue trends over time.
Another benefit of ASC 606 is the elimination of “cookie jar” accounting practices. In the past, some companies would manipulate their revenue recognition in order to meet financial targets or smooth out fluctuations in earnings. With ASC 606, these types of practices are no longer allowed as it requires companies to recognize revenue when it is earned, rather than when payment is received.
What’s the Difference Between ASC 606 and ASC 842?

While both ASC 606 and ASC 842 are accounting standards put in place by FASB, they address different aspects of financial reporting. ASC 606 focuses on revenue recognition, while ASC 842 deals with lease accounting.
ASC 606 was implemented to improve consistency and comparability in revenue recognition across industries and companies. On the other hand, ASC 842 was created to provide more transparency and accuracy in lease accounting.
One key difference between the two is that ASC 606 applies to all companies that recognize revenue from contracts with customers, regardless of industry or size. In contrast, ASC 842 only applies to companies that enter into leasing agreements for assets such as property, equipment, or vehicles.
The two standards serve different purposes but share the same goal of increasing transparency in financial reporting. If you’re curious about related compliance topics, you might want to check out our blogs on compliance automation and avoiding financial reporting risk.
What Are the Five Steps of ASC 606?
ASC 606 follows a five-step process to recognize revenue from contracts with customers. These steps are:
1. Identify the Contract with a Customer
The first step is identifying a contract with a customer. This might sound simple, but the devil is in the details. For a contract to meet the criteria under ASC 606, it must:
- Create enforceable rights and obligations for both parties.
- Have clear and agreed-upon payment terms.
- Possess commercial substance—meaning the transaction must affect the entity’s future cash flows.
Many companies trip up here when they fail to account for contracts that don’t meet these criteria. For instance, informal agreements or contracts missing key terms might not qualify under ASC 606. If that happens, you’ll need to revisit and formalize the arrangement.
Another quirk? Contracts with two or more parties often require extra scrutiny to determine who controls what. In these cases, defining your entity’s customary business practices can help clarify the obligations involved.
2. Identify the Performance Obligations
Once the contract is identified, the next step is pinpointing the performance obligations. These are the promises you’ve made to transfer goods or services to the customer.
Some performance obligations are obvious—like delivering a product or completing a specific service. But others require more digging, especially in bundled contracts. For example, if your business provides both hardware and installation, you’ll need to determine whether these are distinct performance obligations or part of a single obligation.
ASC 606 defines a performance obligation as distinct if:
- The customer can benefit from the goods or services on their own or with other readily available resources.
- The obligation is separately identifiable from other promises in the contract.
A common mistake I’ve seen is businesses treating everything as a single obligation. This can lead to misaligned revenue recognition timelines, especially if some parts of the contract are fulfilled sooner than others.

3. Determine the Transaction Price
The transaction price is the total amount the entity expects to receive in exchange for delivering the promised goods or services. This step goes beyond just looking at the contract’s base price. You’ll need to account for:
- Variable consideration, such as discounts, refunds, bonuses, or penalties.
- Significant financing components if the timing of payments impacts the overall value of the transaction.
- Any non-cash compensation or consideration payable to the customer.
This step can get tricky when dealing with price concessions or contracts that include sales taxes. For instance, if your business provides discounts based on volume thresholds, you’ll need to estimate the expected amount of the transaction price.
And let’s not forget timing—under ASC 606, you must estimate and include these variables when the contract is signed, not after the fact. Misjudging this step can lead to overstating or understating revenue.
4. Allocate the Transaction Price
Once you’ve determined the total transaction price, the next step is to allocate it across the performance obligations. This allocation is based on the relative standalone selling price of each obligation.
Let’s say your contract bundles goods or services, like software and ongoing support. Each part of the bundle must be valued independently to ensure revenue is recognized at the right time.
For example:
- If the software has a standalone selling price of $10,000 and the support services are typically sold for $2,000, the transaction price must be allocated proportionally.
- If discounts are applied, they also need to be distributed fairly across the obligations.
One challenge here is estimating the standalone selling price for obligations that aren’t typically sold on their own. This is where robust internal pricing data—and sometimes a little professional judgment—comes into play.
5. Recognize Revenue When (or As) the Entity Satisfies Performance Obligations
Finally, the moment we’ve all been waiting for: revenue recognition. Revenue should be recognized as the entity satisfies each obligation. This can occur at a point in time (like delivering a product) or over time (like providing subscription services).
To get this right, you’ll need to ask:
- Has the customer gained control of the goods or services?
- Is the obligation complete or partially fulfilled?
For obligations fulfilled over time, ASC 606 allows you to use methods like labor hours or costs incurred to measure progress. This ensures your financial statements reflect the work completed.
However, one common pitfall I’ve seen is failing to recognize when a single performance obligation spans multiple reporting periods. For example, delivering a service over 12 months requires recognizing revenue incrementally, not all at once. If you’re not sure where your contracts fall, I’d recommend reading our blog on how to automate bank reconciliation to see how automation can help.
Another challenge I’ve noticed in this process is misjudging separate performance obligations. If a bundled contract includes promised goods and services that should be accounted for independently, lumping them together can throw off your financial reporting.
By mastering these five steps, you’ll not only stay compliant with ASC 606 but also gain deeper insights into how your business operates.
How Sage Intacct Helps with ASC 606

If you’re like most organizations, the thought of manually tracking contract liabilities, transaction price allocation, and costs incurred probably makes your head spin. Keeping up with the complexities of ASC 606 is no small feat, especially when contracts involve variable consideration, bundled goods or services, or multiple performance obligations. That’s where Sage Intacct steps in to save the day.
Sage Intacct streamlines ASC 606 compliance by automating the tracking of contract assets, contract costs, and contract liabilities. This means you don’t have to worry about manually reconciling every little detail in your customer contracts. Instead, the system handles the heavy lifting for you, ensuring that your entity’s customary business practices align perfectly with the standard.
Here’s what sets Sage Intacct apart:
Automating Revenue Recognition
With Sage Intacct, you can automate the recognition of revenue based on the satisfaction of performance obligations. The platform dynamically tracks when an entity satisfies each obligation—whether it’s at a point in time or over time—and ensures that revenue is recognized in the right period. This is particularly helpful for companies delivering ongoing professional services or multi-phase projects.
For example, if your business has a contract that spans multiple reporting periods, Sage Intacct can calculate incremental revenue based on labor hours expended or costs incurred. This eliminates guesswork and ensures compliance with ASC 606’s five-step model.
Handling Variable Consideration
One of the trickiest parts of ASC 606 is managing variable consideration. Things like volume discounts, rebates, or performance bonuses can throw a wrench into your transaction price. Sage Intacct simplifies this by allowing you to input variables upfront and calculates the expected value automatically.
Let’s say your customer qualifies for a bonus if they purchase a certain volume of products by the end of the quarter. Sage Intacct factors this into the transaction price allocation at the contract’s inception, so you’re not caught off guard later.
Managing Bundled Contracts
For businesses that bundle goods or services, allocating the transaction price across multiple performance obligations is critical. Sage Intacct breaks down even the most complex contracts, using the relative standalone selling price to ensure accurate revenue allocation.
Take a software company, for instance, that sells a package including a license, implementation services, and ongoing support. Sage Intacct separates these into distinct performance obligations, allocates the correct portion of the transaction price to each, and tracks when obligations are met. This level of precision reduces errors and ensures your financial statements are rock solid.
Tracking Contract Modifications
Contracts don’t always stay the same. Whether it’s a change in scope, price concessions, or new payment terms, contract modifications can create chaos for manual processes. Sage Intacct excels at managing these changes by updating contract liabilities, contract assets, and remaining performance obligations in real time.
This is especially useful for industries like construction or professional services, where contract modifications are the norm. By keeping all changes centralized and automated, Sage Intacct prevents compliance errors and keeps your financial reporting accurate.
Take a deeper dive into the compliance side of this with our blog on tax compliance.
Real-Time Insights and Reporting
Another standout feature of Sage Intacct is its robust reporting capabilities. The platform provides real-time insights into key metrics like cash flows, contract assets, and incremental costs. These insights aren’t just helpful for compliance—they’re also invaluable for making strategic business decisions.
For CFOs and controllers, this means having instant access to accurate, detailed data on how your entity’s future cash flows are shaping up. Whether you’re preparing reports for stakeholders or evaluating the financial health of your business, Sage Intacct gives you the clarity you need.
Seamless Integration with Other Systems
If you’re already using other tools for billing, customer relationship management, or project management, Sage Intacct can integrate seamlessly. This ensures that your entire financial ecosystem works together, reducing redundancies and keeping your data consistent across platforms.
What I really love about Sage Intacct is how it transforms what could be a time-consuming and error-prone process into something efficient and accurate. Instead of worrying about missing something crucial—like a significant financing component or misallocating a transaction price—you can let the system handle the details while you focus on growing your business.
Conclusion: Mastering ASC 606

ASC 606 is essential for accurate financial reporting and building trust with stakeholders. Whether you’re identifying performance obligations, determining the transaction price, or managing contract modifications, the five-step model provides a clear path—but getting it right takes effort.
Mistakes like misjudging variable consideration or bundling goods or services improperly can lead to compliance headaches. That’s where Sage Intacct comes in. By automating revenue recognition and tracking contract costs and contract liabilities, Sage Intacct ensures precision and saves you time. It handles complexities like bundled contracts and evolving agreements, giving you clarity and confidence.
Key Takeaways
- ASC 606 centers on recognizing revenue for goods or services based on performance obligations and the transaction price.
- The five-step model ensures a clear and consistent approach to revenue recognition.
- Sage Intacct offers automation tools to simplify ASC 606 compliance.
Frequently Asked Questions
Is ASC 606 under GAAP?
Yes, ASC 606 falls under generally accepted accounting principles (GAAP), which are established by the Financial Accounting Standards Board. It ensures consistency in how revenue is recognized across industries, making compliance a cornerstone of transparent financial reporting.
What is the GAAP rule for revenue recognition?
The rule requires companies to follow the ASC 606 revenue recognition model, which mandates that revenue is recognized when a company satisfies its performance obligations under a contract. This ensures that revenue aligns with the delivery of promised goods or services.
What is the difference between revenue recognition and accrual?
Revenue recognition under ASC 606 focuses on recognizing revenue when it is earned by satisfying obligations, while accrual accounting records revenue and expenses when they are incurred, regardless of payment timing. Both methods contribute to accurately portraying cash flows arising from operations in your financial statements.