ACC 101 · Unit 3 · Lesson 2 of 5
Revenue Recognition
Accrual Accounting
Lesson
Revenue is not cash, and it is not a signed deal
A sales leader closes the largest contract in company history. Cash hits the bank account on the first day of the quarter. The board sees a spike in the bank balance and assumes the business model is firing on all cylinders. Three months later, auditors ask why reported revenue is a fraction of cash collected, why a large liability called deferred revenue appeared on the balance sheet (the snapshot of what the company owns and owes at a date), and why days sales outstanding is climbing even though "sales are up." The argument that follows is not about effort. It is about whether the company has actually earned the right to call those dollars revenue.
Revenue recognition is the set of rules that answers a deceptively simple question: when has a company done enough work, or transferred enough value, that it may record sales on the income statement (also called the profit and loss statement, or P&L, the report of revenues and expenses over a period)? Under accrual accounting, which you studied in Unit 3, Lesson 1 (Cash Accounting versus Accrual Accounting), revenue is recorded when it is earned, not when cash arrives and not when a contract is signed. That timing rule exists because investors, lenders, and boards need to compare companies on economic performance, not on whoever collected the most prepayments in a single month.
This lesson builds directly on foundations from earlier units. From Unit 1 (Accounting Foundations), you already know that GAAP (Generally Accepted Accounting Principles, the official U.S. rulebook for financial statements) governs how economic events become accounting events, and that the income statement, balance sheet, and cash flow statement (the report reconciling profit to cash movement) must articulate as one integrated system. From Unit 2 (Recording Transactions), you know that every recognized revenue amount has a journal entry behind it: a debit and a credit that keep the accounting equation (assets = liabilities + equity) in balance. From Lesson 1 in this unit, you know that collecting two years of subscription cash upfront can make a cash-basis report look brilliant while accrual reporting spreads revenue as obligations are fulfilled. Revenue recognition is where that accrual logic becomes precise, contract by contract.
Managers who confuse revenue with cash or with sales activity make predictable and expensive mistakes. They overstate sustainable earning power in forecasts. They trigger loan covenant breaches when deferred revenue balloons. They compare their company to a peer that reports marketplace transactions on a different basis (gross versus net) and draw false conclusions about scale. This lesson gives you the vocabulary and mechanics to read revenue correctly, challenge sloppy internal metrics, and spot patterns that often precede restatements.
Bookings, billings, cash, and revenue: four numbers that move on different clocks
Sales organizations love big numbers. Finance organizations insist on precise numbers. Both can be right within their own definitions, yet the gap between them confuses boardrooms every quarter. Before you touch the formal revenue standard, you need four distinct metrics that operators, investors, and auditors use when they talk about "sales."
Bookings are a forward-looking sales activity metric. A booking typically records the total contract value when a deal is signed or when a customer commits, regardless of whether work has started, invoices have been sent, or cash has been collected. Bookings answer a pipeline and growth question: "How much new business did we contract?" Bookings are often not GAAP revenue. They can include multi-year totals, renewal assumptions, or usage estimates that may never fully convert.
Billings are invoices sent (or amounts contractually due) to customers in a period. Billings answer a collections and working-capital question: "What did we ask customers to pay?" A company can bill aggressively at quarter-end to hit an internal target even when performance obligations are incomplete. Billings drive accounts receivable (AR, money customers owe after being invoiced), but billings are still not the same as earned revenue.
Cash collected is a liquidity event. Cash answers: "What hit the bank?" Under accrual accounting, cash can arrive before revenue (annual prepayment) or after revenue (invoice on net-30 terms, collected next month). Cash is the input to the cash flow statement. It is not, by itself, proof of earning power.
Revenue (under accrual accounting) is an earning event on the income statement. Revenue is recognized when the company satisfies the promises it made to the customer, at the amount it expects to be entitled to collect. Revenue answers: "How much did we actually deliver this period?"
The four metrics can diverge for entirely legitimate business reasons, and that divergence is why sophisticated readers never use one metric alone.
| Metric | What it measures | Typical timing vs revenue | Who cares most |
|---|---|---|---|
| Bookings | Contracted deal value | Often earlier than revenue (multi-year total at signing) | Sales leadership, growth investors |
| Billings | Invoiced amounts | May be earlier or later depending on billing schedule | Collections, AR team, CFO |
| Cash collected | Bank receipts | Often earlier for prepaids; later for credit sales | Treasury, lenders, payroll planning |
| Revenue (GAAP) | Earned performance | When obligations are satisfied | Investors, auditors, covenant tests |
Consider a fictional software-as-a-service (SaaS, software delivered over the internet on a subscription) company, Nimbus Cloud Systems. On March 31, Nimbus signs a three-year contract with Pinecrest Manufacturing for $360,000 total ($10,000 per month). Pinecrest prepays the entire $360,000 on April 2. Nimbus's sales team records a $360,000 booking in March (or April, depending on internal policy). Nimbus bills $360,000 on April 1 and collects $360,000 in April. Under accrual rules, Nimbus recognizes only one month of revenue in April: $10,000. The remaining $350,000 is deferred revenue, a liability (an obligation to deliver future service or refund if the contract is breached under certain terms). If the CEO presents "we did $360,000 in sales this month" using the cash or booking number, the board is misreading the P&L. If the CFO presents "$10,000 of April revenue plus $350,000 of deferred revenue liability," the board is reading the business as an ongoing service obligation, which is the economically honest April story.
This is not a small cosmetic difference. Net income (profit or loss after all expenses) feeds retained earnings on the balance sheet. Overstated revenue inflates profit, which inflates equity, which makes return ratios and leverage ratios look better than they are. Lenders writing covenants on EBITDA (earnings before interest, taxes, depreciation, and amortization, a rough measure of operating earnings) assume revenue was recognized under GAAP, not under a sales team's booking definition.
The revenue standard: ASC 606 in plain language
U.S. public companies and most entities reporting under GAAP follow ASC 606, the Accounting Standards Codification topic titled Revenue from Contracts with Customers. IFRS 15 (International Financial Reporting Standards Topic 15, the international counterpart) follows the same five-step architecture. You do not need to memorize codification paragraph numbers to be a literate manager. You need to understand the logic chain, because that chain is how auditors test whether revenue "makes sense."
ASC 606 exists because revenue is the top line every ratio builds on. If the top line is flexible, everything below it is fiction. The standard forces companies to answer five questions in order, and the order matters. You cannot jump to "recognize revenue" without first defining what was promised and for how much.
Step 1: Identify the contract with a customer. A contract is an agreement that creates enforceable rights and obligations. Not every handshake qualifies. There must be commercial substance, defined payment terms, and evidence that collection is probable. Managers should know that side letters, oral promises, and "free until upgrade" trials can create obligations even when legal teams did not intend a formal contract.
Step 2: Identify the performance obligations. A performance obligation is a distinct promise to transfer a good or service (or a bundle) the customer can benefit from on its own or together with readily available resources. One contract may contain multiple obligations: software license, implementation, training, support, hosting. The identification step is where many multi-element deals succeed or fail in audit. If obligations are not distinct, they are combined and recognized together.
Step 3: Determine the transaction price. The transaction price is what the company expects to be entitled to in exchange for satisfying the obligations. This includes fixed fees, variable fees, discounts, rebates, refunds, credits, and consideration payable to the customer (such as a credit for future purchases). Variable consideration (amounts that can change based on usage, bonuses, penalties, or returns) must be estimated using either the expected value method (probability-weighted average) or the most likely amount method, whichever predicts the outcome better. The estimate is constrained: you cannot book an optimistic number that is likely to reverse sharply later.
Step 4: Allocate the transaction price to the performance obligations. When a contract has multiple obligations, the total price is split based on standalone selling prices (what each obligation would sell for separately). Discounts are typically spread across obligations proportionally unless evidence shows the discount applies only to specific items. Allocation is not an administrative detail. It determines which dollars hit revenue on day one versus over twelve months.
Step 5: Recognize revenue when (or as) each performance obligation is satisfied. Satisfaction happens when control of the good or service transfers to the customer. Control means the customer can direct use of the asset and obtain substantially all of the remaining benefits. This is the step that connects ASC 606 back to Lesson 1's accrual principle: revenue follows delivery of control, not invoice date.
The five steps are easier to remember if you picture a stack. The contract sets the boundary. Obligations define the "pieces" of work. Transaction price sets the total expected consideration. Allocation splits that total across pieces. Recognition timing records revenue as each piece is delivered.
| Step | Manager question | Common failure mode |
|---|---|---|
| 1 Contract | Do we have an enforceable agreement with probable collection? | Treating non-binding pilots as firm contracts |
| 2 Obligations | What distinct promises did we make? | Bundling license and support into one vague "solution" |
| 3 Transaction price | What do we expect to collect after discounts and refunds? | Ignoring rebate liability until customers claim |
| 4 Allocation | How should the price split across promises? | Allocating arbitrarily without standalone evidence |
| 5 Recognition | When did the customer gain control? | Recognizing on shipment when risk and control did not transfer |
Auditors trace a sample of contracts through all five steps. As a manager, you should be able to do the same on your largest deals. If your company cannot explain Step 2 and Step 5 for its top ten contracts, revenue quality is already a governance risk.
Point in time versus over time: when control transfers
Step 5 collapses into two recognition patterns: point in time and over time. The distinction is not about how you invoice. It is about how the customer receives value.
Point-in-time recognition applies when control transfers at a single moment. Classic examples include shipping a physical product, delivering a downloadable perpetual software license, or handing over a completed appraisal report. Revenue is recognized on that date (subject to other criteria such as collectibility). If Harbor Cart, a fictional online retailer, ships $50,000 of goods to a customer on June 28 and title passes on delivery, Harbor Cart recognizes $50,000 of product revenue in June (and records cost of goods sold, or COGS, the inventory cost of what was sold, in the same period under the matching principle you will study formally in Lesson 3).
Over-time recognition applies when the customer receives and consumes benefits as the seller performs, or when the seller creates an asset with no alternative use and has an enforceable right to payment for performance completed to date, or when the customer controls the asset as it is created (common in construction). Revenue is recognized progressively. SaaS subscriptions are the textbook over-time case for many vendors: the customer consumes access each day. A $12,000 annual subscription typically produces $1,000 of revenue per month, not $12,000 on day one.
Why does the pattern matter to capital providers? Over-time revenue smooths the P&L and ties more closely to delivery capacity. Point-in-time revenue can spike with large license deliveries, making year-over-year comparisons volatile. A company that shifts mix from services to multi-year licenses can show accelerating revenue even if underlying customer value delivery is unchanged. Analysts therefore read revenue together with deferred revenue, backlog disclosures, and cash from operations.
| Pattern | Control signal | Typical industries | Balance sheet bridge item |
|---|---|---|---|
| Point in time | Delivery, acceptance, title transfer | Retail, perpetual licenses, one-time reports | AR after invoice; inventory falls |
| Over time | Continuous access or progressive build | SaaS, construction, long consulting engagements | Deferred revenue for prepaids; contract assets for unbilled work |
Contract assets (unbilled revenue) arise when the company has performed but not yet invoiced under the contract. Contract liabilities (often presented as deferred revenue) arise when the company has been paid or billed before performance. Both are common in enterprise software and construction. They are not errors. They are timing bridges between cash or billings and earned revenue.
Managers should watch for policy changes buried in footnotes. A shift from point-in-time to over-time (or the reverse) can change growth rates without any change in customer contracts. That is a governance conversation, not a spreadsheet tweak.
Variable consideration, contract modifications, and estimation discipline
Not all deals have a fixed price. Variable consideration includes performance bonuses, usage-based fees, price concessions, referral credits, and right of return (customer's contractual right to send product back). ASC 606 requires companies to estimate variable consideration at contract inception and update the estimate when facts change, subject to the constraint against recognizing amounts that are probable of significant reversal.
Estimation discipline separates conservative reporters from aggressive ones. Suppose Ridgeport Builders, a fictional commercial contractor, signs a $2,000,000 fixed fee plus a $200,000 completion bonus if the project finishes thirty days early. Ridgeport has limited history with bonuses on similar sites. A cautious estimate at signing might include $40,000 of the bonus in the transaction price (expected value), not the full $200,000. If Ridgeport later earns the bonus with near certainty, it can increase the estimate and recognize additional revenue. If Ridgeport books the full $200,000 on day one and the project slips, revenue must be reversed. Reversals alarm investors and invite SEC (Securities and Exchange Commission, the U.S. regulator of public company reporting) scrutiny.
Contract modifications (upsells, downgrades, scope changes, renewals) are evaluated as either a separate new contract or a modification of the existing contract, depending on whether the remaining goods or services are distinct and whether the price reflects standalone selling prices. SaaS companies feel this constantly. A customer upgrades mid-year from a $6,000 to a $10,000 annual plan. Internally, the customer success team may record an ARR (annual recurring revenue, a SaaS metric equal to contracted recurring fees normalized to one year) increase immediately. GAAP revenue will follow the modification rules: some changes are treated as if the old contract ended and a new one began; others adjust remaining performance on a cumulative catch-up basis. ARR can move before the P&L pattern fully reflects the change. Neither metric is "wrong," but they answer different questions.
| Event | Internal metric impact | GAAP revenue impact |
|---|---|---|
| Mid-year upgrade (distinct services, price at SSP) | ARR jumps on effective date | May combine or separate contracts; revenue adjusts prospectively |
| Scope reduction with refund | ARR falls | Revenue reduced; refund liability may rise |
| Renewal at new price | Booking/ARR on signature | Revenue continues over new service period |
| Usage overage billed monthly | Billings and cash rise with usage | Revenue recognized as usage occurs |
Beginners often treat estimates as "soft numbers" that finance can fix later. Under GAAP, estimates are first-class inputs. A sales discount program that looks immaterial at signing can become material when volume spikes. A returns reserve that is too low overstates revenue and understates liabilities. Auditors test assumptions against history and contract terms. Boards should ask for sensitivity: "If returns run at 8% instead of 3%, what happens to Q4 revenue and margin?"
Principal versus agent: gross versus net presentation
Marketplace and platform businesses add a presentation question that does not change cash but changes perceived scale. When is the company the principal (primary obligor) in the transaction, and when is it only an agent arranging for another party to deliver the good or service?
A principal controls the good or service before it is transferred to the customer. A principal recognizes revenue gross (the full amount charged to the customer, with supplier costs in expense lines). An agent does not control the underlying good or service. An agent recognizes revenue net (typically its commission or fee), because the commission is the amount it earns for arranging the transaction.
Consider fictional HarborCart Marketplace, which connects diners with restaurants. HarborCart charges the customer $100 for a meal. It pays the restaurant $85 and keeps $15. If HarborCart is an agent (restaurant controls the meal, HarborCart facilitates payment and discovery), HarborCart recognizes $15 of revenue, not $100. If HarborCart were a principal (for example, it buys meals and resells them, bearing inventory risk), it would recognize $100 of revenue and $85 of cost.
This distinction destroys naive comparability. Two platforms can show vastly different "revenue" with similar commission cash flow. Investors who rank companies by top-line size without reading the policy footnote compare unlike things. Managers pitching partnerships should know how principal/agent classification affects key performance indicators (KPIs, measurable operating metrics) shown to the board.
| Indicator | More likely principal (gross) | More likely agent (net) |
|---|---|---|
| Inventory risk before transfer | Yes | No |
| Pricing discretion | Sets price | Price set by supplier |
| Primary responsibility for fulfillment | Bears responsibility | Supplier fulfills |
| Credit risk on product | Bears risk | Supplier bears product risk |
Gross merchandise value (GMV, total dollar value of transactions on a platform) is a non-GAAP operating metric sometimes disclosed alongside net revenue. GMV can be informative for volume trends, but it is not a substitute for earned revenue under ASC 606.
Deferred revenue, multi-element contracts, and statement articulation
Deferred revenue (a contract liability) is cash or billings received before performance. It is not a "fake" liability in the sense of bank debt, but it is a real obligation to deliver service or potentially refund under contract terms. Deferred revenue connects Lesson 1's prepaid subscription example to formal balance sheet presentation.
When performance occurs, deferred revenue is reduced and revenue is credited. The entry pattern is foundational:
| Event | Debit | Credit |
|---|---|---|
| Collect annual SaaS prepayment | Cash | Deferred revenue |
| Each month of service delivered | Deferred revenue | Revenue |
Multi-element contracts bundle multiple performance obligations into one commercial deal. Enterprise software packages often combine a perpetual or term license, implementation, and post-contract support. ASC 606 requires identifying distinct obligations, allocating the transaction price based on standalone selling prices, and recognizing each obligation under its own timing pattern.
Suppose Keystone Analytics sells a $500,000 bundle: software license with standalone price $300,000, two-year support with standalone price $200,000 (total standalone $500,000, so allocation is proportional and simple). If the license transfers at a point in time on July 1 and support is over time for twenty-four months, July revenue might include the full $300,000 license plus one month of support ($200,000 / 24 = $8,333), for $308,333 in July, with $191,667 of support deferred into the liability and recognized monthly thereafter. If Keystone incorrectly treated the entire $500,000 as a single obligation recognized on July 1, July revenue would be overstated by $191,667, and the next twenty-three months would be understated. Forecasts built on the wrong pattern would miss badly.
Articulation across statements is the discipline check. Ending deferred revenue on the balance sheet should reconcile to beginning deferred revenue plus cash prepayments and billings in advance, minus revenue recognized from satisfying those obligations. If that rollforward does not tie, something in Steps 2 through 5 was inconsistent.
Red flags: when revenue growth outruns economic reality
Revenue recognition policy is also a forensic lens. Analysts and short sellers hunt for patterns where reported revenue grows faster than cash generation or where receivables swell faster than sales. You do not need fraud intent to have a problem. Aggressive policies, loose cutoff practices, and channel incentives can produce fragile earnings.
Days sales outstanding (DSO, average accounts receivable divided by average daily credit sales, expressed in days) measures how long collections take. Rising DSO while revenue accelerates can mean billings are outrunning collections, customers are struggling to pay, or quarter-end channel stuffing (pushing excess product to distributors or resellers to inflate near-term shipments) is creating receivables that will return or require concessions. DSO is not definitive proof of misconduct, but it is a question generator.
| Red flag | What you might see | Questions to ask |
|---|---|---|
| Revenue up, OCF (operating cash flow, cash generated by core operations) flat or down | Large deferred revenue adds back on cash flow statement, or AR buildup | Is growth prepaid, billed-but-not-collected, or earned? |
| DSO rising faster than revenue | AR growing quicker than sales | Did we change payment terms, channel mix, or recognition timing? |
| Deferred revenue falling while "bookings" rise | Recognizing faster than new prepaids | Did we change contract length, billing frequency, or policy? |
| Bill-and-hold without control transfer | Inventory ships to warehouse customer does not control | Did control actually transfer under ASC 606? |
| Principal gross revenue in low-margin reseller model | Top line huge, net margin tiny | Are we comparable to net-revenue peers? |
Channel stuffing often appears in consumer goods and hardware. A fictional electronics maker, Summit Devices, offers distributors deep quarter-end discounts and liberal return rights to pull forward shipments. Revenue may spike in March. Returns hit in April. Gross margin collapses. DSO jumps because distributors delay payment while negotiating returns. None of this requires imaginary accounting entries. It can begin as "make the quarter" commercial behavior that steps over the line of control transfer or return reserve adequacy.
From Unit 1, Lesson 4 (Economic Events versus Accounting Events), you learned that not every commercial win is immediately an accounting event. Channel stuffing is a painful reminder: shipping to a distributor's warehouse is an economic event, but revenue recognition requires control transfer aligned with customer benefit. From Unit 2's journal entry discipline, you know that every revenue credit should be traceable to performance, not only to shipment documents.
Boards and lenders should insist on a revenue quality dashboard: GAAP revenue, billings, cash collections, deferred revenue rollforward, AR aging, DSO, returns as a percent of sales, and a written policy summary for principal versus agent and variable consideration. When those series diverge, the conversation should start with ASC 606 steps, not with celebratory press releases.
Worked example: Nimbus Cloud Systems (SaaS prepaids, billings, and multi-element allocation)
Nimbus Cloud Systems sells subscription analytics software to mid-size manufacturers. This example walks Q1 (January through March) for two customer deals and shows how bookings, billings, cash, deferred revenue, and GAAP revenue diverge, then reconcile on the balance sheet and income statement. All numbers are fictional but internally consistent.
Part A: Setup and contracts
Customer A (Pinecrest Manufacturing): On January 2, Pinecrest signs a twelve-month SaaS agreement for $120,000 total, invoiced and collected in full on January 2. Service delivery is over time, evenly by month.
Customer B (Lakeview Components): On February 1, Lakeview signs a twelve-month SaaS agreement for $60,000 total, billed quarterly in advance ($15,000 per quarter). Nimbus invoices the first quarter on February 1; Lakeview pays on February 10.
Customer C (Harbor Precision Tools): On March 1, Harbor signs a bundled contract for $96,000 total: enterprise license (standalone selling price $60,000) plus twelve months of premium support (standalone selling price $36,000). The license transfers on March 15 (point in time). Support is delivered over twelve months beginning March 15.
Internal sales metrics (non-GAAP): Sales records bookings at contract signing for total contract value. Finance records billings when invoices are issued and revenue under ASC 606.
Part B: Q1 journal entries and revenue calculation
January (Customer A):
| Date | Account | Debit | Credit |
|---|---|---|---|
| Jan 2 | Cash | 120,000 | |
| Deferred revenue | 120,000 | ||
| Jan 31 | Deferred revenue | 10,000 | |
| Revenue | 10,000 |
January revenue from Customer A: $120,000 / 12 = $10,000.
February (Customers A and B):
| Date | Account | Debit | Credit |
|---|---|---|---|
| Feb 1 | Accounts receivable | 15,000 | |
| Deferred revenue | 15,000 | ||
| Feb 10 | Cash | 15,000 | |
| Accounts receivable | 15,000 | ||
| Feb 28 | Deferred revenue | 10,000 | |
| Revenue | 10,000 |
February revenue: Customer A $10,000 + Customer B ($60,000 / 12) $5,000 = $15,000.
Note: Customer B's booking of $60,000 was recorded internally in February, but only one month of service occurred in February.
March (Customers A, B, and C):
Allocation for Customer C bundle (standalone total $96,000 equals transaction price, so proportional allocation matches list prices):
| Obligation | Standalone price | Allocated price |
|---|---|---|
| License | 60,000 | 60,000 |
| Support (12 months) | 36,000 | 36,000 |
| Total | 96,000 | 96,000 |
License recognized on March 15: $60,000 (point in time). Support recognized for half-month March (March 15-31, 17 days of 31): $36,000 / 12 months = $3,000 per month; March partial = $3,000 × (17/31) = $1,645 (rounded to nearest dollar for teaching; we use $1,645).
March cash: none for Customer C in Q1 (assume net-30; cash collected in April, not part of Q1 cash).
| Date | Account | Debit | Credit |
|---|---|---|---|
| Mar 1 | Accounts receivable | 96,000 | |
| Deferred revenue | 96,000 | ||
| Mar 15 | Deferred revenue | 60,000 | |
| Revenue (license) | 60,000 | ||
| Mar 31 | Deferred revenue | 1,645 | |
| Revenue (support) | 1,645 | ||
| Mar 31 | Deferred revenue | 10,000 | |
| Revenue (SaaS A) | 10,000 | ||
| Mar 31 | Deferred revenue | 5,000 | |
| Revenue (SaaS B) | 5,000 |
March revenue total: $60,000 + $1,645 + $10,000 + $5,000 = $76,645.
Q1 revenue summary:
| Month | Revenue |
|---|---|
| January | 10,000 |
| February | 15,000 |
| March | 76,645 |
| Q1 total | 101,645 |
Part C: Reconciliation of metrics and balance sheet
Bookings, billings, cash (Q1):
| Metric | Q1 amount | Notes |
|---|---|---|
| Bookings | 276,000 | $120,000 + $60,000 + $96,000 at signing |
| Billings | 231,000 | $120,000 + $15,000 + $96,000 invoiced |
| Cash collected | 135,000 | $120,000 Jan 2 + $15,000 Feb 10 |
| GAAP revenue | 101,645 | Earned per ASC 606 |
Cash can legitimately trail billings when customers pay on terms (Customer C).
Deferred revenue rollforward (Q1):
| Item | Amount |
|---|---|
| Beginning deferred revenue | 0 |
| Plus: cash prepayment (Customer A) | 120,000 |
| Plus: billed and not yet earned (Customer B Feb 1) | 15,000 |
| Plus: billed and not yet earned (Customer C Mar 1) | 96,000 |
| Less: revenue recognized in Q1 | (101,645) |
| Ending deferred revenue Mar 31 | 129,355 |
Verify by remaining billed or collected obligations (unbilled future months are not yet deferred revenue):
| Customer | Deferred balance Mar 31 | Build |
|---|---|---|
| A | 90,000 | 9 remaining months × $10,000 |
| B | 5,000 | $15,000 Q1 prepayment minus $10,000 earned in Feb-Mar; April still owed |
| C | 34,355 | $96,000 billed minus $60,000 license and $1,645 support earned |
| Total | 129,355 |
129,355 = 90,000 + 5,000 + 34,355 ✓
Verify rollforward arithmetic:
120,000 + 15,000 + 96,000 - 101,645 = 129,355 ✓
Simplified Q1 ending balance sheet (selected accounts, no other activity):
| Assets | Liabilities + Equity | ||
|---|---|---|---|
| Cash | 135,000 | Deferred revenue | 129,355 |
| Accounts receivable | 96,000 | Retained earnings (Q1 net income) | 101,645 |
| Total assets | 231,000 | Total L + E | 231,000 |
231,000 = 129,355 + 101,645 ✓ (Assumes zero expenses in Q1 for teaching clarity; in practice, expenses would reduce retained earnings and net income.)
AR check: Customer C invoice $96,000 outstanding at March 31 ✓
Part D: Managerial read
The sales vice president will highlight $276,000 in bookings in Q1. Treasury will highlight $135,000 of cash collected. The CFO should report $101,645 of GAAP revenue and $129,355 of deferred revenue liability, meaning roughly 56% of contracted Q1 value is still undelivered at quarter-end when weighted by timing (not a single ratio for all deals, but directionally clear).
A lender comparing Nimbus to a cash-basis peer would overstate Nimbus's January performance if it used cash alone ($120,000 inflow versus $10,000 revenue). An investor forecasting next quarter should model monthly recognition from deferred revenue, not multiply bookings by four.
Board questions worth asking:
- What percentage of Q1 bookings converts to revenue within the next two quarters under existing contract lengths?
- Why did AR jump to $96,000 with no Q1 cash from Customer C, and what is the collection date?
- If support delivery delays one month, how much March license revenue must be reversed (none for license if control transferred; support would shift)?
Worked example: Ridgeport Builders (over-time recognition, variable consideration, contract modification)
Ridgeport Builders constructs specialized cold-storage facilities. This example applies over-time recognition, variable consideration constraint, and a contract modification in month 4. It shows how revenue can differ from billings and how estimates change when facts change.
Part A: Original contract
On April 1, Ridgeport signs a fixed-price contract with Summit Foods to build a facility for $4,800,000, payable in four equal quarterly installments of $1,200,000 based on milestones. Ridgeport expects total costs of $4,000,000 and recognizes revenue over time using cost-to-cost (percent complete based on costs incurred divided by total expected costs).
The contract includes a $300,000 early completion bonus if finished by February 28 of the following year. Ridgeport estimates a 20% probability of earning the bonus at inception (expected value = $60,000). Collection is probable.
Initial transaction price: $4,800,000 + $60,000 constrained bonus estimate = $4,860,000.
Part B: Months 1-3 performance and billings
Costs incurred:
| Month | Costs incurred | Cumulative costs | Percent complete (cum cost / $4,000,000) |
|---|---|---|---|
| April | 400,000 | 400,000 | 10.0% |
| May | 600,000 | 1,000,000 | 25.0% |
| June | 500,000 | 1,500,000 | 37.5% |
Revenue recognized each month = percent complete × $4,860,000, minus prior recognized (cumulative approach):
| Month end | Cumulative % | Cumulative revenue | Monthly revenue |
|---|---|---|---|
| April 30 | 10.0% | 486,000 | 486,000 |
| May 31 | 25.0% | 1,215,000 | 729,000 |
| June 30 | 37.5% | 1,822,500 | 607,500 |
| Q2 total | 1,822,500 |
Billings (milestones):
| Date | Milestone billed | Cash collected same month |
|---|---|---|
| April 30 | 1,200,000 | 1,200,000 |
| June 30 | 1,200,000 | 1,200,000 |
Billings Q2 = $2,400,000; revenue Q2 = $1,822,500; cash Q2 = $2,400,000.
Contract liability (deferred revenue) or contract asset? Ridgeport has billed $2,400,000 cumulative but recognized $1,822,500 revenue. Excess billings create a contract liability of $577,500 at June 30 ($2,400,000 - $1,822,500), similar in spirit to deferred revenue: cash and billings ahead of performance measurement.
Check cumulative: 1,200,000 + 1,200,000 - 1,822,500 = 577,500 ✓
Part C: Contract modification in July
On July 15, Summit adds optional insulation upgrade for $400,000 additional fixed fee. Ridgeport expects $350,000 incremental costs. The upgrade is distinct, priced at standalone selling price. Under ASC 606, this is treated as a new contract for the added scope.
New bonus facts: Ridgeport now estimates 70% probability of early completion on the original scope (expected bonus $210,000, an increase of $150,000 from the original $60,000 estimate). The increase is recognized cumulative catch-up in July for original scope.
July costs: $800,000 on original scope (cumulative $2,300,000, 57.5% complete) plus $100,000 on upgrade (upgrade 28.6% complete on its own $350,000 budget).
Original scope July revenue:
Cumulative percent = 2,300,000 / 4,000,000 = 57.5%
Cumulative revenue at new transaction price = 57.5% × ($4,800,000 + $210,000) = 57.5% × $5,010,000 = $2,880,750
Previously recognized through June: $1,822,500
July revenue from original scope = $2,880,750 - $1,822,500 = $1,058,250 (includes $150,000 catch-up from bonus estimate increase embedded in the rate)
Upgrade scope July revenue: 28.6% × $400,000 = $114,400
Total July revenue: $1,058,250 + $114,400 = $1,172,650
July billing: none (next milestone in September).
Contract position after July:
Cumulative billings remain $2,400,000 (no new invoice in July).
Cumulative revenue = $1,822,500 + $1,172,650 = $2,995,150
Contract asset (unbilled revenue) at July 31 = $2,995,150 - $2,400,000 = $595,150
The company performed ahead of billings; the balance sheet shows a contract asset, not a liability.
Check: 2,995,150 - 2,400,000 = 595,150 ✓
Part D: Managerial read
Summit Foods sees $2,400,000 billed in Q2 but only $1,822,500 of revenue. A naive "margin on billings" calculation misstates project health. Ridgeport's project controller should report percent complete, cost overrun risk, and the contract asset balance.
When the bonus probability jumped in July, revenue rose by cumulative catch-up even though no new cash arrived. Investors should treat that increase as estimate-driven, not volume-driven. If July's bonus probability proves wrong in October, Ridgeport must reverse part of the catch-up.
Operator decisions: Ridgeport should not pay sales bonuses on billings alone. Bonuses tied to earned margin (revenue minus costs at percent complete) align incentives with ASC 606.
Lender read: Rising contract assets can be healthy (performance ahead of billings) or risky (aggressive percent-complete assumptions). Lenders should covenant on cash collected and cost-to-complete audits, not billings.
Common mistakes beginners make
| Mistake | Reality |
|---|---|
| Treating cash collected as revenue | Under accrual accounting, prepayments create deferred revenue until performance occurs; cash can rise while earned revenue lags. |
| Using bookings as GAAP revenue | Bookings measure contracted activity; multi-year bookings front-load a sales metric that GAAP spreads over service periods. |
| Assuming invoicing equals earning | Billings may precede or follow performance; AR reflects invoices, not necessarily satisfied obligations. |
| Recognizing a bundled contract all at once | Multi-element deals require separate performance obligations and allocation; license plus support rarely equals one point-in-time entry. |
| Ignoring variable consideration constraint | Bonuses, rebates, and returns need estimated reserves; optimistic estimates inflate revenue until reversals hit. |
| Comparing marketplace companies by gross revenue only | Principal versus agent presentation changes the top line without changing commission cash; read the policy footnote. |
| Missing DSO and deferred revenue trends | Revenue growing with rising DSO or falling deferred revenue (without mix explanation) warrants forensic questions. |
| Treating channel shipments as automatic revenue | Control transfer and return rights determine timing; quarter-end pushes to distributors can overstate revenue. |
Practice problem
Meridian Training Group provides corporate training. Use the following Q2 facts (April-June). Meridian follows GAAP and ASC 606.
- April 1: Signed a twelve-month online learning subscription with Northline Bank for $48,000, collected in full April 3.
- May 10: Signed a contract with Coastal Energy for custom workshop delivery on June 20 for $25,000; invoice sent May 10, collected May 25.
- June 1: Signed a $180,000 two-year support and maintenance contract, billed semi-annually in advance. First invoice $90,000 on June 1; collected June 15.
- June 5: Signed a marketplace-style referral deal: Meridian facilitates third-party certification exams billed at $50,000 to the customer; Meridian remits $42,500 to the exam provider and keeps $7,500. Meridian is an agent (does not control the exam service).
Tasks:
- Compute Meridian's GAAP revenue for April, May, and June individually and for Q2 total.
- Prepare a deferred revenue rollforward from April 1 through June 30.
- Compute bookings, billings, and cash collected in Q2 (separate from GAAP revenue).
- Explain in a short paragraph why Meridian's sales dashboard should not label bookings as "revenue."
Solution
Task 1: GAAP revenue
April: Northline subscription over time: $48,000 / 12 = $4,000
May: Northline $4,000 + Coastal workshop not yet delivered = $4,000
June: Northline $4,000 + Coastal workshop delivered June 20 (point in time) $25,000 + Support contract over time: $180,000 / 24 months = $7,500 per month = $36,500
| Month | Revenue |
|---|---|
| April | 4,000 |
| May | 4,000 |
| June | 36,500 |
| Q2 total | 44,500 |
Agent referral: Meridian recognizes net $7,500 in June when the exam service is delivered (assume delivery in June). If delivered in June, add $7,500 to June and Q2:
June revised: $36,500 + $7,500 = $44,000; Q2 total = $52,000
We include agent revenue in June for completeness.
Task 2: Deferred revenue rollforward
| Amount | |
|---|---|
| Beginning Apr 1 | 0 |
| Plus cash prepayment Northline Apr 3 | 48,000 |
| Plus billed support Jun 1 (unearned portion) | 90,000 |
| Less subscription revenue (3 months × $4,000) | (12,000) |
| Less support revenue (1 month × $7,500) | (7,500) |
| Ending deferred Jun 30 | 118,500 |
Coastal $25,000 collected May 25 for June delivery: no deferred balance June 30 (performance complete). Agent pass-through $42,500 is not Meridian revenue; the $7,500 commission is earned in June with no deferred balance if recognized on delivery.
Verify by remaining obligation (billed or collected amounts only):
Northline prepaid: 9 remaining months × $4,000 = 36,000
Support prepaid from June semi-annual invoice: 11 remaining months × $7,500 = 82,500
Total: 36,000 + 82,500 = 118,500 ✓
Rollforward check: 0 + 48,000 + 90,000 - 12,000 - 7,500 = 118,500 ✓
Task 3: Bookings, billings, cash
| Metric | Q2 total | Build |
|---|---|---|
| Bookings | 303,500 | $48,000 + $25,000 + $180,000 + $50,000 referral GMV |
| Billings | 215,000 | $48,000 implied invoice Apr + $25,000 May + $90,000 Jun + $50,000 referral invoice Jun (if Meridian invoices gross) |
| Cash collected | 170,500 | $48,000 Apr 3 + $25,000 May 25 + $90,000 Jun 15 + $7,500 net commission if collected net (varies by billing arrangement) |
Teaching note: Billings for agent deals may show $50,000 gross invoice with $42,500 payable to provider; GAAP revenue remains $7,500.
Task 4: Why bookings are not revenue (explanation)
Bookings aggregate contract signatures across multi-month or multi-year horizons, while GAAP revenue measures performance satisfied in each reporting period. If Meridian's dashboard equates bookings to revenue, a June support booking of $180,000 would imply June revenue far above the $7,500 earned in June, overstating run-rate profit, distorting budget variances, and mis-signaling covenant compliance. Sales activity metrics are useful for pipeline management, but the income statement must follow control transfer and obligation satisfaction under ASC 606. Leaders need both views, clearly labeled, with deferred revenue bridging prepaids to future earning.
Practice problem 2
HarborCart Marketplace (agent) and Summit Goods (principal) report June activity:
| Company | Customer payments | Amount paid to supplier | HarborCart/Summit keeps |
|---|---|---|---|
| HarborCart (agent) | 400,000 | 340,000 | 60,000 |
| Summit Goods (principal) | 250,000 | 190,000 | 60,000 |
Each company also had $500,000 of ordinary GAAP revenue in June from its core model (already net for HarborCart, gross for Summit before COGS).
Tasks:
- What is each company's GAAP revenue for June including the marketplace activity?
- Calculate gross margin for Summit Goods June marketplace activity alone (revenue minus supplier cost).
- A junior analyst says HarborCart is "smaller" because its total revenue is lower. Write two sentences explaining why that comparison is misleading.
Solution
Task 1: June GAAP revenue
| Company | Core revenue | Marketplace GAAP revenue | Total June revenue |
|---|---|---|---|
| HarborCart (agent, net) | 500,000 | 60,000 | 560,000 |
| Summit Goods (principal, gross) | 500,000 | 250,000 | 750,000 |
Task 2: Summit marketplace gross margin
Marketplace revenue $250,000 less supplier cost $190,000 = $60,000 margin
Margin percent on marketplace revenue: $60,000 / $250,000 = 24%
Task 3: Misleading comparison (explanation)
HarborCart reports marketplace activity at net commission while Summit reports at gross sales, so Summit's top line includes pass-through supplier costs that HarborCart never reports as revenue. Both companies keep $60,000 of marketplace margin in this fact pattern, but Summit's GAAP revenue is $190,000 higher solely due to presentation policy. Comparisons must use net revenue, disclosed GMV, or margin dollars with footnote policy, not raw revenue totals.
Check: Marketplace margin 60,000 = 60,000 for both ✓
Key takeaways
- Revenue under accrual accounting reflects satisfied performance obligations, not cash, invoices, or signed contract totals.
- ASC 606 structures recognition in five steps: contract, obligations, transaction price, allocation, and timing of control transfer.
- Point-in-time versus over-time patterns determine whether revenue spikes at delivery or spreads across service periods; deferred revenue bridges prepaids to future periods.
- Principal versus agent policies change gross versus net presentation; naive revenue comparisons across platforms mislead.
- Watch DSO, deferred revenue rollforwards, and cash from operations alongside revenue growth to assess earnings quality.
After this lesson
- Pull a public 10-K (annual report filed with the SEC) from a subscription or marketplace company you follow. Read the revenue recognition footnote and identify one performance obligation, one timing pattern (point in time or over time), and whether the firm uses gross or net presentation for any intermediary role.
- For a business you know, list this quarter's bookings, billings, cash collected, and GAAP revenue on one page. Where do they diverge, and does deferred revenue explain the gap?
- Continue to Lesson 3: Expense Recognition and Matching, where you will pair today's revenue timing rules with how costs are recorded in the same reporting periods.
Lesson exercise
40 minApply: Revenue Recognition
Deliverable
One-page workbook entry or memo section filed under ACC 101 Unit materials.
Rubric
- • Decision frame is specific and time-bound
- • Framework applied with auditable steps
- • Downside case is plausible, not strawman
- • Guardrail metric defined with owner
- • Recommendation links to evidence quality label