# Agency revenue leakage audit worksheet

A printable worksheet for the seven-point agency revenue leakage audit: what to pull, the test, your result, the fix and the owner for each leak.

RevSmith, updated 4 November 2026. Companion to the guide at https://revsmith.in/guides/agency-revenue-leakage and the calculator at https://revsmith.in/tools/agency-revenue-leakage-calculator.

---

## Before you start

**Period audited:** the last three full months, from ____________ to ____________.

**Run by:** ____________ (owner or operations lead). **Date:** ____________.

**Who brings what**

| Person | Brings |
|---|---|
| Delivery or operations lead | Time tracker export by person, client, task, date of work and date logged |
| Finance lead | Invoices for the period; credit memos and write-offs for the last 12 months; accounts receivable aging report; costs paid on behalf of clients, with client codes |
| Account managers | Each client's SOW or retainer agreement (hours or deliverables sold, revision limits, exclusions); the request log (tickets, Slack, email) for the period; change orders |
| Owner or account director | Today's rate card; each client's current fee or rate and the date it last changed |

**Two rules for the whole audit**

- [ ] Unbilled hours (billable work not invoiced) are a leak. Non-billable hours (internal meetings, pitches, training) are a cost, not a leak. Keep them apart.
- [ ] Count every hour once. An hour never logged goes in point 1. An hour logged but given away goes in point 2 (or 7 on a retainer). An hour invoiced below its value goes in point 3.

---

## Part A: the four leaks the calculator adds up

Fill in the seven inputs, then do the working by hand or in the calculator. All amounts are per month. The example column uses the calculator's default inputs; they are examples, not benchmarks.

| Input | Your number | Where it comes from | Example |
|---|---|---|---|
| `n` Billable people (full-time equivalents) | | Headcount of people who do client work | 10 |
| `h` Client hours per person per week, logged or not | | Contracted hours minus internal time, time off averaged | 32 |
| `r` Average billable rate | | Rate card, blended; for retainers, fee ÷ hours sold | $100 |
| `u` Share of client work never logged | ____ % | Point 1 below | 10% |
| `s` Out-of-scope hours logged but not billed | ____ hours | Point 2 below (on retainers, hours logged over budget) | 20 |
| `z` Realization rate on logged in-scope work | ____ % | Point 3 below | 90% |
| `w` Write-offs, discounts and bad debt not already in `z` | $ | Point 4 below | $0 |

**Working**

| Step | Formula | Your result | Example |
|---|---|---|---|
| Hours a month `H` | n × h × 52 ÷ 12 | | 1,386.67 |
| Value of the work `V` | H × r | $ | $138,666.67 |
| Leak 1: unlogged time `L1` | V × u | $ | $13,866.67 |
| Leak 2: free scope `L2` | s × r | $ | $2,000.00 |
| Leak 3: realization `L3` | (V × (1 − u) − L2) × (1 − z); 0 if negative | $ | $12,280.00 |
| Leak 4: write-offs `L4` | w | $ | $0.00 |
| Total a month | L1 + L2 + L3 + L4 | $ | $28,146.67 |
| Total a year | Total × 12 | $ | $337,760.00 |
| Share of the work's value | Total ÷ V | ____ % | 20.3% |

**Largest leak:** ____________ → start with audit point ____ (L1 → 1, L2 → 2, L3 → 3, L4 → 4).

**Double-count checks**

- [ ] The out-of-scope hours in `s` were logged. Hours never logged are in `u`, not `s`.
- [ ] Realization `z` was worked out on in-scope hours only.
- [ ] If `z` came from cash collected, bad debt is already in it and `w` is 0. If `z` came from invoices, `w` holds the invoices written off or never collected.

---

## Part B: the seven checks

### Point 1. Client work never logged

**Symptoms seen:** [ ] busy team, low logged hours [ ] entries made on Friday for the whole week [ ] round numbers (2.0, 4.0, 8.0) [ ] days with nothing logged

| Test | Fill in |
|---|---|
| Usual weekly client hours logged (average of the four weeks before the test) | |
| Weekly client hours during two careful weeks (everyone logs the same day, in 15-minute blocks) | |
| Unlogged share `u` = (careful − usual) ÷ careful. A floor: even careful weeks miss some | ____ % |
| Working days with nothing logged, per person per month | |
| Share of entries logged two or more days after the work | ____ % |

**Fix chosen:** [ ] same-day logging against a task, not a client bucket [ ] 15-minute minimum entry [ ] end-of-day reminder [ ] log every hour, then write down openly on the invoice (point 3) [ ] other: ____________

**Owner:** ____________ (delivery or operations lead). **Cadence:** weekly. **Review on:** ____________

### Point 2. Out-of-scope work delivered free

**Symptoms seen:** [ ] "quick" asks over Slack or email [ ] revision rounds past the limit [ ] new deliverables with no price [ ] nobody can find the change order

| Test | Fill in |
|---|---|
| Requests in the period (tickets, Slack, email, calls) | |
| Requests with no matching SOW line | |
| Of those, with a signed change order or quote | |
| Hours logged to out-of-scope work and not billed, whole period | |
| Out-of-scope hours logged but not billed per month `s` (period hours ÷ 3) | |
| Clients with revision rounds past the limit | |

**Fix chosen:** [ ] a scope ledger per client (sold against used) [ ] revision limits written into the SOW [ ] quote-first rule for any new deliverable or anything over ____ hours [ ] change order signed before work starts [ ] other: ____________

**Owner:** ____________ (account manager). **Cadence:** as each request arrives; reviewed monthly. **Review on:** ____________

### Point 3. Realization rate: discounts and work billed below value

Realization = amount invoiced ÷ (in-scope billable hours logged × standard rate). Use the standard rate card, not the discounted rate.

| Client | In-scope hours logged | Standard rate | Value (hours × rate) | Invoiced | Realization | Write-downs (hours cut) $ | Discounts (price under card) $ | Same client, last 12 months |
|---|---|---|---|---|---|---|---|---|
| Example | 120 | $150 | $18,000 | $15,300 | 85% | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| All clients | | | | | `z` = ____ % | | | |

No published realization benchmark has a known sample. Flag any client below its own last 12 months or below your agency's median: ____________

**Fix chosen:** [ ] log full hours, write down on the invoice with a reason code [ ] every discount has an approver and an end date [ ] every fixed fee has an hours budget [ ] other: ____________

**Owner:** ____________ (finance lead with each account manager). **Cadence:** monthly. **Review on:** ____________

### Point 4. Write-offs and bad debt

| Accounts receivable aging | Amount | Number of invoices | Clients |
|---|---|---|---|
| Current (not yet due) | | | |
| 1 to 30 days overdue | | | |
| 31 to 60 days overdue | | | |
| 61 to 90 days overdue | | | |
| Over 90 days overdue | | | |

| Credits and write-offs, last 12 months, by reason | Amount | Clients |
|---|---|---|
| Missed deadline or quality issue | | |
| Dispute over scope or hours | | |
| Client left owing | | |
| Other: ____________ | | |
| Total for 12 months | | |
| Monthly average `w` (total ÷ 12; 0 if `z` already counts it) | | |

**Fix chosen:** [ ] retainers billed in advance [ ] payment terms and a stop-work clause in every contract [ ] deposit on project work [ ] monthly receivables review [ ] no credit memo without a reason and an approver [ ] other: ____________

**Owner:** ____________ (finance lead). **Cadence:** monthly. **Review on:** ____________

### Point 5. Late or missed invoices, and pass-through costs not rebilled

| Client | Period or milestone end | Invoice date | Days to invoice | Finished work not yet invoiced $ |
|---|---|---|---|---|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| Average days to invoice | | | | |

**Rebill check** (every cost paid on a client's behalf: freelancers, stock, software, printing, travel, media)

| Cost | Client code | Amount | Agreed markup | On an invoice? (Y/N) | Invoice number | If absorbed, reason |
|---|---|---|---|---|---|---|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| Total not rebilled | | | | | | |

**Fix chosen:** [ ] invoice within ____ working days of month end or milestone [ ] month-end rebill check: every client-coded cost matched to an invoice line or marked absorbed with a reason [ ] markup and media billing terms agreed at client onboarding [ ] media paid by the client directly where possible [ ] other: ____________

**Owner:** ____________ (finance lead; media or production lead supplies the cost list). **Cadence:** month end. **Review on:** ____________

### Point 6. Rates and retainers never reviewed

Effective rate = fee ÷ hours logged, over the last three months.

| Client | Current fee or rate | Date it last changed | Months since | Today's rate card | Hours logged (3 months) | Effective rate | Gap to card | Renewal date |
|---|---|---|---|---|---|---|---|---|
| | | | | | | | ____ % | |
| | | | | | | | ____ % | |
| | | | | | | | ____ % | |
| | | | | | | | ____ % | |
| | | | | | | | ____ % | |

Flag every client whose price has not moved in 12 months or whose effective rate is under the card: ____________

**Fix chosen:** [ ] yearly price review written into every contract, with its month and notice period [ ] new rate card applies to new clients at once and to existing clients at renewal [ ] scope grows only with the fee [ ] other: ____________

**Owner:** ____________ (owner or account director). **Cadence:** yearly per client, starting 90 days before renewal. **Review on:** ____________

### Point 7. Unprofitable clients hidden by averages, including retainer over-servicing

Margin = fee − (hours logged × loaded cost per hour) − costs absorbed for the client. Loaded cost per hour = payroll and benefits of the people doing the work ÷ their available hours.

| Client | Monthly fee | Hours sold | Hours logged | Over or under budget | Effective rate | Loaded cost per hour | Margin $ | Margin % | Rank |
|---|---|---|---|---|---|---|---|---|---|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| All clients | | | | | | | | | |

Clients over budget three months running: ____________. Bottom client by margin: ____________.

Over-servicing kept on purpose (a launch, a renewal, a pitch for more work) needs an end date: client ____________, ends ____________.

**Fix chosen:** [ ] mid-month budget check on every retainer [ ] reprice [ ] rescope [ ] replace the bottom client [ ] other: ____________

**Owner:** ____________ (account director; the owner decides any exit). **Cadence:** monthly. **Review on:** ____________

---

## Part C: what you found and what happens next

| Point | Monthly value found | Fix chosen | Owner | Starts | Review |
|---|---|---|---|---|---|
| 1. Work never logged | $ | | | | |
| 2. Free out-of-scope work | $ | | | | |
| 3. Realization | $ | | | | |
| 4. Write-offs and bad debt | $ | | | | |
| 5. Late invoices and rebills | $ | | | | |
| 6. Rates not reviewed | $ | | | | |
| 7. Unprofitable clients | $ | | | | |

**The two fixes we start this month:** 1. ____________ 2. ____________

**Re-run this audit on:** ____________ (90 days from today). Compare the result with this one, not with a headline figure.

---

## Why your number will not match the figures you read

Published estimates of revenue leakage measure different things. MGI Research, as cited by Accelo, puts the loss at 4.3% of annual revenue for professional services firms, with no sample published (https://www.accelo.com/glossary/what-is-revenue-leakage). SPI Research's 2026 benchmark of 509 professional services firms gives about 4.5%, via Deltek (https://www.deltek.com/resources/articles/professional-services-benchmarks/). Pike, an agency software vendor, estimates 10% to 20% of potential revenue without a method (https://usepike.com/blog/revenue-leakage-agencies). Ignition, which sells billing software, surveyed 273 US agency leaders in April 2025 and found 57% losing $1,000 to $5,000 a month to unbilled scope creep and 30% more than $5,000 (https://www.ignitionapp.com/2025-agency-pricing-cashflow-report). This worksheet measures your own agency, against your own value of work. The full comparison of the estimates is at https://revsmith.in/guides/agency-revenue-leakage.
