Attendance Matches Registrations
The Attendance Matches Registrations constraint requires the time an employee registers on a day to equal the time they were checked in. A difference of even one minute is flagged.
When to use
Use this constraint when:
- Employees check in and out, and every minute on site must be accounted for on an activity
- You want to catch forgotten registrations and forgotten check-outs before the timesheet is submitted
Parameters
This constraint has no settings. Add it under Blocking constraints to stop the timesheet being submitted while the totals differ, or under Non-blocking constraints to show a warning only.
How it works
For each day up to and including today, the constraint compares two totals:
- Attendance — the time between check-in and check-out, added up over all of the day’s check-ins
- Registered — all time registrations on the day, including ones added automatically by auto-registration plugins, minus time that is not spent on site:
- time off taken as a registration (for example a half day of flex or time off)
- hour-based supplements on allowance activities
If the two totals differ, the day is flagged.
The day is skipped when:
- it is in the future
- there is no check-in with a check-out (nothing to compare against)
- a check-in is still open — the day is not finished yet
Every day with attendance is checked
The check does not depend on the work schedule. A Saturday or a public holiday on which the employee checked in is checked like any other day, because a check-in without matching registrations is exactly the forgotten registration this constraint is there to catch.
What the employee sees
The day shows a message such as Time registrations (420 min) and check-in attendance (450 min) differ by 30 min. On a blocking constraint the timesheet cannot be submitted until the two totals match.
Related constraints and plugins
- Mandatory Check-in — this constraint ignores days without a check-in. Add Mandatory Check-in to flag those too.
- Mandatory Time Registration — only requires one registration; this constraint requires the amount to match.
- Check in/out not used — without check-ins there is nothing to compare, so this constraint never fires.
- Fill plugins — Default Activity Fill and Percentage Allocation Fill register the gap between attendance and registered time automatically, so employees only register what differs.
Examples
Workshop with project registration
Employees check in at a kiosk and register their hours on projects:
- Open the work time policy
- Under Blocking constraints , click Add Plugin and choose Attendance Matches Registrations
- Click Save
On Tuesday an employee checks in at 07:30 and out at 15:00 (7 h 30 min) but registers only 7 hours on projects. Tuesday is flagged with a difference of 30 minutes, and the timesheet cannot be submitted until they register the missing half hour or correct the check-out.
Half day of time off
The employee checks in from 08:00 to 12:00, registers 4 hours on a project, and takes the afternoon as flex time. The flex time is not counted on the registered side, so the totals match (4 h against 4 h) and the day is not flagged.
Troubleshooting
| Issue | Solution |
|---|---|
| A weekend day is flagged | The employee checked in that day. Register the time, or remove the check-in if it was a mistake |
| Today is not flagged although the totals differ | The employee is still checked in. The day is checked once they check out |
| Off by a few minutes | The comparison is exact. Compare the check-in and check-out times with the registrations, and remember that an automatic lunch deduction is a registration too: registering the full attendance on a project and keeping the lunch deduction counts the lunch twice |