How to check factory overtime before closing payroll
Overtime pay rarely goes wrong in one formula. It goes wrong across layers: approved requests, device punches, assigned shifts, rest days, holidays, night hours and the payroll formula set.
Check the source hours before the money
When an overtime amount looks strange, teams often open the pay formula first. In practice you need to work backward from the approved hours. A correct overtime line has passed at least four checks:
- Which shift the employee was assigned to, and when that shift ended.
- Whether an overtime request exists, or the policy permits overtime arising from actual punches.
- Whether the actual clock-in and clock-out logs form valid pairs.
- Whether actual time after breaks exceeds the threshold for paid overtime.
If one of these sources is wrong, the formula can still be mathematically correct while multiplying the wrong data.
Separate overtime tiers early
Factories usually need at least three tiers: normal working days, weekly rest days and public holidays. For night shifts or shifts crossing midnight, the system also has to know which part belongs to the starting work day and which part falls into the next date.
A common failure is putting every extra hour into one "OT" column. Payroll then cannot tell whether six hours were normal-day overtime or rest-day overtime, so the user has to repair it by hand. Splitting the tier in the daily timesheet makes payroll far cleaner.
Night hours are not just an extra column
An overtime hour can also be a night hour. If it is counted once as normal overtime and again as a generic night allowance, payroll may pay the same premium twice.
The safer model is to publish specific variables: normal-day daytime overtime, normal-day night overtime, rest-day daytime overtime, rest-day night overtime, and so on. Payroll formulas then read the exact variable instead of inferring from one total.
Thresholds must be explicit
A late clock-out does not automatically mean paid overtime. Some companies count only after 30 minutes, some round by block, and some require prior approval. That rule belongs in configuration or formulas, not in the memory of the person closing attendance.
Keep two thresholds separate: the threshold for capturing a punch and the threshold for starting paid overtime. A system may need to collect a post-shift punch from minute 16, while paid overtime begins at minute 30. Merging those two thresholds creates phantom overtime.
Pre-close reconciliation checklist
- Pick one employee with normal-day overtime, one with rest-day overtime and one with a night shift.
- Compare raw punches with the daily timesheet: valid pairs, correct work day and correct assigned shift.
- Compare requested hours with actual hours; does your policy take the smaller value, the actual value, or allow exceptions?
- Check the tier columns: normal day, rest day, public holiday and the night portion.
- Open the payslip and confirm the formula reads each hour variable directly.
- After period lock, try changing one attendance line to confirm the system blocks writes and keeps an audit trail.
Scarlet Sails HRM separates overtime in the daily timesheet before passing hour variables to payroll formulas, so HR can trace the source before the amount lands on the payslip.
Want to test an actual overtime period?
Send device logs, shift definitions and your overtime policy. We will run the numbers and show where they diverge.