Fuel and meter tracking that handles mixed fleets — diesel, gas, BEV, PHEV, reefer.
Capture every fill, every charging session, every reading. MPG and $/mile that pair correctly across multi-tank reefers. Anomaly detection that explains itself. Immutable audit trail that holds up under audit.
Fuel modules built for one tank, one meter, one fuel type don’t fit a real fleet.
A reefer tractor with two diesel tanks has its reefer fills counted against tractor MPG. Result: the rig “gets 4 MPG” and your fleet manager is permanently confused.
Competitors flag outliers without explaining them. You waste 20 minutes a week figuring out which entry the system thinks is weird, and why.
When you can change historical fuel data, the audit trail is whatever the last edit says. Insurance carriers and accounting auditors don’t accept that.
Eight pieces. Each does one job, and admits what it doesn’t do.
Direct fuel-card ingestion (WEX, Comdata, Voyager) is roadmap. MPGe for CNG / LNG / Electric on the fleet KPI is v2 — gal-denominated MPG is what’s live today, and per-asset drill-down already shows MPGe. Everything below is in the product now.
Multi-tank assets — MPG that’s actually correct.
A reefer tractor has three meters (odometer, engine hours, reefer unit hours) and two fuel-capable meters (odometer + reefer unit). Tractor fills track against the tractor meter chain. Reefer fills track against the reefer meter chain. Tractor MPG stays clean. Reefer gallons-per-hour stays clean. No spreadsheet required.
- Each tank knows its meter. A fuel entry is bound to a specific meter_id, not “the asset.” A diesel fill at the truck stop goes onto the odometer chain; a reefer fill from the same pump goes onto the reefer-hours chain.
- Tractor MPG · reefer GPH. Tractor distance ÷ tractor fuel = 7.43 mi/gal. Reefer hours ÷ reefer fuel = 0.68 gal/hr. Both are honest because the math never crosses chains.
- Naive single-tank MPG. If you blender every fill against the tractor odometer (the Fleetio default) the rig posts a phantom ≈ 4.05 MPG. Fleet manager is now permanently confused.
- Works the same way for excavators. Engine hours + aux hours + a hydraulic tank. The rule “one fuel-capable flag per consuming meter” is the whole model.
- Per-asset rates roll up to fleet KPIs. ICE assets contribute MPG; EVs contribute kWh/mi; reefers contribute GPH. Per-asset drill-down shows MPGe where applicable.
{ value, comparedTo, deviation, explanation }
Explainable anomaly scoring — auditors love it.
Two transparent rules — a price-vs-vendor-90-day-median rule, and a paired-MPG z-score rule. Every flagged row returns the comparison value, the deviation, and a human-readable explanation. No black box, no ML, no “trust us.”
- Structured payload. Every anomaly returns the same shape: { value, comparedTo, deviation, explanation }. The UI shows it. Your reports show it. An auditor can read it.
- Rule 1 · vendor price. Compare an entry’s unit_price against the 90-day median at the same vendor. A USD 6.42/gal fill at Shell, when the 90-day median at Shell is USD 4.66, is a real anomaly — not a “the model thinks so” anomaly.
- Rule 2 · paired MPG. Z-score the asset’s computed MPG for this fill against its own 30-day mean and standard deviation. A 3 σ miss means a missed fill, a misread odometer, or a real fuel issue — all worth a human glance.
- Two rules, no more. We deliberately did not ship a 12-factor “AI risk score.” Two rules you can explain over a phone call beat a model you can’t.
- Clear results returned too. Entries that pass also carry the comparison they were measured against — so your accounting team can sanity-check the rules, not just the flags.
Immutable fuel audit history — reconciliation that doesn’t fight you.
Calculation-bearing fields — quantity, unit price, total cost, primary meter reading — are immutable. Edits create an audit event, not a silent overwrite. Voids preserve the row but exclude it from rollups. Reconciliation against vendor statements is fast because the data hasn’t moved.
- Four immutable fields. quantity, unit_price, total_cost, primary_meter_reading. These are what every downstream number — MPG, $/mile, CO₂, vendor reconciliation — depends on, so they can’t be quietly rewritten.
- Edits are events. A correction to a quantity inserts a row in fuel_entry_event with before / after, the actor, and a reason. The original value stays visible — auditors see what changed and why.
- Voids preserve the row. Duplicate fills get voided, not deleted. The row stays for the audit trail; rollups skip it. Insurance carriers and accounting auditors get a record that doesn’t move.
- Reconciliation in one pass. Pull a vendor statement, match against the immutable totals — there’s nothing for them to argue with, because the numbers haven’t shifted since the entry was created.
- 2,000 monthly fills, no drama. A regional gas-station chain auditor reconciling 2,000 fills a month against vendor statements doesn’t have to chase down “but this entry was edited last Tuesday” — that case doesn’t exist here.
Fleet Service 365 vs. Fleetio.
Where fuel and meter tracking diverges — and why the difference matters the first time you reconcile 2,000 fills against a vendor statement, or your fleet director asks why the reefer tractor is “doing 4 MPG.”
| Capability | Fleet Service 365 | Fleetio |
|---|---|---|
| Multi-meter assets (reefer, excavator) | ✓ | Single primary meter |
| Multi-tank fuel tracking | ✓ | Workaround |
| Explainable anomaly detection | ✓ {value, comparedTo, …} | Flagged only |
| Immutable calculation-bearing fields | ✓ | Editable |
| Visible audit trail (edits + voids) | ✓ | Limited |
| Multi-currency native | ✓ | Single |
| Scope 1 + Scope 2 CO₂ rollup | ✓ | Add-on |
| Silent-asset panel | ✓ | ✗ |
Three fleets, one fuel domain.
Questions we hear a lot.
Does the system support fuel cards (WEX, Comdata, Voyager)?
How does MPG work for vehicles with multiple meters?
Can I track EV charging sessions and fuel fills in the same view?
What happens when I edit a fuel entry — is there an audit trail?
How does the anomaly detection decide what’s anomalous?
Does the system support multiple currencies?
Can my AI assistant ask “which truck is worst on MPG this quarter”?
Related features.
Clean MPG. Honest anomalies. Audit-grade history.
14-day free trial. No credit card. A seeded reefer tractor with two tanks and three meters already in your trial tenant — see exactly what clean tractor MPG and reefer GPH look like, side by side.