Who it's for: anyone in a SaaS finance team who processes or reviews upgrades, added seats, downgrades or other changes to live contracts.
What you'll get: a simple decision route for contract changes under IFRS 15 and FRS 102, three worked examples with journals (added seats, a discounted upgrade, a downgrade with a credit note), a monthly checklist and AI prompts you can copy.
Reading time: about 11 minutes. Have one recent upgrade to hand and test it as you read.
Why mid-contract changes matter
Customers rarely stay on the plan they signed up for. They add seats, move to a higher tier, drop a module or ask for a discount halfway through the year. Each change alters the deferred revenue schedule, and the way it's handled decides whether revenue changes from today, is caught up in one go, or is treated as a brand-new contract. Handle them inconsistently and revenue drifts away from the billing system a few hundred pounds at a time.
Key terms
- Contract modification: a change to the scope or price (or both) of a contract that both sides have agreed. An upgrade, added seats, a downgrade and a price change are all modifications.
- Distinct: a good or service the customer can benefit from on its own, separate from the other promises in the contract.
- Standalone selling price (SSP): what you'd charge for an item if you sold it on its own, today, to a similar customer.
- Prospective treatment: leaving revenue already recognised alone and spreading the remaining amount over the remaining service.
- Cumulative catch-up: adjusting revenue in the month of the change so the total to date reflects the new contract, as if it had always applied.
- Co-terming: lining up an add-on's end date with the main contract's end date, so everything renews together.
The decision route
IFRS 15 sets out three possible outcomes for a contract modification. The revised FRS 102 Section 23, which applies to periods beginning on or after 1 January 2026 (as at October 2026), follows similar principles, so it's worth checking the detail in the standard for your own framework. In plain terms:
| Question | If yes | Typical SaaS example |
|---|---|---|
| 1. Does the change add distinct goods or services, at a price reflecting their SSP? | Separate contract. Leave the original alone and account for the add-on on its own. | 10 extra seats at list price, co-termed to the existing end date |
| 2. If not, are the remaining services distinct from those already delivered? | Prospective. Treat it as ending the old contract and starting a new one: unrecognised amount plus new consideration, spread over the remaining term. | Upgrade to a higher tier at a discount; downgrade; price change for remaining months |
| 3. If not, is the remaining service part of a single obligation that's partly done? | Cumulative catch-up. Recalculate progress and adjust revenue in the month of the change. | Change to a fixed-price implementation project that's half complete |
For pure subscriptions, the answer is usually 1 or 2. Each month of access is distinct from the month before, so the remaining months can be treated as a fresh start. Catch-up adjustments are more common for services projects.
One rule for all of it: AI drafts, matches and flags; a person reviews and signs off. Only use AI tools your company has approved for customer and financial data.
Worked example 1: added seats at list price (separate contract)
MonthEndClub Co Ltd (fictional) has Cedar Health on a 12-month contract from 1 January to 31 December, billed £18,000 upfront for 30 seats (£50 per seat per month). On 1 August, Cedar adds 10 seats at the full list price of £50 per seat per month, co-termed to 31 December. That's 5 months: 10 × £50 × 5 = £2,500, plus VAT at the UK standard rate of 20% (as at October 2026).
The seats are distinct and priced at SSP, so this is a separate contract. The original £1,500 a month release carries on unchanged.
1 August: invoice the add-on.
| Account | Dr | Cr |
|---|---|---|
| Trade debtors | £3,000 | |
| Deferred revenue | £2,500 | |
| VAT output tax | £500 |
Each month, August to December: release both contracts.
| Account | Dr | Cr |
|---|---|---|
| Deferred revenue (original £18,000 ÷ 12) | £1,500 | |
| Deferred revenue (add-on £2,500 ÷ 5) | £500 | |
| Subscription revenue | £2,000 |
Check: original contract £1,500 × 12 = £18,000; add-on £500 × 5 = £2,500. Total revenue for the year £20,500, which equals total billed net of VAT.
Worked example 2: a discounted upgrade (prospective)
MonthEndClub Co Ltd has Alder Ltd on its Standard tier: 12 months from 1 January to 31 December, £24,000 billed upfront, released at £2,000 a month. On 1 July, Alder upgrades to the Pro tier for the remaining 6 months.
- Pro is normally £3,500 a month, so the full uplift would be £1,500 a month.
- Sales agrees an uplift of £1,200 a month: 6 × £1,200 = £7,200, invoiced on 1 July plus VAT.
- Deferred revenue for Alder at 30 June: 6 months × £2,000 = £12,000.
Pro replaces Standard rather than sitting alongside it, and the price is below SSP, so this isn't a separate contract. The remaining months are distinct, so the change is prospective.
| Prospective calculation | £ |
|---|---|
| Unrecognised from the original contract (deferred revenue at 30 June) | 12,000 |
| Add: new consideration from the upgrade | 7,200 |
| Total to recognise over the remaining term | 19,200 |
| Remaining months (July to December) | 6 |
| New monthly revenue | 3,200 |
1 July: invoice the upgrade.
| Account | Dr | Cr |
|---|---|---|
| Trade debtors | £8,640 | |
| Deferred revenue | £7,200 | |
| VAT output tax | £1,440 |
Each month, July to December: release.
| Account | Dr | Cr |
|---|---|---|
| Deferred revenue | £3,200 | |
| Subscription revenue | £3,200 |
Check: January to June 6 × £2,000 = £12,000, plus July to December 6 × £3,200 = £19,200, gives £31,200 for the year. Total billed net of VAT: £24,000 + £7,200 = £31,200. Revenue already recognised from January to June doesn't change.
If the upgrade had been at the full £1,500 uplift, the monthly figure would be (£12,000 + £9,000) ÷ 6 = £3,500, the same as the Pro list price. Separate contract or prospective, the answer would be the same, which is why many teams don't agonise over tier upgrades at full price.
AI shortcut: export the month's subscription changes from the billing system (customer, change date, old price, new price, end date, any credit or charge) and ask an approved AI tool to sort them into "added at list price", "upgrade or downgrade" and "other", and to work out the new monthly release for each using the prospective method. You check the classification against the order forms, especially anything priced below list.
Worked example 3: a downgrade with a credit note (prospective)
MonthEndClub Co Ltd has Birch Analytics on £36,000 a year from 1 January to 31 December, billed upfront, released at £3,000 a month. On 1 April, Birch moves to a smaller plan at £2,000 a month for the remaining 9 months. The contract allows downgrades, and MonthEndClub Co Ltd issues a credit note for the difference: 9 × £1,000 = £9,000 plus VAT of £1,800.
| Prospective calculation | £ |
|---|---|
| Deferred revenue at 31 March (9 × £3,000) | 27,000 |
| Less: credit note | (9,000) |
| Total to recognise over remaining 9 months | 18,000 |
| New monthly revenue | 2,000 |
1 April: credit note.
| Account | Dr | Cr |
|---|---|---|
| Deferred revenue | £9,000 | |
| VAT output tax | £1,800 | |
| Trade debtors | £10,800 |
The credit note hits deferred revenue, not revenue, because it relates to months not yet delivered. From April, release £2,000 a month. Check: 3 × £3,000 + 9 × £2,000 = £27,000, which equals £36,000 billed less £9,000 credited.
If Birch downgraded with no credit note (paying the original price for a smaller service), the full £27,000 would still be spread over the 9 remaining months at £3,000 a month. Revenue follows what the customer pays for the remaining service, not the list price of the plan.
Situations that need a closer look
| Situation | Why it's tricky | Common approach |
|---|---|---|
| Retrospective discount ("we'll take 10% off the whole year") | Part of the discount relates to months already delivered | Often treated as a price change for the remaining months; if it settles a service issue for past months, it may reduce revenue immediately. Judgement needed. |
| Upgrade with a new longer term | Old and new terms blur | Prospective over the new, longer remaining term |
| Change to a fixed-price implementation half done | Single obligation partly delivered | Cumulative catch-up on progress |
| Agreed but not yet signed change | No modification until both sides have approved it | Wait for approval; note it for next month |
| Cancellation mid-term | Not an upgrade or downgrade but has the same effect | Depends on refund terms (see the annual billing guide) |
The monthly checklist
| Task | What "done" looks like | |
|---|---|---|
| ☐ | Pull all subscription changes for the month from the billing system | One list covering seats, tiers, price changes, credit notes and cancellations |
| ☐ | Get approval evidence for each change | Signed order form, approved quote or in-app acceptance on file |
| ☐ | Classify each change | Separate contract, prospective or catch-up, with a one-line reason |
| ☐ | Update the deferred revenue schedule | New rows for separate contracts; revised release for prospective changes |
| ☐ | Check credit notes went to deferred revenue where they relate to future months | No credit notes for unexpired service posted straight to revenue |
| ☐ | Agree the schedule to the billing system after changes | Differences listed by customer and explained |
| ☐ | Tell the metrics owner | Expansion and contraction in the ARR bridge match the changes processed |
If you report under US GAAP (ASC 606)
ASC 606 uses the same three outcomes (separate contract, prospective, cumulative catch-up), with the same tests, so the examples above typically come out the same. Under both frameworks, an add-on price can still count as reflecting SSP when it's adjusted for the circumstances of the deal, such as a discount for not having to repeat selling costs to an existing customer. Where policies differ in practice, it's usually in how companies document that judgement rather than in the outcome.
Common mistakes and audit watch-outs
- Booking credit notes straight to revenue. If a credit relates to future months, it reduces deferred revenue, not this month's revenue.
- Restating past months. Prospective treatment leaves revenue already recognised alone. Changing closed months in the schedule usually signals an error.
- Treating every add-on as a separate contract. That only works when it's distinct and priced at SSP. Discounted upgrades usually need the prospective method.
- Processing changes before they're agreed. A change in the billing system with no customer approval is a risk for both revenue and debt collection.
- Billing system and schedule using different methods. Some billing tools prorate by day and handle upgrades their own way. Know what yours does, or the reconciliation never agrees.
- Accepting an AI classification without checking. AI doesn't know your SSP table or side agreements unless you give them to it. A person confirms each classification against the contract and the price list.
Tools that can help
Billing platforms such as Chargebee and Stripe Billing handle prorations, co-terming and credit notes automatically and can produce revenue schedules after changes. NetSuite's revenue features can apply prospective treatment for larger teams. Smaller teams on Xero or QuickBooks often track changes in Excel or Google Sheets alongside the deferred revenue schedule. An approved AI assistant helps sort and calculate a month's changes. Tools handle the arithmetic; the classification judgement stays with the reviewer.
AI prompts to try
Use an AI tool your company has approved. Remove customer names where you can.
1. Sort the month's changes
Give it: the billing system's subscription change report and your price list.
Ask: "For each change, say whether it adds seats or products at list price, changes the tier or price of the existing service, or is something else. Flag anything priced below list."
Check: every flagged item against the order form.
2. Calculate the new release
Give it: deferred revenue at the change date, the new charge or credit, and the remaining months.
Ask: "Using the prospective method, calculate the new monthly revenue and show a month-by-month table to contract end."
Check: the table total equals deferred revenue plus new charge less credit.
3. Find schedule gaps
Give it: the change report and your updated schedule.
Ask: "List any change in the report that doesn't appear in the schedule, and any customer whose monthly release didn't change after a change."
Check: each gap, and correct the schedule.
4. Write the policy note
Give it: this month's examples and the decision route above.
Ask: "Draft a one-page internal policy for contract modifications in plain English with two examples."
Check: that it matches your actual approach and your auditor's view before anyone relies on it.
Rates, thresholds and rules in this guide
Figures were checked against the pages below in October 2026. They change regularly (often each April or at Budget time), and we can't guarantee they're still current or right for your situation. Always check the official page before relying on them.
- FRS 102 Explainer: a summary of the Periodic Review 2024 changes (Financial Reporting Council): effective date of the revised FRS 102 Section 23 revenue model
- VAT rates (GOV.UK): UK standard VAT rate of 20%
Key takeaways
- Every upgrade, downgrade and price change is a contract modification.
- Distinct add-ons at list price are usually a separate contract.
- Most other subscription changes are prospective: remaining deferred revenue plus or minus the change, spread over the remaining months.
- Credit notes for future months reduce deferred revenue, not revenue.
- Past months don't move under prospective treatment.
- Let AI sort and calculate; a person checks the classification against the contract.
FAQs
Do we need to treat every seat change separately?
Many teams set a simple policy: seat additions at list price are separate contracts, everything else is prospective. Very small changes can often be handled together, as long as the approach is consistent and documented.
Why don't we just follow the billing system's proration?
Often the answer is close, and many teams do use it. The check is whether the billing system's method matches your accounting policy, especially for discounted upgrades and credits. Where it doesn't, the schedule or a manual adjustment fills the gap.
Does an upgrade count as new ARR?
In most ARR bridges an upgrade from an existing customer is shown as expansion and a downgrade as contraction, not new or churned ARR. Metrics definitions vary by company, so check yours.
Can AI process contract changes for us?
AI can sort a month's changes, calculate new release amounts and spot gaps in the schedule. It can't confirm a customer agreed to a change or that a price reflects SSP. Those checks, and sign-off, stay with a person, using only AI tools your company has approved.
Related guides
- SaaS Revenue Recognition in Plain English (IFRS 15 / ASC 606)
- How to Build and Reconcile a Deferred Revenue Schedule
- Annual Upfront Billing: The Journals, Month by Month
- How to Build an ARR Bridge (New, Expansion, Contraction, Churn)
More in Revenue guides.
From the Club
No upgrade path required. The Dad Hat · The Washed Cap
Join the Club. New guides, early access and members-only batches. Join here.
This guide is general information about common practice. It isn't tailored to any business, and standards, tax rules and figures change. Check your own circumstances, the latest rules and, where needed, a qualified professional before acting.
Last reviewed: October 2026.