How to Track Billable vs Non-Billable Hours
Most freelancers do not lose money because their timer app lacks a feature. They lose money because everything looks billable until Friday, then panic becomes “round up,” or because admin work silently eats the week and never appears on an invoice or a capacity plan. Separating billable from non-billable hours is a classification discipline, not a shopping trip.
This guide complements How to turn time logs into invoices. That piece covers export vs sync and line items. This one covers what counts, how to tag it the same week you work, and how to keep invoice rows clean.
Pricing disclaimer: Tracker features (billable flags, rates, reports) vary by plan. Examples below are orientation only — verify on the vendor site. Independent guidance; no affiliate links by default. Not legal, tax, or employment advice.
What “billable” means (for freelancers)
Billable = time you are contractually allowed to charge the client for, at the agreed rate or against a retainer pool.
Non-billable = time that keeps the practice alive but is not on the client’s invoice: proposals, unpaid discovery, bookkeeping, learning, marketing, tool setup, and most internal admin.
Gray zones exist. Write rules before the gray happens.
| Activity | Default classification | Notes |
|---|---|---|
| Approved project work in the SOW | Billable | Match project names to invoice language |
| Email about active deliverables | Often billable | Disclose if you charge for comms |
| Sales calls / proposals | Usually non-billable | Or a separate “bizdev” bucket |
| Learning a tool for one client | Ask | Prefer written approval |
| Invoicing, chasing payment, bookkeeping | Non-billable | Track it for capacity |
| Scope creep without change order | Not automatically billable | Get approval first |
Why freelancers skip the split (and pay for it)
- One project dump — all hours land in “Client X,” including unpaid discovery.
- Friday archaeology — tags applied after memory fades.
- Retainer blindness — included hours look “free,” so overflow is invisible until resentment.
- Vanity totals — “I worked 50 hours” without asking how many were sellable.
Tracking both types answers two different questions:
- Invoice question: What do I charge?
- Business question: Is my effective rate healthy?
Step 1 — Write a one-page policy (keep it ugly)
Create a note titled Billable rules with:
- What is always billable
- What is never billable
- What needs a yes from the client before the clock runs
- Rounding rule (e.g. nearest 0.1 hr)
- How retainers consume hours
Share the client-facing subset in the estimate. Silence is not a change order.
Step 2 — Set up the tracker once
In Toggl Track, Clockify, or Harvest:
- Clients = who pays.
- Projects = invoice-safe names (“Homepage redesign,” not “stuff”).
- Billable flag / rate on projects or tasks (plan-dependent — verify).
- Tags for non-billable types:
admin,sales,learning,ops. - Optional: a private project
Practice — Non-billablefor everything that is not client work.
Do not dual-track forever in a spreadsheet and an app. Pick one source of truth.
Step 3 — Classify in the same session you work
Best habit: start/stop the timer with the correct project and billable state already set. Second-best: end-of-day timesheet with honest labels.
Bad habit: dump everything into one project and “fix tags later.” Later never comes.
Micro-checklist after each block
- Client/project correct
- Billable vs non-billable set
- Description client-safe (no snark)
- Retainer/project budget still sane
Step 4 — Weekly review (30 minutes, fixed weekday)
Pick a weekday that is not invoice day if possible. Review:
- Hours by client — billable only
- Non-billable total — is admin exploding?
- Mis-filed entries — fix before export
- Scope creep candidates — email for approval now
- Effective rate peek: billable revenue ÷ all hours worked (including non-billable)
If non-billable exceeds ~30–40% of your week for months, you do not have a timer problem — you have a pipeline, pricing, or process problem.
Step 5 — Keep invoice lines clean
Clients should never see your admin tags.
Prefer
Sprint 3 — API integration (6.5 hrs)Monthly retainer — Nov 2026 (included hours)Approved revision round 2 (2.0 hrs)
Avoid
- Mixing non-billable research into a vague “misc” billable line
- Dumping raw internal task titles onto the PDF
- Inflating billable hours to cover unpaid sales time (price proposals into rates instead)
For the rebuild ritual, use How to turn time logs into invoices.
Step 6 — Retainer and hybrid rules
| Engagement | Billable tracking role | Non-billable role |
|---|---|---|
| Pure T&M | Source of truth for the invoice | Capacity + overhead awareness |
| Retainer with included hours | Cap watch + overflow proof | Still track sales/admin separately |
| Fixed milestone | Profitability only | Same — do not invent T&M lines |
| Hybrid | Split projects carefully | Never let sales bleed into client burn |
Overflow hours need written rules. Track them as billable only after approval — or as non-billable “goodwill” if you choose to eat them (and then raise the next retainer).
Step 7 — Tool notes without shopping addiction
- Toggl Track — excellent timer feel; billable/reporting depth often improves on paid plans (verify). Export to Wave/FreshBooks is common.
- Clockify — generous free tracking; billable rates/invoicing often gated (verify). See the Clockify review.
- Harvest — built so billable time becomes invoices; worth it when Friday rebuild hurts. See the Harvest review.
Pick the app you will actually start. Classification beats brand.
Step 8 — Protect your rate without nickel-and-diming
Healthy freelancers:
- Track non-billable honestly
- Price retainers and proposals so unpaid work is covered
- Do not surprise clients with “I spent 4 hours writing the proposal — here is an invoice”
Unhealthy freelancers:
- Hide admin by labeling it billable
- Never look at non-billable totals
- Wonder why they “work all the time” and still feel poor
Common failure modes
| Failure | Fix |
|---|---|
| Everything billable by default | Default new projects carefully; weekly audit |
| Nothing billable until panic | Same-session flags; end-of-day ritual |
| Client disputes hours | Timesheet attached; SOW language mirrored |
| Retainer silently overrun | Budget alerts at 80%; message early |
| Non-billable invisible | Dedicated project + tags |
| Double billing after export | Mark billed; archive CSV with invoice ID |
One-afternoon setup
- Write the one-page billable policy
- Clean clients/projects in your tracker
- Add non-billable buckets
- Track five real workdays with the split
- Run a fake invoice from billable-only hours
- Review non-billable % — adjust pricing or habits
- Put weekly review on the calendar
Mini case patterns (composite)
Pattern A — Designer on two retainers: Tracks billable design under each client project; parks proposals and portfolio work under Practice — Non-billable. Weekly review shows 28% non-billable — acceptable. When one retainer hits 90% of included hours mid-month, they message before working free overtime.
Pattern B — Developer who “forgets” sales time: All week lands in Client A as billable. Invoice looks padded; client pushes back. Fix: sales calls move to non-billable; rates on Client A stay honest; proposal work is priced into the next fixed quote.
Pattern C — Coach with messy Slack: Messages were never timed. They adopt end-of-day timesheets with a 15-minute rounding rule disclosed in the SOW, billable for coaching blocks only, non-billable for unpaid discovery calls longer than 20 minutes.
These are illustrations — match your contracts, not someone else’s folklore.
Reporting that actually helps
Once a month, export or screenshot:
- Billable hours by client
- Non-billable hours by tag
- Estimated billable revenue (hours × rates) vs cash collected
- Top three non-billable drains
You are looking for trends, not perfection. If learning dominates every month, either productize a new skill into paid work or cap unpaid study time.
FAQ
Should clients see non-billable time?
Usually no. Offer a summary timesheet of billable work only unless the contract requires more.
Is commuting billable?
Only if the contract says so. Default non-billable for remote solos.
Do I track unpaid discovery?
Yes — as non-billable — so you know what sales costs you.
Can software auto-detect billable vs not?
It can store flags; it cannot read your contract. You still decide.
Affiliate links?
None by default.
Bottom line
Billable vs non-billable tracking is how freelancers protect both the invoice and the business. Define rules up front, classify in the same session you work, review weekly, and keep client PDFs boring and accurate. Tools help; discipline ships. Pair this habit with a clean time-to-invoice ritual and you will argue about scope less — and understand your real rate more.