At the end of the month somebody opens a spreadsheet and works out what to invoice. There were roughly three hundred hours on the project. Some of those are clearly billable, some clearly are not, and a large middle section gets decided in a conversation that goes: we cannot really charge them for that, can we.
That conversation always lands in the same place. The uncertain hours quietly become non-billable, the invoice goes out lower than it should, and the project’s real margin is never actually known by anyone. Do it for a year and the agency has a reputation for being reasonable and a bank balance that does not match how busy everybody was.
The problem is not generosity. It is that the decision is being made weeks late, by someone who was not doing the work, with no record of what the hours were.

The three categories, not two
Most timesheets have a billable checkbox, and the checkbox is where the trouble starts. Two boxes force every hour into one of two stories, and a lot of hours do not fit either.
Billable is work the client agreed to and is paying for. Building the thing, fixing the thing, the meetings that are genuinely about the work.
Non-billable client work is the category most agencies do not have, and it is the one that explains where the money went. Rework after a change of mind that was not scoped. The third revision of something quoted for two. The long call because the brief was unclear. This is work done for a specific client that you have chosen not to charge for. It is not overhead, and filing it as overhead is how a bad client stays invisible.
Internal is everything that is not attached to a client at all. Your own website, hiring, admin, training, the Monday meeting.
The second category is the entire point. When you only have billable and non-billable, all the unpaid client work merges into the same bucket as the Monday meeting, and you can no longer tell the difference between an agency with too many internal meetings and an agency with one client who is quietly costing it forty hours a month. Those are completely different problems with completely different fixes, and they look identical on a two-column report.
The hours people argue about
Every agency has the same short list of ambiguous cases, and the arguments repeat every month because nobody has ever written the answer down.
Kick-off and discovery. Billable, when it is part of the engagement. The reason it often gets written off is that it happens before the work feels like it has started, which is a feeling rather than a reason. Discovery is the part that determines whether the rest of the project goes well.
Internal meetings about a client project. A stand-up where three people discuss the client’s work is client work. The instinct is to write it off because the client was not in the room, which would also make a surgeon’s preparation unbillable. Where it stops being reasonable is when four people sit in a meeting that needed two — that is a management problem, not a billing question, and hiding it in overhead means nobody ever fixes it.
Rework. This is the one that matters most. Rework because you got it wrong is yours. Rework because the client changed their mind is theirs. The two look identical on a timesheet and they are opposite facts about the project, so they need to be separable from the moment the hour is logged. If you cannot tell them apart afterwards, you cannot tell whether your team is making mistakes or your client is.
Bug fixes. Inside the warranty period, yours. Outside it, or caused by a change the client requested, theirs. This needs a date written into the contract, because otherwise it is decided by whoever sounds most confident on the call.
Learning a technology the project needs. Generally yours, and worth saying so cheerfully. The exception is when the client specifically required an unusual stack — then the ramp-up is part of what they chose.

Decide at the hour, not at the invoice
Everything above is easy to agree with and useless unless the categorisation happens while the work is being done.
The person logging the hour knows exactly what it was. They know the call ran long because the brief changed. They know the afternoon went to redoing something that was signed off last week. A month later, the same person remembers a general shape and a project manager reconstructs the rest from a calendar. That reconstruction is where the money goes.
So the mechanism is simple: the billable decision belongs on the time entry, made by the person making it, at the time. Not a monthly review. Not a manager’s judgement over a spreadsheet. If your timesheet cannot record it at that moment, that is the thing to fix before anything else on this page.
The objection is that people will not do it. They will, if it is one field with three options and a default. What people will not do is fill in a long form, or make a decision they do not feel qualified to make — which is an argument for writing the rules down, not for moving the decision later.
Set the default to billable
This sounds like a trick and it is not. It is an accounting choice about which direction errors run.
If the default is non-billable, every hour somebody forgets to categorise is revenue you have written off without noticing. Nobody reviews it, because nothing looks wrong — the invoice is just smaller. The mistake is silent and permanent.
If the default is billable, a miscategorised hour shows up on the invoice, and either the reviewer catches it or the client does. Both are uncomfortable and both are recoverable. You find out.
The second kind of error is much better than the first, because it is visible. An agency with a non-billable default is leaking money it will never see on any report, and there is no way to find out how much.
The number this produces
Do this for a quarter and you get a utilisation figure that means something: billable hours as a share of hours worked, per person and per project.
The useful thing about it is not the number, it is the spread. Most agencies discover that one or two projects sit far below the others, and it is almost never the project anyone would have guessed. The loud difficult client is often fine, because everybody is careful with them and everything gets logged. The pleasant, easy client is often the one quietly consuming forty unbilled hours a month, because nobody wants to be difficult about it and the work keeps arriving in small pieces.
That is the report the whole exercise exists to produce, and you cannot get it from a spreadsheet filled in at month end. It requires hours categorised as they happened, by the person doing them, for long enough to see a pattern.

What to do with a bad number
Finding a project at forty per cent utilisation is not itself the answer, and the instinct — go back and bill the client for everything — is usually the wrong one. You cannot invoice for six months of hours you already chose not to charge for, and attempting it will cost you the relationship.
What the number is actually for is the next conversation, and there are only really three options. Re-scope, which means the arrangement changes going forward and both sides know why. Re-price at renewal, armed with an actual figure rather than a feeling. Or accept it deliberately, because the client is a reference, or strategic, or pleasant to work with and worth the discount. Accepting it is a legitimate answer. Accepting it without knowing the size of it is not.
The change that makes all three possible is that you are now negotiating with a number instead of an impression. “We are spending more time on this than we expected” gets a sympathetic nod. “The last two quarters ran to three hundred and twelve hours against a two hundred hour scope, and here is the breakdown” gets a decision.
Where this quietly breaks
Two failure modes are worth naming because both look like success for a while.
The first is a team that categorises everything as billable to make their own numbers look good. It shows up as impossibly high utilisation and, eventually, as a client querying an invoice. The fix is not surveillance; it is making clear that the non-billable categories are not a mark against anybody, and that internal time is expected rather than tolerated.
The second is more common: everybody is careful for six weeks and then it decays. Entries get vaguer, the default takes over, and the report goes quiet. The only reliable defence is to look at the split monthly and say something about it out loud. A number nobody reviews stops being maintained, and once it stops being maintained it becomes worse than having no number at all, because people still believe it.
Start with one project
Do not roll this out everywhere at once. Take the project you are least sure about, add the three categories, write down the five ambiguous cases and what each one is, and run it for a month.
At the end of that month you will have a real utilisation figure for one piece of work and an argument that makes itself. Nobody adopts a timesheet policy because it is correct in principle. They adopt it because somebody showed them a project they thought was profitable and it was not.
Happy Tracker records the billable decision on the time entry itself rather than at month end, and generates the invoice from the hours that were marked billable — so the split is produced by the timesheet instead of argued about after it.



