Practice Lab

The Work You Did and Never Billed

WorkflowJune 1, 2026 · David J.S. Madgett · 12 min read

Every lawyer who’s ever kept time knows Friday afternoon. You’re sitting there trying to rebuild Tuesday.

You know you worked. You can see the drafts, the sent mail, the filings. What you can’t get back is how long each one took. So you guess, and you guess low, because writing down a number you can’t defend feels worse than writing down a smaller one. Now multiply that by every Friday of a career.

The profession’s answer has always been a lecture: keep better time, be more disciplined, enter it as you go. That advice is right, and it’s never worked for anybody, because it gets the problem wrong. Unbilled time isn’t a character flaw. It’s a capture failure. The work happened somewhere your billing system couldn’t see, and no amount of willpower changes where it happened.

So go look where the work actually was.


The record’s already there

Here’s what changes the math: the way we practice now leaves a far more complete trail than the timesheet ever did.

Documents carry modification timestamps. Email has send times. Filings have submission times. And if you use AI assistants for real work, those conversations are recorded with a timestamp on every exchange — a minute-by-minute record of when you were working and, better yet, on what.

That isn’t a timesheet. It beats one in one way and loses in another. It beats it because it was made at the time, it’s complete, and it doesn’t depend on your memory. It loses because it records activity, not billable work, and the gap between those two words is where all the lawyering lives.

So you’re reconstructing, not extracting. You’re building an estimate you can defend out of evidence. That’s a different job from reading a number off a meter.


Rebuilding an honest number

The method we use fits in a paragraph. The details decide whether it stays honest.

Back-to-back activity counts as working time. A gap longer than a set threshold doesn’t. Put the idle threshold at something like ten minutes. If you traded messages about a motion at 9:04, 9:11, and 9:19, that’s a fifteen-minute working block. If the next activity on that matter is at 11:40, the time in between isn’t work. It’s two hours, and it doesn’t count.

Here’s what keeps that from being self-serving.

Pick the threshold up front, keep it conservative, and leave it alone. Choosing it after you’ve seen the results is how you talk yourself into a number. Pick it once, write it down, use it everywhere.

It doesn’t count thinking time, and that’s the right mistake to make. You really were working on that problem in the shower. Nobody can check that, and a method that counts time nobody can check isn’t reconstructing anything. If a bill is going to be wrong, it should be wrong low.

Attribution has to refuse to guess. Every block has to land on a matter, and this is where the whole thing lives or dies. Our first version worked out the matter from anything a session had touched. It cheerfully billed a website migration to a litigation file because that session had once read a document in that client’s folder. That took the matter’s time from twenty hours to thirty-two. Reading isn’t working. Now attribution keys only on where work was actually produced, and a session we can’t confidently pin to a matter gets reported as unattributed instead of getting dumped on the nearest file that looks about right.

Don’t write that off as a technical nicety. A wrong matter attribution is a bill to one client for work you did for somebody else. That’s not a software bug. That’s a fee dispute, and maybe a complaint.


Subtract what you’ve already entered

A reconstruction that ignores what you already entered is worse than useless. It double-counts.

So the last step is subtraction. Pull the time already posted for that matter on that day, take it off the reconstructed total, and report what’s left. You don’t want to see “you worked 6.2 hours.” You want “you worked 6.2 hours and 4.1 are entered.”

Anybody who builds this will hit one limit, so here it is. Matching by matter and day means time you worked Tuesday but entered under Thursday won’t net out. It shows up as a gap that isn’t really there. That kind of false alarm is fine. It comes up for review and you wave it off in a second. The opposite mistake, quietly netting away real unbilled work, would defeat the whole point.


Rounding costs real money

This is the one that costs firms real money, and almost nobody thinks about it.

Practice management systems round. Most round up to the tenth of an hour. That’s the unit you actually bill in, no matter what unit you recorded.

So if you approve 0.13 hours, the client gets billed 0.2. Approve 0.27 and the client gets billed 0.3. Your approved total and your billed total are two different numbers, and you won’t see the difference until an invoice doesn’t tie out to the ledger.

Stage every entry on a tenth-of-an-hour multiple. If the reconstruction says 0.13, the entry is 0.1 or 0.2, and the person approving it makes that call on purpose. The software downstream doesn’t get to make it for them. Then approved equals billed every time, and reconciling is arithmetic instead of archaeology.

Check that the total equals hours times rate before the invoice goes out. Every time. It’s a two-second check, and it catches rounding drift, a rate that never got updated, and the entry somebody approved twice.

And on rates: pull the rate from the signed engagement agreement for that matter. Not what you usually charge. Not what the last matter for that client was. Firms pile up carrier programs, negotiated rates, old arrangements, and flat fees, and the rate you assume is wrong often enough that assuming it isn’t worth the time it saves. The agreement is a file on a disk. Open it.


Software doesn’t send the bill

Nothing posts automatically. Ever.

The system finds reconstructed, unbilled time and puts it in a table. A person reads it, fixes it, approves it, and enters it. There’s no setting where software turns guessed-at activity into a bill to a client. I’d hold that line even if the guessing were perfect, and it isn’t.

Here’s why. A time entry isn’t a data record. It’s a statement to a client — and, if a bill ever gets fought over, to a court — that specific work got done, took this long, and was reasonable and necessary. That statement belongs to a lawyer. Same deal as signing a pleading: the tool prepares, the lawyer certifies.

Which means the output must never look like an entry. Ours spits out a table you copy into the billing system after you’ve reviewed it. That’s on purpose. A one-click “post all” button is a button somebody will eventually click on a bad day without reading.


Approve them all at once

This one took me too long to learn.

When you’ve got twenty draft entries to review, twenty prompts is the wrong way to do it. Twenty separate approvals turns into clicking through. By the sixth one, nobody’s reading. That’s worse than no review at all, because now you’ve got a record that says everything got approved.

Put the whole table up at once: matter, date, description, hours, rate, total. Read it once, decide once, and fix things right there in the table. Now the review is a real review, and you stay in one frame of mind the whole way through. That’s when you catch what’s off.


Contingency files still get entries

This one sounds backwards, and it matters a lot.

A contingency matter has no hourly bill, so the instinct is to skip keeping time altogether. Don’t. Enter the time and mark it non-billable.

You can’t judge a kind of case you never measure. Whether a category of contingency work is worth taking comes down to hours per dollar recovered, and if you never wrote down the hours, you’ll never know. Fee petitions and lodestar cross-checks need records kept at the time. Rebuilding two years of work after a good judgment is painful, and it’s a lot less persuasive than records you kept as you went. A contingency matter that ate nine hundred hours is a fact about your practice. It ought to shape what you take next, and you can’t see it if nobody wrote it down.

Same goes for pro bono and reduced-fee work. Given what this section is about, that’s exactly the work you most want to measure.


What the ethics rules say about AI and fees

This is the part of AI-assisted practice that lawyers get wrong in the direction that gets them in trouble.

The ABA’s Formal Opinion 512, issued July 29, 2024, takes up fees head-on under Model Rule 1.5. Two points jump out:

  • You can’t bill a client for time spent learning a technology you’ll use across your practice. Learning your tools is overhead. (If a client specifically asks you to use a particular tool on their matter, the opinion treats learning that tool differently.)
  • If the work took less time, you bill less time. A task that used to take two hours and now takes twenty minutes is a twenty-minute entry. The efficiency belongs to the client, not the timesheet.

Sit with that second one, because it’s the economics of this whole section in one line. If AI-assisted work just meant billing the same hours for less effort, none of it would bring down the cost of legal services, and none of it would help anybody who can’t afford a lawyer today. The savings have to show up as a smaller bill or as a case you couldn’t have taken otherwise. If they don’t, that’s not efficiency. That’s margin.


Sources

General commentary on practice management and billing operations. Not legal advice, not ethics advice, and not accounting advice. Formal Opinion 512 is advisory and not binding in any jurisdiction. No client matter or invoice is described in this article.

words
1,729
sections
9
sources
2
distinctive_terms
hours · contingency · billed · timesheet · entered
Pass it onLinkedInX

Get new articles as they land

One email when something new is published here. No course, no upsell — the Practice Lab stays free either way.

Used only to send Practice Lab posts. Unsubscribe from any email. Subscribing does not create an attorney–client relationship.

The only thing we ask

If something here saves you time, spend some of it on people who could not otherwise afford you.

Everything in the Practice Lab is free. No signup, no subscription, no donations — just take a case you would otherwise have to turn down on economics. More from the Practice Lab →

Keep Reading

16% vocabulary overlap

What You Owe the Client You Automated

Do you have to tell a client you used AI on their matter? What happens to the fee when a two-hour task takes twenty minutes? The disclosure question really is unsettled. The fee question isn't, and it cuts against the lawyer.

Essay · 12 min read

14% vocabulary overlap

Six Windows: The Hidden Cost of Practicing Law With AI

AI can draft, research, and summarize. It can't tell you what you were doing. A working lawyer on what it costs to keep six AI sessions straight in your head — and the kanban board I built to carry the load instead.

Essay · 14 min read

← All Practice Lab articles