TollTally / Accuracy and data quality

How a GPS point becomes a toll

The six steps from a raw position to an expected toll, what the unit configuration changes, what happens to bad GPS, why every crossing carries two rates, and the short list of reasons a TollTally toll differs from the statement.

1. From a GPS point to a toll

A toll is not detected; it is computed. TollTally runs the same steps on every trip, live or historical, from a marketplace feed or the API, and the same inputs with the same rule version give the same output every time.

  1. Normalize

    GPS from any provider is converted into one trip model: unit, position, time. The provider's format never reaches the calculation.

  2. Map-match

    Each point is aligned to the road network. A point 30 feet off the carriageway is placed on the road the vehicle was actually on, and the sequence becomes a path, not a cloud of dots.

  3. Reconstruct the trip

    The path is cut into trips and legs from movement and stops, so a multi-stop day is costed leg by leg.

  4. Apply the unit

    The unit's configuration is attached: axle count, weight, height, length, vehicle class, tractor and trailer, tag or plate, transponder and plate, emission class where a country prices on it.

  5. Look up the rules

    For every toll point the path crosses, the facility's rules and rates for that direction, that time of day and that vehicle class are looked up in the toll data, which covers 900 plus toll authorities in 100 plus countries.

  6. Price and roll up

    The toll is calculated per crossing at both the tag rate and the plate rate, then rolled up per leg, per trip and per unit.

The output is a per-vehicle, per-trip toll record: facility, gantry or plaza, direction, expected toll. It is more than a crossing; it is the expected toll for that vehicle at that time.

2. What the unit configuration changes

Two identical trips can price differently. The unit is the reason. This is why unit configuration is a setup step and not a detail.

AttributeWhat it changesExample
Axle countClass on most US facilities and many closed systemsA tractor-trailer priced as two axles instead of five underprices every crossing
Weight and heightClass on facilities that price by weight or height band; access to some facilitiesA rate that steps at a weight threshold
Vehicle classThe rate table row, where the authority classes by vehicle type rather than axlesBus, truck, car, motorcycle classes
Tractor and trailer configurationWhether a trailer with its own tag or plate produces a second chargeTrailer tag charged alongside the tractor
Payment method: tag or plateWhich of the two rates applies; plate or video rates run higher and on some facilities add a feePlate rate on a unit whose tag is not mapped
Transponder and plateThe evidence the statement will carry; the mapping TollMatch reconciles onA tag mapped to the wrong unit
Emission classRate on European distance-based truck tolls that price on Euro or CO2 classTwo identical trucks, different emission class, different toll

3. GPS quality: flagged, not absorbed

A toll depends on the trace. TollTally does not fill in what the trace does not show. Gaps, jumps and low-quality segments that could affect a toll are flagged on the trip so a person can decide, rather than silently absorbed into a number.

ConditionWhat causes itWhat TollTally does
GapDevice off, no signal in a tunnel or garage, a provider outage, a ping interval too long for the roadNo crossing is invented across the gap; the trip carries the gap flag
JumpA point placed far from the path, often in an urban canyon or under foliage; a point snapped to a nearby toll road the vehicle was not onThe point is treated as an outlier for pricing and the segment is flagged
Low-quality segmentSparse or noisy points where the matched path is uncertain, for example a plaza lane beside a free laneThe crossing is priced on the best match and flagged for review
Entry or exit outside the traceOn a ticket system the trace starts after the entry plaza or ends before the exit plazaThe crossing cannot be priced as driven; it is flagged so the fleet can supply the missing points or check the device

Ping rate matters. Civilian GPS carries an error of several yards, and a reading every few minutes can miss a plaza entirely on a fast road. Fleets that see gap flags on the same unit every day have a device or ping-rate problem, and the fix is with the telematics provider, not in the toll record.

4. Tag rate and plate rate

Every crossing is priced twice. The tag rate is what a working transponder pays for that class, direction and time. The plate rate is what the authority bills by video when there is no tag or the tag is not read, and on many facilities it is higher and can carry a fee.

TollTally shows both so that two decisions stay separate: what to bill and reimburse (the tag rate, for a tagged unit) and what the authority actually charged (whichever the statement shows). Where a tagged unit is charged the plate rate, the tag was not read or is not mapped; that difference is recoverable and TollMatch files it.

5. Time of day and dynamic pricing

Rates change by hour on many facilities and by demand on express lanes. TollTally prices a crossing at the rate in effect at the facility-local time of the crossing, not at the trip's departure time. For API integrators sending a route rather than GPS, the polyline endpoint accepts a timestamp per point along the route for the same reason (see the developer guide).

Express lanes are dynamically priced. TollTally applies the rate window for the crossing time; where a fleet's managed-lane policy does not authorize the lane, the leg is flagged so the fleet decides who pays it.

6. Why a TollTally toll differs from the statement

When the statement arrives, most lines match. The ones that do not fall into two groups, and the group decides who acts.

Fleet-side (your configuration or equipment):

DifferenceCause
Wrong class on every crossing for a unitAxle count, weight or class set wrong on the unit
Plate rate on a tagged unitTag not read, tag in the wrong vehicle, or tag not mapped in the toll account
Two charges for one crossingTrailer tag or plate charged alongside the tractor
Crossing missingGPS gap at the plaza; ping rate; device off

Authority-side (the statement is wrong):

DifferenceCause
Maximum fare on a closed systemEntry or exit not read; the authority charged the longest possible trip
Duplicate chargeThe same crossing billed twice
Class overchargeCharged at a higher class than the unit's configuration
Express lane overchargeCharged above the rate window in effect, or charged for an express lane the GPS places the unit outside of
MisreadA tag read where the GPS shows the unit was not present

TollTally produces the expected toll and keeps the evidence per crossing: the trace, the facility, the class applied, the rate version. TollMatch does the line-by-line comparison and the disputes.

7. History runs the same engine

Send past GPS and TollTally calculates the tolls for trips already driven, on the same map-matching and the same rules. Fleets use this to price a statement period that has already been billed, to check TollTally before changing a process, and to cost lanes they are bidding on from trips they have already run.

Rates are versioned. A historical trip is priced on the rates in force at the time of the crossing, not today's.

8. Coverage and toll data

The toll data behind TollTally covers 900 plus toll authorities in 100 plus countries: facility geometry, gantry and plaza locations, direction, class tables, time-of-day schedules and payment-method rates, maintained by a toll data team and updated as authorities change rates. Rates carry a version so any past toll can be recomputed on the rules that applied.

When a fleet finds a facility, a gantry or a rate that is missing or wrong, the report goes to tolltally@mapup.ai with the facility, the direction, the date and the amount expected. The data team corrects it and the affected trips are regenerated. Coverage grows this way; a fleet running new lanes is the first to see a new gantry.

9. Live feed, API and history: one engine

Whether the GPS arrives from a marketplace feed every 30 minutes, from a file of last quarter's tracks, from the GPS tracks endpoint, or as a route polyline from a mapping service, the same engine prices it. The only difference is the input: a complete polyline from a mapping service is priced as a path with no map-matching step, which is why a sparse trace sent that way can miss a plaza and vehicle-produced points should go to the GPS tracks or polyline map matching endpoints instead. The developer guide covers when to use which.

Questions we have not answered here?

Write to tolltally@mapup.ai with your fleet name and, if it is about a toll, the unit, the facility and the time. We add the answer to these pages.

Back to TollTally