RosterElf Logo UK
Start trial
FREE TEMPLATE Last updated 8 September 2026

Free staff hours tracker (Excel)

Seventeen weeks of hours per person, with a live rolling average. Built around the reference period the 48-hour limit is actually measured over — not the single week most trackers show.

Staff hours tracker

Excel format (.xlsx) • Ready to download

Rolling 17-week reference period
Live weekly average per person
Amber at 45 hours, red at 48
Opt-out status column

No signup required. Works with Excel, Google Sheets and LibreOffice.

This template is a record-keeping tool, not legal or payroll advice. It does not calculate minimum wage, holiday pay or statutory sick pay for you, and it does not check working time limits. Check GOV.UK, or take advice, before relying on a spreadsheet for compliance. It does not constitute legal, HR, or professional advice and should not be relied on as a substitute for advice specific to your business, workforce, or circumstances.

Roster and track hours in one place

A timesheet only records what already happened. Roster the shifts first and the hours record themselves — free, no signup.

Open the free tool

What's in this template

The 48-hour average, made visible before it is breached

One row per employee

Seventeen week columns across, so a whole team fits on a single screen.

A live rolling average

The mean of the weeks entered so far, recalculated as you go — the figure the limit is actually measured on.

Amber and red thresholds

Conditional formatting turns the average amber at 45 hours and red at 48, so the trend is visible weeks before it matters.

An opt-out column

Yes, no or date signed. The 48-hour limit only lifts with an individual written opt-out, and you need to know who has one.

A night-hours column

Night workers have a separate limit — an average of 8 hours in 24 — which the weekly average will not show you.

Highest single week

The peak alongside the average, because a single very long week is a rest-and-fatigue question even when the average is fine.

Seventeen weeks at a glance

Enter one total per person per week. The average is what the Working Time Regulations measure — a 56-hour week is not itself a breach, provided the rolling average across the reference period stays at or below 48.

EmployeeW1W2W3W4AvgOpt-out
Priya Sharma 38 41 37 40 39.0 No
Callum Reid 52 49 47 44 48.0 No
Bea Okoro 56 54 58 55 55.8 Yes — 4 Feb

The red row is the problem, not the amber one. Bea averages more but has a signed opt-out; Callum has hit the limit without one. An opt-out has to be individual, in writing and genuinely voluntary — a clause in a handbook is not one, and it can be withdrawn on notice.

How to track the 48-hour average

Four steps if you would rather build your own

1. Seventeen week columns

Names down, weeks across. Seventeen, because that is the standard reference period the average is measured over.

2. Average the weeks entered

Use `=AVERAGE()` over the week range. It ignores blanks, so the figure stays right before all seventeen weeks exist.

3. Add the thresholds

Conditional formatting: amber above 45, red at 48 or more. You want to see the trend arriving, not confirm it afterwards.

4. Record opt-outs beside it

The average is only meaningful next to whether that person has signed one. Keep them on the same row.

Roll the window forward each week: drop the oldest column, add the newest. The reference period is rolling, not fixed.

Who uses this template

UK employers with long or highly variable weeks

Security and facilities

12-hour shifts across 24/7 sites, where the average is the constraint that actually binds.

Care and healthcare

Bank and agency shifts stacked on contracted ones, often across more than one employer.

Logistics and transport

Seasonal peaks where several very long weeks arrive together.

Overtime is the same hours seen from the pay side — the overtime tracker covers the cost and the holiday pay consequence.

Or be warned before you roster the breach

A tracker tells you the average after the weeks have happened. RosterElf calculates it while you build the rota and warns before you assign the shift that pushes someone over — which is the only point at which it is still fixable.

Start free trial See rota software
FAQ

Staff hours tracker FAQ

  • The 48-hour weekly limit is not a cap on any single week — it is an average, normally measured across a rolling 17-week period. Someone can work 60 hours one week without breaching it, provided the average across the period stays at 48 or below. Some sectors use a longer period, and a collective agreement can extend it to 52 weeks.

  • All working time, including overtime, working lunches, job-related training and travel between work sites. It excludes ordinary commuting, unpaid lunch breaks and paid holiday. If someone works for more than one employer, the hours count together — which is why the opt-out column matters most for bank and agency staff.

  • A worker can agree in writing to exceed the 48-hour average. It has to be individual and genuinely voluntary — a clause in a handbook or a condition of getting shifts is not a valid opt-out. They can withdraw it by giving notice of between seven days and three months, as agreed. Keep the signed opt-outs; the record of who has one is part of what the Regulations expect.

  • Yes. Night workers must not work more than an average of 8 hours in any 24, and that limit cannot be opted out of. Where the work involves special hazards or heavy strain it is an absolute 8 hours, not an average. The template keeps night hours in their own column for this reason.

  • Yes, and they are stricter. Workers above school leaving age but under 18 are generally limited to 8 hours a day and 40 hours a week, with no averaging and no opt-out, plus longer rest breaks. Track them separately rather than assuming the 48-hour average applies.