Feature

Drive time paid from the trips your trucks already record.

Travel pay is where construction payroll leaks: the drive happened, three people were in the truck, and the number that reaches payroll is whatever somebody remembered on Friday. This reads the trips out of Samsara, works out which job the truck arrived at, and pays everyone who checked in there — driver and passengers — at their own rate, on a ledger that can't pay the same drive twice.

01 — The failure mode

Three ways travel pay goes wrong

  1. Only the driver gets paid

    Four guys in a truck for an hour is four hours of travel. Systems that key off the driver record pay one of them and quietly underpay the rest — until someone notices and you owe a back-pay conversation.

  2. It's reconstructed from memory

    Drive time written down at the end of the week is an estimate rounded in whichever direction the writer feels. The truck already knows the real answer to the minute.

  3. A re-run pays it again

    Any sync that can be replayed and isn't ledgered will eventually double-pay a week, and you'll find out from an employee who noticed before you did.

02 — How it works

Arrival inside a geofence is the thing that pays people

Not a schedule, not a form. The truck arrives, and the people who said they were there get a leg.

  • Trips come from SamsaraA recurring pass pulls the trips your fleet already records. You're not asked to buy new hardware or run a second tracking app.
  • A trip ending in a job's fence pays whoever checked in thereWithin a 45-minute arrival window by default — site check-in is the attendance signal. Passengers are paid, not just the driver, because the truck arriving is what the pay is for.
  • The yard is a geofence, so the first leg is a policy choiceA trip leaving the yard is identifiable as the morning leg, and whether that one is paid is a setting rather than an argument. Set the yard address once.
  • Rate per employee, hours or milesEach person carries their own travel rate and a mode: hours mode pays minutes over sixty times the rate, miles mode pays distance times the rate. No rate configured means no pay line — never a guessed number.
  • The amount freezes at approvalApprove a leg and its value is fixed. A later rate change reprices future travel and cannot silently restate a week you already signed off.
  • The ledger makes double-paying impossibleEach leg is written once against a unique reference built from the trip and the person. A re-run does nothing — it cannot add a second leg and cannot overwrite an approval. The cursor only advances after a clean pass.
  • Long legs get flagged, not swallowedA drive over the review threshold — two hours by default — is surfaced for a human. Idling in a drive-through and a genuine four-hour haul look identical to arithmetic.
  • An unmapped driver produces a leg with no employeeNot a dropped drive. The travel appears with nobody attached so the office can assign it. Silent data loss is the one outcome we refuse.

03 — Honest about Samsara

This works. It is not plug-and-play.

We verified it against a live fleet token, and what we found is worth telling you before you buy rather than during rollout.

01

The modern trips endpoint 404'd on the account we tested

Verified per account

The legacy per-vehicle trips endpoint answered instead.

So trips are pulled vehicle by vehicle. Practically that's fine — it just means the connection is checked against your token during setup instead of assumed to behave like the documentation. Which endpoint your account answers on is a setup finding, not a code change.

02

Trips came back with no id, so we synthesize a stable reference

Handled

Built from the vehicle and the trip's start time.

That reference is what the no-double-pay ledger is keyed on, so it has to be stable and unique — it is, but it's worth knowing that the anti-duplicate guarantee rests on a reference we construct rather than one Samsara hands us.

03

Driver id came back as zero on every single trip

Needs configuration

Because the trucks weren't assigned to drivers in Samsara.

Which means driver mapping alone pays nobody — a real finding, not a theoretical one. So each truck's usual driver is configured in the portal, and attribution goes: whoever checked in at the arrival job, else the signed-in driver if Samsara has one, else that truck's usual driver. You can also fix it on the Samsara side by assigning drivers to vehicles; either path works.

04

Samsara has moved trip field names between API versions

Read in both shapes

Timestamps arrive as milliseconds on one shape and ISO strings on another.

Both are parsed, so a version difference doesn't produce zero-minute trips. And when a pull fails, the error text is shown in the portal rather than logged where nobody looks — a travel sync that goes quiet is a payroll problem two weeks later.

Nothing runs until a Samsara token is saved: without one the feature stays dark rather than half-working. Budget an hour of setup with your fleet admin, not a checkbox.

04 — In the office

Legs, who-was-where, and the rules in one tab

Travel legs list per person and per day with their minutes, distance and computed amount, waiting for approval. Beside them is the who was where day view built from check-ins, which is how a leg gets sanity-checked in five seconds: the truck arrived at 7:42, these four people tapped in at 7:51, that's the trip. The rules live in the same place — arrival window, review threshold, first-leg policy, and the yard address that makes first-leg policy meaningful at all.

Per-employee travel rates sit with the rest of an employee's coding, next to the class their labour is tagged with in QuickBooks — the same coding that drives field receipts and flows through to Autodesk Cost Management. Attendance comes from site check-in, and the full construction picture is on the construction solutions page.

05 — Questions

Straight answers.

Do passengers get paid, or only the driver?

Everyone in the truck. A trip that ends inside a job's geofence pays every person who checked in at that job within the arrival window — 45 minutes by default. Paying only the driver is the bug most drive-time systems ship with.

Can a re-run pay someone twice?

No. Every leg is written once against a unique reference built from the trip and the person, and a repeat write does nothing — it cannot create a second leg and cannot overwrite an approval. The sync cursor only advances after a clean pass.

Is the first drive of the day paid?

That's your call, and it's a setting. The yard is a geofence like any job, so a trip leaving the yard is identifiable as the first leg and can be configured as paid or unpaid. Until the yard address is set, first-leg handling can't be applied.

Is the Samsara connection plug-and-play?

Honestly, no — it is verified per account during setup. On the account we tested, the modern trips endpoint returns a 404 and the legacy per-vehicle endpoint answers instead; trips carry no id, so we synthesize a stable reference; and driverId came back as 0 on every trip because the trucks weren't assigned to drivers, so each truck's usual driver is configured in the portal. Field names have also moved between Samsara API versions. It works — it just gets checked against your live token rather than assumed.

06 — Next step

We'll test it against your fleet token on the call.

Twenty minutes: which trips endpoint your account answers on, whether your trucks carry drivers, a real trip turned into paid legs for a whole crew, and what your yard address unlocks.

Construction is quoted per site and headcount · no contracts