A contract modification is any change in scope, price, or both that is approved by the parties. In SaaS, this is not an edge case — it happens constantly. A customer adds 50 seats. Another downgrades from Enterprise to Pro mid-year. A third renews early at a discount. Each of these events triggers the modification guidance.
The stakes are real: the wrong treatment can shift thousands of dollars of revenue from one period to another and misstate deferred revenue balances.
The Three Treatments
The starting point is always the same: has the modification been approved (explicitly or implicitly through changed behavior)? If yes, determine which treatment applies.
Treatment 1 — Separate Contract
The modification is accounted for as a brand-new, separate contract if both conditions are met:
- The modification adds distinct goods or services, and
- The price increases by an amount that reflects the standalone selling price of those additional goods or services
When both conditions are met, the existing contract continues unchanged, and you simply open a new contract for the added scope. This is the cleanest outcome — no reallocation, no catch-up.
Treatment 2 — Prospective (Terminate Old, Start New)
Use this when the modification is not a separate contract and the remaining goods and services to be delivered are distinct from those already transferred. You treat it as if the old contract was terminated and a new contract was created for the remaining scope. The transaction price for the new contract is: the consideration already allocated to unsatisfied performance obligations plus any new consideration from the modification.
Treatment 3 — Cumulative Catch-Up
Use this when the modification is not a separate contract and the remaining goods and services are not distinct from those already transferred (i.e., they form part of a single performance obligation already partially satisfied). You adjust revenue in the current period to reflect where you would have been had the modification been in place from the start.
Working Example: 50-to-100 Seat Upgrade
A SaaS company is 18 months into a 36-month contract. The customer was paying $100/seat/month for 50 seats ($5,000/month). The customer wants to double to 100 seats.
The company's current standalone selling price (SSP) for its subscription is $90/seat/month (volume discount applies at 100 seats).
Scenario A — Charged at SSP ($90/seat × 50 new seats = $4,500/month additional)
The additional seats are distinct (same subscription service, identifiable). The price reflects SSP. → Separate contract. Continue the original contract at $5,000/month, open a new contract for the 50 added seats at $4,500/month for the remaining 18 months.
Scenario B — Charged at a discount ($70/seat × 50 new seats = $3,500/month additional)
Price does not reflect SSP (SSP is $90). But the new seats are still distinct from the service already delivered. → Prospective treatment. Terminate the old contract, create a new one. Total remaining consideration = [($5,000/month × 18 remaining months) + ($3,500/month × 18 months)] = $90,000 + $63,000 = $153,000. Recognize $153,000 / 18 months = $8,500/month going forward.
Scenario C — Seats bundled with deeply customized professional services already in progress
If the add-on seats are so intertwined with a single ongoing customization engagement that they cannot be separated → Cumulative catch-up. Recalculate the total transaction price and adjust the revenue recognized to date in the current period.