Inside the service
The fuel-card statement arrives from the provider as a file with thousands of lines, and it gets approved as-is because nobody has time to read it line by line. This module reads it for you: it imports the statement, matches every transaction to its vehicle, then runs the lines through detection rules that notice what the eye cannot — a quantity above the tank's capacity, or two fills in two cities with too little time between them for the road. And because it is provider-neutral, it works on the statement whatever its source, tied to no single company.
01
An import that matches itself
Uploading the statement starts a pipeline that links every transaction to its vehicle by internal fleet number, falling back to the plate when that is missing. Whatever cannot be matched is not dropped — it surfaces in a dedicated queue with a manual mapping wizard and its own detection rule, so no transaction rides through unowned. Behind the pipeline, a recurring watchdog picks up any import that stalled midway and completes its aggregation and checks within minutes, so no file is lost between upload and result.
02
Thirteen rules in three layers
The immediate layer runs at import time: tank-capacity overruns, an impossible daily volume, travel between two stations in less time than the road allows, fills without authorization, and unmatched transactions — plus a compound escalation for repeat offenders and a quality scan for vehicle classification. The pattern layer compares each vehicle to its own historical baseline: consumption spikes, abnormal fill frequency, efficiency deterioration, and station-pattern changes. The comparative layer ranks a vehicle among its peers and a driver across the vehicles he fuels.
03
Per-company tuning, honest baselines
Every rule's sensitivity can be tightened, loosened or disabled in the company's settings, with a global sensitivity dial and exemptions for a specific vehicle with a known operating situation. The baseline is built statistically from ninety days of real history with a minimum number of fill events before it counts, and every result carries a confidence score — a newly added vehicle is not accused by pattern rules that lack the history to back them. Baselines are rebuilt on a monthly cycle.
04
A mechanical alert opens a work order
Deteriorating fuel efficiency may be a fault, not theft — so the system automatically converts it into a numbered maintenance work order with a defined inspection checklist, from filters to injectors. When the maintenance closes, the alert is resolved from the other side as a confirmed mechanical cause. Both directions are guarded against duplication: no alert produces two orders, and no re-run of the checks copies what was already created.
05
A suspicion report that convicts nothing
An alert is not a verdict. Every case enters an investigation path that an investigator closes with an explicit decision, and the detected-theft report shows only what that decision confirmed — no driver is accused over a transaction that was never proven. A periodic digest arrives by email at the cadence the company chooses — daily, weekly, monthly, or switched off entirely — so management stays current without opening the system every morning.