01
Biometric terminals
ZKTeco devices push punches over ADMS the moment they happen — not a file you fetch at midnight.
Time & attendance · the floor-level truth
Every hour Flume pays for traces back to a physical event at a terminal. No spreadsheet in the middle, no supervisor's memory, no nightly export that quietly drops a day.
Reconciliation, live
Terminals report physical events, and physical events are messy — someone scans twice, someone forgets to scan out, someone scans in at the wrong plant. Pick a day below and watch the rules resolve it into the single record payroll will read.
The day as the terminals reported it
Earliest arrival wins. The app punch is marked superseded — kept, not deleted, so both events survive a dispute.
Illustrative punches. The rules shown — earliest wins, supersede rather than delete, flag rather than guess — are the ones the product applies.
What ships
01
ZKTeco devices push punches over ADMS the moment they happen — not a file you fetch at midnight.
02
Pair a terminal, watch it report, and see when one goes quiet. Operation and punch logs per device.
03
Office and field staff clock in from the app inside a geofence, with the branch radius enforced.
04
Staff who move between sites are recognised at any registered terminal and flagged rather than rejected.
05
Reusable templates, published schedules and per-employee patterns across sites and weeks.
06
Declare how many people a line needs on a shift and see the gap before the shift starts, not after.
07
Employees propose a swap to a named colleague; it routes for approval and rewrites the roster on acceptance.
08
Break sessions captured from the terminal itself, so unpaid time is measured rather than assumed.
09
Requests and live sessions, approved in tiers, linked to the attendance record they extend.
10
A scheduled pass flags every day that ended incomplete — clocked in, never out — for a human to resolve.
11
Adjustments carry the before, the after, the author and the reason. Append-only, never a silent edit.
12
Historical records can be reconciled and backfilled, so switching to Flume does not start your history at zero.
How it actually works
When two channels record the same day, the earliest arrival is kept and the other is marked superseded rather than deleted. That matters in a dispute: you can show both events and the rule that chose between them, instead of a single value with no history behind it.
A day with an exit scan and no entry is recorded as a missing punch, and missing punches are deliberately excluded from present-like statuses while still counting toward the denominator of any rate. Without that rule, someone who only ever scans on the way out looks perfect in every report while being paid for nothing.
Attendance days, payroll periods and every rollup are bucketed on the company business date rather than the server clock. A 01:00 punch belongs to the shift it actually worked, not to whichever UTC date the timestamp happens to fall in.
Clearing a record means writing a correction that zeroes the clock times and states a status, keeping the trail of who decided that and why. An inspection asks exactly that question about any adjusted figure, so the answer is stored rather than reconstructed.
Book a demo
The fastest way to judge Flume is to run it against a period you already argued about. Send a month of punches and the payroll you produced from it, and we will show you the same month reconciled — including what the anomaly detectors flag.