Sign in
Blog · Time and pay

How to Calculate Hours Worked With Unpaid Breaks (Including Overnight Shifts)

30 October 2026 · The Rosterly team · 4 min read
To calculate hours worked with unpaid breaks, subtract the start time from the finish time, then subtract any unpaid break. If the shift ends after midnight, add 24 hours to the finish time first. A 5:00pm to 1:30am shift with a 30-minute unpaid break is 8.5 hours minus 0.5, so 8 paid hours. Convert minutes to decimals by dividing by 60. Paid hours are the base of every pay run and every labour cost number, yet they're often worked out by hand on a calculator at the end of the week. Here's the method, including the two parts people get wrong: overnight shifts and breaks.

The formula

Paid hours = (Finish time − Start time) − Unpaid break
If the finish time is earlier than the start time, the shift crosses midnight: add 24 hours to the finish.
Work in hours and decimal hours, not hours and minutes, so the arithmetic stays simple.

Step 1: Convert times to decimal hours

Divide the minutes by 60:
9:00am
Decimal hours: 9.00
9:15am
Decimal hours: 9.25
9:30am
Decimal hours: 9.50
9:45am
Decimal hours: 9.75
1:20pm
Decimal hours: 13.33
5:00pm
Decimal hours: 17.00
Use the 24-hour clock: 5:00pm is 17.00.

Step 2: Subtract start from finish

A 9:15am to 5:45pm shift is 17.75 − 9.25 = 8.5 hours on the premises.

Step 3: Handle overnight shifts

If the finish time is smaller than the start time, the shift crossed midnight. Add 24 to the finish time before subtracting.
A 10:00pm to 6:30am shift: (6.5 + 24) − 22 = 8.5 hours.
This is the most common mistake in spreadsheet rosters: a negative number, or a shift that "lasts" minus 15.5 hours.

Step 4: Subtract unpaid breaks

Take away only the unpaid break time. Whether a break is paid depends on where you are and the employment terms:
•
United States: the Department of Labor says short breaks of about 5 to 20 minutes are paid work time, while bona fide meal periods, typically 30 minutes or more, aren't work time.
•
United Kingdom: GOV.UK says workers who work more than six hours are entitled to one uninterrupted 20-minute break, and whether it's paid depends on the contract.
•
Australia: breaks and whether they're paid are set by the award or agreement.
So an 8.5-hour shift with a 30-minute unpaid meal break is 8 paid hours.

Worked examples

Breakfast
Start: 6:30am (6.5)
Finish: 2:00pm (14.0)
On premises: 7.5
Unpaid break: 0.5
Paid hours: 7.0
Split day
Start: 11:00am (11.0)
Finish: 3:15pm (15.25)
On premises: 4.25
Unpaid break: 0
Paid hours: 4.25
Close
Start: 5:00pm (17.0)
Finish: 1:30am (1.5 + 24)
On premises: 8.5
Unpaid break: 0.5
Paid hours: 8.0
Night
Start: 10:00pm (22.0)
Finish: 6:30am (6.5 + 24)
On premises: 8.5
Unpaid break: 0.5
Paid hours: 8.0

In a spreadsheet

If start time is in B2, finish in C2 and the unpaid break in minutes in D2, this Excel or Google Sheets formula handles overnight shifts:
Paid hours = MOD(C2 − B2, 1) × 24 − D2 ÷ 60
MOD wraps a negative difference past midnight; format the cell as a number, not a time.
Our free staff roster template already includes this formula and totals hours per person.

Common mistakes to check for

•
Adding minutes as decimals. 7 hours 45 minutes is 7.75 hours, not 7.45. Always divide minutes by 60.
•
Forgetting the midnight wrap. Any shift that finishes "earlier" than it started has crossed midnight.
•
Subtracting paid breaks. Only unpaid breaks come off. A paid 10-minute rest break stays in paid time.
•
Using rostered instead of actual times. Pay is based on time worked. Use clock-in and clock-out times, corrected and approved.
•
Mixing up weeks. If overtime applies by week, the hours must be totalled for the same fixed workweek every time.
•
Summing times as clock values. In a spreadsheet, a total over 24 hours can "wrap" to a small number if the cell is formatted as a time. Format totals as numbers.

Rounding: be careful

Some businesses round clock times to the nearest 5 or 15 minutes. If you do:
•
round both ways, not only in the employer's favour
•
apply the same rule to everyone
•
check whether rounding is allowed under your local rules
Many teams now skip rounding entirely and pay exact minutes from a time clock.
Let the time clock do the maths
In Rosterly, paid time is worked out from clock-in to clock-out, with unpaid breaks removed automatically. 14-day free trial, no card needed.

From hours to cost

Once you have paid hours, multiply by each person's rate, add on-costs and divide by sales to get your labour cost percentage. Our labour cost percentage guide has a calculator.

How Rosterly calculates hours

In Rosterly, staff clock in and out with one tap. Paid time runs from clock-in to clock-out on server time, so phone clocks can't change it, and unpaid breaks are excluded automatically. Overnight shifts are handled without any special formula.
Managers correct missed clock-outs with a reason, approve timesheets, and export approved hours to CSV with base-rate estimates. Penalty rates, overtime and tax are still applied by your payroll provider. For teams across many sites, see scheduling for commercial cleaning crews, and our post on why the roster and time clock belong together.

Frequently asked questions

Roster to your target, not your gut.
See the week’s base-wage estimate while you build. 14-day free trial, no card needed.
Sources
US Department of Labor: Breaks and meal periodsGOV.UK: Rest breaks at work
This article is general information, not tax, payroll or legal advice. Rates change; check the official sources and your accountant.
Rosterly on your Android phone
GET IT ON
Google Play
HomeIndustriesCompareGuidesBlogDemoAndroid appTermsPrivacy policyContact us · hello@blumint.com.au
© 2026 Rosterly
Google Play and the Google Play logo are trademarks of Google LLC.