How to Set Up Time Tracking for Freelancers: Billing, Client Reporting, and Toggl Setup
Freelance time tracking has two goals: billing accuracy (are you capturing all the time you should be charging for?) and client transparency (can you show a client what you did and how long it took?). The setup decisions you make at the start determine how easy both goals are to maintain.
Before you touch the software: answer these questions
How do you bill?
- Fixed-price projects: you agree a project cost upfront. Time tracking isn’t for billing — it’s for learning whether you priced correctly for next time.
- Hourly billing: you bill clients for actual time worked. Accurate time tracking is essential.
- Retainer: you bill a fixed amount per month for a defined number of hours. Time tracking shows you whether you’re within scope.
What’s your minimum billing increment? Legal and accounting professionals typically bill in 6-minute increments (0.1 hours). Most freelancers bill by the hour or half-hour. Creative professionals often bill by project. Decide this before setting up tracking — it affects how granular your timer entries need to be.
What does your client need to see? Some clients want detailed time entries (10 min — email re. design revisions; 45 min — homepage wireframe iteration). Others want a summary (3.5 hours — Design work). Your reporting setup should match what you’ll need to justify an invoice.
Setting up Toggl Track for freelancing
Toggl Track is the recommended starting point for most freelancers — free tier covers everything you need for up to 5 clients, and the setup takes under 30 minutes.
Step 1: Create a workspace for your freelance business
In Toggl Track, go to Settings → Workspaces → Create workspace. Name it after your business (e.g., “Jane Smith Freelance”). This separates your freelance work from any personal tracking.
Step 2: Set up clients
Go to Clients → Add Client. Create one client entry per client you work with. This is the top-level organisation.
Step 3: Set up projects under each client
Under each client, create projects for each engagement or retainer. Examples:
- Client: Acme Corp → Project: Website Redesign 2026
- Client: Acme Corp → Project: Monthly Social Media Retainer
- Client: Beta Ltd → Project: App Development Phase 1
Mark projects as billable. In Toggl, each project has a billable toggle. Turn this on for client work. Mark internal projects (learning, admin, business development) as non-billable. This powers your utilisation reports.
Set billable rates. On Starter ($9/user/mo) or Premium ($18/user/mo), you can set a billable rate per project. This lets Toggl calculate invoice amounts from your time entries automatically. On the free tier, rates aren’t calculated automatically — export the hours and calculate manually.
Step 4: Set up tags (optional but useful)
Tags let you categorise time across projects. Useful tags for freelancers:
- Phase:
kickoff,research,design,development,review,revisions - Type:
client-call,email,admin,deep-work
Tags make it easy to see how much time you spend on client calls vs actual work across all clients.
Step 5: Install the browser extension
The Toggl Chrome (or Firefox) extension adds a timer button to websites you work in frequently — Gmail, Trello, Asana, Notion, Jira, GitHub. When you’re on an Asana task, the Toggl button appears. Click it to start a timer for that task, pre-filled with the correct project.
This is the single biggest adoption win — the timer starts from inside your workflow, not from a separate app.
Setting up Harvest for freelancing
Harvest ($12/user/mo) adds invoicing directly from tracked time — worth the cost if you’re billing 3+ clients and doing your own invoicing.
Setup differences from Toggl:
- Create clients → Create projects under each client (same structure as Toggl)
- Set hourly rates per project, per client, or per user
- Mark time entries as billable/non-billable at the task level
- At invoice time: go to Invoices → New Invoice → select client → Harvest automatically pulls all unbilled time entries into the invoice line items
The key advantage: invoice creation from Harvest takes 5–10 minutes per client per month. Creating the same invoice from a Toggl export + Excel takes 30–45 minutes. At $12/month, that’s justified for any freelancer billing 3+ clients.
What to track and what not to track
Track:
- All client-facing work: design, writing, development, research
- Client communication: emails, Slack messages, calls (these are real time costs)
- Revisions and corrections (even if out of scope — track it so you know the true cost)
- Project management for the client (setup, briefing, coordination)
Don’t track (or track as non-billable):
- Time learning new skills you’re then applying to the project (usually non-billable)
- Administrative errors that required rework (usually non-billable)
- Business development and pitching for new work (non-billable)
- Personal time, breaks
The uncomfortable truth about revisions: Track revision rounds even if they’re “included” in your quote. If your “unlimited revisions” project takes 40 hours instead of 20, the tracking data tells you to remove “unlimited revisions” from your next quote.
Generating client reports
Both Toggl and Harvest produce time reports you can send to clients. What matters for client trust:
Detail level: Match the client’s preference. Some clients want task-by-task breakdowns. Others want a one-line summary. Always ask before sending your first detailed report.
Description quality: “Design work” is unhelpful. “Homepage wireframe — initial and two revision rounds” is useful. Good descriptions in time entries = good client reports without rewriting.
Regular cadence: For retainer clients, send a weekly or bi-weekly time summary proactively. This eliminates end-of-month billing surprises and builds trust.
Export options:
- Toggl: Reports → Detailed or Summary → Export as PDF or CSV
- Harvest: Reports → Time → filter by client and date range → export or share link
Converting tracked time to invoices
Toggl approach:
- Export time report for the billing period (PDF or CSV)
- Calculate total billable hours × hourly rate (or use per-project rate)
- Create invoice in your invoicing tool (FreeAgent, QuickBooks, Wave, or Xero) with the time data as line items
Harvest approach:
- Harvest → Invoices → New Invoice → select client
- All unbilled time entries appear as line items automatically
- Edit/group entries as needed
- Send directly from Harvest or export to PDF
For freelancers doing their own invoicing, Harvest’s integrated invoice creation is the strongest case for paying the $12/user/mo fee over Toggl’s free or $9/mo option.
Common setup mistakes
Not tracking client communication time. Emails and Slack to clients are real time costs. A client who emails 10 times per week is consuming 2–3 hours of your time monthly. Track it.
Using vague project names. “Project 1” and “Project 2” make reports meaningless. Use: “ClientName — ProjectName” or the actual project name.
Not marking projects as billable. If you don’t enable the billable flag, your utilisation reports show 0% billable — and you lose the ability to see which work is earning and which isn’t.
Starting timers retroactively. Batch-logging time at end of day from memory reduces accuracy. Start timers in real time. The Toggl browser extension and mobile app make this low-friction.
Further reading
- Toggl Track review — the recommended starting tool
- Harvest review — add invoicing to your time tracking
- Billable vs non-billable hours explained
- How to run a time audit