Download the blank register and example
Download the attendance tracker template for Excel. It contains a blank Register, a fictional Example and an Exceptions log. The register records full planned and actual start datetimes, one attendance status, a review owner and an exception reference. Small summaries count each status separately.
This version records attendance and review work. It does not calculate worked hours, breaks, pay, overtime, holiday entitlement or compliance with working-time rules. Use your agreed time and payroll processes for those separate decisions. No macros or connection to an employee-management system are required to use the file.
Set the schedule before marking attendance
Use one row per employee per shift, with a unique record ID. Include the work date and employee ID, then enter the planned start as a full date and time. An overnight shift can start on one date and continue on the next; keeping a full datetime avoids an ambiguous “01:00” without a date.
Confirm who is due to work, approved leave and any schedule changes before chasing missing records. Do not assume every weekday is a working day for every employee. A bank holiday or weekend may be a scheduled shift for one person and a non-working day for another.
Our daily attendance workflow explains how to capture events and review the day. This template implements a small part of that process in a controlled file.
Use one status per record
| Status | Meaning in this template | What to check |
|---|---|---|
| Present on time | Attendance confirmed and start meets the agreed schedule | Evidence and applicable start-time rule |
| Present late | Attendance confirmed but start is later than the agreed rule permits | Actual start and any approved schedule adjustment |
| Authorised absence | The responsible process confirms approved time away | Reference to approval, without private reasons in this file |
| Confirmed absence | Absence has been checked and confirmed | Responsible review; this label does not decide disciplinary action |
| Pending review | Information is missing, disputed or not yet verified | Named owner and an exception record |
| Not due | Person was not scheduled for this record | Correct schedule; exclude from attendance-performance interpretation |
These are operational definitions for this workbook, not statutory absence categories. Agree the start-time rule with the appropriate people before using it. The template does not invent a grace period or decide whether an explanation is acceptable.
Keep attendance separate from hours
Being present does not establish the length of a shift. A valid arrival record does not prove a departure time, and an absent arrival event does not prove nobody attended. Keep incomplete time evidence visible in the process used for hours, rather than replacing a missing time with 00:00.
The workbook intentionally calculates status counts only. If you extend it to hours, validate full start and end datetimes, breaks and missing or invalid inputs. Test overnight shifts explicitly. Do not use an arithmetic shortcut that silently turns an incorrect end-before-start entry into a plausible shift.
Complete a fictional working day
The Example sheet contains five fictional records for 23 October 2026. They demonstrate how the labels differ; they are not information about real employees.
| Record | Scheduled start | Confirmed arrival | Status | Next step |
|---|---|---|---|---|
| R001 / E001 | 09:00 | 08:58 | Present on time | Complete normal review |
| R002 / E002 | 09:00 | 09:12 | Present late | Check against the agreed start-time rule |
| R003 / E003 | 09:00 | Not applicable | Authorised absence | Keep approval in its appropriate restricted record |
| R004 / E004 | 09:00 | Missing | Pending review | Owner checks exception X001 |
| R005 / E005 | Not scheduled | Not applicable | Not due | Do not classify as absent |
The present total is two, including the late arrival once. There is one authorised absence, one pending review and one not-due record. There is no confirmed absence in this example. The unresolved record is not included in the present or confirmed-absence count.
Log missing and disputed entries without guessing
For R004, create exception X001. Record the issue as “Missing arrival”, assign a reviewer and note where the supporting evidence can be checked. Use a reference rather than copying private messages or health details into the log.
The reviewer checks the schedule and the available evidence with the relevant person. If the evidence confirms attendance, enter the verified arrival and appropriate status. If it confirms absence, use the reviewed status. If it remains uncertain, leave Pending review and record the next action.
For a disputed entry, retain the original value or a clear reference to it, record the proposed correction, who approved it and when. The Exceptions sheet provides fields for issue, owner, evidence reference, resolution, reviewer and review date. It is a manual correction log; it is not an automatic tamper-proof audit trail.
Review exceptions before summarising
Check that each intended employee-shift has one record and that duplicate rows have not inflated the totals. Confirm the register period and review pending entries with their owners before sending a summary.
The built-in counts cover rows 5–24 on their own sheet. They count exact status labels and do not respond to table filters. If you add rows or change labels, update the summary ranges and test them again. A date filter alone does not make the totals a report for that date.
Avoid an attendance percentage until you have defined which scheduled shifts belong in its denominator and how leave, partial shifts and unresolved records are treated. A tidy percentage can still conceal missing evidence. See how to read attendance dashboard totals before combining different categories.
Control access and updates
Keep one working copy in a controlled company location. Give editing responsibility to named people, provide a correction route for employees and agree how completed records are retained. Do not circulate a general staff list containing individual absence details.
The ICO's guidance on sickness and injury records distinguishes simple absence information from details of a medical condition and explains why access must be limited to what people need for their work. Keep medical information in its appropriate restricted process; a worksheet password or hidden tab is not a substitute for controlling access to the file.
A directory helps identify a colleague and their work contact; an attendance register serves a different purpose and audience. Keep those records connected through a stable employee ID where appropriate, rather than copying private attendance notes into shared profiles.
For the separate shared-contact record, use the employee directory field template. Keep contact details and private attendance information distinct even when they share a stable employee identifier.
When to compare a spreadsheet with software
Consider alternatives if several locations maintain conflicting files, unresolved corrections are hard to find or the same entries must be copied repeatedly. Test those exact problems in a small pilot. Employee count alone does not decide whether the process works.
Our attendance spreadsheet versus software guide helps evaluate that decision. The attendance tracker buying guide covers capture, review and reporting requirements. This workbook is not a tested import or payroll integration for any named product.
Common questions
How should a late arrival be counted?
Use Present late as the single status. Include it once in the present total; do not add a late subtotal to a present figure that already includes it.
What if a clock-in is missing?
Check the schedule and evidence, assign an owner and use Pending review until the event is verified. Missing data alone does not establish an absence.
Can I use the file for overnight shifts?
You can record full start datetimes, including the date. This version does not calculate shift hours. Any added hours calculation needs separate tests for end dates, breaks and invalid or incomplete inputs.


