Issue tracking your shop can actually run on the radio.
Sequential per-tenant issue numbers like ISS-000042 you can call out by voice. Priority. Dual-axis due — calendar AND meter. Photo attachments. Resolution that links straight to the work order that closed it.
Issue trackers built for software don’t survive the shop floor.
Saying f7-a3-c2-9b over a radio is impossible. UUID issue IDs are useless in operations — your dispatcher can’t read it, your tech can’t pull it up, and your shop foreman gave up after the third try.
When you can edit history, you can rewrite history. Insurance auditors and DOT inspectors don’t accept “trust us, this is what happened” — they want an append-only log that proves what was said when.
Without recurring-issue detection, your shop keeps fixing the same brake squeal on the same truck every two months because nobody connects the dots between three separate work orders.
Eight pieces. Each does one job, and admits what it doesn’t do.
Watchers and an escalation engine are v2. OBD ingestion is v2. VMRS-clustered recurring-fault detection is v2. Everything below is in the product today.
Four states. One loop back. No free-text status field.
Status is an enum, not a notes field. Reopen is its own transition — it inserts a Reopen note and routes back through InProgress with the full prior history intact.
Dual-axis due — calendar AND meter, pair-checked at the database.
Fleetio only lets you set a calendar due. Samsara only meter. We let you set both, on the same specific meter, with a database constraint that prevents a bare “500” from meaning either odometer OR reefer hours. Multi-meter assets stay coherent.
- Two axes, one issue. due_at is a calendar date. due_meter is a meter reading. Either one tripping fires the SLA chip — whichever comes first wins.
- Meter_id, not “miles.” A reefer tractor has an odometer AND a refrigeration-unit hour meter. “Due at 500” is meaningless until you say which meter. We require it, and the database enforces it.
- Pair-checked. The reported meter and the due meter must be the same meter_id — enforced by a CHECK constraint. You can’t report a problem at odo 82,000 and set the due against reefer hours.
- Monotonic. due_meter > reported_meter at the database. No “due 100 miles ago” data quirks.
- SLA chip reflects both axes. Red if either dimension is breached, yellow if either is within 20% of breach, green otherwise. Honest from the second the row is inserted.
CHECK ( reported_meter_id = due_meter_id AND due_meter > reported_meter )
“Related open issues on this asset” — the cheapest recurring-fault detection ever shipped.
The side panel on every issue detail lists up to 10 other open issues on the same asset. No ML, no clustering — just a query the data already supports. Patterns become obvious in seconds.
- One query. No model. WHERE asset_id = $1 AND status IN (Open, InProgress) — the data was already there, we just put it on the screen.
- Right where the eyeballs are. The panel lives on the issue detail view — the page a shop manager already has open while they’re thinking about the truck.
- Patterns surface to the human. “Three of the last six mention the alternator” is something a person spots in 10 seconds. No NLP needed.
- What’s on the roadmap. Cross-asset clustering with VMRS codes is V2. The v1 panel is “open issues on this asset” — a real wedge, today.
- Honest framing. We don’t claim ML. We don’t claim “AI insights.” We claim that putting six rows of related context next to the issue you’re looking at is the highest-leverage UI move in the whole module.
Fleet Service 365 vs. Fleetio.
Where issue tracking diverges — and why the difference matters the first time a dispatcher reads an issue number over the radio, or an auditor asks for the original note.
| Capability | Fleet Service 365 | Fleetio |
|---|---|---|
| Sequential per-tenant issue number | ✓ISS-000042 | UUID-style |
| Dual-axis due (date + meter) | ✓ | Date only |
| Append-only notes | ✓ | Editable |
| Structured resolution type | ✓5 categories | Free-text |
| “Related open issues on this asset” panel | ✓ | ✗ |
| SLA chip from priority + age | ✓ | ✗ |
| Photo attachments | ✓ | ✓ |
| Closes via Work Order in one transaction | ✓ | ✓ |
Three roles, one issue record.
Questions we hear a lot.
How do issue numbers work — are they really sequential per company?
Can I attach a photo of the defect?
What happens when I save the work order — does the issue close automatically?
Can I reopen an issue after it’s been resolved?
How does the dual-axis due work — date AND meter?
Can I delete an old issue?
Can my drivers report issues from the field?
Related features.
Sayable numbers. Honest SLA. Append-only history.
14-day free trial. No credit card. A seeded ISS-000042 already in your trial tenant with three retreads of notes and the related-issues panel populated — see exactly what an audit-grade issue timeline looks like.