The Absence Join
Absence explains the gap between scheduled and worked, and it usually lives in a system that knows nothing about shifts.
The joins · Analysis
A missing shift is meaningless until something says why. That something is almost always a different system with a different model of time.
The mismatch
Absence systems think in days. A day of holiday, a day of sickness.
Scheduling thinks in shifts, which can be four hours or ten, and can cross midnight.
Which means "one day of holiday" does not say how many hours to deduct from someone whose shifts vary.
The conversion rule is where this join breaks, and in most organisations it is implicit.
The rule to write down
For fixed-hours staff: a day is the contracted daily hours.
For variable-hours staff: a day is the hours they would have worked that day, which requires the schedule — so absence has to see the rota.
Or hold everything in hours, which is cleaner and is what the attendance collection argues for.
State which, per staff group, because the answer differs and an unstated rule produces a leave balance nobody can reproduce.
Direction of flow
Approved future absence must reach scheduling before the rota is built, or someone is scheduled on their holiday.
Actual absence must reach time capture, so the gap is explained rather than appearing as an unexplained missed shift.
And both must reach payroll, classified, because holiday and unpaid leave pay differently.
Three destinations from one source, and the commonest failure is that only one of them is wired.
Timing
Absence is requested weeks ahead and reported the same morning.
Which means this join needs two paths: a slow one for planned leave that feeds the rota build, and a fast one for same-day reports that feeds the current day.
Systems built for one do the other badly, and a product that only handles planned leave leaves sickness to a phone call and a memory.
What goes wrong
Leave approved after the rota is built, so the shift exists and the person does not.
Sickness recorded in one system and not the other, so time capture shows an unexplained absence.
A day converted to the wrong number of hours, which shows up as a balance dispute months later.
And carry-over calculated on a balance the schedule contradicts.
The check
Take a period and compare: absences recorded in the HR system against gaps in the time record.
Every gap should have a reason and every reason should have a gap.
The mismatches are the broken join, and there are always some.
Write the day-to-hours rule
Per staff group, because the answer differs.
Fixed hours: a day is the contracted daily hours.
Variable hours: a day is what they would have worked, which means absence has to see the rota.
Or hold everything in hours, which is cleaner.
An unstated rule produces a leave balance nobody can reproduce, and the dispute arrives months later.
Follow the difficult record
Use employee hours tracking to frame one representative case. The useful evidence is the record created when a value is corrected, approved and exported.
Independent reference
For a thematic point of reference, see ACAS. This popular specialist site offers a useful independent reference for the issue.