A guide to WIP Accounting for Agencies

May 6, 2026

By Neethu Stephen

Fair warning to readers – this is a technical piece, so not for the fainthearted.

Most agencies with repeated project revenue will be familiar with this – the mismatched revenue vs costs conundrum often faced when the work is delivered in batches. People who know this – know this! And if you have Board members that have worked on this before, they’d be sure to look for deferred income or WIP in the balance sheet – you’ll definitely get questions if this doesn’t show up. I know from experience!

The fundamental premise of WIP or Work in Progress is simple, you invoice for work based on what you have completed against a set number of deliverables already agreed. Easier said than done. The earliest memory I have of this is from contract accounting, it goes back many years and reminds of paper rolls and hours spend with clients nitpicking numbers against various site work delivered.

Agency owners and their accountants may have similar maladies. If you run an agency, it’s inevitable that large and chunky “projects” split into different time periods. It’s hardly a case where you finish a project in the month you land it. For that, time, team and priorities should align with clinical precision, a pipe dream for most agencies. This is the main reason WIP becomes essential in an agency balance sheet.

The accounting standards that apply to most UK agencies require this split, so this isn’t a fashionable option anymore. This article walks through what the standards require, how the mechanics work and where agencies typically get it wrong.

It is written for founders and their advisors rather than finance controllers, but the technical points are based on FRS 102, the Financial Reporting Standard applicable in the UK which is the framework most private agencies report under. If your agency is listed or has voluntarily adopted UK-adopted IFRS, then IFRS 15 applies instead.

This article focuses on FRS 102 – specifically the revised Section 23 (Revenue from Contracts with Customers), which took effect for accounting periods beginning on or after 1 January 2026 following the FRC’s Periodic Review 2024. If your current accounting period began before that date, the previous version of Section 23 still applies until your next period, see the transitional note at the end of this article.

If you are unsure which standard applies to your agency, our one-stop summary on what is agency accounting covers all the essentials.

Where the rules live: FRS 102 Section 23 (revised)

Revenue recognition for UK private companies is governed by Section 23 of FRS 102. Until recently, that section split agency work into two buckets: “construction contracts” and “rendering of services.” That distinction has now gone. The revised Section 23, effective for periods beginning on or after 1 January 2026, replaces both with a single five-step revenue recognition model aligned with the principles of IFRS 15.

The five steps are:

Step 1: Identify the contract with a customer. A contract is an agreement that creates enforceable rights and obligations. For agencies, this is usually a signed SOW, master services agreement, or engagement letter.

Step 2: Identify the performance obligations. A performance obligation is a promise to deliver a distinct good or service. A single SOW may contain one obligation (an integrated brand identity project) or several (a website build plus a separate content strategy). The question is whether the client can benefit from each deliverable on its own, or only as part of the whole.

Step 3: Determine the transaction price. For a fixed-fee project, this is straightforward. It’s more difficult for one-off or project type pricing, however most jobs will have either allocated hourly charges or a project price for the whole. This is what we’d rely on as a starting point.

Step 4: Allocate the transaction price to the performance obligations. If you have more than one obligation in a contract, you allocate the total fee across them based on their relative standalone selling prices. This matters when one deliverable is loss-making and another is profitable – generally speaking we try not to set off losses and profits against various segments across each other.

Step 5: Recognise revenue as each performance obligation is satisfied. This is where percentage of completion comes in. Each obligation is satisfied either over time or at a point in time. Most custom agency project work will be over time – but you must demonstrate why.

The model is more prescriptive than the old Section 23, but for most agencies the practical outcome is similar: project revenue is recognised progressively as work is performed. What changes is the route you take to get there and the reasons chronicled for over or under time.

When is revenue recognised over time?

This is the critical question for agencies. Under the revised Section 23, a performance obligation is satisfied over time if any one of three criteria is met:

  1. The customer simultaneously receives and consumes the benefits as you perform. Routine, recurring services, a monthly retainer for media management, ongoing SEO, hosting things like that. If you stopped tomorrow, another vendor could pick up where you left off, and the client would not need to redo what you have already done.
  2. Your performance creates or enhances an asset the customer controls as the work happens. This applies cleanly when you are building something on the client’s infrastructure, like most custom dev work will fall in this category
  3. Third criterion (and the one that most often unlocks over-time recognition for custom agency project work): your work does not create an asset with alternative use to you, and you have an enforceable right to payment for performance completed to date, including a reasonable profit margin, if the contract were terminated for convenience.
  • For a custom-designed brand system, a bespoke website, a campaign concept developed for one client, the deliverable has no alternative use to you. You cannot resell a logo designed for Client A to Client B. So, the alternative-use test is almost always satisfied for custom agency work.
  • The second part is about your contracts. Ask yourself: if the client pulled the plug halfway through, would they owe you for the work you have already done, including your margin? If the answer is yes – because your MSA or SOW says so – you pass the test and can recognise revenue as you go. If your contracts only entitle you to recover out-of-pocket expenses (not your time or profit), you fail this test, and you would have to wait until you hand over the finished deliverable before recognising any revenue. This is one of the strongest commercial reasons to have a properly drawn up documents including a tight termination clause in your contracts, It does not just protect your cash flow, it determines how your revenue shows up in the accounts. If none of the three criteria is met, the performance obligation is satisfied at a point in time, and you recognise revenue when control transfers to the customer. For most custom agency work that has been properly contracted, its very likely over-runs will happen

Measuring progress: input and output methods

Once you have established that an obligation is satisfied over time, you need a method for measuring progress. The revised Section 23 allows two families: output methods (measuring value delivered to the customer – milestones reached, units produced) and input methods (measuring resources consumed relative to total expected inputs, costs incurred or labour hours worked).

The method for agencies tends to be labour hours driven (hours worked to date ÷ total estimated hours) as we know people costs tend to be higher than most other costs in an agency,

Before we go any further, worth pausing here. What is the biggest issue with this?

We need hours tracked for this to work as expected. Now that is a problem in most small agencies. Agencies with a rigorous practice of tracking time will find this much easier to tackle than the ones with broken records all over.

Secondly, the standard requires you to exclude inputs that do not depict your progress toward satisfying the obligation. If you stockpile materials early in a project (less common for agencies, but it happens with media buys or print production), those costs should not advance your percentage complete until the related work is done.

Third point, hours spent on rework caused by your own errors, not by client-driven scope changes, arguably do not depict progress. Most smaller agencies don’t strip these out, but it is worth knowing that a text-book application of the standard would require it.

Critically, the estimate must be revised at each reporting date. If your total estimated cost at completion changes, because the project turned out to be harder, or scope crept, the measure of progress changes, and the cumulative revenue adjusts in the current period. FRS 102 Section 10.16 treats changes in accounting estimates prospectively: you do not restate prior periods. The full effect of the revised estimate hits the current period P&L, which is known as the cumulative catch-up approach.

The WIP mechanics on the balance sheet

At the end of each month, every active project will be in one of two positions.

  • You have done more work than you have billed — in which case, your balance sheet carries an accrued income balance for that project. This is simply revenue you have already earned (and put through the P&L) but not yet invoiced. The moment you raise the invoice; the accrued income clears and becomes a normal trade debtor.
  • Or you have billed more than you have earned — in which case, your balance sheet carries a deferred income balance. This is money the client has been invoiced for, but you haven’t yet done enough work to call it revenue. As you deliver the work, you release deferred income into revenue month by month. For agencies this is more common than accrued income.

That’s what “WIP” means in an agency context. It is not the same as WIP in a manufacturing business, where it refers to the cost of unfinished inventory. In an agency, WIP is the gap between what you have earned and what you have billed and it sits on the balance sheet as either accrued income (an asset) or deferred income (a liability), project by project.

One last point: your project costs, mostly people time, are expensed as they are incurred. They should straight to the P&L as cost of services. The WIP balance on your balance sheet is not capitalised cost; it is purely the timing difference between revenue recognition and invoicing.

A worked example

Suppose you sign a fixed fee project for £100,000. You estimate total delivery costs at £60,000 (mostly labour). The billing schedule is £30,000 on signature, £40,000 at midpoint, £30,000 on completion. The project runs four months.

Month 1 You do £15,000 worth of work and bill the £30,000 deposit. Percentage complete: 25%. Revenue earned: £25,000. But you have billed £30,000, so the balance sheet carries £5,000 of deferred income. You have been paid ahead of the work.

Gross margin so far: 40%.

Month 2 You do another £20,000 of work. No invoice this month. Percentage complete: 58%. Cumulative revenue earned: £58,333. But you have still only billed £30,000, so the position flips, you now have £28,333 of accrued income on the balance sheet. You have earned more than you have billed.

Month 3 the budget blows out. You do another £20,000 of work and bill the £40,000 midpoint invoice. But the project is harder than expected, and you now think total costs will be £70,000, not £60,000. This changes everything. Your revised percentage complete is 78.6%, so cumulative revenue is £78,571. The revenue you recognise this month is only £20,238, yes less than you might have expected, because the catch-up adjustment absorbs the impact of the revised estimate in the current period. You do not go back and restate the earlier months.

This is why updating project budgets monthly matters. If you had not revised the estimate until Month 4, Months 1 to 3 would have shown an inflated margin, and the full hit would have landed in the final month. And it will look like the project fell apart at the end when in reality it was going off track from Month 3.

Month 4. Project completes. Final £15,000 of labour, final £30,000 invoice. Total costs: £70,000. Total revenue: £100,000. Gross margin: 30%, not the 40% you planned. All the accrued and deferred income balances clear to zero.

Without accounting for revenue as you have earned it, your monthly margin would have swung wildly. Really high in the months you billed, negative in the months you didn’t and the cost overrun would not have been visible until the project closed.

Onerous contracts: When a project is genuinely loss-making

The standard says that if your estimated costs to finish a project exceed the total fee, you should recognise the full expected loss straight away – not spread it over the remaining months. In theory, that means the moment you realise a project is underwater, the hit goes into your P&L immediately.

In practice, this almost never happens in small agencies. When it does, most founders don’t even notice it as a separate accounting event. A project overrunning by 20% is not the same as a loss-making project. If you quoted £100,000 and your costs, come in at £70,000 instead of £60,000, you have made less profit than you planned, but you have still made £30,000. That is not an onerous contract. The standard is not asking you to book a loss every time a project goes over budget. There’ll be never an end to agency living if this was the case.

Where this matters is the rare case where a project is genuinely costing you more than the client is paying – say you quoted £50,000 and you can see that delivery is going to cost £65,000. You are going to lose £15,000 on this project and you already know it. In that situation, the rules say: don’t pretend the loss will spread itself out gently over the remaining months. Put the whole £15,000 through your P&L now.

Most agencies instinct in that situation would be to do exactly that anyway — write it off, learn from it, move on. The standard just formalises what common sense already tells you.

Contract modifications: scope changes and change orders

Clients change their minds. Scopes stretch. The revised Section 23 has some guidance on how to handle this in the accounts, but it boils down to a simple question: is the new work a separate job, or is it just the existing job getting bigger?

If it’s genuinely separate work with a separate price: the client asks for a new landing page alongside the brand project, and you quote it independently, then treat it as a new contract. It gets its own revenue line, its own cost estimate, its own POC calculation. Clean and simple.

If the existing deliverable just got bigger: which is what happens most of the time in agency work, in this case you update the total fee, update the total estimated cost, recalculate your percentage complete, and let the cumulative catch-up do the work. The change gets captured through the current period Profit and Loss account.

The operational point matters more than the accounting: scope changes need to be documented and priced in writing. “We’ll sort it out at the end” is how agencies end up doing 30% more work than they quoted for and having an argument about the final invoice. Get the change order signed, update your project tracker and the accounting follows – which should be the natural order of things.

Retainers and stand-ready obligations: a critical agency-specific gotcha

Not everything should go through POC. If a client pays you a fixed monthly fee for access to your team as a retainer, that’s not project revenue. You’re being paid to be available, not to deliver a specific thing. You recognise that revenue evenly, month by month, as time passes. No percentage-of-completion calculation needed.

Where agencies get into a mess is when a retainer is funding actual project work. A client pays you £10,000 a month, and out of that you’re delivering a website redesign, a content strategy, and ongoing social management. That’s not really a retainer – or at least, it’s not only a retainer. Part of it is standing availability, part of it is defined deliverables with a beginning and an end. The accounting should reflect that split, even if the client sees it as one monthly payment.

If you lump everything together and run it all through POC, or recognise it like consistent recurring revenue, neither number is right. The retainer portion gets distorted by project progress, and the project portion gets smoothed out when it shouldn’t be. Keep them separate in your project tracker, even if they sit under one commercial agreement with the client.

Operational prerequisites

For POC to work, you need three things in place:

  • accurate time tracking against project codes (so you know costs incurred)
  •  live project budgets with total estimated costs that are reviewed and updated at each reporting date (so you have a defensible denominator)
  • and a monthly close discipline in which project managers revisit every active project.
  • None of this is optional. If your PMs update budgets only at kickoff and at the post-mortem, your POC numbers will be whatever your spreadsheet says they are – fiction!

For agencies using the labour-hours variant, the time tracking requirement is especially important. Timesheets are noones favourite activity but you do need them for the sake of recognising numbers properly,

Transitional note: moving from the old Section 23

The revised Section 23 is mandatory for accounting periods beginning on or after 1 January 2026, with early adoption permitted. If your agency has a December year-end, the new rules apply from 1 January 2026

Entities can apply the new standard either fully retrospectively (restating comparatives) or using a modified retrospective approach (recognising the cumulative effect as an adjustment to opening retained earnings at the date of initial application). The modified approach is simpler and is what most agencies will choose. For some of our clients especially with HQ/parent company reporting and audit, we have done full restrospective. Not pretty, but had to be done.

For many agencies, the practical impact on revenue numbers will depend on actual project revenue/ This is not revenue lost though,  the same projects will still be recognised over time, using the same input methods.

The main differences are: the formal five-step framework replacing the old construction-contract and services split; the concept of performance obligations replacing the old distinction between construction contracts and rendering of services; more structured guidance on contract modifications; and the explicit three-criteria test for over-time recognition.

Closing thought

The percentage-of-completion model, properly implemented, gives an agency two things that are otherwise hard to get: a P&L where monthly margin reflects monthly work, and a balance sheet that tells you, at any moment, how much revenue is sitting unbilled in the pipeline and how much cash you have collected against work you have not yet earned. For a non-finance founder, those two numbers – accrued income and deferred income, by project – are among the most operationally useful things a finance function can produce. 

Everything in this article exists to make those numbers true and maybe, just maybe we will inch towards a period where an agency can finally somewhat accurately define project profitability.

Leave you with a good Michael Phelps quote –

 


“There will be obstacles, there will be doubters. There will be mistakes. But with hard work, there are no limits” 


Working through WIP accounting at your agency?

At Evalua8, we work with agency founders to put the financial infrastructure in place that makes these numbers mean something. Book a clarity call with us today we are happy to help.

 

 

Neethu Stephen

Neethu Stephen is the Founder of Evalua8, a UK-based financial partner for agency, SaaS, Web3 and crypto businesses. With nearly two decades of international experience in finance and accounting, she helps digital innovators simplify their numbers, plan for growth, and stay ahead in unpredictable markets.
Share this post
Related Posts