All posts

How to Track Hours for a Cleaning Business (2026 Guide)

11 min read

How to Track Hours for a Cleaning Business (2026 Guide)

The short answer: The most reliable way to track hours for a cleaning business is a mobile time-tracking app with GPS-verified punch-in at each property, the option to pay by the visit or by the hour, offline support for buildings with no signal, a weekly approval step before payroll, and automatic overtime. Punch is built for exactly this kind of multi-site field team.

Cleaning is a moving target. A crew might hit four houses before lunch, a maid service might pay a flat rate per home, and a janitorial team might cover an office park after hours where the cell signal drops to nothing. The hours those crews log drive payroll and tell you whether a recurring account is still priced right. Paper logs and group texts cannot keep up.

The U.S. janitorial services market was roughly 110 billion dollars in 2025 across about 1.25 million businesses, and the average cleaning business employs only a couple of people. Most owners in this category are running a small crew across many addresses, which is precisely the situation generic time clocks handle worst.


Why Spreadsheets and Texts Fail Cleaning Crews

The usual ways a cleaning company tracks time break down in four predictable places.

  1. No location proof. A handwritten log says a cleaner was at the Henderson account from 9 to 11. It cannot show they were actually there.
  2. Buddy punching. One crew member logs hours for another who ran late or left early, and on a thin margin that quietly eats your profit.
  3. Rounding drift. Hand-totaling in-and-out times across five houses a day inflates payroll a few minutes at a time, every week, all year.
  4. No per-property breakdown. When hours from every account land in one lump, you cannot tell which recurring client is running long and dragging down its own margin.

A mobile time-tracking app with geofenced punch-in and per-site attribution closes all four.


Geofenced Punch-In at Every Property

A geofenced punch-in uses the phone's GPS to confirm a cleaner is physically within a set radius of the property before the punch counts. You set each account's address and radius in the app, and the app checks the cleaner's location before recording the punch.

Geofencing applies to punch-in only. Your crew can punch out, start lunch, and end lunch from anywhere. Nobody should be locked out of ending their day because GPS could not get a fix inside a concrete stairwell. Punch follows this model exactly: location verification on punch-in, unrestricted punch-out and lunch transitions.

Radius is set per property. A tight radius suits a single home; a wider one fits an office park or a multi-building campus. Geofencing is turned on per organization, so a crew on a trust-based arrangement can leave it off and still get every other feature.

One thing Punch deliberately does not do: it never asks a cleaner to snap a selfie to punch in. A job-site geofence verifies the shift without putting a camera in your crew's face. For people cleaning private homes, that distinction matters.


Pay by the Visit or by the Hour

This is where cleaning businesses split from most other field work, and where most time clocks force an awkward fit. A lot of cleaning companies do not pay by the hour at all. A maid service pays a flat rate per home. A move-out cleaning gets a set price. The crew prices the job, not the clock.

Punch supports both models. You can pay a cleaner an hourly rate, or set a per-location rate so each completed visit pays a fixed amount, with the hours still tracked to the minute underneath. That means you get a flat per-house payout for the crew and an accurate record of how long the house actually took, on the same shift. When a recurring account starts running thirty minutes longer than it did six months ago, the numbers tell you before the margin disappears.

For mixed teams, you are not forced to pick one model for everyone. A daytime residential crew can be on per-visit pay while an overnight janitorial cleaner is hourly, in the same organization.


Many Properties in One Day: Keeping the Hours Straight

A crew that cleans four houses in a day needs four buckets of hours, not one. There are two clean ways to handle it.

Punch out and back in at each stop. When the crew finishes one home and drives to the next, they punch out and punch in again at the new address. Each becomes its own shift, tagged to that property. The account name shows on every timesheet row, so your weekly review reads like a route sheet.

Split a single shift after the fact. If a cleaner forgot to re-punch and logged one long shift across two homes, a manager can split that shift into separate sub-shifts later, each with its own property and time range. The hours land against the right account without anyone reconstructing them from memory.

Either way, every hour is attributed to a specific job. When you quote the next move-out of the same size, you are working from real numbers.


Buildings Without Cell Service

Basements, freight elevators, interior offices, and rural properties all produce signal gaps. If your app needs a live connection for every punch, the cleaner cannot punch out when they finish, and they will rebuild the time later from memory. That is the rounding problem all over again, and the punch-out is the punch that matters most because it sets the paid hours.

Look for an app that queues actions offline and syncs when signal returns. With Punch, punch-out, lunch start, and lunch end are queued locally when there is no network and flushed automatically when the phone reconnects. The recorded timestamp is the moment the cleaner tapped the button, not the moment the server finally heard about it.


The Weekly Approval Workflow

Raw punches are not payroll. Before you run it, a manager or owner reviews each cleaner's hours and approves or rejects individual shifts.

  1. Crew punches in and out across the week, property by property.
  2. Shifts land as pending in the manager's approval queue.
  3. Manager reviews each shift: the account, the hours, the lunch.
  4. Manager approves or rejects. A rejection can carry a reason the cleaner sees in the app.
  5. Approved shifts get marked paid when payroll runs.

Every shift ends with a status, a reviewer, and a timestamp. If a cleaner disputes a check, you have the record. Punch gives managers a full approvals queue to work the week, approve a whole pay period in bulk, or open a single shift to see exact punch times and the property it was logged against.


Overtime, Done Automatically

Cleaning and janitorial workers are generally non-exempt under the Fair Labor Standards Act, which means they are entitled to overtime. Federal law requires 1.5 times the regular rate for hours over 40 in a single workweek. Some states layer daily overtime on top: California, for example, requires 1.5 times for hours over 8 in a day and 2 times for hours over 12, on top of the federal weekly rule. Where state and federal minimums differ, the higher one applies.

Long weeks sneak up on cleaning crews. A deep-clean push or a one-off commercial contract can run a cleaner past 40 before anyone is watching. Your app should calculate overtime automatically so you see the breakdown before payroll runs, not after a wage complaint. Punch applies overtime presets across Federal, California, and 50 countries, showing regular, overtime, and double-time hours per cleaner per pay period.


A Shared iPad for Crews Without Smartphones

Not every cleaner carries a smartphone, and not every owner wants to require one. For a crew that checks in at a central spot, a single shared iPad can run as a punch-in station. Each person taps their name and enters their own PIN. The PIN is the point: it ties the punch to one individual, so a shared device does not become a free pass for buddy punching.

For crews in the field all day, the phone-based punch is the better fit. Both run on the same plan, so you can mix them: a kiosk at the shop and phones on the route.


Exporting Hours for Payroll

After approval, the hours need to reach your payroll system. From Punch you can export a weekly or biweekly file with cleaner name, date, net hours, property, and description. If you run QuickBooks Online, Punch connects directly and pushes a whole pay period of approved hours to your books in a click, no spreadsheet and no re-entry. There is a Square integration for teams that run payroll there, plus a QuickBooks-formatted CSV for everyone else. Because every row carries the property, that same export doubles as a record of how many hours went into each account.


What This Costs

Most time clock apps bill per employee per month, so the price climbs every time you hire a cleaner. Punch is priced flat per organization. Owners are always free, and every plan includes every feature, so geofencing, per-visit pay, overtime, and the integrations are never locked behind a higher tier. Plans differ only by how many active cleaners are punching in. For a business with turnover and seasonal swings, a predictable flat rate beats a bill that moves with the roster.


Frequently Asked Questions

What is the best time-tracking app for a cleaning business?

The best one offers GPS-verified punch-in at each property, the choice of paying by the visit or by the hour, offline support for buildings without signal, a manager approval workflow, and automatic overtime. Apps built for field crews, rather than office staff, handle the location, connectivity, and multi-site realities of cleaning work.

Can I pay cleaners a flat rate per house instead of by the hour?

Yes. Punch supports per-location pay, where each completed visit pays a set rate while the hours are still tracked to the minute. You get the flat payout your pricing is built on and an accurate record of how long each home actually took.

How do I track which property the hours went to when a crew cleans several in a day?

Tag each shift to a property. When a cleaner punches out at one home and in at the next, each block of hours is attributed to its own account and shows that way on the timesheet. If someone logs one long shift across two homes by mistake, a manager can split it into separate sub-shifts afterward.

Can cleaners punch in without cell service?

Punch-out, lunch start, and lunch end are queued offline and sync when the phone reconnects, with timestamps reflecting the real moment of the tap. Punch-in itself needs a connection so the geofence can verify the cleaner is at the property.

Does Punch require employees to take a photo to punch in?

No. Punch verifies a shift with a job-site geofence, never a camera in your crew's face. For people working inside private homes, that is a deliberate privacy choice.

Do I pay extra for more properties or accounts?

No. Properties are a configuration feature, not a billing unit. Add as many as you have active accounts, each with its own address and geofence radius. Plans differ only by how many active cleaners punch in.


Getting Started

Setting up Punch for a cleaning crew takes about fifteen minutes:

  1. Create your organization and invite your crew by email or join code.
  2. Add your active accounts as job sites, each with an address and geofence radius.
  3. Choose hourly or per-visit pay for each cleaner.
  4. Set your overtime preset and pick weekly or biweekly pay periods.
  5. Your crew downloads the app and punches in at the first property.

The 14-day free trial starts at signup, no credit card required. Every plan includes every feature, so you are never locked out of geofencing, per-visit pay, or overtime on a smaller crew.

Start tracking your cleaning crew's hours →

More from the blog