
If you’ve ever sat in a meeting and heard someone say, “We need to accelerate revenue” or “Why does deferred revenue keep growing?”, you’ve just brushed up against one of the most misunderstood, yet critical concepts in finance: Revenue Recognition.
First, What is Revenue?
Here’s the big misconception: Revenue is NOT the cash you collected from customers. It’s the money you’ve earned from your core business activities, whether or not the cash has hit your bank account.
So the real question is: When can a company say it has earned revenue? U.S. GAAP, ASC 606 sets the rules. While these rules sound simple, applying them, especially for SaaS and software businesses, it is far from straightforward.
The ASC 606 Framework: Five-Step Model That Sound Simple
Let’s break it down with real-world examples.
Step 1: Identify the Contract
A contract is an agreement between two or more parties that creates legal rights and responsibilities. For it to count under ASC 606, these things must be true:
Here are a few examples:
Netflix Subscription: You pay $18/month. Netflix gives you unlimited streaming. That’s a contract.
Terms and conditions on consumer subscription sites count as contracts just like those signed by enterprise customers and software providers. The difference is that the amounts and complexity vary widely.
Pizza Delivery: You order a large pepperoni for $20 and the restaurant delivers. That’s a contract!
According to Domino’s Pizza 101 Fun Facts, Domino’s enters and fulfills about 4 million contracts a day – that’s 4 million pizza deliveries. Both sides know exactly what they’re giving and what they’re getting.
Babysitting Deal: You ask your neighbor to babysit for $50 on Saturday night and they agree to watch your kids for $50. This is also a contract.
Even if it’s just a handshake, that’s a legally binding contract that can be enforceable in court.
Step 2: Identify Performance Obligations
This means figuring out what exactly the company promised to deliver. Each promise is called a “performance obligation”. Think of it as the list of jobs the company agreed to do.
For something to be a performance obligation, it must be distinct, meaning the customer can use it on its own or with other things they already have. Here are a few examples:
Streaming Bundle: You pay for a subscription that includes movies, TV shows, and exclusive live sports. If these are all part of one service and work together, they might count as one obligation. But if exclusive live sports is sold as a separate feature, that’s another obligation.
Pizza Combo Deal: You order a combo with pizza, garlic bread and a soda. Each item is separate and can be enjoyed on its own, so each is a performance obligation. If the restaurant forgets the soda, then the restaurant didn’t fulfill the contract.
Smartphone + Free Setup: You buy a smartphone, and the store promises free setup. There are two obligations: give you the phone and set it up.
Why does this matter? Identifying these obligations helps companies know when to recognize revenue. The company can’t count the money it receives as revenue until the company delivered what it promised.
Step 3: Determine the Transaction Price
This means figuring out how much money the company expects to get in exchange for delivering goods or services. Sounds easy, right? But sometimes it’s not just a flat price. There can be discounts, bonuses, or usage-based fees.
Here are a few examples.
Pizza Party Deal: You order 10 pizzas for $100, but the restaurant says, “if you order more than 10, you get 10% off”. Now the price depends on how many pizzas you and your friends eat.
Babysitter Bonus: You agree to pay $50 for babysitting, plus $10 extra if the kids are asleep by 9 pm. That extra $10 is a variable. It might happen or it might not.
Streaming Service Promo: You sign up for $18/month, but the first month is free. The company has to figure out the real price over time.
Why this matters? Companies need to estimate the final amount they’ll earn even if part of it depends on future events.
Step 4: Allocate the Price to Each Obligation
After determining the total transaction price (Step 3), the company must split that price among all the performance obligations identified in Step 2. Allocation is based on the standalone selling price of each good or service (what each item would cost if sold separately). If standalone prices aren’t obvious, companies need to estimate them.
Here are a few examples to consider.
Pizza Combo Split: You paid $20 for a pizza combo (pizza, garlic bread, soda). How much of that $20 is for the pizza? How much for the garlic bread? How much for the soda? The restaurant has to decide.
Streaming Service Split: You paid $25 for movies, TV shows, and exclusive live sports. How will you split $25 among the three streaming services?
Step 5: Recognize Revenue as Obligations are Satisfied
Finally, the company can count the money but only when it has delivered what it promised.
Pizza Delivery: The restaurant can’t recognize revenue until the pizza is in your hands. No delivery, no revenue.
Streaming Service: Netflix recognizes revenue each month as it gives you access to movies, shows and games. They can’t record a whole year’s revenue on day one because they haven’t delivered the full service yet.
Sounds Simple? Here’s the Catch
For SaaS businesses, this neat five-step framework can feel like a maze. Subscriptions, usage-based pricing, and bundled services create judgement calls, data challenges, and compliance risks.
In my next blog post, I’ll dive into why revenue recognition gets so complicated and how mistakes can cost you big.
What challenges have you faced with revenue recognition? Share your thoughts in the comments. I’d love to hear your experiences and questions.
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.
Linh Tong
Co-Founder & CPO at BillAgent.ai