Assumption: projection = Mon–Wed actual + your median Thu–Sun hours (10-wk rhythm); breach = week total > 55h.
2 · Do this today
Assumption: roster for Thu–Sun isn't in the export yet — actions cap remaining hours and fix relief, using each person's own rhythm.
3 · Why it happens
Assumption: hours sit on noted shifts only; a shift with mixed evidence counts in each group it names.
4 · Wage floor (NMW R30.23/h)
Assumption: shortfall = (30.23 − rate) × mean weekly hours over the export; excl. OT premiums & allowances.
5 · Data quality
Assumption: same rules as the client system — missing clock-outs excluded, overnight rolls to next day.
⬇ Drop next week's export here (or tap to pick files) shifts / employees / sites / shift_notes / payroll_details / weekly_summary / public_holidays — any subset, recompute is automatic