How do I account for a mid-contract upgrade under ASC 606?
It depends on two tests: are the added goods/services distinct from what's already delivered, and is the added price in line with their standalone selling price? Distinct-and-priced-right modifications become a separate contract; distinct-but-mispriced ones get prospective treatment; not-distinct modifications require an immediate cumulative catch-up adjustment.
Part of the revenue recognition guide.
| Governing guidance | ASC 606-10-25-10 through 25-13 (contract modifications) |
|---|---|
| Separate contract test | Added goods/services are distinct AND priced at standalone selling price |
| Prospective test | Remaining goods/services are distinct but priced differently — no catch-up |
| Cumulative catch-up test | Remaining goods/services are NOT distinct — adjust revenue immediately |
Why this is one of the most commonly confused areas of ASC 606
A mid-term upgrade — more seats, a longer term, an added module — feels like one event, but ASC 606 forces it into one of three distinct accounting treatments, and picking the wrong one changes when and how much revenue shows up. The standard doesn't ask what the change is called commercially; it asks two narrow questions about the remaining goods and services in the contract.
Treatment 1 — separate contract
If the added goods or services are distinct from what's already in the contract, and the added price reflects their standalone selling price, the modification is accounted for as its own separate contract. Nothing about the original contract's accounting changes — revenue already recognized stays exactly as it was.
Treatment 2 — prospective (termination and new contract)
If the remaining goods or services are distinct from what's already been delivered, but the added price doesn't reflect standalone selling price (a mid-term discount, for example), the original contract is treated as terminated and a new contract begins for everything not yet delivered. Consideration is reallocated across the remaining performance obligations going forward — again, nothing already recognized is restated.
Treatment 3 — cumulative catch-up adjustment
If the remaining goods or services are not distinct from what's already been delivered — the common case for a single, ongoing performance obligation like a SaaS subscription — the modification is treated as part of the same, still-open performance obligation. The transaction price and the measure of progress are both updated, and the difference is recognized immediately as a cumulative catch-up: an upgrade can increase revenue in the period of the change, and a downgrade can reduce it.
The question that actually decides it
In practice, most SaaS mid-term upgrades — more seats added to an existing subscription tier, for instance — fail the "distinct" test, because the added seats aren't a separable good or service from the subscription already being delivered. That routes them to the cumulative catch-up treatment, which is why so many finance teams encounter it first: it's the default outcome for the most common kind of upgrade, not an edge case.
Next step
Map the finance workflow with the most exposure and prove the automation path.
Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.
Worked example
A 24-month contract upgraded from 50 to 75 seats in month 10
A 24-month, $240,000 SaaS contract for 50 seats ($10,000/month, $200/seat) is upgraded at the start of month 10 to 75 seats for the remaining 15 months (months 10-24), at the same $200/seat rate — so the added seats are priced at standalone selling price, but they're not a distinct service from the subscription already running. That fails the "distinct" test, so the modification is a cumulative catch-up, not a separate contract. Revised transaction price: $90,000 (9 months at 50 seats, $10,000/month) + $225,000 (15 months at 75 seats, $15,000/month) = $315,000 over 24 months. At the point of modification, 9/24 of the revised total ($118,125) is what should have been recognized to date under the new terms, against $90,000 actually recognized through month 9 — a $28,125 cumulative catch-up is recognized in month 10, and the remaining $196,875 spreads evenly across months 10-24 ($13,125/month).
Frequently Asked Questions
Sources
Related
Topic
Revenue Recognition
Revenue recognition determines when — not just how much — revenue hits the books. Under ASC 606 (US GAAP) and its international counterpart IFRS 15, revenue is recorded as a company satisfies its perf…
Read moreDefinition
What is ASC 606 revenue recognition?
ASC 606 is the FASB standard for recognizing revenue when control of a good or service transfers to the customer, for the amount expected in exchange. It uses one five-step model: identify the contract, identify performance obligations, determine the transaction price, allocate that price, and recognize revenue as each obligation is satisfied.
Read moreHow-to
How do you calculate a contract's transaction price under ASC 606?
Transaction price is the consideration a company expects in exchange for goods or services. Start with the stated contract price, add variable consideration using the expected-value or most-likely-amount method, constrained to amounts unlikely to reverse, adjust for any significant financing component, then subtract noncash consideration and amounts payable to the customer.
Read moreDiagnostic
Why doesn't deferred revenue match the general ledger?
Deferred revenue usually drifts from the general ledger when the billing system's revenue schedule isn't synced to GL journal entries, or when manual entries post outside that schedule. Reconcile the deferred revenue roll-forward against the GL trial balance at the contract-line level, not the invoice level, to find exactly where the two diverge each month.
Read moreDiagnostic
How do I account for a mid-contract downgrade or seat reduction under ASC 606?
A downgrade adds nothing, so ASC 606-10-25-13's separate-contract test never applies. What matters is whether the remaining service is distinct from what's already delivered. For a SaaS subscription (distinct daily increments), it usually is, so the reduction is treated as termination-plus-new-contract, prospective from the modification date, not a cumulative catch-up.
Read more