KangarooClock

← Blog

Gross Hours vs Payroll Hours: Why Totals Differ

· 5 min read

A cook clocks in at 10:00 a.m. and clocks out at 7:00 p.m. Your report says 9 hours. But she took a 45 minute lunch and a 15 minute smoke break, so the hours you actually pay are 8. You stare at the 9 and wonder where the other hour went, or worse, you run payroll off the 9 and pay for time nobody worked.

That 9 is the gross hours figure. The 8 is the payroll figure. They are both correct. They just answer different questions, and the day they stop matching is the day you need to know which one you are looking at.

What gross hours actually count

Gross hours are clock-out minus clock-in, nothing taken out. If someone is on the clock from 10:00 to 7:00, that is 9 hours of gross time, full stop. It counts every minute between the two stamps, including breaks, including the ten minutes she spent on the phone, including the time she was clocked in but not doing much.

Think of it as the raw span. A time entry starts when a worker taps their name and ends when they tap out. The difference between those two moments is the gross figure. No judgment, no deductions, just arithmetic on two timestamps. If you want the full definition and a worked example, the entry on gross hours in the glossary lays it out.

Most time tracking shows you this number first because it is the one the system can compute on its own. It does not know your lunch policy. It only knows when the clock-in happened and when the clock-out happened.

What gets subtracted to reach payroll hours

Payroll hours are what is left after you take out the time you do not pay for. For most teams that means breaks, and the big one is lunch.

Say your shop runs a 30 minute unpaid lunch. A worker on from 9:00 to 5:00 has 8 gross hours. Subtract the half hour and you get 7.5 payroll hours. That half hour is the whole gap. Do it for six people across a week and you are looking at 15 hours you would have overpaid if you had used the gross number.

Other things can come out too, depending on how you run:

  • Unpaid rest breaks longer than a few minutes.
  • Time rounded off at the start or end of a shift, if you round.
  • Any span a worker was clocked in but off the clock by your rules, like a long personal errand.

Whatever your rules, the pattern is the same: start with gross, subtract what your policy says is unpaid, and the remainder is payroll hours. If you want to do the lunch math quickly, the lunch-break time calculator does the subtraction for one shift, and the payroll hours converter flips between HH:MM and the decimal format most payroll systems want.

Reading both numbers without getting burned

Here is the rule that keeps you out of trouble: gross hours is what you report, payroll hours is what you pay. Mixing them up costs real money in one direction and a grant finding in the other.

For a grant report or a volunteer log, gross hours is usually the right number. A nonprofit reporting volunteer time to a funder wants the full span someone was present and on the clock, not a figure with breaks stripped out. Volunteers are not on a payroll, so there is nothing to subtract. The gross total is the honest answer.

For paying people, you want payroll hours, because paying for lunch you do not owe adds up fast. The difference between the two totals is exactly your break time, so if gross says 320 hours for the pay period and payroll says 305, that 15 hour gap should match your break policy. If it does not, something is off, probably a forgotten clock-out.

The forgotten clock-out that quietly inflates everything

The sneakiest way gross hours balloon has nothing to do with breaks. Someone forgets to clock out. They leave at 3:00, the entry stays open, and by the time you look it reads 14 hours because the clock kept running overnight. Now your gross number is garbage and your payroll number built on top of it is worse.

Kangaroo Clock handles this with auto-close for forgotten clock-outs. A stale open entry gets closed at its start time plus a cutoff you set, never at the current time. So a shift someone forgot to end never turns into a 14 hour monster. The reported total stays honest even when a worker walks out without tapping out.

That matters because gross hours are only trustworthy if the two timestamps are real. Clean clock-out data is the whole foundation. Fix the inputs and both your gross and payroll totals come out right the first time.

Where to go from here

When you export your hours, you get both pieces: every entry with its start, end, and gross duration, plus a distinct-worker count, in a stable CSV schema that does not break between runs. You subtract breaks in your payroll step, or you report gross straight through for grants and volunteer logs. The data is the same either way; you just choose which total the situation calls for.

If you track hours for a team that does not clock in with logins or apps, you can start a free workspace and see both numbers on your own shifts for the first 500 hours before anything costs you a dollar.

Tags: hours, reporting, payroll, time tracking

See it in your own setup

No signup needed. Add a few names, share a kiosk URL, watch hours land.

Try the demo →