At a glance
An agency’s work-in-progress report should explain what has been delivered, what the contract lets you charge, what has been invoiced and what has been paid. Unbilled hours alone do not establish revenue or an asset. Advance retainers can leave work still owed, while unagreed extra work may never produce another invoice.
Before hiring to relieve a busy team, check which of those situations you are funding.

Start with the work behind the number
Before an agency hires, I want to know where the existing team’s time went. People can be working hard on jobs that have run beyond their fee. Another salary will not repair that.
A balance labelled “WIP” can hide three different problems: work awaiting an agreed billing milestone, work already paid for, and extra work nobody has agreed to buy. Each needs a different response.
Keep the hours. They tell you what delivery costs. Then check them against the agreed scope, progress and billing terms. Multiplying every hour by a selling rate can make the report look better without improving the amount the client owes you.
What does WIP mean in agency accounts?
In a project system, WIP often means work recorded but not yet billed. The accounting treatment needs a separate assessment.
Under FRS 102, revenue follows delivery of the contractual service. Some obligations qualify for recognition over time; others are recognised at a point in time. Hours spent are not automatically a measure of work delivered.
A contract asset represents earned consideration still conditional on something beyond time passing. An unconditional right is a receivable, even if an invoice has not yet been issued. A contract liability represents payment received or due before the related service is delivered.
For businesses applying FRS 102, the revised revenue requirements apply to accounting periods beginning on or after 1 January 2026, with early application permitted. Confirm your framework and period before applying an example. See the FRC’s current FRS 102 guidance and Section 23.
A month with three different jobs
This is a fictional illustration, not an AF client or a recommended accounting policy. All figures exclude VAT. There are no opening balances, pass-through costs, discounts or credit losses.
Project A: a €24,000 fixed-fee project. The contract qualifies for recognition over time because the customer controls the work as it is created. A suitable delivery measure supports 50% completion. The agency has invoiced and received €6,000; its right to the next payment depends on completing further work. On those assumptions, €12,000 is earned and €6,000 remains a contract asset.
Half the budget spent would not, on its own, establish half the work delivered. If the contract requires recognition at completion instead, this treatment changes.
Retainer B: €12,000 paid for three months. The service is provided evenly, the customer receives its benefit as it is delivered, and the first month is complete. The agency has earned €4,000. The other €8,000 remains a delivery obligation, not this month’s revenue.
Project C: an €8,000 completed job. It has been invoiced but remains unpaid. The team also spent 30 extra hours on revisions. At an illustrative fully loaded delivery cost of €50 an hour, that allocates €1,500 of cost to those revisions. There is no contractual entitlement to charge more and no approved change. Revenue remains €8,000. For salaried staff, that €1,500 may use capacity you already pay for rather than create another cash payment.
| Job | Earned | Invoiced | Received |
|---|---|---|---|
| Project A | €12,000 | €6,000 | €6,000 |
| Retainer B | €4,000 | €12,000 | €12,000 |
| Project C | €8,000 | €8,000 | €0 |
| Total | €24,000 | €26,000 | €18,000 |
The month-end balances are €6,000 of contract assets, €8,000 of receivables and €8,000 of contract liabilities. They belong to different contracts, so the report should not hide them in one net WIP figure.
The revenue bridge is €26,000 invoiced − €8,000 relating to future retainer delivery + €6,000 earned but not yet billable = €24,000 earned.
That €24,000 is revenue, not profit. Delivery costs and overheads still have to be accounted for. Our agency profitability guide explains that next step.
What changes in the next decision?
Project A needs a delivery date and a credible next billing date. Retainer B needs capacity reserved to finish the promised service. Project C needs collection of the agreed fee and a decision about how extra revisions will be approved next time.
None of those is solved by increasing WIP.
There is €18,000 of receipts in the illustration. There is not €24,000 of cash available to spend. And the €8,000 retainer liability is not a separate bank balance: it records work still owed. Forecast the actual cost of delivering that work, alongside payroll, tax and supplier payments.
Before hiring, put the proposed start date and first payrolls beside the expected receipts. Will Project A reach its next milestone in time? How much of the team’s capacity is already promised to Retainer B? Would controlling revisions on Project C free the capacity you think you need to buy?
A hire may still be justified. Separate a sustained shortage of capacity for profitable work from a collection delay or an unagreed service commitment.
Make the project record agree with the ledger
Use one month-end schedule with each job’s contract value, delivered work, invoices, receipts, remaining work and next billing trigger. Attach the agreed scope and changes, delivery evidence, time records and contractor invoices. Record missing costs as queries rather than pretending the margin is complete.
Agree responsibility:
- The project lead confirms progress, remaining work and any client dispute.
- Finance checks billing, receipts and the accounting treatment, then reconciles the schedule to the ledger.
- The owner decides exceptions such as unagreed scope, a disputed fee or a staffing commitment.
Start each schedule with last month’s closing balances. Explain the movements from new delivery, billing, advance receipts and corrections, then agree the new closing balances to the ledger. Keep doubtful amounts visible until the accounting and commercial response is resolved.
A routine update should go directly from the person who knows the project to the person preparing the accounts. The owner should not have to reconstruct the delivery history every month.
For Project A, if €6,000 of invoiced revenue is already recorded, the illustrated month-end adjustment adds €6,000 of revenue and the same contract asset. When that amount becomes an unconditional receivable, reclassify it; do not recognise the same revenue again.
Retainer B’s €8,000 relates to later delivery. Project C’s €1,500 of allocated revision cost cannot be converted into additional revenue merely by calling it WIP. Cost recognition is a separate question: not every unfinished-job cost qualifies for capitalisation. The FRC’s revenue factsheet explains contract balances and costs.
Review older balances against the contract. Work recorded 45 days ago may still be within an agreed 60-day billing milestone. A job finished last week may already be late for invoicing. Give each exception a reason, responsible person and next action date. If recovery is doubtful, have the balance reassessed rather than rolling it forward unchanged.
Advance payments can create VAT obligations
Accounting revenue and VAT do not necessarily arise together. For a VAT-registered agency receiving an advance for an Irish taxable service, Revenue says VAT is generally due on the payment when received. Deferring the income in the accounts does not defer that VAT.
Revenue also requires an invoice for each advance payment, generally by the 15th day of the following month. Cross-border supplies and other exceptions need their own treatment.
Check the advance-payment VAT guidance and advance-invoice requirements. The illustration excludes VAT so the contract balances remain clear; a real cash forecast must include the VAT receipts and payments too.
What to ask at the monthly review
Ask finance to show which balances changed, the next contractual billing dates and the cash expected before the next payroll. Ask the project leads where delivery has exceeded the agreed scope.
Finish with decisions: send the invoice, resolve acceptance, agree a scope change, revise the delivery plan or model the hire. A bigger WIP balance is not a result in itself.
Around Finance’s accounting support for agencies connects accounting with the reporting needed to run the business. Project reporting and forecasting depend on the agreed scope and reliable project data. They are not automatically included in every existing engagement.
If you run an Irish agency and need ongoing support to make sense of the work, margin and cash, a Finance Fit Call can establish the fit and scope.
FAQs
Is all unbilled work an asset?
No. A project system’s unbilled total is a starting point for review. The contract, delivery evidence, applicable accounting rules and recovery assessment determine the accounts.
Are WIP and debtors the same?
No. A conditional contract asset differs from an unconditional receivable. Whether an invoice has been produced is not the only test.
Can I recognise a whole retainer when the client pays?
Payment alone does not decide revenue. Check what service is promised and when it is delivered. The three-month example assumes an even service; different obligations can produce a different pattern.
Does extra time on a fixed-fee job increase revenue?
Not automatically. In Project C, the fee stays €8,000 because there is no entitlement to more. The extra hours explain a delivery cost problem that needs a commercial decision.
Can WIP pay the next wages?
A WIP balance is not money in the bank. Put realistic billing and collection dates into the cash forecast, together with the costs still to be paid.
Does the accountant need every timesheet?
They need reliable evidence appropriate to the contract and reporting agreed. Time data helps explain costs and overservicing, but delivery evidence and billing rights are also needed. Agree the information flow so the owner is not the monthly go-between.


