How does Charge Verification work?
What is Charge Verification?
Charge Verification helps you trust reimbursed home charges. For charges paid from a team wallet, Monta captures evidence from the vehicle during the session and runs a set of automatic checks when the charge completes, then shows a clear result on the charge. It's designed so you can confirm that the energy you're reimbursing actually went into the expected vehicle.
What evidence Monta captures
On qualifying charges, Monta takes a snapshot of vehicle data at the start and end of the session, where it's available:
- Odometer — the vehicle's distance reading. It comes from the vehicle integration, or is entered manually (by the driver in the app or by your team in Hub). Integration readings are treated as verified; manual entries as declared.
- Location (GPS) — the vehicle's position, used to check it was at the charge point.
- State of charge (SoC) — the battery percentage at the start and end of the charge.
- Vehicle identifier (VID) — the identifier the vehicle transmits during the session.
Every data point stores where it came from and two timestamps — when the vehicle produced the value and when Monta captured it. That lets Monta judge how fresh the evidence is: a GPS reading taken within about 15 minutes of the session is treated as fresh, and one older than about 2 hours as stale.
The checks Monta runs
When the charge completes, Monta runs every check it has data for and records a pass, flag, or inconclusive for each.
Vehicle assignment
If you've pinned an expected company vehicle to the home charge point, Monta checks the charging vehicle matches it. A match passes; a different vehicle is a critical flag; if no vehicle is recorded on the charge it's inconclusive.
VID match
Compares the identifier the vehicle transmitted against the vehicle's known identifiers. In the known set passes; a known vehicle transmitting an unrecognised identifier is flagged; no identifier (or no linked vehicle yet) is inconclusive while Monta is still learning the vehicle's identifiers.
Location
Compares the vehicle's GPS position with the charge point, allowing for normal GPS error (roughly 150 m, plus a little more if the reading is old). Within about 500 m confirms the vehicle was there; up to about 3 km is plausible; a fresh reading more than 3 km away — or any reading beyond about 10 km — is flagged. A very old reading sitting right at the charge point is treated as "parked there" and accepted.
Consumption (odometer vs energy)
Compares the energy charged with the distance driven between two odometer readings, using a guide of about 0.2 kWh per km. If the energy charged is up to about 1.3× the expected amount it passes; up to about 2× is suspicious; more than 2× is flagged — for example, far more energy billed than the distance driven could explain.
State of charge vs energy
Checks that the battery percentage gained lines up with the energy delivered, using the battery's capacity and about 88% charging efficiency. If the SoC gain is well below what the energy should have added (under about 70% of expected), it's flagged. The check is skipped when the battery started nearly full (98%+) or when SoC or battery-capacity data is missing.
Odometer quality
Flags a missing odometer reading, or a reading that goes backwards within a charge.
When a check doesn't have the data it needs, it's marked inconclusive, and Monta records exactly which inputs were missing (odometer, GPS, SoC, or VID) — this is the "Not enough data to verify" message you may see.
The verification result
The individual checks roll up into one result on the charge, and you'll also see the counts behind it (for example, "4 passed · 3 inconclusive"):
- Verified — the checks passed.
- Flagged — at least one check raised a concern. A single flag outranks any number of passes, so a flagged charge always shows as flagged.
- Inconclusive — there wasn't enough evidence to decide.
- Not run — no checks ran for this charge.
Each flag also carries a severity — info, warning, or critical — so the most serious issues (like a mismatched vehicle) stand out.
Reviewing a charge
Open a charge to see all the captured evidence and the outcome of each individual check. If a flag has been raised, you can review it and resolve it with a note once you've looked into it — resolved flags are kept as a record. You can also re-run verification for a charge if new information becomes available.
Entering an odometer reading manually
If the vehicle integration can't provide an odometer reading, one can be entered manually — by the driver in the Monta app, or by your team in Hub. Readings are kept as a history; a reading is never rejected at entry, so if one looks wrong (for example it goes down, or jumps unrealistically), the verification checks surface it as a flag instead.
Linking a company vehicle
For sponsored home charge points, you can pin the expected company vehicle to the charge point. The vehicle-assignment check then knows which vehicle should be charging there, and flags charges from any other vehicle — the strongest signal that a reimbursed charge is legitimate.
Availability
Charge Verification applies to reimbursed charges paid from a team wallet. The richer checks (location, consumption, state of charge) depend on the vehicle data available for each charge, so a charge can show as Inconclusive when that data isn't present — the vehicle-assignment check, by contrast, runs whenever an expected vehicle is pinned.