The Discovery Call I Forgot to Stop Billing Against
I was logging hours against a project that had not officially started yet, and did not notice until the invoice did not add up.
I Started the Timer Before the Project Existed
There was a point where I had three active clients and a fourth in the late stages of signing. I was in calls with that fourth client almost weekly during the proposal stage. Long calls. Detailed. The kind where you are already mentally working on the project even though no contract has been signed.
I was running Time-Trak by then. Which is good. Except that at some point during one of those calls, I started a timer and tagged it to the wrong project. I tagged it to an existing client's project because I was on my laptop, that project was open, and I was not paying attention.
I did not catch it during the call. I did not catch it the following week.
The Invoice That Did Not Add Up
When I went to invoice the existing client, the hours were higher than I expected. Not by a lot. About two and a half hours. But I knew the project. I knew my pace on it. Something felt off.
I opened the time log and went through the entries. Most of them were exactly what they should be. Then I found a 90-minute entry on a Tuesday afternoon with a description that mentioned nothing about that client's work. It mentioned a platform the fourth client had been asking about.
Then I found another one. 55 minutes. Same week.
I had billed two and a half hours of pre-sales discovery for a client who had not hired me yet against an existing client who had nothing to do with any of it.
What I Actually Lost
I caught it before I sent the invoice. That part was fine. I deleted the entries from that client's project and created a separate non-billable project for the prospective client's pre-work. Nothing went out incorrectly.
But I thought about what happens when you do not catch it. That invoice goes out. The client pays it or, worse, questions it. You have to explain a charge that should not be there. That conversation is embarrassing. It makes you look careless. It makes the client wonder what else is wrong.
I also thought about the reverse. What if I had been logging against a non-billable bucket and the real client work never made it into the log? That also happens. Hours disappear into the wrong container and you never invoice them at all.
The Fix Was Boring but It Worked
I started creating a project in Time-Trak for every prospective client the moment I scheduled a first call. I named them clearly. Pre-sales, prospect, discovery, whatever label made it obvious that this was not active billable work yet. Non-billable by default. The project exists so I have somewhere clean to put those hours.
When the prospect becomes a client, I close the pre-sales project and open the real one. The pre-sales hours become reference data. I can look back at how long the sales cycle took, whether I should factor any of it into project pricing, how accurate my time estimates were during the pitch phase.
If the prospect does not become a client, I at least know what I spent to not win that work. That number is useful too.
The Lesson About Containers
Time tracking only works if the container is right. You can be perfectly disciplined about starting and stopping timers and still produce completely wrong data if the project assignment is off. The timer does not know which client to bill. That part is still your job.
What saves you is having the right projects set up before you need them. When the container exists, you are more likely to use it correctly. When it does not exist, you grab the nearest open thing and move on. That is how two and a half hours end up in the wrong place on a Tuesday afternoon.
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