The Billing Audit: Finding the Hours Your Team Works But Doesn't Charge
Your team works more hours than you invoice. Not by a little — typically by 15-30%. Here's where the hours go and how to get them back.

01. The Gap Between Hours Worked and Hours Invoiced
Ask any agency owner what their team's effective hourly rate is — the actual revenue divided by actual hours worked, not the rate on the proposal — and most will pause. They know the number on the rate card. They don't know the number that reflects reality. In most agencies, the gap between those two numbers is significant. Teams work more hours than they charge for. Some of those hours are deliberate write-offs — goodwill, relationship investment, or the recognition that the client shouldn't pay for work that took longer than it should have. But most of the gap isn't deliberate. It's invisible. The invisible hours are the ones that never get tracked. The email thread that ran to 45 minutes. The revision round that was technically a third round but nobody counted it that way. The onboarding call that wasn't attributed to any client. These hours add up — typically to 15-30% of total worked hours for an agency team. A billing audit finds them. It doesn't automatically convert them all to billable work — some of them shouldn't be billed. But it makes the decision explicit rather than invisible.
"Agencies running this audit for the first time commonly find $5,000-15,000 in a 90-day period of work delivered but not charged for. Most of it isn't recoverable retroactively — but it shows you exactly what the fix is worth."
02. Category 1: Revision Rounds Beyond Scope
The contract says two revision rounds. The project ends up with four. The additional rounds happen for understandable reasons — the client was unclear in feedback, the brief evolved, the team absorbed the extra work to keep the relationship smooth. The problem isn't the decision to absorb them. It's that the absorbed hours never appear anywhere in the financial record of the project. In a billing audit, you're looking for projects where the delivered scope significantly exceeds the contracted scope. The signal: a project where tracked hours are 30%+ above the estimate, but the invoice matches the original quote. That gap is revision absorption. How to quantify it: take your last 10 projects. For each, compare estimated hours, tracked hours, and invoiced amount. Projects where tracked hours significantly exceed estimated hours but the invoice didn't change are revision absorption candidates. Calculate the difference, multiply by your blended hourly rate. That's the value of the unrecovered work.
03. Category 2: Client Communication Overhead
Client communication is the most consistently under-tracked category of billable work. It doesn't feel like 'the work' in the same way that designing a logo or writing a landing page does — so it often doesn't get a timer started against it. The reality: for most client relationships, communication overhead runs 15-25% of total project hours. A 40-hour project has 6-10 hours of emails, calls, Slack messages, and meeting preparation attached to it. If those hours are tracked against 'internal' or not tracked at all, they're invisible in the billing record. What to look for in the audit: projects where team members' logged hours are consistently lower than their actual schedule suggests; days where the calendar shows 2+ hours of client calls with no corresponding timer entries; email threads that run longer than 20 minutes with no time logged. Communication hours that are genuinely non-billable (internal coordination, account management priced into the retainer) should be categorised explicitly as such — not just untracked.
04. Category 3: Project Management and Admin
Someone on your team creates the project brief, sets up the workspace, coordinates the kickoff, writes status updates, and handles client onboarding for every new engagement. In most agencies, none of this time is tracked against the client project — it falls into the uncategorised hours that nobody counts. For a typical agency project, project management overhead runs 8-12% of total project hours. On a 40-hour project, that's 3-5 hours of genuine project-attributed work that doesn't appear in the billing record. Whether to bill for project management is a separate question from whether to track it. The audit's job is to surface it. Once it's visible, you can decide whether it belongs in a separate PM line item on the invoice, absorbed into the project rate, or explicitly excluded.
05. Category 4: Scope Creep Absorbed Without Discussion
Scope creep absorbed without discussion is the highest-value category to find in a billing audit — and the most common. It's the 'quick' requests that weren't quick, the 'small changes' that cascaded into larger restructuring, and the 'while you're at it' additions that felt minor in isolation but added up across a project. The signal in your time data: task entries that reference work not described in the original brief, or hours logged against vague descriptions like 'revisions' or 'client request' that don't map to the original scope document. Scope creep absorption is partially a communication failure and partially a tracking failure. The billing audit surfaces the tracking failure. The communication failure — not having an agreed change order process — is the systemic fix.
06. Category 5: Context-Switching Cost
Context-switching cost is the least obvious category and the hardest to recover financially — but it's worth understanding because it shows up in your effective hourly rate even when it can't be directly billed. When a team member switches between three client projects in a day, the cognitive overhead of switching isn't captured in any timer. The transition time — picking up context, reviewing where things were left, mentally re-orienting — typically costs 15-20 minutes per switch and is never attributed to any client. For a team member with 4 context switches per day, that's 60-80 minutes of lost productive time daily that doesn't appear in any time record. Over a month, that's 20+ hours per person that your agency is absorbing silently. The fix here isn't billing clients for context-switching — it's reducing it through better project scheduling and workload management.
07. How to Run Your Own Billing Audit
A billing audit doesn't require special software. It requires pulling three data sources into comparison: your time tracking records, your invoices, and your project briefs. Here's the process:
- Select the audit period — last 30 or 90 days works best. Recent enough to be actionable, long enough to show patterns.
- List every active project in that period with estimated hours, tracked hours, and invoiced amount.
- Calculate effective hourly rate for each project: invoiced amount ÷ tracked hours.
- Identify outliers — projects where tracked hours significantly exceed estimated hours, and projects where effective rate is well below your standard rate.
- For each outlier, categorise the gap: revision absorption, communication overhead, PM admin, absorbed scope creep, or estimation error.
- Calculate total unrecovered value: hours in each category × your blended rate.
08. Fixing the Leaks Going Forward
Track everything, categorise after: the rule that produces the most complete time data is to track all hours against the client or project they belong to, and categorise billable vs non-billable at the tracking stage. Don't make the billability decision a condition of starting the timer — that's what causes communication hours to go untracked. Define revision rounds in the contract and count them: a contract clause saying 'two revision rounds included' is only useful if someone is counting. Build the count into your project management workflow so it's visible before you're already in round four. Create a change order trigger: any client request that isn't in the original brief should trigger a conscious decision — absorb it, decline it, or change order it. A simple message template that the PM sends when scope expands is enough: 'This would be outside the current scope. Happy to add it as a change order at $X, or we can adjust the remaining scope to fit the original estimate.'
Track all hours and see which ones are billable.
Stop losing 15-30% of your worked hours to invisible unbilled time.

