The Write-Off You Didn't See Coming: WIP Before You Bill
Most write-offs aren't decisions — they're surprises at billing time. Here's how to watch WIP as it builds so the fee conversation happens before the work is done.
Write-offs rarely feel like a decision. You finish a job, open the timesheet, and the hours have run well past what you quoted. By then the client's expectations are set, the work is delivered, and your only real choice is how much to swallow. You call it a write-off, but it's closer to a surprise.
The problem isn't the hours. It's that nobody looked at the work-in-progress until the job was already finished. WIP is the most honest number in your practice — it tells you, in real time, what the work is actually costing you against what you agreed to charge. Yet in most firms it lives in a spreadsheet nobody opens until invoicing day, or it isn't tracked at all until someone reconstructs the week from memory.
Why WIP goes invisible
WIP disappears for a few predictable reasons, and they compound each other.
- Time gets entered late. If timesheets are filled in on Friday afternoon — or the following Monday — the WIP figure is always days behind the actual work. You're managing profitability on stale data.
- Time lives apart from the job. When hours are logged in one system and the work sits on a board in another, nobody can look at a job and see both the progress and the cost in one glance.
- The quote isn't attached to anything. If the agreed fee lives in an engagement letter filed away as a PDF, there's nothing on the job comparing hours-to-date against what the client will actually pay.
- Nobody owns the number. WIP is everybody's problem and therefore nobody's. The person doing the work isn't watching the budget; the person who quoted isn't watching the work.
Put those together and you get the classic pattern: a job that quietly consumed 14 hours against a 9-hour scope, discovered only when someone raises the invoice.
WIP is a warning system, not a report
The most useful thing you can do with WIP is stop treating it as a month-end report and start treating it as a live signal. A report tells you what already happened. A signal tells you while you can still do something about it.
Concretely, that means being able to answer these questions at any point during a job, not just at the end:
- How many hours have gone into this job so far?
- What did we agree to charge for it?
- How much of the scope is actually done?
- Are we on track, or are we about to blow the budget?
When those four things sit together — the time, the fee, the progress, the scope — a write-off stops being a surprise. It becomes a decision you make deliberately, or a conversation you have with the client early, while there's still goodwill on the table.
The scope-creep conversation belongs early
Half of all write-offs aren't inefficiency — they're unbilled scope. The client sends three extra entities. The reconciliation turns up a year of unposted transactions. The "simple" return needs a CGT calculation nobody mentioned. Each of these is legitimately extra work, and each is billable — but only if you catch it before you've already done it for free.
Live WIP is what surfaces these moments. When you can see hours climbing past the budget mid-job, that's the prompt to pick up the phone: "This is turning out to be more involved than we scoped — here's why, and here's what it means for the fee." Clients accept that conversation far more readily before the work is done than after. Delivered work has no leverage.
Bringing time, WIP and billing into one place
This is fundamentally a systems problem. If your time tracking, your work items and your billing sit in three different tools, you'll always be reconstructing the picture manually — and manual reconstruction only happens at invoicing time, which is too late.
The fix is to keep them together. Good accounting practice management software lets your team log time directly against the job they're working on, so WIP updates as the work happens rather than in a Friday scramble. In Finye, time entries attach to the same work item that moves across your board, and that work item carries the agreed fee from the engagement letter. So the job itself shows you hours-to-date against budget — no export, no cross-referencing, no spreadsheet.
Because Finye ties client accounting records, jobs, time and invoicing into one system, the person doing the work and the person raising the invoice are looking at the same numbers. When it's time to bill, you're not guessing at the hours or hunting through timesheets — the WIP is already sitting on the job, ready to convert into an invoice you can send with Stripe or Square. Nothing gets forgotten, and nothing gets billed from memory.
A few habits that make WIP work
The software makes it possible; habits make it real. A handful that separate firms who recover their time from firms who write it off:
- Log time the same day. Even rough entries beat accurate ones filled in three days later. Daily logging keeps WIP honest.
- Set a budget on every job. A job with no budget can't go over budget — which means it can't warn you either. Pull the number straight from the quoted fee.
- Review WIP weekly, not monthly. A five-minute scan of jobs approaching their budget catches problems while they're still cheap to fix.
- Decide every write-off on purpose. If you're going to absorb time, make it a choice — a goodwill gesture to a good client, say — rather than a default you discover at billing.
The fee you meant to charge
Every unplanned write-off is revenue you earned and then quietly handed back. It doesn't show up as a loss anywhere obvious — the job got done, the client's happy, the invoice went out. It just means the hour you worked wasn't the hour you were paid for.
Watching WIP as it builds doesn't make jobs cheaper to deliver. It makes the fee conversation happen at the right time, keeps scope creep from going unbilled, and turns write-offs back into deliberate decisions. The work was always worth charging for. The only question is whether you noticed in time to charge for it.