From a folder of scans to a charge you can defend.
- $1.1B–$1.3B
- a year in detention absorbed across US trucking and never billed back
- $50–100
- per hour, what contracts already price detention at, given evidence of the clock
- 2%
- of brokerages run a fully automated accounts receivable process
Connect the sources
Read-only connectors index the places your team already files things: the ops inbox, the scan folder, the TMS export, the ELD feed. No write scopes are ever requested. Initial crawl time scales with how much paperwork there is and is confirmed during scoping, not guessed at here.
Pull out every charge, timestamp and rate
Each document is broken into separate lines, and each line keeps a link back to the page, row or message it came from. A rate confirmation stops being a PDF you have to open and becomes eleven lines you can query: this rate, these stops, this detention clause, this fuel table, on this date.
Match each charge to its authority
The same carrier under four spellings resolves to one carrier. An amended rate confirmation supersedes the original rather than sitting beside it. And when the ELD and the driver's message give two different arrival times, both are kept and flagged, because averaging them produces a number no one can defend.
Bill it, or defend it
Ask a question and get the answer, the documents behind it and the date each one was signed. Or take the monthly Exposure Report: everything owed and never invoiced, everything paid without an authority, and everything that will not hold up if challenged.
It cannot raise an invoice. It is not able to.
Proofline requests read scopes and only read scopes. There is no code path that writes to your TMS, edits a load, sends an email to a carrier or customer, or issues a credit. Not disabled by a setting you have to trust us to leave alone — absent.
What comes out is a list with a load number against every line. A person decides what gets billed, the same person who decides today. The work we take away is finding the evidence, not the judgement about whether to use it.
Source coverage (1,450 loads a month, sample operation)
Nothing here asks you to change how your team files paperwork. The evidence for a detention claim is already sitting across four of these; the only reason it is not on an invoice is that nobody has the twenty minutes it takes to pull it together.
shared_ops_inbox
rate cons, PODs, invoices, dispute threads
tms_export
loads, stops, appointment windows · CSV or API
scans_and_pdfs
BOLs, signed delivery sheets, lumper receipts
eld_telematics
arrival, departure and dwell timestamps
rate_card_sheets
the lane spreadsheet you actually price from
accounting_ledger
invoices raised and payments received · AR and AP
carrier_portals
invoices and settlement statements
customer_portals
load tenders and appointment confirmations
driver_messaging
WhatsApp and SMS threads from the road
No connector is required for a first audit. A folder of PDFs and a month of invoices is enough to start.
What comes out.
A standing monthly diff of your billing: which charges were never raised, which will not survive a challenge, and which rate cards expired before the load they were applied to.
FOUND THIS MONTH · 1,450 LOADS
$26,721
Charges this operation was entitled to raise and did not, plus charges it paid a carrier without an authority behind them. Not a projection: each one addresses a load.
UNBILLED LINES
96
DISPUTED
34
EXPIRED RATE CARDS
21
- UNBILLED
Detention · 2.4 hrs at the consignee, never invoiced
LD-88203 · eld/ping + pod/scan agree on the clock · $156
- DISPUTED
Arrival logged twice: 14:22 and 15:10
LD-88213 · eld/ping_88213 vs driver SMS · $156 at risk
- EXPIRED
Lane sheet expired 4 days before the load shipped
rate-card/MID-4402 · superseded 2 Mar · applied to 14 loads since
- PROVEN
Layover · driver held overnight, $350 billed
LD-88212 · MSA clause 7.3 + eld dwell + lodging receipt · holds up
Sample month. The billing grid above holds $2,116 unbilled and $770 disputed across eighteen of these loads.
You are not replacing a search tool. You are replacing a spreadsheet.
Your TMS stays exactly where it is. It is a system of record and it is good at that. What it does not do is hold two conflicting arrival times side by side and tell you which one you can defend, because it was never built to argue.
| A spreadsheet and good memory | Your TMS billing module | Proofline | |
|---|---|---|---|
| Where the evidence lives | A shared inbox, a scan folder, someone's phone | Whatever got keyed in at dispatch | Every source indexed, each fact pointing back at its document |
| The detention clock | What the driver remembered to report | The appointment time somebody typed | ELD ping, gate log and POD stamp, reconciled against each other |
| When two sources disagree | Whoever asks loudest | Last write wins, silently | Both surfaced, dated and attributed. Never averaged into one |
| The rate on the ship date | Find the right version of the PDF | Shows the current rate card | Query the rate as of any date, inside its validity window |
| Carrier invoice against the rate con | Eyeballed, when there is time | Matched on the total | Matched line by line, each against the authority that permits it |
| What you hand over in a dispute | A rebuild from email, two days later | An export | The charge, the clause behind it and the documents underneath |
| What you pay for | Nobody's time, on paper | Seats, usually bundled | Loads, or a share of what gets recovered |
Read-only. Proofline never writes to your TMS, never raises an invoice and never sends anything to a customer or a carrier on your behalf.
Point it at your own loads.
Onboarding is handled by the Sorvanis team, and starts with an audit rather than an install.

