logo
Why is Revenue Recognition So Complicated?

Why is Revenue Recognition So Complicated?

  • Author: Linh Tong
  • Published On: December 10, 2025

If you’ve ever wondered why accountants cringe when they hear “ASC 606,” here’s the reason. Figuring out when and how to recognize revenue isn’t simple, especially for SaaS companies.

Unlike selling a physical product, SaaS contracts are constantly changing. They grow with upsells, shrink with downgrades, and shift with renewals and usage spikes. Every change can affect how and when revenue is recorded, making the process feel like chasing a moving target. Let’s break down why this gets so complicated with real-world examples.

1. Bundled Services and Multi-Element Arrangements

Imagine a provider selling a subscription that includes software access and premium support, two distinct services. Under ASC 606, each item that provides its own value counts as a separate obligation. That means you need to:

  • Figure out the price for each item.
  • Split the total contract price between those items.

Example:

Your SaaS company charges software access at $50/month and premium support at $20/month. A customer signs a one-year contract to buy both items for a (reduced) total of $60/month or $720/year. Your total contract value is $720 for the year.

Split the total contract between 2 items:

  • Software Access => $50/$70 = .71 * $60 = $42.86/month
  • Premium Support => $20/$70 = .29 * $60 = $17.14/month

Why it’s hard: SaaS often includes tightly integrated services. Bundles rarely have clear prices for each item. CFOs often rely on estimates, which can throw off Annual Recurring Revenue (ARR)/Monthly Recurring Revenue (MRR) and deferred revenue schedules.

2. Contract Modifications – Upsells, Downgrades, Cross-sells

Picture this, a customer signs an annual SaaS contract in January for 25 seats. Mid-year, they add more seats. Sounds simple, right? Not under ASC 606.

When contracts change, you can’t just tack on the extra revenue. You must reassess performance obligations and reallocate the price, sometimes as a new contract, sometimes combined with the old one.

Example:

You sell a contract on January 1 for 25 seats at $20/seat. As of January 1, you are deferring $6,000 of revenue that is to be recognized over the year.

By June 30: $3,000 recognized revenue

July 1: Customer upgrades from 20 to 35 seats; new price for purchasing more is $15/seat

Remaining 6 months:  

  • 25 seats (from original contract) at (new price) $15/seat = $2,250
  • 10 seats (upgrade) at $15/seat = $900  

By December 30: $3,150 recognized revenue.

Why it’s hard: SaaS contracts change constantly – upsells, downgrades, cross-sells. Every change means recalculating revenue schedules. Multiply that by hundreds to thousands of contracts, and manual work becomes a nightmare of errors and delays.   

3. Usage-Based Pricing

You charge a base subscription plus extra fees for usage beyond a limit. These variable fees must be estimated and constrained to avoid big reversals later. What does “constrained” mean? It means estimating revenue only up to the amount you’re confident won’t need to be reversed later.

Example:
If you think a customer might use 10 TB of extra storage at $0.10 per GB, that’s about $1,000 in potential fees. But if usage is unpredictable, you might only recognize $400 because you’re sure they’ll use at least 4 TB. This prevents overstating revenue and having to fix it later.

Why it’s hard: Accurate usage forecasting depends on real-time data integration between billing and accounting systems, something BillAgent provides. Without automation, this process becomes a nightmare.

4. Implementation Services: Distinct or Not?

A SaaS vendor bundles implementation and data migration with its subscription. Are these services distinct? How do you know? ASC 606 asks two questions:

Example:

Question 1: Can you use it by itself?

If the service works on its own, it’s distinct. For instance, a training class on how to use software – one can take the course anytime whether the software was purchased or not.

Question 2: Is it separate in the deal?

If it only works with the main product, it’s not distinct. For instance, an add-on software module that won’t run without the main software is not distinct.

If implementation is determined as distinct, revenue for implementation is recognized when completed. If not, it’s spread over the subscription term of the main product.

Why it’s hard: Determining “distinct” depends on whether the customer can benefit from the service independently. If you treat implementation as distinct when it’s not, you might recognize revenue too early and violate ASC 606.

5. Prepayments and Deferred Revenue

Prepayment is money you get upfront from a customer before you deliver the service. A customer pays $12,000 upfront for a 12 month SaaS contract. At the moment you receive the money, you haven’t earned it yet because you still owe the service.

Deferred revenue is the accounting term for unearned money. It is a liability because you owe the customer the service.  

Example:

Customer prepays $12,000 for 12 months. You record $12,000 as deferred revenue (liability). Each month, you recognize $1,000 as revenue until the service is fully delivered.

Why it’s hard: This creates a large gap between cash flow and P&L, which is confusing to non-accountants. SaaS contracts change often. Recalculating deferred revenue schedules is complex. Billing systems track cash, not revenue rules. You need special revenue recognition software or manual spreadsheets to handle ASC 606 compliance. Errors can lead to fail audits or mislead stakeholders.

6. Hybrid Licensing Models

Some software companies sell a mix of perpetual licenses (you buy the software once and own it forever) and cloud hosting and support (ongoing services). Under ASC 606, the license may be recognized upfront if it’s a “right to use.” Hosting and support are recognized over time because they are ongoing services.

Right to use means buyers get the software as it is today. Sellers do not promise future updates or new features. Buyers can use it forever and it is not going to change.

Example:

You sell an on-premise accounting software license. The buyer gets the full product now, and you do not offer updates after it is installed (or at least it is not part of the contract). Your revenue is recognized upfront because you delivered everything at once.

Right to access means buyers are paying for continuous access to software that keeps changing. The vendor provides updates, new features, and improvements during your subscription.

Example:

You sell a subscription to your cloud CRM product that gets regular updates. Revenue is recognized over time because the service is ongoing.

Why it’s hard: Hybrid models are hard because they mix one-time delivery with ongoing service. You must split the contract into obligations and apply different revenue recognition rules for each. Get it wrong, and you risk noncompliance.

The Stakes Are High

Getting revenue recognition wrong isn’t just a technical error, it’s a business risk with serious consequences. Missteps can lead to audit findings, restatements, investor mistrust, and in extreme cases, criminal charges, fines, and job loss. Consider these real-world examples:

Pareteum Corporation – Executives recorded revenue before delivering services, inflating results by over $42M across 2018-2019. The fallout? Terminations, criminal charges, $285,000 in forfeitures, and ultimately, company filed for bankruptcy.[1]

USA Technologies – Premature revenue recognition forced restatements of 2017 and Q1 2018 financials and $1.5M civil penalty.[2]

These cases underscore a hard truth: ASC 606 compliance isn’t optional. It demands judgment, consistency, and precision across contract terms, performance obligations, and timing. Misapplications can trigger SEC enforcement, reputational damage, and financial penalties.

Automation and standardized policies are no longer “nice to have”—they’re essential. Modern CFOs are turning to AI-driven billing and revenue automation to:

  • Detect contract changes in real time
  • Apply ASC 606 rules consistently
  • Forecast revenue with confidence

Bottom line: ASC 606 is complex, but the cost of getting it wrong is far greater. These cautionary tales remind us that compliance isn’t just about ticking boxes, it’s about protecting your company, your investors, and your career.

Note: This post is for insights and discussion only, not professional advice. Every business is different, so check with your CPA or financial advisor before making decisions.


[1] SEC charges executives with fraudulent revenue recognition practices

[2] SEC charges improper revenue recognition practices—still a hot topic for SEC Enforcement – Cooley PubCo