All writing
Freelance5 min read

Billing honestly when the work is lumpy

Labels beat separate timers. A simple setup for tracking billable and non-billable work in one place without lying to yourself.

A clipped bundle of creased paper receipts and a fountain pen on a plain yellow background

Freelance work does not arrive in tidy blocks with a client attached. A morning contains an invoice, a call that turned out to be scoping, forty minutes of someone else's CI, and the actual job. By Friday the honest answer to "what do I bill?" has evaporated.

The common fix is a timer per client, which fails the moment work is genuinely mixed, and a second tool for the admin hours, which nobody keeps up.

One project per client, labels for everything else

Projects answer who. Labels answer what kind. A session gets one project and any number of labels, so the same forty minutes can be Acme and Billable, or Acme and Scoping, without a second timer or a second tool.

A setup that survives contact with a real week:

  • A project per client, plus one called Studio for your own admin.
  • Three labels: Billable, Scoping, Admin. Resist adding a fourth for a month.
  • Put the label on when you start, not at the end of the week. It takes a second and it is the only version you will trust later.

Why a timer per client fails

It fails on the switch. Any setup that requires you to stop one clock and start another at every context change will be accurate for about two days. Real mornings are not sequential: you are on Acme's job when Beta's email arrives, and the decision "is this billable to Beta or is it admin?" is one you should be making once, calmly, not mid-sentence with two timers open.

It also fails on the question you most want answered. A per-client timer tells you how long you spent on Acme. It cannot tell you how much of that was the work you sold versus the scoping, the rework, or the hour you spent chasing an approval, because that distinction cuts across clients rather than along them.

Labels cut the other way. One project, many labels, one session. Nothing to switch.

The invoice

At the end of the month, filter sessions by client and by Billable, and read the total. The sentences you wrote on each session become the line items, which is usually the difference between an invoice that gets paid and one that gets questioned.

The filter matters more than it sounds. "Acme, Billable, September" is a number you can defend line by line, and it took four seconds to produce. The version most freelancers ship instead, a total reconstructed on the last day of the month from memory and a calendar, is always wrong, and it is wrong in the direction that costs you money, because forgotten work is never remembered and forgotten breaks always are.

If the line item cannot be a sentence, it should not be on the invoice.

The non-billable total is the more interesting number. Scoping that never converts is a pricing problem. Admin above about a fifth of your week is a systems problem. Both are invisible until you have been labelling for a month, and both are worth more than the hour you might have squeezed onto the invoice.

The awkward categories

Three kinds of hour cause every argument a freelancer has with themselves. Decide each one once, write the decision down, and stop relitigating it every Thursday.

Scoping. The call where you work out what the job is. It is real work and it is usually unbilled, which is fine as long as you know the annual total. Label it, do not hide it inside Billable, and do not pretend it was marketing.

Rework caused by the client. The third round of changes to something already approved. This is billable in almost every contract and unbilled in almost every practice, because raising it feels like a confrontation. Track it anyway. It is much easier to have that conversation with a number than with a grievance.

Your own mistakes. The afternoon lost to a bug you introduced. Not billable, obviously. But log it, under the client, with a sentence. Written off hours you cannot see turn into a vague sense that a client is difficult, and the client gets blamed for something that was yours.

Two numbers to read every month

Effective rate, not hourly rate. Take what the client actually paid and divide by every hour you spent on them, billable or not. This is the only rate that is real. A fixed-price job at a nominal £90 an hour that ate eleven hours of unbilled scoping was a £60 job, and you will keep taking those until you have seen the number once.

Admin as a share of the week. Some is unavoidable; invoices do not send themselves. Much above a fifth and you are running a small business badly rather than freelancing well, and the fix is usually one of three boring things: a template, a standing rate card, or saying no to the client who needs three calls to approve anything.

Being honest with yourself first

The reason to do any of this is not the invoice. It is that lumpy work makes a freelancer's own sense of a week unreliable, and an unreliable sense of a week is how people end up quoting from anxiety.

Two months of labelled sessions replaces the feeling with a number. Some of what you find will be uncomfortable. Most people discover they bill for around half of what they work, and that the other half is not idleness but a real, unpriced part of the job. That is worth knowing before the next quote, and it is the kind of thing only your own data will ever tell you.

The setup, once

A month of labelled sessions, per client
one project
the client, including their admin
three labels
Billable, Scoping, Admin
one sentence
per session, which becomes the line item

That is the entire system. It takes ten minutes to set up and about four seconds a session to maintain, and it answers the two questions that actually decide whether freelancing works: what do I bill, and what is this client really costing me.

Keep reading

Timato · made for people who lose track of time