The hours don't add up when I run payroll
Mismatched totals usually trace to open entries inflating time, time-zone confusion on the display, or minute-to-decimal rounding. Check those three before anything else.
You pulled an hours report, ran it against what you expected, and the numbers do not match. Before assuming the data is wrong, check the three things that cause almost every mismatch.
1. Open entries are inflating totals
An entry with no clock-out keeps counting. One forgotten shift can add double-digit hours to a person's total. Open More tools → Needs review and the dashboard live view to spot anyone still on the clock who should not be, then fix it. See forgotten clock-outs for the auto-close setting that prevents this.
2. Time zones
Kangaroo Clock stores every timestamp in UTC and converts to your workspace time zone for display. If a shift looks shifted by several hours, confirm your workspace time zone in Settings is the one your team actually works in. The CSV gives you both the local and the UTC timestamp for every entry so you can always see exactly what was recorded.
3. Minute-to-decimal rounding
Payroll runs on decimal hours, not hours and minutes. 1 hour 20 minutes is 1.33 hours, not 1.20. If you are eyeballing the clock times and converting in your head, that is where the drift comes from. The CSV's duration_hours column is already in decimal, computed from the exact seconds, so use that column rather than re-deriving it. Our minutes to decimal hours table shows the conversions if you need to check by hand.
4. The range or a filter is hiding rows
Confirm the report's date range covers the whole pay period and that no worker, group, or tag filter is silently narrowing the results. Clear the filters and re-run the totals.
Once those four are clean, the report and payroll line up. Try a sample export in the demo.
See it in your own setup
No signup needed. Add a few names, share a kiosk URL, watch hours land clean.
Related fixes