Who it's for: anyone who maintains, posts from or reviews a deferred revenue schedule in a SaaS finance team.
What you'll get: the columns a good schedule needs, a monthly routine with "done" checks, a worked six-customer example with journals and a reconciliation that finds a real difference, plus a risks and controls table.
Reading time: about 12 minutes. Build it once, then reuse it every month.
Why the deferred revenue schedule matters
For most SaaS companies, deferred revenue is one of the biggest numbers on the balance sheet, and the schedule behind it decides how much revenue appears in the P&L each month. If the schedule is wrong, revenue is wrong. It's also one of the first things an auditor asks for, usually with the words "and how does this agree to the ledger?"
Key terms
- Deferred revenue: amounts billed to customers for service not yet delivered. Under IFRS 15 and FRS 102 it's often called a contract liability.
- Release: moving part of deferred revenue into revenue as the service is delivered.
- Roll-forward: opening balance + new billings − releases ± adjustments = closing balance.
- Service period: the dates the customer is paying for, which may not match the invoice date.
- Proration: splitting an amount by days or months when a service period starts or ends mid-month.
- Current and non-current: deferred revenue to be released within 12 months is current; anything later (common in multi-year prepaid deals) is non-current.
What a good schedule looks like
A schedule is one row per invoice (or per invoice line, where one invoice covers different services), with the release worked out by month. Spreadsheets work well up to a few hundred active invoices. Beyond that, most teams move to their billing system's revenue schedules and keep a spreadsheet only for the reconciliation.
| Column | What goes in it | Why it matters |
|---|---|---|
| Customer and invoice number | Exactly as in the billing system | Lets you match line by line |
| Product or revenue type | Subscription, services, support, usage | Different release patterns and revenue accounts |
| Net amount (excluding VAT) | Invoice value less VAT | VAT is never deferred revenue |
| Service start and end dates | From the contract, not the invoice date | Drives the release timing |
| Release method | Monthly, daily or on delivery | Makes the maths reviewable |
| Opening balance | Unreleased amount brought forward | Must equal last month's closing |
| Billed this month | New invoices and credit notes | Agrees to billing system billings |
| Released this month | Revenue for the month | Posts to the revenue journal |
| Closing balance | Opening + billed − released | Agrees to the ledger |
| Current / non-current split | Due within 12 months vs later | Needed for the balance sheet |
| Notes | Changes, cancellations, credit notes | Your audit trail |
Two practical design choices are worth making early. First, decide on monthly or daily release and apply it consistently. Monthly is simpler; daily is more precise when service periods start mid-month. Second, lock prior months: once a month is closed, its columns are pasted as values so historic revenue can't change by accident.
The monthly routine
| Step | What "done" looks like | |
|---|---|---|
| ☐ | 1. Roll the schedule forward | This month's opening balance equals last month's closing, in total and per row |
| ☐ | 2. Add the month's new invoices | Count and net value of new rows agree to the billing system's invoice report for the month |
| ☐ | 3. Add credit notes and contract changes | Every credit note, upgrade, downgrade and cancellation in the month is reflected, with a note |
| ☐ | 4. Calculate the month's releases | Each row releases according to its method; fully released rows show nil |
| ☐ | 5. Check the roll-forward maths | Opening + billed − released = closing, in total |
| ☐ | 6. Post the release journal | Dr deferred revenue, Cr revenue by revenue type, with the schedule attached |
| ☐ | 7. Reconcile to the ledger | Schedule closing balance equals the deferred revenue account balance; any difference explained and fixed |
| ☐ | 8. Reconcile to the billing system | Schedule agrees to the billing system's unearned revenue report, or differences listed by customer |
| ☐ | 9. Split current and non-current | Amounts beyond 12 months identified for reporting |
| ☐ | 10. Review and sign off | A second person has reviewed new rows, changes and the reconciliation, and signed and dated it |
AI shortcut: export the billing system's invoice and credit note list for the month and your schedule's new rows. Ask an approved AI tool to list any invoice in one file but not the other, and any where the net amount or service dates differ. You review each difference rather than ticking through hundreds of rows.
Worked example: October at MonthEndClub Co Ltd
MonthEndClub Co Ltd (fictional) has six customers on its schedule in October. It releases monthly, except where a service period starts mid-month, when it releases by day.
- Alder Ltd: £24,000 annual, January to December. £2,000 a month. Three months left at 30 September.
- Birch Analytics: £36,000 annual, July to June. £3,000 a month. Nine months left at 30 September.
- Fir Media: £6,000 quarterly, September to November. £2,000 a month. Two months left at 30 September.
- Cedar Health: new. £18,000 annual from 1 October, invoiced 1 October. £1,500 a month.
- Damson Retail: new. £4,500 quarterly for October to December, invoiced 1 October. £1,500 a month.
- Elm Logistics: new. £12,000 annual from 15 October to 14 October next year (365 days), invoiced 15 October.
Elm's October release is by day: 15 to 31 October is 17 days. £12,000 × 17 ÷ 365 = £558.90 (rounded to the penny).
The schedule
| Customer | Opening (£) | Billed (£) | Released (£) | Closing (£) |
|---|---|---|---|---|
| Alder Ltd | 6,000.00 | 0.00 | (2,000.00) | 4,000.00 |
| Birch Analytics | 27,000.00 | 0.00 | (3,000.00) | 24,000.00 |
| Fir Media | 4,000.00 | 0.00 | (2,000.00) | 2,000.00 |
| Cedar Health | 0.00 | 18,000.00 | (1,500.00) | 16,500.00 |
| Damson Retail | 0.00 | 4,500.00 | (1,500.00) | 3,000.00 |
| Elm Logistics | 0.00 | 12,000.00 | (558.90) | 11,441.10 |
| Total | 37,000.00 | 34,500.00 | (10,558.90) | 60,941.10 |
Roll-forward check: £37,000.00 + £34,500.00 − £10,558.90 = £60,941.10. It agrees to the sum of the closing column.
The journals
New invoices (posted from the billing system during October). Shown here in total for the three new customers, net billings of £34,500 plus VAT at the UK standard rate of 20% (as at October 2026).
| Account | Dr | Cr |
|---|---|---|
| Trade debtors | £41,400.00 | |
| Deferred revenue | £34,500.00 | |
| VAT output tax | £6,900.00 |
Month-end release journal.
| Account | Dr | Cr |
|---|---|---|
| Deferred revenue | £10,558.90 | |
| Subscription revenue | £10,558.90 |
The reconciliation (and the difference it finds)
The ledger shows a deferred revenue balance of £62,441.10 at 31 October. The schedule says £60,941.10.
| Deferred revenue reconciliation, 31 October | £ |
|---|---|
| Balance per ledger | 62,441.10 |
| Balance per schedule | 60,941.10 |
| Difference | 1,500.00 |
The ledger is £1,500 higher, which means less revenue was released in the ledger than the schedule says. Comparing the posted journal with the schedule shows the release journal was prepared before Damson Retail's row was added, so it only released £9,058.90. The fix is a correcting journal for the missing release, posted in October:
| Account | Dr | Cr |
|---|---|---|
| Deferred revenue | £1,500.00 | |
| Subscription revenue | £1,500.00 |
After the correction the ledger shows £62,441.10 − £1,500.00 = £60,941.10, in line with the schedule. The lesson for the process: post the release journal only after step 5 is complete, and attach the schedule total the journal was taken from.
Current and non-current
All six rows will be fully released within 12 months of 31 October, so the full £60,941.10 is current. If Birch had prepaid two years instead of one, the part relating to months more than 12 months away would be shown as non-current.
AI shortcut: give an approved AI tool the schedule export and the billing system's unearned revenue report, both by customer. Ask it to list customers where the balances differ, by how much, and whether the difference equals a whole number of monthly releases. A difference that's exactly one month's release, like Damson's, usually points to a timing or posting error rather than a pricing one.
Three-way agreement: schedule, ledger, billing system
A strong reconciliation agrees three numbers, not two. The ledger is what gets reported. The schedule is the detailed support. The billing system is the source. Typical causes of differences:
| Difference between | Common causes |
|---|---|
| Schedule and ledger | Release journal posted from an early version; manual journal posted directly to deferred revenue; invoice synced to the wrong account |
| Schedule and billing system | Credit note or cancellation missed from the schedule; different release method (daily vs monthly); service dates keyed differently |
| Billing system and ledger | Sync failure; invoices voided in one system only; FX on foreign currency invoices |
If you report under US GAAP (ASC 606)
The mechanics are the same: deferred revenue (a contract liability) builds up when you bill ahead of delivery and is released as you deliver. Both frameworks also require disclosure of revenue still to come from existing contracts. US companies commonly call this remaining performance obligations (RPO), and it includes contracted amounts not yet billed as well as deferred revenue. Your schedule is the natural starting point, but RPO needs contract data that the schedule alone won't hold.
Common mistakes and audit watch-outs
- Including VAT in the schedule. VAT goes to the VAT account when invoiced. Only the net amount is deferred.
- Using invoice dates instead of service dates. An invoice raised on 20 September for a service starting 1 October releases nothing in September.
- Releasing from a draft. Post the journal from the final schedule, as the Damson example shows.
- Formulas that change history. Paste closed months as values so a change to dates or amounts can't quietly restate past revenue.
- Grossing up invoices that aren't yet due. If a customer is invoiced in advance and could still cancel before payment is due, some auditors expect the debtor and deferred revenue not to be grossed up. Agree the policy with your auditor.
- Negative balances. A row below zero usually means over-release or a missed invoice. Investigate every one.
- Unchecked AI matching. AI can pair the wrong customers when names are similar. Match on invoice number, and have a person review every flagged difference and every "no difference" conclusion on large rows.
Tools that can help
Excel and Google Sheets are fine for smaller schedules if they're locked and reviewed. Billing platforms such as Chargebee and Stripe Billing can produce revenue schedules and unearned revenue reports from subscription data, and NetSuite has built-in revenue schedules for larger teams. Xero and QuickBooks hold the ledger balance you reconcile to. An approved AI assistant speeds up the matching and difference-hunting. None of these replace the monthly reconciliation and sign-off.
Key risks and controls
| Risk | Control | How to evidence it |
|---|---|---|
| New invoices missing from the schedule | Monthly agreement of new rows to the billing system invoice report | Report and schedule totals side by side, initialled |
| Credit notes and cancellations not reflected | Credit note report reviewed against schedule changes | Credit note list with schedule row references |
| Ledger and schedule out of step | Monthly reconciliation of the deferred revenue account | Signed reconciliation showing nil or explained difference |
| Historic revenue changed by accident | Closed months locked as values; version saved each month | Dated file versions |
| Wrong release dates or method | Reviewer checks dates on all new rows above a set value against contracts | Reviewer tick and initials per row |
| AI errors in matching | Approved tool only; every flagged and large unflagged item reviewed | Reviewer notes on the AI output |
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.
- VAT rates (GOV.UK): the UK standard VAT rate of 20%
Key takeaways
- One row per invoice, with service dates, net amount and release method.
- Opening + billed − released = closing, every month, per row and in total.
- Agree the schedule to both the ledger and the billing system.
- Post the release journal from the final schedule, never a draft.
- Lock closed months so history can't move.
- Let AI find the differences; a person explains and signs them off.
FAQs
Should we release monthly or daily?
Both are common. Monthly is simpler and works well when most service periods start on the 1st. Daily is more accurate for mid-month starts. Whichever is chosen, many teams document it as a policy and apply it consistently.
How often should the schedule be reconciled?
Every month. Deferred revenue is usually material, and differences are much easier to find when they're one month old.
Can our billing system replace the spreadsheet?
Often, yes, once the billing system's revenue reports are trusted and reconciled to the ledger. Many teams keep a small spreadsheet for manual items and the reconciliation itself.
Can AI build the schedule for us?
It can draft one from an invoice export, including release calculations. The output needs checking: totals to the billing report, service dates to contracts, and the roll-forward maths. Use only an AI tool your company has approved for customer data.
Related guides
- SaaS Revenue Recognition in Plain English (IFRS 15 / ASC 606)
- Annual Upfront Billing: The Journals, Month by Month
- Reconciling Your Billing System to the Ledger
- Balance Sheet Reconciliations: What Good Looks Like
More in Revenue guides.
From the Club
Fully released, every morning, around 9am. The Team Mug · The Debits Credits Done Bag
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.