Every schedule row has a 'Start' button next to the actions. Click it when the tech arrives on-site; click 'Stop' when they leave. The system records duration + cost, snapshotting the tech's hourly rate so historical math doesn't drift if rates change later.
Setting tech hourly rates
Settings → Team → click a tech → set hourly rate. The rate is stored in cents on the tech record and copied onto every time entry at clock-in. Updating the rate doesn't change past entries — they keep the rate that was in effect when the work was done.
What gets shown on the row
- Idle: 'Start' button + cumulative time logged across past sessions (e.g. '1h 23m' if 83 min was logged in two earlier sessions that closed).
- Running: live HH:MM:SS counter + red Stop button. Ticks every second.
- Errors (rare) appear as a small red chip with the actual reason — hover for the full message.
Job costing on the P&L
Closed time entries roll up into the P&L's labor line as a derived expense. Combined with the materials line on the same invoice, you can compare revenue vs cost per job to know which work is actually profitable.
Techs working from the PWA on their phone can hit Start/Stop themselves — the row buttons work identically on mobile. The owner/dispatcher just monitors from the desktop side.