Agency timesheet template for billable hours

One log for the whole team. Hours roll up by client, project and week, with billable hours, billable % and billable value.

  • No email needed
  • Last reviewed 4 October 2026

For Google Sheets, download the .xlsx and open it with File > Import.

What it's for

  • Agencies and studios that bill clients by the hour.
  • Retainer work, where you need to see hours per client each week.
  • Checking how much of the team's time is billable.

What's inside

How to use
Instructions and the colour key.
Clients
Your client list, with hours, billable hours, billable % and billable value for each.
Projects
Each project, its client and its hourly rate, with the same totals per project.
Time log
One row per piece of work: date, person, client, project, task, hours and billable or not. The rate fills in from Projects.
By week
The same totals for each week, from the first week you choose.

Preview

Worked example: one week in the Time log
Date Person Client Project Hours Billable Rate Value
1 Mar 2027 Sam Acme Website rebuild 6.0 Yes 150 900
1 Mar 2027 Sam Acme Website rebuild 1.0 No 150 0
2 Mar 2027 Priya Brightside Brand refresh 5.0 Yes 140 700
2 Mar 2027 Priya Acme SEO retainer 2.0 Yes 120 240
3 Mar 2027 Sam Brightside Brand refresh 1.5 No 140 0

Acme: 9.0 hours, 8.0 billable (89%), worth 1,140. Brightside: 6.5 hours, 5.0 billable (77%), worth 700. The week: 15.5 hours, 13.0 billable (84%), worth 1,840.

How to use it

  1. On Clients, type each client once.
  2. On Projects, add each project with its client and hourly rate.
  3. In the Time log, add a row for each piece of work. Pick the client and project from the lists, type the hours as decimals (1 hour 30 minutes is 1.5) and choose Yes or No for billable.
  4. The rate fills in from Projects. To bill one line at a different rate, type over its rate.
  5. On By week, type the first day of your first week. Clients, Projects and By week update as you log time.

The formulas, explained

Rate
=IF(OR(C4="",D4="",COUNTIFS(match)=0),"",SUMIFS(Projects!$C$4:$C$103,match)/COUNTIFS(match))

Looks up the hourly rate for that client and project on the Projects sheet, where match is the client and project columns. If the pair isn't there, the rate stays blank and a billable line turns red.

Billable value
=IF(F4="","",IF(AND(G4="Yes",ISNUMBER(H4)),F4*H4,0))

Hours × rate for billable lines, 0 for the rest.

Billable hours per client
=SUMIFS('Time log'!$F$4:$F$503,'Time log'!$C$4:$C$503,$A4,'Time log'!$G$4:$G$503,"Yes")

Adds up the billable hours logged against that client.

Billable %
=IF(OR($A4="",N(B4)=0),"",C4/B4)

Billable hours ÷ all hours.

Hours in a week
=SUMIFS('Time log'!$F$4:$F$503,'Time log'!$A$4:$A$503,">="&A5,'Time log'!$A$4:$A$503,"<"&A5+7)

Adds up hours dated from the week's first day up to, but not including, the next week's.

Every formula uses functions that Excel, Google Sheets and LibreOffice all have. There are no macros or scripts.

Questions

What is a good billable percentage?

It depends on the role, so the file doesn't suggest one. Set a target from your own pricing: the agency rate card template shows how utilisation feeds into the rate you need to charge.

Why is a rate blank?

The client and project in that row don't match a row on the Projects sheet. The project list shows every project, so check you picked one that belongs to that client. A billable line with no rate turns red.

Can I add more rows?

Yes. The Time log has 500 ready rows. To add more, copy the last row's formulas down, then widen the ranges in the totals (they end at row 503).

Does it work in Google Sheets?

Yes. Upload it with File > Import. It only uses functions both programs have (SUMIFS, COUNTIFS, SUM, IF, AND, OR, ISNUMBER and N).

Can I bill by role instead of by project?

Type the role's rate over the Rate cell on each line, or add a project per role. The project budget tracker template values time by person or role.

About this template

Last reviewed 4 October 2026.

Changes: 4 October 2026: first published.

Free to use and change in your own business. Please don't resell the files or publish them as your own. More free templates.