Logistics Document Automation

Automate freight audit and proof of delivery

Unstract reads each carrier freight invoice with its signed proof of delivery, audits the charges against the rate confirmation and the bill of lading, and approves the clean ones in your TMS or ERP.

pro-4471209 · EDI 210 + signed PODrunning
Invoice & POD1 invoice, 1 signed POD
Read & extract42 fields
Audit rates1 held for an auditor
ApproveTMS · ERP payables
08:41:07EDI 210 from Prairie Line Freight · PRO 4471209 · $2,412.50
08:41:09Signed POD from carrier portal · BOL-260931 · no exceptions noted
08:41:12Read · 42 fields · lowest confidence 0.91 (driver photo of the POD)
08:41:13Audit · detention $150.00 billed, POD shows 1h 40m on site · held
10:02:45Auditor disputed detention · sent to carrier with the POD times
10:02:46Approved $2,262.50 · posted to TMS and ERP accounts payable

Trusted by logistics and supply chain teams around the globe

G2 Leader, Fall 2026G2 Best Usability, Summer 2026
Moody'sEndpointMedaxionPinpointConvrSmart ClerkCyberSoftThoughtFocusZluriIOA
The problem

Freight bills arrive faster than anyone can audit them

The agreed rate sits on a rate confirmation, the weight on the bill of lading and the delivery on a POD a driver photographed at the dock. The carrier's invoice comes separately, and someone has to put all four side by side before it gets paid.

FREIGHT BILLNOVNET 30 FROM 10/29

Charges keyed by hand from each carrier's own invoice layout

DELIVERY RECEIPTSHORT 2 CARTONS

A driver's photo of a POD with the exception written in the margin

FREIGHT BILLWEIGHT LB41,200BOL 258114WEIGHT LB38,400

A billed weight heavier than the bill of lading

PRO 4468830 · POD REQUESTOCT 14POD askedOCT 17reminderOCT 22blurry photoOCT 28⚑ invoice due

An invoice waiting two weeks for a POD someone can read

PAID FREIGHT BILLSPRO 445812Prairie2,180PAIDPRO 445812Prairie2,180⚑ 2ND

The same PRO number billed twice and paid twice

An unchecked accessorial, a heavier billed weight or a load paid twice goes straight out of the freight budget, and a short delivery found after payment is much harder to claim.

Unstract reads every freight bill and its POD, runs the freight bill audit against your contract rates, the rate confirmation and the BOL, and approves the invoices that pass. An auditor sees only the charges that don't.

How it works

From the carrier's invoice to your TMS or ERP, without the keying

Five steps, run on their own for every freight invoice. Parsing by LLMWhisperer, extraction by Document Studio, the whole run by Flow.

1 · Invoice and POD intake

Pick up invoices and PODs wherever carriers send them

Carrier freight invoices come in as PDFs by email and as EDI 210s. Signed PODs and delivery receipts come from driver photos and carrier portals. Each invoice is paired with its POD and BOL by PRO number, so one record holds everything the audit needs.

The audit can't start on half a file, so the pairing happens the moment both halves exist.

CARRIER · EDI 210PLF-48213AP INBOX · EMAILInvoice PDFDRIVER · PHOTOSigned POD.jpgCARRIER PORTALDelivery receiptPRO 4471209carrierPrairie LineinvoicePLF-48213BOLBOL-260931PODsigned 10/29
2 · Read and extract

Read every invoice and POD, then pull the charges and the signature

LLMWhisperer reads each invoice and POD as text with the layout kept, so a creased delivery receipt photographed in a cab reads as well as a carrier's PDF. Document Studio extracts the fields you defined: carrier, PRO number, dates, origin and destination, weight, class, line haul, fuel surcharge and each accessorial, plus the POD's signature, delivery date and any exception the receiver noted.

Every carrier's invoice layout returns the same record, so the audit rules are written once.

FREIGHT BILLcarrierPrairie Line✓pro_number4471209✓weight_lb38,400✓line_haul$1,850.00✓fuel_surch$412.50✓total$2,412.50✓confidence0.91driver POD photo
3 · Audit against the rate

Check every charge against the agreed rate before anyone pays it

Line haul and fuel surcharge are checked against the contract rate and the rate confirmation, and the billed weight and class against the BOL. Every accessorial needs a reason on file: detention needs the time on site, a lift gate needs the order that asked for one. An invoice that passes keeps moving. One that doesn't stops in a review screen with the charge, the rate and the evidence side by side.

Set the hold conditions once (an overcharge above tolerance, a duplicate PRO number, no POD) and only those invoices wait for a freight auditor or AP.

PRO 4471209 · HELD⚑ DETENTIONINVOICERATE CONSIGNED POD$150.00detention · 2 hr$75/hrafter 2 hr free1h 40m✓in 13:20 · out 15:00LANERATE CONTOLERANCEJoliet–ColumbusNFP-260512$25 or 2%DISPUTE CHARGEAPPROVE CHARGEOpen the page →
4 · Confirm delivery

No signed POD, no approval, and every exception goes to a claim

Each invoice is held until a signed POD stands behind it. The POD's delivery date, pieces and signature are checked against the invoice and the BOL, and a short, damaged or refused delivery noted on the POD is flagged for a claim instead of being paid in full.

The POD that proves delivery also carries the times that settle a detention dispute.

PRO 4471209 · POD CHECKSSignaturesigned J. Ortiz✓Delivery date10/29, matches the invoice✓Pieces22 of 22 pallets per BOL✓Exceptionsnone noted by the receiver✓Time on site1h 40m, under free time⚑DETENTION: TO AUDITOR
5 · Approve and pay

Approve clean invoices where freight and AP already work

Clean invoices post to your TMS and ERP for payment, in Oracle Transportation Management, SAP Transportation Management, NetSuite, QuickBooks or the system you run. Payment runs in your ERP as it does today. Disputed charges go back to the carrier with the evidence attached: the rate confirmation line, the BOL weight or the POD times.

Each decision an auditor made is recorded against the PRO number for the next carrier review.

PRO 4471209Detention disputed$2,262.50 approvedTMS✓ auditedPRO 4471209ERP · AP✓ posted$2,262.50DISPUTE✓ to carrierDetention $150.00

See the audit run on a month of your freight bills.

Bring last month's carrier invoices with their PODs and rate confirmations. We audit them in the session and show which charges would have been held.

Supported documents & fields

Everything a freight bill audit needs

Documents

Fields captured

Carrier and SCACPRO numberInvoice number and dateShip and delivery datesOrigin and destinationBOL numberLoad or shipment IDWeightFreight classPieces and palletsEquipment typeCurrency
Connectors

Our agents are extroverts.

Cloud storage like S3, Google Drive, Dropbox and Box. Databases and warehouses like Snowflake, BigQuery, Postgres and SQL Server. Accounting, ERP and CRM systems like QuickBooks, Xero, SAP, NetSuite, Salesforce and HubSpot. Project trackers like Jira, Asana, ClickUp and Linear. And anything with an API.

100+
Connectors ready to go right out the box
Amazon S3
Google Drive
Dropbox
Box
Microsoft Azure
Google Cloud Storage
Snowflake
BigQuery
PostgreSQL
SQL Server
MySQL
Amazon Redshift
Oracle Database
SAP
QuickBooks
Xero
Sage
Odoo
HubSpot
Zoho
Jira
Asana
ClickUp
Linear
Getting live

Live on one carrier group first

Nobody on your side writes code, and your current payment run stays as it is. The audit is set up on your own carriers' paperwork and proven on a few of them before the rest join.

01

Book a consultation

We go through a month of freight bills with you: which carriers send EDI and which send PDFs, where the PODs come from, and which charges your auditors question most.

02

Built on your carriers' paperwork

Your contract rates, tolerances and accessorial rules, and the connection to your TMS or ERP, are set up on real invoices and PODs from your carriers.

03

Start with a few carriers, then add the rest

A handful of carriers runs live within days. When the held charges match what your auditors would have caught, the other carriers follow on the same rules.

Who it's for

Built for the teams that check what carriers bill

Shippers' logistics and AP teams

A freight invoice audit on every bill before it reaches the payment run, and accessorials that come with a reason or don't get approved.

3PLs

Each client's carrier invoices audited against that client's rates, with the POD attached before you bill the client.

Freight brokers

Carrier invoices checked against the rate confirmation you issued, so a changed rate is caught before the carrier is paid.

Freight audit providers

More shipments audited per auditor, with PODs read for you and only the held charges left to review.

Outcomes

Freight bills audited on arrival, overcharges held before payment

<3 minfrom a carrier invoice to an approved bill in your ERP
91%of freight invoices approved without an auditor opening them
54%fewer hours spent keying freight bills and chasing PODs
2×faster from invoice received to approved for payment
We can map which fields should be extracted, where they should be stored, and how everything should flow from there. This mechanism alone saves literally multiple hours in a week.
G2Balu PerData Analyst, Perceptive Analytics · Reviewed on G2
1 / 3
Security

Your lane rates stay with you

Freight invoices and rate confirmations show what you pay each carrier on each lane, and PODs carry your customers' delivery addresses and their receivers' signatures. A competitor or a carrier who sees your rates knows where to price against you.

AICPA SOC 2ISO 27001GDPRHIPAA
  • Encrypted in transit and at rest.
  • Freight bills, PODs and rate confirmations are never used to train models.
  • Access by role, client and carrier, with every audit decision recorded against the PRO number.
  • Retention you set: processed invoices and PODs are deleted on your schedule.
  • Self-hosted deployment for 3PLs and audit providers whose client contracts keep freight data in their own environment.
See how freight and delivery data is handled in the Trust Center
FAQs

What freight audit teams ask before they start

Carrier freight invoices as PDFs and EDI 210s, rate confirmations, bills of lading, signed PODs and delivery receipts, delivery notes and CMR documents. Contract rates come from your TMS, and you can add any other paperwork your carriers send with an invoice.

On your own PODs. In a consultation we read a sample of your signed PODs and delivery receipts, driver photos included, and show the signature, delivery date, pieces and exceptions pulled from each one. You see on your own paperwork what proof of delivery automation catches before you commit to anything.

LLMWhisperer is Unstract's OCR API: it turns each invoice page into text with the layout kept, so the charge lines stay in their table. Document Studio then extracts line haul, fuel surcharge and each accessorial into the same JSON record for every carrier, and you can call it as an API endpoint per document type.

Look for one that reads every carrier's layout without a template per carrier, returns the same fields every time, and shows where on the page each value came from. Unstract does all three, and Flow adds the audit itself: rates, weights, accessorials and POD checks, with a person on the charges that fail.

No. Unstract audits each invoice, approves the clean ones and posts them to your TMS or ERP. Payment runs in your ERP on the schedule you already use, so your bank controls and approval limits don't change.

No. Drivers keep capturing PODs the way they do today, on paper, by photo or in a carrier's app. Unstract reads the signed PODs once they arrive and checks them against the invoice and the BOL.

Most freight invoice automation stops at capture: the invoice is read into fields and an auditor still compares it to the rate, the BOL and the POD. Unstract runs those comparisons on every invoice, holds the charges that fail, and posts the rest.

The invoice stops. A PRO number already billed or paid goes to a freight auditor or AP with the earlier invoice beside it. An invoice with no signed POD waits until one arrives, and every other invoice keeps moving.

To the systems your freight and AP teams already use, such as Oracle Transportation Management, SAP Transportation Management, NetSuite or QuickBooks. Disputed charges go back to the carrier with the rate confirmation line, the BOL or the POD that supports the dispute.

Unstract is SOC 2, ISO 27001, GDPR and HIPAA compliant. Invoices and PODs are encrypted in transit and at rest, never used to train models, and kept only as long as you choose. Self-hosted deployment keeps processing in your own environment; details are in the Trust Center.

No developers. We set up the audit around your carriers, your rates and your TMS or ERP in a consultation, run it on a few carriers, and the first of them usually go live within days.

Next step

Bring last month's freight bills and their PODs

A month of carrier invoices with the signed PODs and rate confirmations behind them, blurry driver photos included. We audit them with you and show which charges would have stopped.