CLOCKCOVER

Help

How data gets into ClockCover, what the files must look like, and what happens to a gap once it is found.

How it works, end to end

  1. Roster. A CSV of your employees and their managers. Upload it in the console, or point us at an https address where your HR system publishes it.
  2. Export. The shift schedule and the clock entries from your attendance system, one CSV. Uploaded by hand or fetched every morning from an https address you set in Settings.
  3. Detection. Every scheduled shift is checked for a clock-in and a clock-out. A missing one is a gap: no clock-in, no clock-out, or no record at all.
  4. Digest. Each morning every manager with open gaps gets one email listing their own team's gaps and a link to resolve them. No account, no password.
  5. Resolution. The manager either approves the hours (the person worked, the entry is missing) or reports an absence (with a note). A clock entry that arrives with a later export closes the gap on its own.
  6. Escalation. A gap nobody touches within the SLA (48 hours by default) goes to the payroll accountant by email, with a link to close it when the entry will never arrive.
  7. Corrections. The console exports everything people closed in a period as CSV — approved hours and reported absences with notes — for your payroll run.

Roster file

CSV, UTF-8, header row required. One row per employee. Managers are created from the rows that name them.

employee_id,employee_name,manager_id,manager_name,manager_email
E-001,Ada Sample,M-100,Manager North,north@example.com
E-002,Ben Sample,M-100,Manager North,north@example.com

Shifts & clock entries file

CSV, UTF-8, header row required. One row per employee per day. A row with planned times is a shift; a row with clock times is an attendance record; a row can be both.

employee_id,date,planned_start,planned_end,clock_in,clock_out
E-001,2026-03-02,08:00,16:00,08:02,16:05      ← complete
E-001,2026-03-03,08:00,16:00,,                ← shift, no entry yet → gap
E-002,2026-03-02,08:00,16:00,08:01,           ← no clock-out → gap
E-002,2026-03-01,,,09:00,17:00                ← worked without a shift → noted, not a gap

Common cases

Badge left at home, the person was at work
Manager: Approve the hours, optional note. The corrections export lists the planned hours to credit.
Sick day, nobody told the system
Manager: Report an absence with a note (“sick, called in 07:30”). Appears in the corrections export as an absence.
Terminal was down for a whole department
Fix the entries in your attendance system and re-export; the next import closes the gaps by itself. Nobody has to click through them.
Employee left the company mid-month
Remove them from the roster (they stop producing gaps). Any open gap will escalate; the payroll accountant closes it from the escalation email with a note.
Manager on holiday
Gaps escalate after the SLA to the payroll accountant, who can close them. Or forward the digest: the link works for anyone who has it for 14 days.
Wrong manager on a gap
Fix the roster and re-upload for future gaps; the existing gap keeps the manager it was routed to (by design — the SLA clock does not move).

Questions we get

Where do I set the timezone, SLA and language?
Console → Settings. “Today” for digests follows the timezone; the job runs at 08:00 UTC.
Can I re-send a digest?
Not from the console — one digest per manager per day, on purpose. The link in yesterday's email still works for 14 days.
What does the payroll accountant see?
Only escalations, by email — never a list of all gaps. That is the point.
Is any of this biometric data?
No. We read only that a clock event exists or does not; never the template behind it. Files are deleted after parsing.

Stuck on a file? Send us a sample — during early access we build the connector for you.