Punch to paycheck
How to Calculate Gross Pay From a Time Card
Five punch times in, one gross figure out. This page walks the whole chain in order — break comes off first, the days are added, the week is tested against the overtime threshold, any rounding rule is applied on the way, and only then is money put on it. The worked example below ends at $843.50 for a week of 41:27 at $20.00 an hour. Every number on this page was read back off the time card calculator on this site, not worked out on paper.
The chain, in order
Most explanations of gross pay start with a number of hours that somebody already worked out. That skips the part people actually get wrong. Here is the whole sequence, and the order matters because a change at step 2 or step 5 changes the amount at step 6.
- Read the punches. A start time and an end time per day, in 24-hour form. An end earlier than the start is read as crossing midnight, so 22:00 to 06:00 is eight hours, not a negative one.
- Take the unpaid break off. The break is entered in minutes and subtracted from each day before anything else happens. This is the step that quietly changes the answer.
- Add the days into a week. The weekly total is the sum of the daily remainders.
- Apply the rounding rule, if there is one. Rounding is applied per day, after the break, so it is a separate grid laid over the day — not a tidy-up applied to the week at the end.
- Test the week against the threshold. Everything strictly above 40 hours is overtime. A week at exactly 40:00 has none.
- Put money on the two piles. Regular hours at the hourly rate, overtime hours at the rate times the multiplier.
Steps 2 and 4 are the ones that are missing from almost every explanation of gross pay you will find, and they are the ones that move the number. Everything below is that same chain, with the intermediate figures printed at each stage.
Five real punch times
Here is one week of a person who clocks in at nine and leaves at various times between five and half past, taking half an hour of unpaid lunch each day.
Read across the Monday row and you can see the whole problem with starting at "hours worked". The clock says 8:30. The timesheet says 8:00. The 30 minutes in between is lunch, and it is unpaid. Do that five times and the week loses 2:30 — the difference between 40:50 of clock span and 38:20 of paid time.
Step 1: get the day, then the week
The five daily remainders add up to the weekly total. That is the only place the week comes from — there is no separate weekly measurement.
Adding the week
Monday 8:00
Tuesday 7:45
Wednesday 7:30
Thursday 7:35
Friday 7:30
38:20 for the week · 38.33 decimal hours
To turn 38:20 into the decimal figure a payroll system wants: 38 hours plus 20 minutes, and 20 minutes is 20/60 = 0.33 of an hour, giving 38.33. The decimal number is printed alongside the hours-and-minutes total for exactly this reason.
Step 2: test the week against the threshold
Overtime is the time strictly above the threshold. At a 40-hour threshold, 38:20 has not reached it, so the whole week is regular time.
Where 38:20 sits against a 40-hour threshold
Weekly total 38:20
Threshold 40:00
Overtime none — the week is 1:40 short
38:20 regular · 0:00 overtime
The boundary is exact, and it is worth seeing how exact. Extend one day by a single minute so the week reaches 40:01 and the answer changes: the site reports 40:00 regular and 0:01 of overtime. One minute over the line pays a little more than the same minute inside the line, which is what the next step is about.
Fifty cents for sixty seconds, because that minute is paid at one and a half times the rate. The same minute placed anywhere in the first forty hours is worth $0.33. Nothing about the minute changed except which side of the threshold it landed on.
Step 3: put money on it
Gross pay is the regular hours at the rate, plus the overtime hours at the rate times the multiplier. The worked week of 38:20 has no overtime, so it is a single multiplication.
38:20 at $20.00 an hour
38 hours × $20.00 = $760.00
20 min = 20/60 h = 0.33 h × $20.00 = $6.67
Overtime: none
$766.67
The site prints $766.67 for that week, which is $760.00 plus the 0.33 of an hour at twenty dollars. Nothing was rounded off by hand — the decimal hour and the money both come straight off the calculator.
A week that does cross the line
The first example stops short of the threshold, which makes the overtime half of the formula invisible. Here is a second week that crosses it, so both parts of the calculation are doing something. The punches are staggered on purpose so the days are not all the same length.
Friday carries a full hour of unpaid break rather than half, which is why its clock span of 9:38 becomes 8:38. The week totals 41:27, so for the first time there is something above the threshold.
41:27 at $20.00, threshold 40, multiplier 1.5
Regular: 40.00 h × $20.00 = $800.00
Overtime: 1.45 h × $20.00 × 1.5 = $43.50
$800.00 + $43.50 = $843.50
The site reports $843.50 for this week. Note that the 87 minutes above the threshold are 1.45 decimal hours, and that figure is computed from the weekly total rather than by adding five daily decimals together — those two methods give different answers once minutes do not divide evenly by sixty.
Where the rate enters, and where it does not
The hourly rate only touches the last step. Change the rate on the same 41:27 week and the hours, the split and the overtime percentage are all identical; only the money moves.
The middle column does not move at all. That is the point: if you are checking a payslip and only the money looks wrong, the rate is the place to look; if the hours look wrong, the rate is not your problem.
Where the rounding rule enters
If the employer rounds punches, that happens per day, after the break, and it changes the weekly total before the threshold test. The same five punch times from the first table come out differently depending on the rule, and the first thing to notice is that a rounding rule is not simply generous or stingy.
Five identical time cards, five different gross figures, a $5.00 spread. The coarsest rule, 15 minutes, happens to be the one that pays least on this particular card — but that is a property of where these punches fall, not of the rule. Tuesday ends at 16:37, which is 2 minutes past a quarter-hour mark at 16:30 and 13 minutes short of 16:45, so a 15-minute rule pulls it back; the same 16:37 under a 10-minute rule at 16:40 pays more. A rounding rule is a grid, and your card either sits on the generous side of it or it does not.
Reading a payslip backwards through the chain
The chain works in both directions, which is what makes it useful for checking a figure you have been given. Work backwards from the gross on the payslip and each step has to reconcile.
- Divide the gross by the rate. If $843.50 came with a $20.00 rate and a 1.5 multiplier, the paid hours must be 41.45 decimal, because $800.00 covers the first 40 and the remaining $43.50 is 87 minutes at thirty dollars an hour.
- Compare that to the card. 41:27 on the card matches. If it did not, the gap is the hours, not the rate.
- Ask which rounding rule was used. A card of 41:27 that was rounded is a different card from one that was not, and the payslip alone will not tell you which.
- Check whether the break actually came off. If the paid hours look high by 30 minutes a day, the unpaid break was probably not applied.
Each of those checks maps onto one step of the chain near the top of this page, which is the argument for keeping the steps separate in the first place.
The formula, written out
For a week with no daily overtime rule, everything above reduces to this:
The whole chain as one expression
paidday = (out − in) − breakday
week = Σ round(paidday)
regular = min(week, threshold)
overtime = max(week − threshold, 0)
gross = regular × rate + overtime × rate × multiplier
Four inputs, four lines, one result. Break and round are the two terms that most gross-pay explanations leave out, and they are the two that a person checking their own payslip most often needs.
What to do with this
- Enter your actual punches, not your remembered hours. The whole chain starts at the clock, and the clock is where the errors are.
- Enter the break before you read anything else. It comes off first, and it changes both the weekly total and whether the week crosses the threshold.
- Check which rounding rule applies, and try the others. Running the same card at two settings is the fastest way to see what your own pattern of punches does under a grid.
- Set the threshold and multiplier. A 40-hour threshold with a 1.5 multiplier is the common case, but both are inputs and both move the result.
- Compare the gross to the payslip. If they disagree, work backwards through the chain above rather than adjusting by hand until the numbers meet.