Skip to main content

How to Track and Pay for Drive Time and Mileage in ZenMaid

Learn how to track and pay drive time and mileage in ZenMaid to ensure accurate payroll and fair compensation for your cleaning staff.

Written by Jorge Sardinha

Summary

  • Managing drive time/mileage tracking correctly is an important part of ensuring your cleaners are paid fairly, and your payroll stays accurate.

  • The method you use depends on whether you pay cleaners the same rate for drive time as for cleaning, or a lower rate while driving.

Important

  • Communicate clearly with your cleaners. Let them know whether they should clock into “appointments” for driving, shifts, or just client jobs.


Utilizing the Mileage and Drive Time Columns in the Assignment Export

Important

  • Only available on the Pro Max plan or for long-standing users.

  • Mileage and drive time are measured between consecutive jobs. When there is no neighboring job, usually the first and last job of the day, the cleaner's saved address is used instead. If the cleaner has no saved address, your Billing Address in Business details is used.

  • Mileage exports are limited to a 14-day date range and 1,000 rows per 24-hour period. The row limit counts this export plus every mileage export created in the previous 24 hours. An export that exceeds either limit is rejected rather than shortened. If you need more data, run multiple exports and combine the results.

  • Only admins with export permission can run this export. Owners have it by default.

  • Only one assignment export can be pending at a time.

  • The completed CSV is sent to you by email.

Exporting Mileage and Drive Time Data

  • From your ZenMaid Dashboard, go to Reports and select Data exports.

  • Click Export data and open the Assignments tab.

  • Set your From and To dates.

  • Under Columns to export, select the mileage and drive time columns. They are unchecked by default.


Reading the Exported Columns

  • The export adds eight columns: Previous location (Address), Previous location (GPS), Mileage from previous location, Drive time from previous location (in minutes), Next location (Address), Next location (GPS), Mileage to next location, and Drive time to next location (in minutes).

  • Mileage headers show km or miles based on your account's measurement setting.

  • Each leg of a route appears twice, once as "to next location" on one row and again as "from previous location" on the following row.

  • To total a cleaner's day, add every row's "from previous location" value plus the last row's "to next location" value. Summing both columns double counts the distance.


Understanding How Routes Are Built

  • Routes are built separately for each cleaner, including each cleaner on a team job.

  • Jobs are ordered by scheduled start time. Clock-in time is not used.

  • A neighboring job only counts if it falls on the same calendar day in your account's time zone.

  • Only jobs in a status with Include in Payroll enabled count as route stops. By default, that is Active and Completed, not Stand-By or Cancelled.

  • Deleted appointments are excluded, and a job is included only if it both starts and ends inside the selected dates.

Side Note

  • A job in a status without Include in Payroll enabled still appears in the export, but both of its location columns show the cleaner's address, or your Billing Address if the cleaner has none.


Understanding How Distance and Time Are Calculated

  • Mileage and drive time are estimated from the saved map coordinates of each address, not from the route your cleaner actually drove. Estimates do not account for traffic and are not based on clock-in or clock-out GPS.

  • If an address has no saved map coordinates or the lookup fails, mileage and drive time are left blank while the address column still fills in.

  • Two jobs at the same address show 0.


Manually Calculating Drive Time

Method 1: Include Drive Time in Actual Appointments

  • For example, cleaner Michael is scheduled for a job at Debbie’s house from 9:30 AM to 11 AM. He needs 30 minutes to drive there and 30 minutes to drive to the next appointment. Instead of scheduling from 9:30–11, you adjust the appointment to 9:00–11:30. Michael clocks in when leaving the office and out when he’s finished driving to his next appointment.

✅ Best for: Teams who want simple scheduling and pay the same rate for all work hours.


Method 2: Use Fake Appointments for Drive Time or Shifts

Important

  • If you also use the mileage and drive time columns in the Assignment Export, fake appointments in a payroll-eligible status are treated as route stops and will distort your mileage figures. Either place fake appointments in a status without Include in Payroll enabled or give the fake customer an accurate address.

  • This method gives you more control and works best if you pay different rates for drive time vs. cleaning.

Option A: Fake “Work Shift” Appointment (same pay rate)

  • Create a fake customer called Work Shift.

  • Schedule one “shift” appointment that covers the cleaner’s entire workday.

  • The cleaner clocks in at the start of the day and clocks out at the end.

  • They also clock in/out of their client appointments.

  • On payroll, you only pay for the Work Shift appointment, since it already includes drive time and client jobs.

✅ Best for: Tracking full workdays while paying the same rate for cleaning and driving.

Option B: Fake “Drive Time” Appointment (different pay rates)

  • Create a fake customer called Drive Time.

  • Schedule a “drive time” appointment whenever a cleaner is traveling between jobs.

  • Assign the correct cleaner and set their drive time hourly wage (e.g., $11/hour instead of $18/hour).

  • The cleaner clocks into this fake appointment while driving, then clocks into real client jobs once they arrive.

✅ Best for: Companies that pay a reduced rate for driving compared to cleaning.


Manually Calculating Mileage Pay

Step 1: Open List View

  • From your ZenMaid Dashboard, go to Scheduling > List View.

  • Select the date you want to calculate mileage for.

  • You’ll see all appointments for that day, including addresses and assigned cleaners.


Step 2: Copy Addresses into Google Maps

  • Copy the first appointment address from ZenMaid into Google Maps.

  • Click Directions, then paste in the next appointment address.

  • If the cleaner had more than two jobs, click + Add Destination to include additional stops.


Step 3: Review Mileage and Route

  • Google Maps will display the total mileage for the route.

  • You can adjust the order of appointments if needed to match the actual route your cleaner drove.

  • Use the map view to confirm the sequence of visits and ensure the mileage calculation is accurate.

Example: A cleaner had three jobs on the 13th. Entering all three addresses into Google Maps showed a total of 34.3 miles driven.


Additional Notes & Tips for Effective Payroll Customization

  • Regularly review and update your payroll statuses to align with your current business needs.

  • Communicate clocking-in procedures to employees, especially for activities outside of client-related work.

  • Test payroll settings by reviewing sample calculations before finalizing them to avoid discrepancies.


Recommended Tools for Mileage & Drive Time Tracking

  • Mileage apps: Many cleaners use Stride for easy mileage logging.

  • Drive time apps: Some teams use TSheets for dedicated drive time tracking.


Additional Content From ZenMaid


Keywords

  • Drive time

  • Payroll

  • ZenMaid

  • Appointments

  • Fake appointments

  • Work shift

  • Drive time appointment

  • Mileage

  • Mileage pay

  • Google Maps

  • List view

  • Scheduling

  • Cleaner pay

  • Hourly wage

  • Shift tracking

  • Mileage reimbursement

  • Payroll accuracy

  • Payroll customization

  • Clock in

  • Clock out

  • Cleaning rate

  • Driving rate

  • Stride

  • TSheets

Did this answer your question?