Biometric attendance data the payroll engine can trust
Three punches from one person became one event — and HR notifications stopped firing for months-old data.
The problem a client brought us
“Our biometric attendance devices record the same person arriving three times if they linger near the reader for a few seconds. Multiply that by a few hundred employees and the data is unusable.”
Before and after
One person lingering at the reader
- Punch
- Punch, 20 seconds later
- Punch, 20 seconds after that
What payroll reads
One check-in
What we found and built
A sync layer that decides what actually counts as one event: punches under 60 seconds apart collapse into a single record, with per-employee timezone resolution so a punch near midnight lands on the correct day.
We also moved HR notifications — check-ins, absences, expiring documents — onto WhatsApp instead of email, with a circuit breaker that skips stale events (learned after a historical resync once fired hundreds of messages for attendance months old).
Result
Attendance data the payroll engine could actually trust.
The pattern behind it
Design for the failure you've already seen
Every failure we meet becomes a rule: stale events are skipped, drifted fields are detected and repaired, and a failed upgrade rolls itself back.
How we think about problemsRecognise any of this?
Most of our work starts with a message that sounds a lot like this one did.