Who it's for: SaaS finance teams who bill setup, onboarding or implementation fees and need to decide when that revenue is recognised.
What you'll get: a plain-English test for "now or later", two worked examples with journals (a setup fee spread over the subscription, and a distinct implementation recognised as delivered), a monthly checklist and a one-slide summary for your boss.
Reading time: about 10 minutes. Have one contract with a setup fee to hand.
Why the answer matters
Setup fees are usually invoiced on day one, and it's tempting to book them as revenue on day one too. Sometimes that's right. Often it isn't. The difference can move tens of thousands of pounds between months, change gross margin, and flatter (or dent) services revenue in a way the board and auditors will both notice.
Key terms
- Setup fee: a one-off charge at the start of a contract, often called onboarding, activation or implementation.
- Performance obligation: a promise to deliver a distinct good or service to the customer.
- Distinct: the customer can benefit from the service on its own (or with things they can easily get elsewhere), and it isn't tightly bound up with the other promises in the contract.
- Set-up activities: tasks the supplier does to be able to deliver the service, such as creating accounts or provisioning servers, that don't give the customer anything on their own.
- Material right: an option the customer wouldn't get without signing this contract, such as renewing without paying the setup fee again, which may be worth accounting for separately.
- Accrued income (contract asset): revenue earned but not yet invoiced.
The test in plain English
Under IFRS 15, and under the revised FRS 102 Section 23 for periods beginning on or after 1 January 2026 (as at October 2026), the question isn't "what did we call it on the invoice?" but "did the customer receive something distinct?"
| Question | If yes | If no |
|---|---|---|
| 1. Does the work give the customer something they benefit from on its own, separate from the subscription? | Go to question 2 | It's a set-up activity, not a separate obligation. The fee is part of the subscription price and is spread over the service period. |
| 2. Could the customer get this work from another provider, and does the software work without it? | Go to question 3 | The work is probably bound up with the subscription. Spread it with the subscription. |
| 3. Does the work heavily customise or change the software? | It may be combined with the subscription. Judgement needed. | It's usually a distinct service. Recognise as it's delivered. |
Then one more check if the fee is spread: if customers renew without paying the setup fee again, the fee may give them a material right. Some teams then spread the fee over a longer period, such as the expected customer life, rather than just the first contract term. This is a judgement area worth agreeing with your auditor.
Common setup activities, typically classified
| Activity | Typical classification | Why |
|---|---|---|
| Creating the account, provisioning, enabling features | Set-up activity (spread) | The customer gets nothing until the subscription runs |
| Standard data import into the platform | Often set-up (spread) | Only useful inside the platform; rarely sold separately |
| Training sessions for the customer's team | Often distinct (as delivered) | Other firms could train them; knowledge is useful on its own |
| Integration build to the customer's other systems | Often distinct (as delivered) | Third-party partners do the same work; software works without it |
| Heavy customisation of the core product | Judgement; may be combined | The subscription may depend on the custom work |
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.
AI shortcut: give an approved AI tool the statement of work or order form and ask: "List each onboarding or implementation activity, say what the customer receives from it, whether it's sold separately elsewhere in this document or the price list, and whether the software works without it. Quote the clause for each." That gives you the evidence for the three questions in one table. The classification is still your call.
Worked example 1: a setup fee spread over the subscription
MonthEndClub Co Ltd (fictional) signs Elm Logistics on 1 October:
- 12-month subscription, 1 October to 30 September: £24,000.
- "Onboarding fee": £6,000. The work is creating the account, configuring standard settings and importing Elm's user list. Nobody else could do it, and it's of no use without the platform.
- Both invoiced on 1 October: £30,000 plus VAT at 20% (the UK standard rate as at October 2026).
- Elm will pay no setup fee on renewal. MonthEndClub Co Ltd's policy, agreed with its auditor, spreads setup fees over the initial contract term because renewals are typically at a price that doesn't make the waived fee significant.
The onboarding is a set-up activity, so the £6,000 is part of the price of the 12-month subscription. Total price £30,000 ÷ 12 = £2,500 a month.
1 October: invoice.
| Account | Dr | Cr |
|---|---|---|
| Trade debtors | £36,000 | |
| Deferred revenue | £30,000 | |
| VAT output tax | £6,000 |
Each month-end, October to September: release.
| Account | Dr | Cr |
|---|---|---|
| Deferred revenue | £2,500 | |
| Subscription revenue | £2,500 |
Check: 12 × £2,500 = £30,000. Booking the £6,000 as revenue on 1 October would have overstated October revenue by £5,500 (£6,000 less the £500 a month that belongs to October).
What about the costs? The onboarding team's time is a cost to fulfil the contract. Under IFRS 15, such costs may be capitalised and spread over the same period if they relate directly to the contract, create a resource used to deliver the service and are expected to be recovered. Otherwise they're expensed as incurred. Policies vary, so check how your framework and auditor treat these costs.
Worked example 2: a distinct implementation, recognised as delivered
MonthEndClub Co Ltd signs Fir Media on 1 October:
- 12-month subscription, invoiced upfront: £36,000.
- Integration build connecting the platform to Fir's CRM: fixed price £6,000, billed on completion. Partner firms offer the same work, and the platform works fine without it.
- The work is estimated at 40 hours. 25 hours are done in October and 15 in November, when it's completed and invoiced.
- The £6,000 is in line with what MonthEndClub Co Ltd charges for integration work on its own, so no reallocation between subscription and services is needed.
The integration is distinct, so it's a separate obligation, recognised as the work is done. MonthEndClub Co Ltd measures progress by hours:
| Month | Hours | Progress | Revenue (£) |
|---|---|---|---|
| October | 25 | 25 ÷ 40 = 62.5% | 3,750 |
| November | 15 | 15 ÷ 40 = 37.5% | 2,250 |
| Total | 40 | 100% | 6,000 |
31 October: recognise October's work (not yet invoiced).
| Account | Dr | Cr |
|---|---|---|
| Accrued income | £3,750 | |
| Professional services revenue | £3,750 |
30 November: complete and invoice.
| Account | Dr | Cr |
|---|---|---|
| Trade debtors | £7,200 | |
| VAT output tax | £1,200 | |
| Accrued income | £3,750 | |
| Professional services revenue | £2,250 |
Check: £1,200 + £3,750 + £2,250 = £7,200. Accrued income is back to zero, and total services revenue is £6,000. The subscription runs separately at £36,000 ÷ 12 = £3,000 a month.
If the hours estimate changes mid-project (say it grows to 50 hours), progress and revenue are recalculated on the new estimate in the month the estimate changes. Keep the estimate and the reason on file.
The monthly checklist
| Task | What "done" looks like | |
|---|---|---|
| ☐ | List every new contract with a setup, onboarding or implementation fee | Agrees to billing system and sales report |
| ☐ | Classify each fee using the three questions | Spread or as-delivered, with a one-line reason and the contract clause |
| ☐ | Check the price against your SSP table | Any big discount on services or subscription flagged for reallocation |
| ☐ | Post releases for spread fees | Included in the deferred revenue schedule |
| ☐ | Get progress for live implementation projects | Hours (or milestones) to date from the delivery team, with updated estimate to complete |
| ☐ | Post services revenue and accrued income | Accrued income balance agrees to unbilled work in progress per project |
| ☐ | Review projects running over estimate | Revenue recalculated; any loss-making projects flagged to the controller |
AI shortcut: give an approved AI tool the timesheet export by project and the project price list, and ask for a table of hours to date, estimated total, percentage complete, revenue to date, amount already invoiced and accrued income (or deferred revenue) per project. Check the estimates to complete with the project leads: they're the part AI can't know.
If you report under US GAAP (ASC 606)
ASC 606 uses the same logic: set-up activities that don't transfer a service aren't performance obligations, and non-refundable upfront fees are spread over the period the related service is provided, which can include expected renewals if the fee creates a material right. Costs to fulfil a contract are covered by ASC 340-40 with similar capitalisation criteria. In practice, US SaaS companies more often spread setup fees over an estimated customer life, so it's worth checking group policy if you report to a US parent.
Common mistakes and audit watch-outs
- Following the invoice label. Calling it "implementation" doesn't make it distinct. The test is what the customer actually receives.
- Recognising all setup fees upfront. Account provisioning and standard configuration are usually set-up activities, so the fee is spread.
- Spreading genuinely distinct services. The opposite error. Training and integration work that the customer benefits from on its own are typically recognised as delivered.
- No evidence of progress. Hours-based recognition needs timesheets and a documented estimate to complete. Auditors will test both.
- Ignoring loss-making projects. If a fixed-price project will cost more than it earns, flag it early; it affects margin and possibly provisions.
- Letting AI make the classification. AI can pull the facts from a contract but can't judge how integrated the work is with your product. The reviewer records the decision and the reason.
Tools that can help
Billing tools such as Chargebee and Stripe Billing can schedule a setup fee's release alongside the subscription. Time-tracking and project tools provide the hours needed for as-delivered recognition, and NetSuite can run project-based revenue for larger teams. Xero and QuickBooks users often keep a simple project tracker in Excel or Google Sheets. An approved AI assistant helps read contracts and build progress tables. None of these make the classification decision; that stays with the team.
Take it to your boss: one slide
Setup fees: one policy, applied every month
The problem
- Setup fees are booked inconsistently: some upfront, some spread.
- Services revenue swings with invoicing, not delivery.
- No written evidence for how each fee was classified.
Three changes
- Adopt a short written policy with the three-question test and a list of typical activities.
- Classify every new fee at contract signature, with the clause and reason recorded.
- Recognise distinct implementation on hours from timesheets, with AI drafting the monthly progress table.
| Risk | Control |
|---|---|
| Setup fees recognised too early | Monthly classification review of all new fees |
| Progress overstated | Timesheets and estimates to complete agreed with project leads |
| Inconsistent treatment | Written policy; reviewer sign-off on each new fee |
| AI misreads contract terms | Approved tools only; clause references checked by reviewer |
How we'll measure it: share of new fees classified at signature, no post-close revenue adjustments, and accrued income agreed to project trackers each month.
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
- The question is whether the customer receives something distinct, not what the invoice calls it.
- Set-up activities (provisioning, standard configuration) are typically spread with the subscription.
- Distinct services (training, integrations others could build) are typically recognised as delivered.
- Fees waived on renewal may create a material right and a longer spread period.
- As-delivered recognition needs progress evidence, usually timesheets and an estimate to complete.
- AI gathers the facts and builds the tables; people make and sign off the judgement.
FAQs
Can a non-refundable setup fee be recognised immediately because the customer can't get it back?
Not on that basis alone. Non-refundable means the cash is kept, but revenue still follows delivery. If the customer received nothing distinct for the fee, it's spread over the service it relates to.
What if the setup fee is small?
Many teams set a materiality threshold in their policy and treat small fees consistently, often by spreading them with the subscription. Document the threshold and apply it the same way each month.
Should we use hours or milestones to measure implementation progress?
Both are common. Hours suit projects where effort tracks value; milestones suit projects with clear handover points. The key is choosing a method that reflects how the customer receives the benefit, and using it consistently.
Can AI decide whether our implementation is distinct?
No. AI can extract the facts from the contract and lay them out against the test, which saves a lot of reading. The decision, and the sign-off, stay with a person, and only AI tools your company has approved should see customer contracts.
Related guides
- SaaS Revenue Recognition in Plain English (IFRS 15 / ASC 606)
- How to Build and Reconcile a Deferred Revenue Schedule
- SaaS Gross Margin: What Belongs in Cost of Sales
- Accruals and Prepayments: A Practical Guide with Examples
More in Revenue guides.
From the Club
No onboarding fee. Ready out of the box. The Team Mug · The Washed Cap · The Dad Hat
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.