In August I spent a session with the owner of a cleaning business on the Surf Coast, going through their ServiceM8 timesheets. Every night the owner was checking each cleaner's hours against the jobs they'd done that day, because the timesheets coming out of ServiceM8 couldn't be trusted. That's a lot of evenings gone on admin.
We found three separate problems, plus one more blocking the move to Xero.
Travel time from home
ServiceM8's auto-tracking adds travel time to a staff member's timesheet, starting from when they leave home. That's designed for tradies. You've booked a plumber for 3, he's left at 2:10, and the customer gets an ETA.
For a cleaning team it doesn't fit. Some of this team live up to 45 minutes from their first job, and that drive was landing on their timesheets as paid hours. They'd already turned auto-tracking off and were trimming timesheets by hand to make up for it. Fair enough, it worked, but that's exactly the kind of nightly job the software was meant to take off their plate.
The 12-hour shift that wasn't
The second problem looked like a bug. When a cleaner clocked off, had a gap, then clocked back on, ServiceM8 treated the whole stretch as one shift. Someone who'd worked about four hours showed a 12-hour day.
The workaround is to click into each segment of the shift and reset it, so it reads as a split shift. We sent screenshots to ServiceM8 so they can look at it properly. Until that's sorted, if you check timesheets, keep an eye out for long days that don't match the jobs.
Letting staff see their own hours
The cleaners couldn't see their own hours, so a mistake only came to light if the owner caught it. One option was giving staff more access in ServiceM8. What I'd rather do, and what we went with, is an emailed shift summary to each staff member. They check their own hours and flag anything wrong, and nobody needs admin access to do it.
Getting timesheets into Xero
The longer-term goal was syncing ServiceM8 timesheets into Xero for payroll. That's a separate add-on, and it needs payroll access set up in Xero.
The blocker was names. Staff in ServiceM8 had been entered with first names only. For the sync to match people up, each person's first and last name has to be identical in both systems. So step one was fixing every staff record before switching anything on.
The owner had also looked at adding a separate HR app. We decided against it for now. Syncing ServiceM8 straight to Xero means one less system to keep in line.
Our ServiceM8 vs Tradify guide compares how the two handle staff and timesheets, and our ServiceM8 page explains how we set it up with Xero.
What to take from this
If you run a team in ServiceM8, check what auto-tracking is adding to timesheets before you trust the totals. Give staff a way to see their own hours. And before you connect payroll, make sure every staff name matches Xero exactly. More on the money side is on our get paid page.