Skip to content

Freelance Timesheet: How to Build One That Actually Pays You

7 min readUpdated

To build a freelance timesheet that actually pays you, it needs four columns: date, client/project, a description, and duration, plus a billable flag, and it has to be filled while you work, not reconstructed on invoice day. The format is easy. The money is won or lost in whether every hour makes it onto the sheet in the first place.

A timesheet isn't paperwork for its own sake. It's the evidence behind every line on your invoice, the answer when a client asks "what was this for?", and the only honest record of where your week actually went. Get it right and it pays for itself many times over.

What a freelance timesheet needs

Strip away the templates and a timesheet that holds up has five things:

FieldWhat to recordExample
DateThe day the work happened, so entries sort and scope to a billing periodMon, Apr 6
Client / projectWho the time bills to, one label per entry, never a pile of loose minutesAcme, checkout redesign
DescriptionOne concrete line that justifies the charge laterRevised the checkout error state
DurationThe actual time spent, captured as it happened1h 20m
BillableA yes or no per entry, because not everything for a client is chargeableYes
Rate (optional)The hourly rate for this client, if it varies across your book$85/h

That billable flag is the column most freelancers skip, and it's the one that decides whether the sheet is useful. Without it you either over-bill and erode trust, or under-bill and quietly lose income. If you're unsure where the line sits, billable vs non-billable hours covers it properly: calls, research, and revisions usually count; internal admin and pitching new leads usually don't.

Here's what one client's week looks like on a sheet that's doing its job:

DateProjectDescriptionDurationBillable
MonAcme, siteDesign revisions3h 15mYes
MonAcme, siteStandup call30mYes
TueAcme, siteReading the new brief40mYes
WedInternalInvoicing & email50mNo
ThuAcme, siteDeploy + QA1h 20mYes
Billable total5h 45m

The 50 minutes of admin is real work. It just doesn't belong on Acme's invoice.

A single client is the easy case. Here is a fuller week across two clients plus internal time, which is where the billable flag earns its place:

DateClient / projectDescriptionDurationBillable
MonAcme, checkoutDesign revisions3h 15mYes
MonInternalInvoicing and email45mNo
TueBell Co, brandLogo concepts2h 30mYes
TueAcme, checkoutStandup call30mYes
WedBell Co, brandRevision round1h 45mYes
WedInternalProposal for a new lead1h 10mNo
ThuAcme, checkoutDeploy and QA1h 20mYes
FriBell Co, brandHandoff call25mYes
Acme billable5h 05m
Bell Co billable4h 40m

Two clients, one internal bucket, and the billable totals split cleanly by who pays. The 1h 55m of internal work is real, but it belongs on no client's invoice, which is exactly what the flag is for.

How to fill it without losing hours

The format is the easy part. The hard part is capture, and it's where almost all the leakage happens. Three rules keep the sheet honest:

  1. Record at the moment, not from memory. The single biggest source of lost income is reconstructing your week on invoice day, when you only remember the big blocks. The five-minute reply, the ten-minute review, the quick call between two other tasks. Those are exactly the entries that get dropped, and they sum to real money across a month.
  2. Log the small stuff first. Counterintuitively, the tiny tasks are the ones worth the most discipline, precisely because they're the easiest to forget. A heads-down three-hour block will never go missing. A scattered hour of fifteen short interruptions will, every time.
  3. Decide billable once, per project. Don't re-litigate every entry. Set the rule at the project level: "everything on Acme is billable except internal admin", so filling the flag is mechanical, not a judgment call you make forty times a week.

For the mechanics of capturing time accurately and what to do with it, how to track billable hours goes deeper. And when it's time to turn the sheet into a number, how to calculate billable hours walks through converting minutes to decimal hours and applying your rate. The hours to decimal calculator does that conversion both ways, a whole column at a time.

Timesheet vs time tracker: not the same thing

A timesheet is the record: the rows of date, client, description, duration, and billable flag that back your invoice. A time tracker is the tool that produces those rows. You can keep a timesheet with no tracker at all, typing entries into a spreadsheet, and you can run a tracker that never hands you a clean timesheet, only a raw activity log. What you want is a tracker that writes the timesheet for you, capturing the hours automatically and returning sortable, billable-flagged rows instead of a wall of app names to sort by hand.

Why an auto-generated timesheet beats a spreadsheet

A manual spreadsheet has one fatal flaw: it depends on you remembering to fill it. Every entry is a small act of discipline, and discipline fails under a deadline, which is exactly when you're working the most billable hours. The sheet is most incomplete precisely when it matters most.

A start/stop timer is barely better. You forget to start it (the first hour vanishes), you forget to stop it (now you're guessing, and guessing low to be safe gives away time), and context-switching hides the short tasks the timer was supposed to catch. Every one of these failures rounds in the client's favour, never yours.

An automatically generated timesheet removes the discipline tax entirely. Instead of asking you to log time, it watches what you actually work on and writes the entries for you: the forgotten call and the after-hours fix are already on the sheet by the time you sit down to invoice.

That's the approach behind BillNotch: the desktop app records the active window in the background, sorts your activity into client projects with keyword rules (plus optional AI categorization for the fuzzy cases), and inherits the billable flag from the project. The timesheet builds itself, the billable total is live for any client and date range, and the Revenue Leak Finder flags billable work that never made it onto an invoice. If you bill by the hour, see BillNotch for freelancers.

The short checklist

  • Give every entry a date, client/project, description, duration, and billable flag.
  • Capture as it happens: never reconstruct the week on invoice day.
  • Log the small, frequent tasks first; they leak the most.
  • Set billable status once per project, not per entry.
  • Automate capture so a forgotten timer never costs you an hour again.

Frequently asked questions

What should a freelance timesheet include?

At minimum: the date, the client or project, a short description of the work, the duration, and a billable yes or no per entry. The date lets you scope an invoice to a period, the description justifies the charge later, and the billable flag keeps non-chargeable work off the client's bill. A rate column helps when your rate varies by client.

How do I fill a timesheet without losing hours?

Record as the work happens, not from memory on invoice day, and log the small tasks first because those are the ones that vanish. Set billable status once per project so the flag is mechanical, not a decision you make forty times a week. The most reliable version lets a tracker capture the hours so nothing depends on you remembering.

What is the difference between a timesheet and a time tracker?

A timesheet is the record, the rows that back your invoice; a time tracker is the tool that captures the hours. You can keep a timesheet by hand with no tracker, and a tracker can produce a raw log that is not yet a usable timesheet. The best setup is a tracker that writes the timesheet for you.

Is a spreadsheet enough for a freelance timesheet?

For one client billed occasionally, yes. Across several clients billed monthly, a spreadsheet leaks, because every entry depends on you remembering to type it, and discipline fails under a deadline. That is when automatic capture pays off: it records the hours whether or not you remembered, so the timesheet is complete when you sit down to invoice.

Keep reading