Feature · Work orders

Work orders that close out the issue, the meter, and the PM in one transaction.

Log the repair, attach the invoice, capture the meter, flag the warranty, close the open issue — all in one form, all in one database transaction.

Sequential SE-NNNNNN numbering Linked-issue auto-resolution Append-only audit notes
app.fleetservice365.com/service-entries/SE-100042
SE-100042 Brake job · front axle Non-scheduled Closed
Asset
TRK-42 · Cascadia
Completed
May 12, 2026
Vendor
Mike’s Truck Service
Downtime
6 hr 40 min
Line items
2 lines · $4,217.40
Brake pads · front axle
VMRS · 050-007-014
Labor
$340.00
Parts
$210.00
Brake rotors · machined + caliper service
VMRS · 050-007-022
Labor
$520.00
Parts
$1,247.40
Warranty
until 24 mo · 50,000 mi
3 linked issues · auto-resolving on save RepairedByVendor
ISS-3041 Pulsation on hard braking critical
ISS-3088 Grinding noise · front passenger critical
ISS-3102 Pad-wear sensor warning major
Meter readings captured
Odometer
84,217 mi
Engine Hours
4,521 hr
→ mirrors atomically to Meter History
Attachments
PDF mikes-invoice-4217.pdf 312 KB
JPG rotor-thickness.jpg 1.4 MB
Total $4,217.40
Issues · meters · history — one database transaction
What's broken today

Most work-order tools leak data and erase history.

01
Three windows for one repair.

Log the service entry. Then go close the linked issue. Then go update the meter. Three saves, three places to make a mistake, and a 50/50 shot that one of them stays forgotten in the dashboard for a month.

02
“Did we pay for this twice?”

Without a warranty flag on the line item, your shop pays for a $1,200 turbo that was still under coverage. The warranty filter for tomorrow’s claim batch comes up empty — and the line is buried in a service entry no one will look at again.

03
The audit trail isn’t.

Editable notes mean the audit trail is whatever the last editor wanted it to be. A labor figure changes from $1,500 to $1,200 with no record. That doesn’t fly with insurance auditors — and at renewal time, it costs you.

What's behind it

One form. One save. The repair, the issues, the meters, the audit.

The vault calls these Service Entries (work orders). Every field, every line, every linked record commits in the same transaction — so the work order is always consistent with the issue list, the meter history, and the audit log.

Service Entries
The work-order record. Sequential per-tenant numbering. Asset, completion date, repair priority, vendor or in-house, downtime in/out, description.
/service-entries/SE-100042
Line items
One or more per entry. Each picks a Service Task from the catalog. Labor $, parts $, under-warranty toggle with optional until-date or until-meter, line-level notes.
/service-entries/{id}/lines
Linked issues auto-resolve
Pick which open issues this work order closes. Resolution type derives from vendor choice. All in the same database transaction.
/service-entries/{id}/issues
Meter readings at service
Capture odometer + engine hours + reefer hours + any meter. Each reading mirrors atomically into Meter History with a back-link to the entry.
/service-entries/{id}/meters
Attachments
Invoice scans, photos, repair-order PDFs. Direct upload to Azure Blob via short-lived SAS URLs. JPEG · PNG · WebP · HEIC · PDF · DOCX · XLSX · PPTX up to 50 MB.
/service-entries/{id}/attachments
Notes timeline
Append-only Comments and Corrections. Comments add information; Corrections amend it without erasing. The audit trail is intact — corrections reference what they correct.
/service-entries/{id}/notes
Deep dive · 01 Shipped

Linked-issue auto-resolution in the same transaction.

When you save the work order, the linked open issues flip to Resolved with the right resolution type — and a system note lands on the issue timeline showing which entry closed it. Reopen any time. The audit is bulletproof.

  • One save, all the closures. Pick the open issues this work order resolves. On Save, every linked issue flips from open to resolved in the same database transaction as the entry itself.
  • Resolution type derives from vendor choice. In-house repair → RepairedInHouse. Outside vendor → RepairedByVendor. No dropdown for the operator to forget — the system fills it in.
  • System note on every issue timeline. “Resolved by SE-100042 · RepairedByVendor · Mike’s Truck Service” lands on the issue itself, so the audit trail makes sense from either side.
  • One transaction · all-or-nothing. If anything fails — a missing meter reading, a permission error — nothing commits. No half-closed issues. No orphaned service entry.
  • Reopen any time. The same brake job comes back two weeks later? Reopen ISS-3041, link it to the next work order. The audit records every flip.
Save SE-100042 · one transaction
BEGIN TRANSACTION
SE-100042 · Brake job · front axle
Vendor: Mike’s Truck Service · resolution derives RepairedByVendor
ISS-3041 Pulsation on hard braking
open · 7d ago resolved · via SE-100042
Resolved
ISS-3088 Grinding noise · front passenger
open · 4d ago resolved · via SE-100042
Resolved
ISS-3102 Pad-wear sensor warning
open · 2d ago resolved · via SE-100042
Resolved
system_note · issue ISS-3041 timeline
resolved by SE-100042 · resolution RepairedByVendor · vendor Mike’s Truck Service
Reopen any issue any time. Audit log records every flip. COMMIT
SE-100042 · notes timeline
append-only · audit-grade
3 events
RM
COMMENT Rosa Martinez · Shop foreman May 12 · 10:42
Vendor noted rotor minimum thickness on both sides — replaced rather than turned. Photo attached.
DK
COMMENT Dan Kowalski · AP May 13 · 09:14
Invoice received. Labor rate looks like the after-hours emergency rate — pulling for review before posting.
DK
CORRECTION Dan Kowalski · AP May 13 · 14:08
Vendor agreed to standard-rate labor on this job — invoice re-issued.
Was · preserved
Labor $520.00 → 1.5 hr @ emergency
Now · current
Labor $340.00 → 1.5 hr @ standard
Nothing erased. The original $520 line is still in the audit. insurance · DOT · fleet audit ready
Deep dive · 02 Shipped

Append-only notes — the audit is the audit.

Comments add information. Corrections amend information. Neither erases information. When your insurance carrier asks why a $1,500 labor line became $1,200 on the second pass, the original number is still there — with a Correction note explaining the change.

  • Two note kinds, both append-only. Comment adds context. Correction supersedes a prior figure or fact. Neither edits an earlier note in place — both write a new row.
  • Corrections reference what they correct. A Correction note carries a pointer to the original — the audit shows the chain from $1,500 → $1,200 with the reason captured inline.
  • The “current” value is computed. The latest non-superseded note wins on the work-order surface. Auditors get the chain; operators get the current value. Both views are first-class.
  • No editable history. No “edit comment” button. No silent overwrite. If you typed it, it stays — and if it was wrong, you correct it on the record.
  • Insurance, DOT, and fleet audits speak this language. Append-only is what they expect from financial systems. Bringing it to maintenance is what separates a real fleet platform from a logbook app.
Compare

Fleet Service 365 vs. Fleetio.

Where work-order capture diverges — and why the difference matters the first time an insurance carrier asks for the chain of custody on a $1,200 labor figure.

Capability Fleet Service 365 Fleetio
Sequential per-tenant work order number SE-NNNNNN UUID-style ID
Linked-issue auto-resolution in one txn Manual / separate step
Multi-meter capture per work order Single primary meter
Warranty flag + warranty-until per line Single flag per WO
Append-only notes (Comment / Correction) Editable comments
In-house vs vendor as first-class Mostly vendor-centric
Public REST API + MCP REST only
See full comparison → Comparison based on publicly listed Fleetio capabilities as of May 2026.
Use cases

Three closeouts, one work order shape.

Trucking shop · big repair
A $4,200 brake job, three open issues, one save.
Labor, parts, vendor invoice scan, three open critical issues, captured odometer and engine hours. The shop foreman saves once — issues close, meters mirror, history posts, audit lands.
Line items · 2 Issues closed · 3 Meters mirrored · 2
Dealership · warranty claim
A $1,200 turbo, flagged for tomorrow’s claim batch.
Fixed-ops manager flags the turbo line as warranty-covered with warranty-until-meter set to 100,000. The line item shows on the warranty filter for the next morning’s claim batch — money you would have paid twice, on the right page instead of buried.
Warranty · until 100,000 mi Coverage · powertrain Filter · WO · warranty
Municipal · downtime
A snowplow PM with 7 hours of downtime.
In-house garage logs a plow PM. Downtime captured: 7 hr 12 min out of service. Feeds downtime reporting downstream — the next council meeting, the supervisor has the actual number instead of a guess.
Vendor · in-house Downtime · 7 hr 12 min Reports · feeds availability %
FAQ

Questions we hear a lot.

What’s the difference between a service entry and a work order?
They’re the same record. The vault calls them Service Entries internally — that’s the table name and the SE-NNNNNN identifier you’ll see in URLs and reports. “Work order” is the term most fleets use in conversation, so the marketing and the field labels lead with that. Either way, you’re looking at one record: the closed-out repair with line items, vendor, downtime, meters, attachments, and notes.
Can I draft a work order partway through and finish it later?
Not in this release. A service entry posts when you save it, and the linked records — issue resolutions, meter readings, history — commit together. Drafts and a multi-step approval workflow are planned for V2. If you need to walk away mid-entry today, capture the details on the linked issue or as an attachment and finish the entry in one pass when you have everything.
How does the system know which issues to close when I save?
You pick them. The work-order form has a “Linked issues” picker that lists open issues on the same asset. Check the ones this repair resolves, and on save they all flip to Resolved in the same database transaction. The resolution type — RepairedInHouse or RepairedByVendor — derives from whether the entry has a vendor.
Can I attach a photo of the invoice directly?
Yes. Drag the file onto the attachments tile, or pick it from the file dialog. Uploads go directly to Azure Blob storage via short-lived SAS URLs — JPEG, PNG, WebP, HEIC, PDF, DOCX, XLSX, and PPTX up to 50 MB each. Phone-camera HEIC works on iPhone without conversion.
What happens to the meter reading on the work order — does it update the asset?
Yes. Each meter captured on a service entry mirrors atomically into the asset’s Meter History with a back-link to the entry. The asset’s “current” meter reading reflects the latest reading from any source — work orders, fuel entries, manual entries, telematics — and the history shows where each reading came from. PM reminders that depend on that meter re-evaluate immediately.
Can I bulk-import historical work orders from Fleetio or Samsara?
Yes. CSV import maps Fleetio’s Service Entries, Samsara’s Maintenance Records, and a generic spreadsheet shape onto Service Entries + Line Items. The importer matches line-item tasks to your Service Task catalog where it can, leaves the rest unmapped for review, and round-trips through the same JSON spec the REST API uses.
Is there an approval workflow before a work order is finalized?
Not in this release. Today, the user who saves the entry is the user of record, and corrections are captured as append-only notes — the original figure is preserved, the corrected figure is added, and the chain is part of the audit. Multi-level approval (foreman → ops manager → AP) is on the V2 roadmap. If approval is a hard requirement today, talk to us — we want to scope it against your shape.

The repair, the issues, the meters — one save.

14-day free trial. No credit card. Sample tenant pre-loaded with three open issues on a Cascadia tractor — close them all with one work order and watch the audit land in three places at once.