You know what you bill each month. This puts a number on the client hours that were never recorded against anyone. Four numbers you already have, one range, about two minutes.
Quick calls, Slack threads, rework and "five-minute" fixes that never reach a timesheet. We use as the midpoint and show – as the range. Change it if you know better.
No tracking yet? A best estimate is fine. The point is a figure you can take into the next leadership meeting.
Recorded hours come from your team size, a standard working hours per person and your target utilisation. Unrecorded hours sit on top: if of the time spent on clients never reaches a timesheet, the true workload is higher than the one you price against. That gap is margin, and it rarely shows up in a report until someone goes looking.
Hours go unrecorded when client work, retainer scope and revenue live in separate places. Another timesheet tool doesn't change that. We build the revenue infrastructure that connects them, so the work your team does is visible against the client it's for, and the leadership team can act on it.
Calls, emails and quick fixes are handled in inboxes and chat, and never land against the account.
A CRM designed around your retainers, with activity captured against the right client as part of how the team already works.
Retainer scope sits in a contract, delivery sits somewhere else, and the gap only shows when margin has already gone.
Retainer scope and delivery held side by side, with reporting that flags accounts running over before renewal, not after.
Monthly billing looks healthy while a handful of retainers quietly absorb the unrecorded hours.
Per-retainer margin visibility, so pricing and renewal decisions rest on what each client actually costs to serve.
A 30-minute review of how client work is captured today, and what it would take to recover of it.