Download a ready-made monthly timesheet for tracking employee attendance in Excel: night shifts, break checks and a summary for the whole team. Then see what Excel really costs you in admin time, and when an app is worth it.
✓ No sign-up, no email · ✓ No macros · ✓ Excel 2010 or newer
Updated 26 October 2026
How do you track attendance in Excel? Give each employee their own sheet with one row per day of the month. Enter clock-in, clock-out and break; a formula turns them into hours worked and compares them with scheduled hours. Weekends and public holidays are marked automatically. But Excel only records what someone types – it cannot confirm who actually showed up.
This is one employee's sheet. You fill in the yellow cells; formulas do the rest. The snippet comes from the "Example" sheet in the file, filled in for September 2026.
| Date | Clock in | Clock out | Break (min) | Absence | Worked (h) | Over schedule (h) | Check | |
|---|---|---|---|---|---|---|---|---|
| 8 | Sep 1 Tue | 7:00 | 15:30 | 30 | 8.00 | - | ||
| 9 | Sep 2 Wed | 7:00 | 15:30 | 30 | 8.00 | - | ||
| 10 | Sep 3 Thu | 7:00 | 15:30 | 30 | 8.00 | - | ||
| 11 | Sep 4 Fri | 7:05 | 18:10 | 30 | 10.58 | 2.58 | ||
| 12 | Sep 5 Sat | - | - | |||||
| 13 | Sep 6 Sun | - | - | |||||
| 14 | Sep 7 Mon | 7:00 | 15:30 | 30 | 8.00 | - | ||
| 15 | Sep 8 Tue | 6:55 | - | - | Missing clock-out | |||
| 16 | Sep 9 Wed | 7:00 | 15:30 | 30 | 8.00 | - | ||
| 17 | Sep 10 Thu | 7:00 | 15:00 | 10 | 7.83 | - | Break too short |
Change the year and month on the Settings sheet and every sheet recalculates, including month length and leap years.
Add your country's holidays once on the Settings sheet. Those days get zero scheduled hours on every employee sheet.
A 22:00–06:00 shift counts as 8 hours, not −16. This is where home-made timesheets break most often.
The Check column flags a missing clock-in or clock-out, a break shorter than your minimum on shifts over 6 hours, a shift over 12 hours and an empty workday.
Vacation, sick leave, TOIL, business trip, remote work and unpaid leave are in a list. Rename them or add your own; the summary counts them.
The Summary sheet totals hours worked, scheduled hours, overtime, absences and warnings for every employee at once.
One file, no macros and no email address required. It includes instructions, a settings sheet, three blank employee sheets, a team summary and a filled-in example.
Use and adapt the template freely inside your company. Sheets are not locked, so you can read and change every formula. For the rota, use our Excel shift schedule template.
On the Settings sheet, enter your company, year, month, hours per day (for example 8 or 7.5) and the minimum break. Add your public holidays.
Type a name on "Employee 1". For more people, copy the sheet (right-click the tab › Move or Copy) and add its name to the Summary sheet.
Type clock-in and clock-out as 7:30, the break in minutes and an absence code when needed. Don't leave it to the end of the month.
Go through the Check column and the Summary sheet. Fix missing clock-outs first, then send the file to whoever runs payroll.
Excel itself is free. You pay in time – and it is more than you would expect. Wherever there are shifts, part-timers and paper sheets, month-end turns into a day of chasing and counting. The breakdown below is for a small restaurant with 10 staff.
“Adding up the hours for one small restaurant took a full day of work every month.”
Spreadsheets break quietly: a formula still shows a number when it is wrong. These are the mistakes we see in companies moving to us from Excel, and how to handle them.
| Mistake | What happens in Excel | How the template / Fresh QR handles it |
|---|---|---|
| Forgotten clock-out | The day shows 0 hours, or someone types in a guess. Payroll gets a number nobody checked. | The template flags the day. Fresh QR lists it in the pre-payroll checks, and every fix is recorded in the change history. |
| Night shift across midnight | A plain "out − in" formula returns a negative number or ######. | The template uses MOD, so 22:00–06:00 = 8 h. Fresh QR calculates from the actual scan times. |
| Overwritten formula | Someone types "8" over the hours formula. The totals stop adding up and nobody knows why. | Formulas sit in white cells, inputs in yellow ones. In Fresh QR, calculations cannot be overwritten. |
| Typo in a time | 7:30 becomes 7.30 or 73:0, and Excel reads it as text or the wrong time. | Data validation only accepts times between 0:00 and 23:59. In the app, the server records the time at the scan. |
| Break not recorded | Break time is paid as work, or nobody knows whether the break was taken. | The template flags short breaks on shifts over 6 hours. Fresh QR can deduct breaks automatically. |
| Many versions of one file | "timesheet_final_v2.xlsx" in an email, another copy on a shared drive. Nobody knows which one is right. | The template can't fix this – it is still one file. In Fresh QR everyone works in one system, and employees see their own hours. |
What you get from a well-built Excel template versus Fresh QR, where employees scan a posted QR code with the free Fresh QR app on their own phone.
| Excel (this template) | Fresh QR | |
|---|---|---|
| Who records the time | The employee on paper, or a manager in the sheet – often after the fact | The employee scans the QR code in the app; the server records the time |
| Proof of presence | None – whatever is written counts | GPS location at the scan, optional photo |
| Overtime and breaks | Formulas you have to maintain and check | Calculated automatically from your company rules |
| Edits and audit trail | Anyone with access can change a cell without a trace | Change history: who changed what, and when |
| Leave and sick days | A code in a cell, approved by email or in person | Request in the app, approval on the web, leave balance updates itself |
| Several locations | Another file or sheet per site | Branches and projects in one dashboard, each with its own QR code |
| Payroll input | This file, after a manual check | Your accountant gets their own login and sees attendance directly. Plus PDF timesheets or the REST API for your payroll system |
| Cost | €0 for software; you pay in time and energy | €3 per active employee per month, with a monthly minimum of €24, 20% less with yearly billing. 30-day free trial |
We sell attendance software, so it would be easy to call Excel bad. It isn't. For some teams it is the right choice.
If you have up to 5 employees in one place, fixed hours and you see them every day, Excel with this template is enough. An app starts to make sense when you add a second site, shifts, part-timers or field work, or when checking timesheets takes more than an hour a month.
Need different columns, pay rates or a rotating roster? Copy this prompt into ChatGPT, Claude or Copilot in Excel and edit the square brackets. It tells the AI to put formulas in the cells. Change a clock-in time or the month later and the hours update themselves – instead of a sheet with numbers typed in by hand.
Create an .xlsx file for tracking monthly employee attendance (a timesheet). Company details: - Country: [United Kingdom] - Number of employees: [10] - Contract: [8] hours per day, working days Monday to Friday - Type of work: [warehouse, two shifts 06:00–14:00 and 14:00–22:00] - Absence codes: V (vacation), S (sick), TOIL (time off in lieu), BT (business trip), WFH (working from home), U (unpaid) Sheets: 1. "Settings": year, month (1–12), contract hours per day, minimum break in minutes, a table of absence codes and a list of public holidays in [United Kingdom – England] for the chosen year. Create named ranges. 2. One sheet per employee: rows for days 1 to 31. Columns: date, weekday, clock in, clock out, break in minutes, absence code (drop-down), hours worked, scheduled hours, hours over schedule, check, note. 3. "Summary": hours worked, scheduled hours, overtime, absence counts per code and number of warnings for each employee. Calculation rules: - Build the date with a formula from year and month. Leave rows past the end of the month empty. - Hours worked = (clock out − clock in) − break. Shifts across midnight must be calculated correctly (use MOD). - Scheduled hours = contract hours on a working day, 0 on weekends and public holidays. - Check column: warn when clock in or clock out is missing, when the break is below the minimum on a shift longer than 6 hours, when a shift is longer than 12 hours, and when an absence code and hours worked are both entered. - [Add a weekly total and flag weeks over 40 hours.] - Highlight weekends and public holidays with conditional formatting. Technical requirements: - Use formulas everywhere, not calculated values. No macros. - Colour input cells yellow and leave formula cells white. - Data validation: times 0:00–23:59, break 0–600 minutes. - Don't use XLOOKUP, FILTER or LET, so the file also works in older Excel versions. - Finally, add a "How to use" sheet with instructions. Before building the file, summarise your plan in 5 bullet points and ask me if anything is unclear.
=MOD(clock_out-clock_in,1)*24 and subtract the break in hours. MOD makes a 22:00–06:00 shift return 8 hours instead of a negative number. The "Worked (h)" column in our template already uses it. Weighing your options? See how QR code attendance tracking works end to end, what is genuinely free in a free QR code attendance system, and the single-rate pricing. If you use a punch clock today, compare it with a time clock alternative.
Keep the template for as long as it works for you. When timesheets start eating more time than they should, try Fresh QR: a QR code on the wall and the free app on your team's phones. Every clock-in and clock-out records itself, and overtime, breaks and leave are calculated as the month goes – no retyping, no chasing.
The template and this page are not legal advice. Record-keeping rules differ by country; sources cited as of October 2026. Microsoft Excel is a trademark of Microsoft Corporation; Fresh QR is not affiliated with Microsoft.