Guide
The freight billing process for brokers, step by step
The freight billing process at a small brokerage, from delivery to paid invoice, where loads get stuck waiting on paperwork, and how to keep them moving.
A freight broker earns its margin on a load the day the truck delivers, but it only gets paid when the shipper pays an invoice, and the shipper only pays an invoice with the right paperwork behind it. Everything between delivery and cash is the freight billing process. At a small brokerage it is often one person, a spreadsheet and the TMS, and the place it slows down is almost always the same: waiting on documents from the carrier.
This guide walks through the process step by step from the broker's side, names where loads get stuck, and gives a short daily routine for keeping the unbilled list short. Every brokerage's terms with its shippers and carriers differ, so treat the steps as a common pattern and check your own agreements for what a customer requires.

The process, in order
1. The load is booked and confirmed
The broker agrees a rate with the shipper, books a carrier, and sends the carrier a rate confirmation. The rate con is the source for most of what billing needs later: the load number, the carrier, the dispatch contact, the dates and the carrier's pay. If the rate changes before pickup, a revised rate con should go out, and billing should work from the latest one.
2. The freight delivers
The driver delivers, and the receiver signs the bill of lading or a delivery receipt. That signed page is the proof of delivery (POD). Note any accessorials that came up on the way, such as detention, a lumper fee or a layover, because each needs its own receipt or approval before it can be billed.
3. The POD comes back
The carrier sends the signed POD, usually with its own invoice, because it needs the POD to get paid too. Most loads take care of themselves here. The rest, the stragglers, need someone to ask the carrier's dispatch, follow up, and eventually call. The POD collection routine covers that step in detail.
4. The paperwork is checked
Before the load is billed, someone checks that the POD is for this load, signed, dated on delivery, readable, and free of overage, shortage or damage notes. A load with an exception is not billed as normal; it goes to operations and the shipper first. The POD document checklist lists each check.
5. The shipper is invoiced
The broker invoices the shipper with the POD attached, plus any receipts for accessorials and whatever references the customer requires, such as a PO number on the invoice. Many shippers have their own portal or format, and an invoice that misses a required reference can sit unpaid until it is fixed.
6. The carrier is paid
The carrier's invoice is matched against the rate con and the POD, then paid on the agreed terms, or through a quick pay option if you offer one. Many carriers factor their invoices, in which case the payment goes to the factoring company named on the notice of assignment, not to the carrier.
7. The shipper pays, and the load is closed
Accounts receivable records the payment, follows up on anything past terms, and resolves short pays. Disputes usually come back to the same documents: the rate con for what was agreed, the POD for what was delivered.
Where loads get stuck
Most of the delay sits in a few places:
- A missing POD. The single most common reason a delivered load is not invoiced. Every day it waits is a day added to when you get paid.
- A POD with a problem. No signature, the wrong load, a blurry photo, or an exception note. Each needs a person to look and decide.
- Wrong or missing references. The shipper's PO is not on the invoice, or the invoice does not match their system's rate.
- Accessorials without proof. Detention or lumper charges with no receipt or approval wait until the paperwork turns up.
- Nobody owns the list. Unbilled loads live in the TMS, the inbox and someone's memory, and no one sees the whole list each morning.
A daily routine for the billing desk
A short routine, run at the same time each morning, keeps most loads moving:
- Pull the list of delivered loads not yet invoiced. Sort by delivery date, oldest first.
- Bill everything that has a clean POD. Do this first, while the morning is quiet.
- Ask for every missing POD. One email per carrier listing all of its missing loads.
- Work the exceptions. PODs with problems go back to the carrier or to operations, with the reason written down.
- Call on the oldest. Anything that has had a week of email with no answer gets a phone call.
- Note what changed. Who was asked, what arrived, and what is still waiting, so tomorrow starts from the same list.
Columns worth tracking
If you run this from a spreadsheet, these columns cover it:
- Load number, and the shipper's reference or PO
- Carrier and dispatch email
- Delivery date
- POD status: missing, received, checked, or exception
- Date first asked, number of follow-ups, and next follow-up date
- Invoiced date and amount
What to measure
Two numbers show whether the process is working: the number of delivered loads waiting on a POD, and the dollars on them. Watch both weekly. A rising count usually means the asking slipped, not that carriers got worse.
Where POD Back fits
POD Back takes over steps 3 and 4 and hands billing the result for step 5. Upload your rate confirmations or a delivered-loads CSV from your TMS, and it emails each carrier's dispatch for the signed POD after delivery and follows up each morning. It checks every POD for a signature, the delivery date and your load number, sends exceptions to your review list, and emails billing a morning list of loads ready to invoice and loads still waiting on a POD. It does not send invoices or connect to your TMS; you bill from your own system with the checked PODs it gives you to download.
Get every signed POD back from your carriers, and bill sooner
Upload your rate confirmations or a delivered-loads CSV. After delivery POD Back emails the carrier's dispatch for the signed POD, follows up until it arrives, checks it, and sends billing a ready-to-invoice list.
$99/ month
Get startedCancel any time.