Overtime analysis report
Use the Overtime Analysis report to see how much overtime people actually worked against how much they asked for, per employee and over time. It answers "who is working overtime, is it being requested and approved, and is it growing?" before payroll has to.
Where: Attendance › Tools & Reports › Overtime Analysis
You need: the Team Attendance right. You see only the people your access covers. See Attendance user rights.
How to run the overtime analysis
- Go to Attendance › Tools & Reports and open Overtime Analysis. It opens on the last 30 days.
- Set the date range, or select the preset button beside it to cycle through Last 30 days, This Month, Last Month and Last 90 days.
- Use Search Employee, or select Filters to narrow by Department, Position, Branch or Subsidiary. Filters apply to the summary, the trend graph and the table.
- Read the four summary figures, then the Overtime trend graph. Switch it between Weekly and Monthly.
- In By employee, select a column header to sort, for example OT worked (h).
- Select Export for an Excel file with one row per employee.
Selecting a row opens the Timesheet for the same dates.
What counts as overtime
Worked overtime comes from check-ins. For each event, KAMI adds:
- the overtime hours recorded on the check-in
- the night-differential overtime hours recorded on the check-in
- the full scheduled length of any event whose activity is tagged as overtime pay, minus its break
Requested overtime comes from requests. An overtime request is one for an activity tagged as overtime pay, or one that files an overtime window. Cancelled requests are left out. Declined and pending ones are counted as filed.
Only employees with some worked overtime in the range appear in the table.
The summary figures
| Figure | What it shows |
|---|---|
| Employees with OT | People with worked overtime in the range, out of the active employees your filters cover |
| OT hours worked | Total worked overtime, including night-differential overtime |
| OT hours requested | Total hours on overtime requests, with how many were filed and how many approved |
| Avg OT per Employee | OT hours worked ÷ employees with OT, with the highest one person's total |
The By employee table
| Column | What it shows |
|---|---|
| Employee | Name, position and department |
| Actual OT (h) | Overtime hours recorded on check-ins, plus overtime-pay events |
| OT + Night Diff (h) | Night-differential overtime hours recorded on check-ins |
| OT worked (h) | The two added together |
| Avg OT per filing (h) | OT worked ÷ requests filed. Blank when nothing was filed |
| Requests | Overtime requests filed |
| Approved, Pending, Declined | Those requests by status |
| OT requested (h) | Hours on those requests |
The Total row at the bottom adds up every column for everyone listed.
The export has the same figures with Employee ID, Subsidiary, Department, Position and Branch, and headed by your company name and the date range.
What Happens Next
The report only reads data. Nothing changes when you open it.
How overtime is paid is set in your attendance and payroll settings, not here. What the report should produce is a short list of questions:
- OT worked far above OT requested → people are staying late without asking. Decide whether that time should be requested and approved before payroll pays it.
- Many requests declined → the rules or the staffing may not match the workload.
- One person far above the rest (the highest figure) → a workload or wellbeing conversation, not only a cost one.
- A rising trend → check whether a team is understaffed before it becomes permanent.
Tips
- Compare worked and requested, not either alone. The gap between them is the signal.
- Use Last Month at month end. Run it after the month closes, before payroll, so you see the finished picture.
- Use Monthly in the trend graph for long ranges. Weekly is easier to read for 30 days, Monthly for 90.
- Export before you change overtime rules. It gives you a baseline to compare against afterwards.
Troubleshooting / FAQ
Q: Someone did overtime but is not in the table. They appear only if a check-in recorded overtime, or they worked an overtime-pay event, in the range. Overtime that was requested but never worked does not put someone in the table. Check their days in the Timesheet.
Q: Requested hours are higher than worked hours. Requests count what was filed, including pending and declined ones. Worked hours count only what the check-ins recorded.
Q: Avg OT per filing is blank. The person filed no overtime requests in the range.
Q: I selected a row and the Timesheet shows everyone. The row opens the Timesheet for the same dates, not for that person. Search for them on the Timesheet.