Pike
  • Pricing
  • Contact us
Log in
Back to blog
  • Project profitability
  • Time tracking and billing

Work in progress and unbilled revenue for agencies

18 Sep 26·12 min read

Share

Sign up

In this article

  • 01What work in progress and unbilled revenue mean in an agency
  • 02Why work in progress and unbilled revenue build up
  • 03How to measure work in progress and unbilled revenue
  • 04What work in progress and unbilled revenue cost you
  • 05How to reduce the delay from work to invoice
  • 06Frequently asked questions
Work in progress and unbilled revenue for agencies

Work in progress and unbilled revenue is the cash tied up in work you have already delivered but have not yet invoiced. The work is done, the cost has been paid in salaries, but the money has not started moving toward your bank account. It sits in a gap between delivery and billing, and the wider that gap, the more of your own cash the agency is lending to clients for free.

This is money you have earned. It is different from revenue leakage, which is billable value you deliver and then never collect at all. Work in progress is not lost, it is delayed. But a large, slow-moving pile of unbilled work still hurts, because it starves cash flow and quietly grows the risk that some of it never converts. This guide covers what work in progress and unbilled revenue mean in an agency, why they build up, how to measure them, what they cost you, and how to reduce the delay between doing the work and sending the invoice.

What work in progress and unbilled revenue mean in an agency

Work in progress (WIP) is the value of delivered work an agency has not yet invoiced. Unbilled revenue is the same idea seen from the revenue side: revenue you have earned by delivering work but have not yet issued an invoice for. In an agency the two terms point at the same pile of money, the work sitting between a completed task and a sent invoice.

A worked example makes it concrete. A team spends three weeks on a project milestone worth 30,000. The hours are logged and the milestone is finished, but the contract bills at the end of the month and the invoice has not gone out. Until it does, that 30,000 is work in progress. You have paid your people to produce it, and the client owes you for it, but nothing is on an invoice yet, so nothing is on its way to being paid.

Unbilled revenue is not the same as accounts receivable. Receivable means the invoice has been sent and you are waiting for the client to pay. Unbilled means the invoice has not even gone out. Work moves through three stages: delivered but not invoiced (work in progress), invoiced but not paid (accounts receivable), then paid. Each stage is a delay, and work in progress is the first one, the one most agencies never measure because it does not appear on a standard accounts report.

The distinction matters for where you look for a fix. Accounts receivable problems are collection problems, chasing clients who owe you. Work in progress problems are internal, the delay between finishing work and getting it onto an invoice. That delay is entirely within your control, which is why it is worth measuring.

Why work in progress and unbilled revenue build up

Work in progress builds up whenever the pace of delivery runs ahead of the pace of billing. The team keeps producing value every day, but invoices only go out on a schedule or when someone remembers to raise them, so a backlog of delivered-but-unbilled work accumulates in between.

The common causes are structural rather than anyone being careless. Monthly billing cycles mean work delivered on the 2nd waits nearly a month before it is invoiced. Milestone billing ties invoicing to a deliverable being signed off, so a milestone that slips by two weeks holds all of its value in work in progress until it clears. Time-and-materials work depends on timesheets being complete before an invoice can be raised, so every late timesheet delays the bill. Approvals add more lag when an invoice needs a partner or account lead to review it before it goes out.

Fixed-price and retainer work hide the buildup further, because the invoice amount is not tied to hours in the first place. The team can pour effort into a fixed-price project for weeks while the billing schedule releases the fee in a few large lumps. Between those lumps, a lot of delivered value sits as work in progress with nothing prompting anyone to look at it.

The following table maps the usual causes to their effect and the fix.

Cause of WIP buildupEffectFix
Monthly or milestone billing cycleWeeks of delivered work wait before any invoice goes outBill more frequently, or invoice on a rolling basis as work completes
Timesheets submitted late or incompleteTime-and-materials invoices cannot be raised until hours are inMake time logging fast and daily so billable hours are ready to invoice
Milestones defined looselySign-off slips, and the milestone's value stays unbilledDefine smaller, clearer milestones that clear sooner
Manual invoice approval chainsFinished invoices sit waiting for reviewSet approval thresholds so routine invoices go out without a bottleneck
No owner for the delivery-to-invoice handoffCompleted work never gets flagged as ready to billGive each project a defined trigger that moves work from delivered to invoiced
Fixed-price value not tracked against deliveryDelivered effort is invisible until the next scheduled lumpTrack earned value on fixed-price work so buildup is visible in real time

How to measure work in progress and unbilled revenue

Measure work in progress as the value of delivered work minus the value invoiced for it. At any point in time, your work-in-progress balance is the earned value of everything the team has delivered that has not yet appeared on an invoice. On time-and-materials work that is billable hours logged but not billed, multiplied by their rates. On fixed-price and milestone work it is the earned portion of the fee for delivery completed but not yet billed.

Two metrics make the balance useful rather than just a number. The first is billing lag, the average number of days between work being delivered and the invoice for it going out. A billing lag of 40 days means the agency is routinely waiting nearly six weeks after finishing work before it asks to be paid for it. Track it as an average and watch the trend. The second is WIP aging, the same idea as an aged debtor report but for unbilled work: how much of your work in progress is under 30 days old, 30 to 60 days, and over 60 days. Old work in progress is the dangerous kind, because the longer delivered work goes unbilled, the harder it becomes to invoice with confidence.

You can only measure any of this if delivered work and invoiced work live in connected systems. If time tracking sits in one tool and invoicing in another, the work-in-progress balance has to be reconstructed by hand, which is why most agencies never see it. When time, delivery, and billing are connected, the balance updates as work happens, and billing lag and aging come out of the same data. This is the reporting most agencies lack, and it sits alongside the project-level margin view covered in how to track project profitability.

What work in progress and unbilled revenue cost you

The main cost of work in progress is cash flow. Every day a delivered piece of work stays unbilled is a day you have paid your team for it but received nothing back. The agency funds the gap out of its own working capital, which means a growing work-in-progress balance ties up cash you could otherwise use for payroll, hiring, or simply keeping a buffer. An agency can be profitable on paper and still run short of cash because too much of its earned money is stuck in the delivery-to-invoice gap.

The second cost is risk. The longer work sits unbilled, the more likely it is that some of it never converts cleanly into a paid invoice. Details get forgotten, so an invoice raised two months after the work is harder to defend if the client queries it. Scope gets fuzzy, and delivered work that was never billed can start to look like work the client assumes was included. A client relationship can sour or a client can run into their own trouble while your earned money is still sitting in work in progress rather than in receivables where it is at least formally owed. Unbilled work that ages long enough tends to turn into a write-off, at which point delayed revenue has quietly become revenue leakage.

There is a third, quieter cost. A large work-in-progress balance distorts how the business reads its own performance. If you look at invoiced revenue alone, a month of heavy delivery with light billing looks like a weak month, even though the team produced plenty of value. Decisions made on that distorted picture, about hiring, spending, or how hard to sell, are decisions made on lagging and incomplete information.

How to reduce the delay from work to invoice

Reduce the delay by shortening every step between finishing work and sending the invoice. The goal is not to rush clients into paying faster, that is a receivables question. The goal is to close the internal gap so that delivered work becomes an invoice quickly and reliably.

Start by billing more frequently. Moving from monthly to fortnightly invoicing on time-and-materials work roughly halves the average time delivered work waits before it is billed. Where a contract allows it, invoicing on a rolling basis as work completes shrinks the gap further. The billing cycle is often the single largest driver of work in progress, and it is a commercial term you can change.

Make time logging fast and current so that billable hours are always ready to invoice. Timesheets completed daily, rather than reconstructed at month-end, mean nothing holds up a time-and-materials bill. This is the same daily discipline that protects against unlogged time, and it directly reduces billing lag. Making time capture quick enough that people actually do it every day is what time tracking built for delivery teams is for.

Define milestones so they clear sooner. Smaller, clearly specified milestones get signed off faster than large, vaguely defined ones, and each sign-off releases its value out of work in progress and onto an invoice. A milestone worth 60,000 that takes three months to clear holds far more cash hostage than six milestones of 10,000 that clear along the way.

Give the handoff from delivery to invoicing a clear owner and a clear trigger. Much work in progress builds up simply because completed work never gets flagged as ready to bill. Connect a delivered milestone or an approved timesheet to a prompt that an invoice is due, so billing follows delivery automatically rather than waiting for someone to notice. When delivery, time, and financials run on connected data, the work-in-progress balance, the billing lag, and the aging are all visible in one place, and the gap between doing the work and billing it stops being something you discover at month-end.

Frequently asked questions

Share

Sign up

On this page

  • 01What work in progress and unbilled revenue mean in an agency
  • 02Why work in progress and unbilled revenue build up
  • 03How to measure work in progress and unbilled revenue
  • 04What work in progress and unbilled revenue cost you
  • 05How to reduce the delay from work to invoice
  • 06Frequently asked questions

You might also like

More in the same topic
Utilization vs realization rate: the key difference

Utilization vs realization rate: the key difference

20 Sep 26

Best agency billing software for automated client invoicing

Best agency billing software for automated client invoicing

11 Sep 26

Best Project Cost Tracking Software for Agencies (2026)

Best Project Cost Tracking Software for Agencies (2026)

02 Sep 26

Your agency runs better on Pike.

Contact sales
Pike box logoPike box logoPike
All systems operational
Company
BlogOur storySwitch playbookGet in touch
Product
ProjectsResourcesFinanceDashboardsCustomersTime management
Resources
DocsChangelogPrivacy policyTerms and conditionsGlossaryFAQ
Compare
All comparisonsvs Productivevs Scorovs Kantatavs Synergistvs Accelo
Language
EnglishDansk

Engineered around the 🌎

© 2026 Pike. All rights reserved.