Introducing Xota — your scheduling just got easier. Learn more →
Learn / Cleaning Company Payroll

How to Run Cleaning Company Payroll

Payroll is one of the few places a cleaning business loses money without anyone noticing. This guide walks through how to run cleaning company payroll properly, from the clocked hours and travel time that feed into it, to the absence rules that change the numbers every week.

9 min read · Updated July 2026

Why cleaning company payroll is fiddly

Most payroll software is built for a business where everyone clocks in at nine and clocks out at five. Cleaning does not work that way. A single operative might do two hours at an office block at six in the morning, three hours at a school at three in the afternoon, and a gap in between that is not paid at all. Multiply that by a team working across a dozen sites, on different days of the week, and the hours stop looking like a tidy spreadsheet.

Split shifts are only part of it. Travel between sites is sometimes paid and sometimes not, depending on company policy. Holiday and sickness both need to be recorded separately from worked hours, and both change how much a person is owed for the period. Some jobs, a compliance clean or a one-off deep clean, may carry a different rate to a routine general clean on the same rota.

The result is that "doing payroll" for a cleaning business really means pulling together several different sources every week: the rota, whatever was actually worked on the day, absence requests, and any manual corrections, then reconciling them by hand. Get the source data right and the rest is arithmetic. Get it wrong and you are either underpaying someone, which causes a grievance, or overpaying them, which nobody flags. Fixing the rota with proper cleaning company rota software is the first step, because payroll can only ever be as accurate as the schedule it is built from.

Getting the hours right at the source

A payroll run is only as good as the hours it starts with, and a paper timesheet or a text message saying "started at 8" is a guess, not a record. The reliable version is a clock-in and clock-out logged from the site itself, tied to the specific booking someone is on. That is what the Xota operative app does: cleaners clock in when they arrive and clock out when they leave, from their phone, and that time is what feeds through to hours and payroll rather than a self-reported timesheet filled in at the end of the week.

Because the clock-in is tied to a booking on the schedule, a late arrival or a job that overran shows up straight away rather than surfacing as a mystery three hours short at month end. Photo proof and a checklist at completion give the same visibility on quality as the clock-in gives on time, so admins are not chasing either after the fact.

Morning, Heidi
Operative
02:41:07
Cityline Annex
Clock out
Up next
Harbour Clinic
14:00–16:00

Handling holiday and sickness

Holiday is paid at the team member's normal rate against their entitlement, and sickness is recorded against the company's own sick pay policy, so the two need to be treated differently the moment they are logged rather than sorted out at the end of the pay period. In Xota, both sit on the same schedule as bookings: an operative requests time off from their phone, an admin approves it on the web or mobile, and it appears on the calendar immediately, in the same place travel time and bookings do.

That matters for payroll because the record is already complete by the time the run happens. There is no spreadsheet of who was off to reconstruct after the fact, no chasing a supervisor to confirm someone actually took the Friday off. The HR and attendance side of Xota handles entitlement, the working week and bank holidays so the days that should count as leave are the days that do, and payroll draws on that same approved record rather than a second version of the truth.

Absences This period
Team member Type Dates Days
HC Heidi Carter
Holiday
14 Jul
1.0d
Approved
MC Maya Collins
Sickness
15 Jul
1.0d
Approved

Travel time: paid or not paid?

Policies vary from one cleaning company to the next. Some pay for the time spent driving between sites during the working day but not the commute from home to the first job. Others pay a flat travel allowance regardless of distance. Whichever rule a company applies, it only works if the travel time is actually recorded rather than estimated after the event.

Xota schedules travel time as its own item on the calendar, sitting between bookings with a recorded duration and distance, separate from the time spent working on a job. That gives a clean line between "worked" and "travelled" for whichever companies choose to pay travel between sites, so it can be included, or excluded, in the hours that reach the payroll run without a manual adjustment each week.

Casey · Wednesday
08:00–10:00 Riverside Offices General
Travel 25m · 9mi
10:30–12:00 Weston Hall General

From hours to a cleaning company payroll run

Once bookings for the period are signed off, with the photo and signature captured on completion, and any absence for the same window is approved, the hours for that pay period are complete. That is the point at which Xota calculates a payroll run in-app: it resolves the correct hourly rate for each team member, adds together worked hours from clock-ins, approved holiday and sickness, and travel time where a company pays it, and produces gross pay per person for the period, viewed directly in the app rather than in a separate spreadsheet.

Xota does not currently export payroll as a CSV or a payslip, and it does not sync directly with Xero, QuickBooks, Sage or any other accounting package. A public REST API is available for teams who want to build their own connection, and direct accounting integrations are on the roadmap. Most cleaning companies using Xota today calculate payroll in-app and hand the figures to their bookkeeper or accountant from there. Invoicing runs on the same signed-off bookings but is a separate step, handled in the Finance module rather than the payroll run itself.

If wages are the part of running a cleaning company that eats the most admin hours each week, it is worth looking at what payroll software built for cleaning companies actually needs to do differently to generic HR tools, and checking it against your team size on pricing.

Xota Xota
Hours
Payroll runs
Rates
J
Team members
18
Total hours
612.5
Gross pay
Heidi Carter
32.5h worked
1.0d holiday
£409.50
Casey Reid
36.0h worked
1.5h travel
£448.88
Maya Collins
28.0h worked
1.0d sickness
£356.00

Cleaning company payroll FAQs

Straight answers to the questions cleaning business owners ask about running payroll.

What does Xota calculate for cleaning company payroll?

Xota calculates a payroll run in-app from clocked hours, approved absence and travel time, resolving the correct hourly rate for each team member and producing gross pay per person for the period. Nothing needs to be re-typed from a separate timesheet.

Can Xota export payroll to Xero, QuickBooks or Sage?

No. Xota calculates payroll in-app but does not currently export to Xero, QuickBooks, Sage or any other accounting software, and there is no CSV or payslip export. A public REST API is available for teams who want to build their own connection, and direct accounting integrations are on the roadmap.

Does travel time count towards payroll hours?

It can. Travel time between bookings is scheduled as its own item with a recorded duration, separate from the booking itself, so companies that pay for travel between sites can include it in the hours that feed the payroll run.

How does holiday and sickness affect a cleaning company payroll run?

Approved holiday and sickness sit on the same schedule as bookings, so by the time payroll is run the absence for the period is already recorded and approved rather than chased up afterwards. Pay for absence follows the company's own holiday entitlement and sickness policy.

How often should a cleaning company run payroll?

Most UK cleaning companies run payroll weekly or four-weekly, matching how operatives are paid and how often bookings are signed off. Xota calculates a run for whatever period you choose, based on the hours completed in that window.

Stop rebuilding payroll from three spreadsheets

Clocked hours, approved absence and travel time, calculated into a payroll run automatically. Start your 90-day free trial of everything. No credit card, cancel any time.