learn stage 3 8 min read

How to Set Up Time Tracking for Freelancers: Billing, Client Reporting, and Toggl Setup

Last reviewed: 2026-05-23 8 min read

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?

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:

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:

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:

  1. Create clients → Create projects under each client (same structure as Toggl)
  2. Set hourly rates per project, per client, or per user
  3. Mark time entries as billable/non-billable at the task level
  4. 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:

Don’t track (or track as non-billable):

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:


Converting tracked time to invoices

Toggl approach:

  1. Export time report for the billing period (PDF or CSV)
  2. Calculate total billable hours × hourly rate (or use per-project rate)
  3. Create invoice in your invoicing tool (FreeAgent, QuickBooks, Wave, or Xero) with the time data as line items

Harvest approach:

  1. Harvest → Invoices → New Invoice → select client
  2. All unbilled time entries appear as line items automatically
  3. Edit/group entries as needed
  4. 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