The admin Time & Mileage screen splits entries into Pending and Approved. We approved our completed timesheet from a confirmation box that lets you send or suppress the worker notification, and notes that approved timesheets can still be rejected later. That's a sensible control: approval isn't a one-way door.
Reporting held up better than a feature list would suggest. The Reports page offers more than 20 reports, including by user or group, job, task, date range, and mileage, plus break, scheduled versus worked, week totals, custom fields, flagged entries, missed punches, time off, and a GPS data export. Report By User or Group showed clock-in and clock-out, paid and unpaid breaks, duration, mileage, pay rate, and regular hours. It calculated 8:00:33 total with 33 seconds of overtime on our first test shift, and for the whole month it split regular, overtime, and double overtime hours and totaled the labor cost. Report By Job for Sample Job 1 combined two workers' five entries into 10 hours 5 minutes and a total labor cost, with an Export button.
Payroll settings are granular: daily, double, and weekly overtime, custom rules, and a California overtime option that states the rule it applies (overtime after 8 hours a day and 40 a week, double time after 12). Treat that as Timeero's configuration, not legal advice. You also get time rounding, automatic lunch insertion, report display options, customer and worker signatures, custom fields (Premium), and audit logs that record time entries, logins, and clock-outs with a View Changes link.
What we didn't see is cost-code depth. Jobs carry rates and codes, and tasks exist, but we found no budgets, project phases, or cost-code breakdowns in the reports we ran. Crews that bid and track by phase may end up exporting to a spreadsheet.