
How to Invoice for a Project That Ran Long
When a project takes longer than quoted, most freelancers just eat the cost. Here's how to handle it differently.
The project is done. It took longer than you thought. Now you're staring at your invoicing screen trying to decide what to put in the hours field.
Do you charge what you actually worked? Do you charge what you quoted? Do you split the difference and hope the client doesn't notice?
This is one of the worst spots to be in as a freelancer. And it's almost entirely avoidable.
Why You're in This Spot
Projects run long for a few reasons. The scope changed. The client was slow to respond and caused rework. The brief was unclear and you had to iterate more than expected. Or you underestimated the job.
Each of those has a different answer when it comes to invoicing. But if you weren't tracking time throughout the project, you can't tell which one happened. You just know it took longer.
That's the core problem. Without a time log, you have no story to tell. You have a gut feeling, a defensive invoice, and an awkward conversation coming.
When the Client Caused the Overrun
If the project ran long because the scope expanded, the client changed direction, or they were slow to provide what you needed, you have every right to invoice for the additional time.
But you need to show the work. Not in an aggressive way. In a factual way.
"Original estimate was 10 hours based on the initial brief. Two rounds of direction changes and an expanded deliverable list brought the total to 14.5 hours. I've invoiced for the actual time."
That's a clear explanation. Most clients respect it when they can see the logic. Some will push back, but they can see you're not making it up.
Screenshots tied to your time entries help here too. If a client wonders whether those hours are real, a time log with supporting screenshots answers the question before they even ask it.
When You Underestimated
This one is harder. If the project ran long because you misjudged the scope or the complexity, you probably can't invoice the client for your mistake.
But you still need to know it happened. That information is what sharpens your next quote.
Log the real hours anyway. Don't adjust the invoice if the overrun was your error, but keep the data. Note what you estimated versus what you actually worked. Next time someone asks for a similar project, you quote from that record, not from memory.
Freelancers who track obsessively get better at quoting. Freelancers who don't keep reliving the same expensive lessons.
Build the Conversation Into Your Process
The cleanest way to handle projects that run long is to catch it before the invoice.
When you're tracking time in real time, you can see when you're approaching the top of your estimate. That's the moment to say something. A quick note to the client: "We're at about 80% of the estimated hours. Want to check in on scope before I push past that?"
Clients appreciate that. It's not a demand. It's a heads up. It lets them make a decision before they get a surprise invoice.
This only works if you know where you are. Which means the timer has to be running.
One-Click Invoicing Makes the Honest Number Easier to Send
A lot of freelancers adjust their hours downward because building an invoice manually is already painful, and adding an explanation on top of it feels like too much.
When your time is logged and your invoice pulls directly from it, the honest number is just the number. You're not manufacturing anything. You're reporting what happened.
That's a much easier invoice to send. And a much easier one to defend.
Track your time, bill every minute.
Time-Trak is a native Mac and Windows time tracker with a floating timer, automatic screenshots, and one-click invoicing.
Free during beta.
Download Time-Trak →macOS + Windows · Floating widget · Auto screenshots