Base freight and accessorials stay separate
The output can preserve charge categories like line haul, fuel surcharge, detention, and accessorial fees in structured arrays.
Freight invoices are one of the messiest finance documents in logistics. They combine shipment references, carrier metadata, and line-item charges that need to be validated against contracts and shipment events. LeapOCR helps teams turn them into structured, reviewable data.
Extract carrier details, shipment references, charges, taxes, and accessorial lines from freight invoices.
The useful result is not only the total. It is a structured charge breakdown your billing workflow can inspect and validate.
{ "url": "https://example.com/freight-invoice.pdf", "file_name": "freight-invoice.pdf", "format": "structured", "instructions": "Extract carrier, shipment references, base freight, fuel surcharge, accessorials, taxes, and invoice total.", "schema": { "type": "object", "properties": { "invoice_number": { "type": "string" }, "carrier_name": { "type": "string" }, "shipment_reference": { "type": "string" }, "charges": { "type": "array" } } }}
Why it works
The workflow usually succeeds or fails on whether charge lines and shipment references survive extraction cleanly.
The output can preserve charge categories like line haul, fuel surcharge, detention, and accessorial fees in structured arrays.
Carrier name, PRO number, shipment reference, load ID, and dates can be returned in the same record as the charges.
The payload is easier to compare against contracts and shipment events than raw OCR text or manually copied values.
What you control
These fields are the ones most often needed for audit, payment, and dispute workflows.
Invoice numbers, carrier names, billing dates, and payment terms usually need to be captured before any charge validation starts.
PRO numbers, load IDs, shipment references, and booking IDs are what let teams tie the invoice back to the shipment record.
The useful handoff is a charge array that downstream systems can total, compare, and dispute without re-reading the PDF.
Markdown helps AP and logistics teams inspect the original charge layout when something needs to be checked or disputed.
Examples
Most teams either need a charge-ready JSON object for validation or a readable invoice for audit and dispute handling.
This is the common path when logistics finance teams compare freight invoices against shipment events or contracted rates.
{ "invoice_number": "FI-90214", "carrier_name": "Blue Fleet Logistics", "shipment_reference": "LOAD-44112", "invoice_total": 1842.77, "charges": [ { "type": "line_haul", "amount": 1420.0 }, { "type": "fuel_surcharge", "amount": 211.44 }, { "type": "liftgate_fee", "amount": 95.0 } ]}
Teams often need a human-readable version of the invoice to confirm accessorials or check the source layout during disputes.
# Freight invoice FI-90214- Carrier: Blue Fleet Logistics- Shipment reference: LOAD-44112- Invoice total: 1842.77## Charges| Charge type | Amount || --- | ---: || Line haul | 1420.00 || Fuel surcharge | 211.44 || Liftgate fee | 95.00 |
FAQ
Straight answers for teams evaluating how this workflow fits into production.
Yes. Freight invoice workflows can return structured charge arrays alongside carrier and shipment metadata.
Because freight invoices often need shipment references and charge breakdowns that must be validated against logistics events and contracts, not just posted as a single AP record.
Yes. Markdown remains useful for audit and dispute workflows while structured output powers the downstream validation path.
Ready to test
Run a carrier invoice and check whether the charge lines and shipment references arrive in a format your audit workflow can use immediately.