50 Fuel & Toll Receipts,One Fleet Cost Report

Most fleet content will tell you a fuel card solves receipt processing. It solves most of it — but not the toll invoices from six state authorities arriving as PDFs, not the fuel receipts from stations outside your card network, and not the physical receipt cross-referencing IFTA auditors expect when they open a quarterly review. A 50-vehicle fleet generates roughly 500–700 fuel and toll receipts per month across these three sources. The fuel card handles ~70% of them automatically. The remaining 150–200 receipts still land on someone's desk.

Monthly batch processing of fuel and toll receipts into fleet cost report spreadsheet

Key Takeaways

  1. Every month, 150 to 200 fuel and toll receipts arrive on a fleet manager's desk in roughly 23 different formats — toll PDFs from six state authorities, paper slips from 15 station chains, and out-of-network transactions no fuel card captures.
  2. The instinct is to standardize — but asking 6 toll authorities and 15 station chains to change their printing templates for your convenience has zero enforcement power and a 100% failure rate; each format change they make on their own schedule breaks whatever template you built last month.
  3. Stop negotiating with senders: define your output columns once — Date, Vehicle, Gallons, Jurisdiction, Total — and let ImageToTable.ai absorb any format, reading a SunPass PDF, a Pilot receipt, and a handwritten rural-station slip by field meaning into one consistent spreadsheet in a single batch upload.

Where fuel cards stop — and the receipt pile begins

A fuel card captures transaction data automatically at the pump: date, gallons, unit price, total, vehicle ID, location. For fuel purchased on-network, the data lands in a dashboard without anyone typing a single digit. This is why fuel cards dominate fleet fuel management — and rightly so. The 2025 Shell State of Fleet Cards survey of 260 U.S. fleet managers confirmed that fuel cards remain the most-used tool for fuel expense management at 62% adoption, with dedicated fleet management software at 55% (Shell, 2025).

But that same survey found 25% of fleet managers still track fuel expenses in manual spreadsheets, and another 25% rely on paper records and logbooks. These aren't fleets that have never heard of fuel cards — they're fleets where fuel cards don't cover everything. Three specific scenarios produce receipts that the card never sees:

Toll authority invoices. Whether it's E-ZPass, SunPass, TxTag, or FasTrak, toll authorities generate PDF statements — not point-of-sale transactions. These arrive monthly as multi-page invoices with per-trip line items: date, time, toll plaza, vehicle plate, amount. In some regions, toll-by-plate systems send paper invoices by mail. A cross-country fleet operating in 12 states may receive toll invoices from 6 different authorities, each in a different format, each needing to be allocated to the correct vehicle and cost center.

Out-of-network fuel receipts. Every fuel card has a station network. When a driver fills up outside that network — at an independent truck stop, a rural station, or a regional chain — the transaction doesn't flow through the card system. The driver hands over a paper receipt at the end of the week. These receipts accumulate at roughly 5–15% of total fuel volume depending on route geography and card network coverage.

IFTA cross-reference documentation. The International Fuel Tax Agreement requires quarterly filing of miles driven and fuel purchased per jurisdiction. For every gallon of tax-paid fuel claimed, IFTA requires a receipt containing nine specific fields: purchase date, seller name and address, gallons purchased, fuel type, price per gallon or total sale amount, vehicle unit number, and purchaser name (Ohio IFTA Recordkeeping Requirements, P560). A fuel card transaction log provides most of these fields — but during an IFTA audit, auditors cross-check card data against physical receipts. Missing receipts result in your fleet's MPG being reduced to 4.0 or by 20%, whichever costs more in tax liability. Records must be retained for four years from filing date.

The fuel card didn't eliminate receipt processing. It automated the largest slice of it. The 150–200 monthly receipts that don't flow through the card — toll PDFs, out-of-network paper, and IFTA backup copies — are where the manual workload lives. And because these receipts come from different sources in different formats, they can't be solved with one more card. They need a different approach entirely.

What makes batch fleet receipt processing different from scanning a single expense receipt

Processing one fuel receipt is straightforward: read the date, gallons, total, and vehicle ID, type them into a spreadsheet, done in 60 seconds. The challenge isn't the single receipt. It's what happens when you multiply by 150.

A fleet generating 200 monthly manual transactions spends roughly 65–100 hours on expense processing — submission, review, data entry, and corrections — at a labor cost of $1,625 to $2,500 per month. That's before factoring in the 25–40% error rate on manual fuel transaction data entry, with each correction costing $15–25 to fix.

Three structural problems stack when you move from single-receipt processing to fleet-scale monthly batches:

Format fragmentation across sources. A SunPass toll invoice prints toll charges in a table with columns for date, time, plaza, and amount. An E-ZPass statement uses a different column order and includes transponder ID. A TxTag PDF puts vehicle plate in the header, not the line-item table. A fuel receipt from Pilot prints gallons and price in one layout; Love's uses another; an independent station uses thermal paper with entirely different field placement. Template-based OCR tools — which expect fields at fixed coordinates — need a separate template definition per format. A fleet processing receipts from 8 toll authorities and 15 fuel station chains would need 23 templates, each breaking the moment the authority or station updates their format.

Vehicle attribution across receipt types. A fuel card transaction automatically tags a unit number. A toll invoice lists a license plate or transponder ID — not your internal unit number. An out-of-network fuel receipt may have no vehicle identifier at all, only a driver signature. Building a unified cost report requires mapping each receipt to a vehicle, and doing it consistently across 150 receipts. When attribution is missing or inconsistent, a line item floats — it sits in your spreadsheet attached to no vehicle, which means it can't contribute to per-unit cost-per-mile analysis.

Result merging into one report structure. Even if you extract every receipt correctly, the output needs a unified column structure: Vehicle ID, Date, Receipt Type (Fuel / Toll), Jurisdiction, Gallons, Unit Price, Total, Fuel Type, Location. A toll receipt has no gallons field but needs jurisdiction mapping. A fuel receipt has gallons but no toll plaza. The merge step — aligning different receipt types into the same column structure — is where spreadsheets break. The person doing the merge starts making judgment calls: "this toll was in Oklahoma, so jurisdiction = OK." Those judgment calls take time and introduce variance.

This is the gap between what a receipt says and what a cost report needs: not just extraction, but extraction + attribution + structural normalization — applied across 150 receipts in one pass.

How AI extraction handles format fragmentation without a single template

The reason template-based OCR can't process a mixed batch of fuel receipts and toll invoices is structural: it reads by coordinate, not by meaning. A template tool expects the total at (x=120, y=340) because that's where the total sat on the last receipt from this station. When the next receipt puts the total somewhere else — or when the document is a completely different type like a toll invoice — the template returns garbage.

AI-based extraction takes a different approach. Instead of mapping pixel coordinates, the AI reads the document semantically — it understands what a "total" is regardless of where it appears on the page. This is the difference between matching character positions and understanding document structure. When you define a column called "Total Amount," the AI identifies the dollar figure that functions as the final sum on each page — whether it sits at the bottom-right of a Pilot receipt, mid-page on a Love's receipt, or buried in a line-item table on an E-ZPass statement.

This mechanism — Custom Column Extraction — is what makes one column definition work across 23 different formats. You type the field names you need: Vehicle/Unit | Date | Receipt Type | Jurisdiction | Gallons | Unit Price | Total | Fuel Type | Location/Station. The AI reads each document independently and populates those columns by understanding what each field name means, not where it was positioned on the last document. A receipt from a rural station in Nebraska that prints the total in a tiny font at the bottom-left is read the same way as a PDF toll invoice from Oklahoma that puts toll amounts in a structured line-item table. The AI locates the value by meaning, not by coordinate.

JPG/PNG/PDF AI Extraction

Files are processed securely and not stored.

Two additional column capabilities turn a basic receipt extract into a fleet-ready cost report:

Inferred Columns for automatic classification. Not every receipt explicitly states what it is. A toll invoice from a plate-by-mail system may look structurally similar to a parking receipt. A fuel receipt from an independent station may not say "diesel" anywhere visible. Define an Inferred Column like Fuel Type (options: Diesel | Unleaded | DEF | Other) or Category (options: Fuel | Toll | Parking | Maintenance), and the AI reads the document content to determine the correct value — analyzing line items, merchant names, and receipt structure — then fills the column automatically. An entire batch of mixed receipts classifies itself as it extracts.

Computed Columns for per-unit metrics. A raw receipt tells you the total paid and gallons pumped. What you need in a cost report is cost per gallon at the vehicle level. Define a Computed Column like Cost per Gallon (Total ÷ Gallons), and the AI calculates it during extraction — outputting a ready-to-analyze metric alongside the raw data. A column like Tax Check (Total × jurisdictional rate) vs Tax Shown flags receipts where the tax amount doesn't match the expected rate — catching data quality issues before they propagate into your IFTA filing.

One column definition. 150 mixed-format receipts from toll authorities, card-network stations, and independent fuel stops. One output spreadsheet with consistent columns — every receipt in the same structure, every vehicle attributed, every jurisdiction tagged. What used to take 65–100 hours per month becomes a batch upload and a structured export.

From a month of receipts to an IFTA-ready cost report

Here is the end-to-end workflow for a monthly batch — assuming a 50-vehicle fleet with receipts coming from three sources: fuel card dashboard exports (for transactions the card covers), toll authority PDF invoices, and out-of-network paper fuel receipts collected by drivers.

1

Centralize receipt collection — without chasing drivers

Set up a Collection Link — a shareable URL with a verification code. Distribute it to all drivers. When a driver fills up outside the card network, they photograph the receipt on their phone, open the link, enter the code, and upload. No app to install, no account to create. Toll PDFs downloaded from authority portals can be added to the same upload batch directly. All submissions — driver fuel receipts and downloaded toll invoices — land in one processing queue. The receipt collection step that normally takes days of chasing and reminders collapses into a single link.

2

Define your IFTA-aligned column structure once

Type the columns you need for both cost reporting and IFTA compliance: Vehicle/Unit | Date | Receipt Type | Jurisdiction (State) | Gallons | Unit Price | Total | Fuel Type | Station/Location | Seller Name | Purchaser Name. Add Computed Columns for analysis: Cost per Gallon (Total ÷ Gallons) and an Inferred Column for classification: Fuel Type (options: Diesel | Gasoline | DEF | Other). Save the configuration as a template — use it every month without retyping.

3

Batch upload and extract — one pass, all formats

Drop the entire month's receipt collection into the upload — toll PDFs from six authorities, photographed paper fuel receipts from drivers, even screenshots of digital receipts. The AI reads each document independently by field meaning, not layout. The SunPass PDF with toll charges in a columnar table, the Love's receipt with fuel data in a receipt format, the E-ZPass statement with transponder-based billing — all populate the same columns. No per-authority templates, no per-station configuration. For independent stations where the receipt is handwritten rather than printed, the AI still reads summary fields like Total and Date by understanding document structure — the same semantic approach that works on printed receipts.

4

Download and merge with fuel card data

Export the extracted data as XLSX — one row per receipt, with all columns populated. Export your fuel card transaction log for the same period. Merge the two sheets into a single monthly cost report: fuel card rows (already structured) plus AI-extracted rows (toll receipts, out-of-network fuel) in the same column format. Filter by Vehicle/Unit to generate per-vehicle cost summaries. Filter by Jurisdiction for IFTA quarterly preparation. The toll rows sit alongside the fuel rows in one table — no separate spreadsheets, no manual reconciliation.

5

Verify against fuel card for IFTA cross-reference

For IFTA filing, auditors may cross-check card transaction records against physical receipts. With both datasets in spreadsheet form, use a VLOOKUP or XLOOKUP on transaction date + amount to match extracted receipt rows against card transaction rows. Flag rows where the card has a transaction but no receipt image exists in your files — these are gaps you can fill before an auditor finds them. Flag rows where extracted amounts differ from card amounts — these are potential data quality issues to investigate. The cross-reference that used to involve flipping through folders of paper receipts against a card statement now happens in Excel in one pass.

Processing speed: the AI extracts each page in 5–10 seconds compared to roughly 3 minutes of manual data entry per page. For 150 receipts, that's approximately 12–25 minutes of AI processing time versus 7.5 hours of manual entry. The time saved isn't the extraction itself — it's the elimination of 150 individual typing sessions and the structural cleanup that follows manual entry. For a deeper look at the per-receipt extraction process that feeds into the monthly batch, see how fleet fuel receipts are extracted into a structured cost spreadsheet — the single-receipt workflow that the batch process scales across the entire fleet.

What the AI can and can't do with fleet receipts

Honest expectations produce better results than blanket accuracy percentages. Here is where the tool works well and where it needs human attention:

Works well

  • Digital PDF toll invoices from major authorities (E-ZPass, SunPass, TxTag, FasTrak, PikePass). Machine-generated PDFs with consistent typeface produce the highest extraction accuracy for all fields.
  • Printed fuel receipts from major truck stop chains (Pilot/Flying J, Love's, TA/Petro, Speedway). Clear, structured receipts with labeled fields extract reliably.
  • Summary fields across all receipt types — Date, Total, Gallons, Location. These extract well even from independent station receipts because the AI reads by field meaning rather than format matching.
  • Batch classification via Inferred Columns. Fuel Type (diesel vs gasoline) and Receipt Category (fuel vs toll vs parking) classification is reliable because the AI reads document content holistically.

Needs attention

  • Faded thermal paper receipts stored in a glovebox for three weeks. Thermal paper degrades with heat and light — if the print is already ghosting before you photograph it, extraction accuracy drops. Photograph receipts within 48 hours of issuance for best results.
  • Phone photos taken at night through a windshield. Low-contrast, glare-obscured photos reduce reliability. Straight-on shots with even lighting produce substantially better extraction than angled photos in poor light.
  • Vehicle attribution when the receipt has no unit number. If a driver hands in a fuel receipt without writing the unit number on it, the AI can't fabricate one. Each receipt row needs a unit number to be useful in a cost report. Inferred Columns won't solve this — it's a process discipline issue, not an extraction issue.
  • Handwritten annotations on printed receipts. A driver jotting "Unit 14" in pen on a printed receipt is adding data outside the original document structure. The AI reads the handwritten note if it's legible and adjacent to a relevant field, but this is lower-confidence territory. Standardizing the process — requiring drivers to write the unit number in a consistent location on every receipt — improves extraction reliability.

The tool extracts and structures receipt data. It does not file IFTA returns, validate whether fuel tax was correctly applied, or detect fraudulent receipts. These are accounting and compliance functions that happen after extraction. The separation is deliberate: extraction produces a clean, structured dataset that feeds into your existing accounting, IFTA filing, and audit workflows — it doesn't try to replace them.

Frequently Asked Questions

Can one column setup handle both fuel receipts and toll invoices — documents with completely different data fields?

Yes, because the AI reads each document independently by field meaning. Define columns for the superset of fields you need: Date, Total, Vehicle/Unit, Jurisdiction, Gallons, Fuel Type, Location, Receipt Type. On a fuel receipt, the AI finds Gallons, Unit Price, Fuel Type, and Station Location — the Toll Plaza column remains empty for that row because the document contains no toll data. On a toll invoice, the AI finds Date, Toll Plaza (mapped to Location), Total, and Jurisdiction — the Gallons and Fuel Type columns remain empty. The output is one spreadsheet where fuel rows have fuel-specific columns filled and toll rows have toll-specific columns filled. For the cost report, this is exactly what you want: one table with all transactions, fuel and toll distinguished by their populated columns.

What happens if a toll invoice lists 50 individual trips — does the AI extract each line item or just the invoice total?

The AI extracts line-item detail when the toll invoice presents trips in a structured table format — which is how most toll authority PDFs are formatted. Each trip row (date, time, plaza, amount) becomes a separate row in your output spreadsheet. For cost-per-trip tracking or route-level toll analysis, this is the granularity you need. If you only want monthly toll totals per vehicle, you can define summary-level columns (Vehicle, Month, Total Toll) instead and the AI reads the invoice-level total. The column names you define determine the granularity of the output.

How do I handle IFTA jurisdiction mapping when a fuel receipt doesn't explicitly state the state?

Many fuel receipts include a station address or city/state line. Define "Jurisdiction" as a column, and the AI extracts whatever location information exists on the receipt — station city and state, store address, or location code. If a receipt truly has no location data (rare for chain stations but common for some independent receipts), define an Inferred Column like Jurisdiction (options: AL|AK|AZ|AR|CA|CO|CT|DE|FL|GA|...) and the AI will attempt to infer the jurisdiction from context — station name patterns, phone area codes on the receipt, or regional branding. This is not 100% reliable and should be spot-checked, but it reduces the manual mapping workload from 150 receipts to the small subset where inference is uncertain. For the most reliable IFTA data, combine AI-extracted receipt data with GPS telematics — the GPS knows which state the vehicle was in when the fuel was purchased, which is the ground truth the AI extraction supplements rather than replaces.

Does batch-processing 150 receipts at once affect extraction accuracy compared to processing them individually?

No — each receipt is processed independently regardless of batch size. A batch of 150 receipts is 150 independent extraction operations, not one operation that averages across documents. A faded thermal receipt in position 47 doesn't affect the extraction quality of a clean PDF toll invoice in position 48. The AI reads each document in isolation, using the same column definitions. The only practical difference between individual and batch processing is that batch mode merges all results into one spreadsheet automatically — the individual extraction quality per document is identical.

What about IFTA's requirement that receipts show "evidence tax was paid" — can the AI extract that?

IFTA requires that fuel receipts show evidence of tax paid to the applicable jurisdiction — typically indicated by a tax line, a "tax included" notation, or a fuel tax breakdown on the receipt. The AI extracts whatever tax information appears on the receipt: Sales Tax, State Fuel Tax, Federal Excise Tax, or a combined "Tax" line. If the receipt shows a tax amount, define a "Tax" column and the AI populates it. If the receipt doesn't itemize tax but includes the price per gallon (which at retail pumps always includes tax), the per-gallon price combined with the receipt total serves as indirect evidence of tax-paid status. For IFTA filing purposes, digital copies of the original receipts — extracted data plus the receipt images — constitute acceptable records under IFTA's electronic recordkeeping provisions. Receipts must be retained for four years.

Can I use this for the quarterly IFTA filing itself, or just for monthly cost reports?

The extracted data feeds into IFTA preparation — it gives you structured, jurisdiction-tagged fuel data organized by vehicle and quarter. But the tool does not calculate IFTA tax liability, apply jurisdictional tax rates, or file the return. Your IFTA filing process stays the same: you need total gallons per jurisdiction, total miles per jurisdiction, and the jurisdictional tax rates for the quarter. What changes is that instead of manually extracting every receipt's jurisdiction and gallon data into your IFTA worksheet, you have an AI-generated spreadsheet that covers all manual receipts in one pass. Combined with your fuel card transaction export (which already provides jurisdiction tags for card transactions), the AI-extracted data fills in the ~30% of receipts the card doesn't cover — and your IFTA preparer works from one complete dataset rather than two partial ones plus a stack of paper.

A fleet generates hundreds of receipts every month. Fuel cards automate about 70% of them — the transactions that happen on-network. The remaining 30% — toll authority PDFs, out-of-network fuel receipts, and the physical backup copies IFTA auditors expect — still follow the same path they did twenty years ago: driver to desk to spreadsheet. AI receipt extraction closes that last gap. Not by replacing the fuel card, but by handling the receipts the card was never designed to capture. One column definition, all 150 outliers, one structured cost report — every month, every quarter, every audit cycle.

Next month's cost report doesn't need to start with a stack of receipts and a blank spreadsheet. Process your first batch and see what changes when extraction takes seconds instead of hours.

Try it on your fleet receipts →
📮 contact email: [email protected]