Fuel-card statement to fuel ledger
Open the transaction export from your fuel card. Each row goes into one bucket for its jurisdiction and unit, and the rows are added up and compared with the total gallons and dollars printed on the statement, which you type. Gallons are kept to 3 decimals as whole thousandths.
The file is read in your browser and stays on this device. Nothing is uploaded.
The file is read in this browser and is not uploaded.
Matched from the header words. Check them and change any that are wrong. When the jurisdiction column is blank, the two-letter code at the end of the location is used. The statement's own total line and lines with no gallons are listed as left out, not added.
Type the totals from the statement itself so the rows can be tied to them.
Fuel by jurisdiction
Fuel by jurisdiction and unit
Rows with no jurisdiction
These rows are in the totals but in no jurisdiction bucket.
What gets checked
- Every row is in exactly one jurisdiction bucket or on the list of rows with no jurisdiction.
- Buckets plus rows with no jurisdiction re-add to all rows, in gallons and in dollars, added a second time in a separate pass.
- Gallons add up to the statement total you typed.
- Dollars add up to the statement total you typed.
- Rows with no jurisdiction are reported as a warning with their count, gallons, and dollars.
- Every row with data is accounted for: used, listed as left out (with its row number and the reason), or listed as unreadable. An unreadable row marks the result not verified. The statement's own total line is listed as left out; a row with gallons and no date that is not a total line counts as unreadable.
How it works
- Open the statement export. Drop the fuel-card transaction file (.csv or .xlsx). It is read in the browser.
- Check the column mapping. Date, jurisdiction, location, gallons, amount, unit, and card or driver are matched from the header words and can be changed. When the jurisdiction column is blank, the two-letter code at the end of a location such as Amarillo, TX is used.
- Type the statement totals. Type the total gallons and total dollars printed on the statement so the rows can be tied to them.
- Review and export. The ledger by jurisdiction, the ledger by jurisdiction and unit, and the rows with no jurisdiction are shown with the verification certificate. Download Excel or CSV, or print.
Worked example
A made-up statement with six rows. The statement prints totals of 1,680.000 gallons and $5,853.46.
| Date | Location | Unit | Gallons | Amount |
|---|---|---|---|---|
| 2026-07-03 | Amarillo, TX | 12 | 450.000 | $1,575.00 |
| 2026-07-09 | Tulsa, OK | 12 | 200.250 | $690.86 |
| 2026-07-15 | Dallas, TX | 14 | 450.000 | $1,561.50 |
| 2026-07-21 | Tulsa, OK | 14 | 200.250 | $694.87 |
| 2026-08-02 | Gallup, NM 87301 | 14 | 299.500 | $1,063.23 |
| 2026-08-05 | Yard tank fill | 14 | 80.000 | $268.00 |
By jurisdiction: NM 299.500 gallons, $1,063.23; OK 400.500 gallons, $1,385.73; TX 900.000 gallons, $3,136.50. One row (80.000 gallons, $268.00) names no jurisdiction and is listed separately. 1,600.000 + 80.000 = 1,680.000 gallons and $5,585.46 + $268.00 = $5,853.46, the totals typed from the statement.
The example uses made-up names and numbers.
Questions
Which fuel-card layouts does it read?
Any .csv or .xlsx with a header row and one row per transaction. Layouts differ between card programs, so the tool does not assume one: it matches header words, shows its choices, and every column can be changed. When gallons cannot be found, the page says so and links to a form for requesting support for that format.
What happens to a row with no jurisdiction?
It stays in the totals, so the statement still ties, and it is listed on its own with its date, location, unit, gallons, and amount. It is not put into any jurisdiction.
Does it handle reversals?
Yes. A row with negative gallons or a negative amount is added as written, so a purchase and its reversal net to zero in their bucket.
This tool calculates and checks numbers. It is not legal, tax, or medical advice.