How to Track Billable Hours as a Freelancer
Most freelancers undercharge — not because their rates are too low, but because they fail to capture every hour they work. Emails, quick calls, revision rounds, setup time — it adds up fast, and if you're not tracking it, you're giving it away for free.
This guide covers practical methods for tracking billable hours accurately, so you get paid for the work you actually do.
Why accurate time tracking matters
When you bill clients by the hour, your income is a direct function of two things: your rate and how many hours you capture. Most freelancers are good at setting a rate. They're less good at capturing hours.
Studies consistently show that manual time tracking (writing down hours at the end of the day) underestimates actual time worked by 20–30%. That means if you bill 100 hours in a month, you likely worked 120–130.
The three main methods
1. Live timer (most accurate)
Start a timer when you begin work, stop it when you stop. This is the most accurate method because you're capturing real time, not estimated time. The downside is you have to remember to start and stop it.
Apps like Tally make this a one-tap action on your iPhone, iPad, or Mac — so the friction is minimal. You can see the timer running on your Lock Screen via Live Activities, so you don't forget it's going.
2. Manual entry
Log hours at the end of a session or end of the day. Faster to get started, but less accurate — memory fades quickly. If you're going to use manual entry, do it immediately after finishing work, not at the end of the week.
3. Scheduled blocks
Block time on your calendar in advance, then mark it as logged. Works well for freelancers with predictable schedules, but doesn't account for overruns or interruptions.
Recommendation: Use a live timer as your default. It takes 2 seconds to start and stop, and the accuracy difference compounds significantly over a month of client work.
What counts as billable time?
This varies by client agreement, but as a general rule, anything you do specifically for a client is billable:
- Direct project work (design, writing, coding, etc.)
- Client emails and Slack messages
- Calls and video meetings
- Revision rounds
- Research specific to the project
- Feedback review and responding to notes
Non-billable time includes general business admin (accounting, taxes), marketing your own services, and learning new skills not tied to a specific project.
Tracking by client
If you have multiple clients — which most freelancers do — you need to track time per client, not just total hours. This lets you:
- Know exactly what to invoice each client
- Spot when a project is going over scope before it becomes a problem
- See which clients are most profitable relative to hours spent
A good time tracker lets you select a client before starting the timer, so each session is attributed automatically. Tally shows all your clients on one screen with their current week's hours and a visual progress bar toward their goal.
Setting weekly hour goals per client
If you've agreed to a retainer or weekly commitment with a client, set a weekly hour goal for them. Seeing "6h 30m / 10h goal" at a glance tells you immediately if you're on track without having to do any math.
Reviewing your hours before invoicing
Before you generate an invoice, review your session history for that client. Look for:
- Sessions you forgot to stop (unusually long durations)
- Missing sessions from calls you forgot to track
- Gaps that don't match your memory of when you worked
Tally's Reports view shows a full session log per client with dates, durations, and any notes you added — so you can audit before billing.
Start tracking billable hours with Tally
Free to start. One-tap timer on iPhone, iPad, Mac, and web.
Get started free →Common mistakes to avoid
- Tracking at the end of the week. Memory is unreliable. Track in real time or immediately after.
- Not tracking "small" tasks. A 15-minute email thread with a client adds up to hours over a month.
- Using a single timer for multiple clients. Always attribute time to a specific client so you can invoice accurately.
- Not reviewing before invoicing. Always audit your session log before sending an invoice.
Accurate time tracking is one of the highest-ROI habits a freelancer can build. Even a 10% improvement in captured hours can meaningfully increase your monthly income without changing your rate or working more hours.
Frequently asked questions
- What counts as billable time as a freelancer?
- Any time spent working specifically for a client is generally billable: direct project work, client emails and Slack messages, calls and video meetings, revision rounds, and research tied to the project. Non-billable time includes general admin (accounting, taxes), marketing your own services, and learning new skills not tied to a specific client. When in doubt, check your contract — some clients explicitly define what's billable.
- How do I track time across multiple clients?
- Use a time tracker that lets you select a client before starting each session. Time is automatically attributed to the right client and you can pull accurate per-client reports at invoice time. Tracking all hours in a single bucket and trying to split them later is unreliable.
- What if I forget to start the timer during a session?
- Add the session manually as soon as you remember — most apps let you enter a past start and end time. Do it the same day while the details are fresh. Waiting until the end of the week leads to underestimates that cost you money.
- Do I need to track time for fixed-price projects?
- Yes — even if you're not billing hourly. Tracking time on fixed-price work tells you whether the project was profitable. If a $5,000 project took 80 hours, your effective rate was $62.50/hour. That data helps you price future similar projects accurately.
- How should I handle time spent on client emails?
- Log it. A 10-minute email exchange doesn't feel worth tracking, but freelancers who consistently log client communication bill 15–20% more hours per month than those who don't. Start the timer before you open the email, stop it when you're done.