Automate Payroll With Cleaning Clock-In Times: Punches Aren't Hours

Turn raw GPS punches into a payroll file you can defend: clock-in windows, exception thresholds, weighted-average overtime, and a 10-minute nightly review.

CleanTrack360 Team
June 25, 202612 min readUpdated August 1, 2026

Most cleaning owners buy a clock-in app expecting payroll to shrink from a Sunday afternoon to a five-minute export.

The export really does take five minutes. It is the ninety minutes of fixing punches before the export that nobody warned you about, and no software removes that work until you decide, in writing, what a punch is allowed to become.

Automating cleaning payroll means turning raw GPS punches into payable hours using written rules: a clock-in window, unpaid break handling, an exception queue for missed punches, weighted-average overtime across sites, and a supervisor approval step before export. The software does the arithmetic. Your policy decides what it counts.

Below are the four beliefs that keep janitorial payroll manual, and what actually holds instead.


Myth 1: "Once the crew clocks in on their phones, payroll runs itself"

A punch is an event: a timestamp, a coordinate, a user ID. A payable hour is a calculated result. Everything between those two things is policy, and if you have not written the policy, someone on your team is inventing it every Friday.

Before any system can run unattended, you have to answer these questions once and then never re-litigate them:

  • Clock-in window: How early can a cleaner punch in before the scheduled start? Five minutes? Fifteen? What happens to the extra time?
  • Missed clock-out: Does the shift auto-close at the scheduled end time, at a maximum shift length, or does it sit in a queue until a supervisor fixes it?
  • Breaks: Under the FLSA, short rest breaks of roughly 5 to 20 minutes are compensable, while a bona fide meal period of 30 minutes or more, fully relieved of duty, is generally unpaid. Most 4-hour night routes never trigger a meal period. Your 8-hour day porters do.
  • Travel: Home to first site is not compensable. Site to site during the workday is.
  • Who approves: One named person per week, with a deadline that sits before your payroll provider's cutoff, not on it.
Source: U.S. Department of Labor, 29 CFR 785.18 and 785.19 (rest and meal periods); 29 CFR 785.38 (travel that is all in the day's work).

The early clock-in leak, with real arithmetic

Take Meridian Office Park: a 6-person crew, Monday through Friday, scheduled 5:30 pm to 10:00 pm. The crew carpools and arrives early, so everyone punches in at about 5:22 pm.

That is 8 minutes per person per night. Multiply: 8 minutes x 6 people x 5 nights = 240 minutes, or 4 hours per week on one building. Over 52 weeks that is 208 hours.

At an illustrative $17.00 base wage plus the employer's 7.65% FICA share, roughly $18.30 loaded and before workers' compensation, the leak is about $3,806 a year at one account. Your actual burden rate will differ; workers' comp rates for janitorial class codes vary widely by state and carrier.

The trap is that you cannot simply delete the time. If the crew is on site and available to work, the FLSA's "suffer or permit" standard generally makes it hours worked. You fix it at the source, not in the timesheet.

What to do instead

Write a one-page punch-to-pay policy and configure the system to match it. Set a clock-in window (many operators use 5 minutes before scheduled start) and require a reason code for anything outside it.

Then decide whether the crew's real start time is 5:22. If it is, move the schedule and reprice the account rather than paying for a start time your bid never contemplated.

The 10-minute nightly punch review

  • Open the exception list, not the full timesheet. You only touch the rows that broke a rule.
  • Close every open shift from last night. Missed clock-outs get more expensive and less accurate every day you leave them.
  • Compare actual duration to scheduled duration on any site that ran more than 20 minutes long or short.
  • Check punches that landed outside the geofence and note the reason: wrong site, phone GPS drift, or a cover shift nobody told you about.
  • Flag anyone tracking toward 40 hours by Wednesday so you can move a shift before the premium lands.

Myth 2: "A geofence stops time theft"

A geofenced punch proves that a device reported coordinates inside a radius at a moment in time. That is genuinely useful documentation. It is not proof that a person cleaned a building.

Radius matters more than operators expect. A 150 meter default radius is roughly a city block in every direction, which comfortably covers the parking lot, the strip mall next door, and sometimes the apartment building across the street. On a dense downtown account, that is too loose. On a 40-acre distribution campus where the only cell signal is by the dock, 150 meters is too tight and you will generate false exceptions every night.

There is also a category error in the fraud conversation. In most cleaning companies, the money lost to deliberate buddy punching is smaller than the money lost to missed clock-outs, forgotten punches on cover shifts, and supervisors rounding up from memory on Friday afternoon. Sloppiness outspends dishonesty.

What to do instead

Set the radius per location instead of accepting one default across your portfolio. Walk the site, note where the crew actually parks and enters, and tighten or loosen accordingly.

Then stop asking the geofence to prove work happened and let it prove attendance only. Pair it with something that measures output: a completed checklist with photo evidence, an inspection score on a rotating schedule, or a client-side service request log. Attendance data plus quality data tells you what one alone never will.

馃挕 Tip: Track your exception rate as a management number, not just a payroll chore. If a single site produces missed clock-outs three nights a week, the problem is usually signal, training, or a supervisor covering for someone. All three are fixable. Chasing the same rows every week is not.

The exception queue that makes automation possible

Automation is not the export. Automation is the fact that only 4 rows out of 180 need a human, and every one of those 4 rows is categorized before you look at it.

ExceptionWhat it usually meansSuggested thresholdResolution rule
Missed clock-outPhone died, or crew left in a hurryShift open past scheduled end + 30 minSupervisor sets actual end time and enters a reason code
Early clock-inCarpool arrival, or schedule is wrongMore than 5 min before startPay the time this week, adjust the schedule if it repeats 3 times
Short shiftCrew left early, or a task was skippedMore than 20% under scheduled hoursSupervisor confirms scope was completed before approval
Long shiftExtra work, or a punch never closedMore than 20% over scheduled hoursTie to a work order or reject the overage
Punch outside geofenceWrong site selected, GPS drift, or cover shiftAny punch flagged out of radiusReassign to the correct location before approval
No punch at allNo-show, or an unlogged coverScheduled shift with zero punchesConfirm coverage same night, not on Friday

Myth 3: "Rounding to the nearest 15 minutes keeps things simple and legal"

The 7-minute rule comes from a real regulation. Under 29 CFR 785.48(b), the Department of Labor has long accepted rounding to the nearest 5, 10, or 15 minutes, provided the practice is neutral over time and does not systematically shortchange employees.

Two things have changed since that regulation was written for punch cards. First, courts have grown far less patient with rounding that quietly favors the employer. In 2024 the California Supreme Court held in Camp v. Home Depot U.S.A., Inc. that where an employer can and does capture exact minutes, neutral rounding does not excuse paying less than the time actually worked.

Second, and more practically: your phone-based system already knows the exact minute. Rounding no longer buys you simplicity. It only buys you a policy you have to defend.

Source: U.S. Department of Labor, 29 CFR 785.48; California Supreme Court, Camp v. Home Depot U.S.A., Inc. (2024). Consult your own counsel for your states.

What to do instead

Pay actual minutes, converted to decimal hours at two places. Control cost with the clock-in window and the schedule, which are management tools, not with rounding, which is a legal exposure.

And check the conversion. The single most common janitorial payroll error is not fraud or rounding. It is typing a 4 hour 42 minute shift into a spreadsheet as 4.42 hours when it is 4.70. That error is 17 minutes per shift, and it always favors the company, which is exactly the direction a wage claim looks for.

馃挕 Tip: Minutes to decimal, the ones you will use nightly: 5 min = 0.08, 10 min = 0.17, 15 min = 0.25, 20 min = 0.33, 30 min = 0.50, 42 min = 0.70, 45 min = 0.75, 50 min = 0.83. If your export is producing hours and minutes rather than decimal hours, fix that before you fix anything else.

Myth 4: "Overtime is anything over 40, and the software knows"

Overtime is straightforward when one person works one building at one rate. Almost nobody in commercial cleaning is in that situation.

The moment a cleaner works two rates in one week, federal overtime is calculated on the weighted average regular rate under 29 CFR 778.115, not on the rate that happened to be in effect during hours 41 through 45. Most systems get this right only if you tagged each punch with the correct pay rate and site at the time it was recorded.

A two-rate week, worked out

Assume a cleaner runs a day porter route at $17.00 an hour and picks up strip-and-wax work at $19.00. In one week she logs 25 hours as a porter and 20 hours on floors: 45 hours total.

StepCalculationResult
Straight-time earnings(25 x $17.00) + (20 x $19.00) = $425 + $380$805.00
Weighted average regular rate$805.00 / 45 hours$17.89
Overtime premium (half-time on 5 hours)0.5 x $17.89 x 5$44.72
Total gross for the week$805.00 + $44.72$849.72

Rates in this example are illustrative. For a defensible wage benchmark in your market, pull the current BLS Occupational Employment and Wage Statistics figure for Janitors and Cleaners, SOC 37-2011, in your metro area.

Three more rules that break naive automation:

  • Nondiscretionary bonuses: Attendance bonuses, inspection-score bonuses and shift differentials generally must be folded into the regular rate before overtime is calculated. A bonus paid outside the timesheet is a bonus your software did not see.
  • Daily overtime: Several states require overtime on a daily basis, and California also requires double time past a threshold. A pure weekly 40-hour rule will underpay in those states.
  • Site-to-site travel: Time spent traveling between accounts during the workday is compensable, and it does not exist in your punch data if crews clock out at building one and in at building two.
Source: U.S. Department of Labor, 29 CFR 778.115 (employees working at two or more rates), 29 CFR 778.208 (bonuses in the regular rate), 29 CFR 785.38 (travel between job sites); BLS Occupational Employment and Wage Statistics, SOC 37-2011.

What to do instead

Build a one-page pay rule matrix before you configure anything: state, daily overtime rule, weekly rule, meal and rest requirements, and whether travel pay applies. Multi-state operators need one row per state, not one policy for the company.

Then make sure every scheduled shift carries a pay rate and a location tag at creation, so the punch inherits them automatically. If your crews are picking rates by hand at clock-in, you have not automated payroll. You have distributed data entry to people holding a mop.


What actually holds when you automate cleaning payroll

Three things stay true regardless of which system you buy.

First, the accuracy of your payroll is set at the schedule, not at the timesheet. A shift with the wrong start time, the wrong rate, or the wrong location tag produces a bad punch that a human then has to catch. Clean schedules produce clean exports.

Second, the labor saving comes from shrinking the exception list, not from the export button. Going from 40 rows that need attention to 4 is what turns a Sunday afternoon into a nightly ten-minute pass.

Third, the audit trail is worth as much as the time saved. Under the FLSA employers must keep accurate records of hours worked, and in a wage dispute the employer with timestamped, geotagged punches and dated supervisor approvals is in a materially different position from the employer with a paper sign-in sheet.

Key Takeaway: Payroll automation is not a data pipe from a phone to a paycheck. It is a written punch-to-pay policy, a per-site geofence radius, exact-minute pay in decimal hours, correct weighted-average overtime, and a nightly exception review. Set those five and the export genuinely does take five minutes.

Where CleanTrack360 fits

CleanTrack360 handles the layer that feeds payroll rather than cutting the checks. Crews clock in and out through a geofenced page in the phone browser, with no app install required and a default radius of 150 meters that you can configure per location. Shifts are built with drag-and-drop scheduling, including recurring routes and one-off work orders, so each punch is tied to a specific site and shift. Reports export to CSV for whichever payroll provider you already use. Note that location is captured at clock-in and clock-out only, not continuously between them.

Plans are priced per company, not per user: Starter at $99 a month for up to 5 team members, Pro at $199 for up to 20, and Business at $249 for up to 50. There is a 14-day free trial and no credit card is required to start, which is enough time to run two full payroll cycles and see how many exception rows you are actually generating each week.

Ready to see it in action?

Start your free 14-day trial. No credit card required.