Home
Pricing About Contact Knowledge
App Login Book a Demo
Knowledge Center

Fuel Jobber Software for Carrier Invoice Management

Matching Every Freight Bill to Its BOL and Contract Rate

A fuel jobber's freight bill is the invoice most likely to be paid without really being read. The carrier did the run, the gallons moved, the number at the bottom looks roughly right — so the office pays it and moves on. The problem is that "roughly right" is where freight money leaks: a line billed at a rate nobody agreed to, a load billed twice, a BOL on the carrier's invoice that matches nothing the jobber actually delivered.

Common-carrier freight is a big enough line to deserve the same discipline as the fuel itself. The carrier invoice has to be checked the way a supplier invoice is checked — line by line, against a contract, against a delivery — before the money goes out. That is what carrier invoice management is: not filing carrier bills, but proving each one before paying it.

The contract comes first: carrier master and lane rates

Verification is only possible if the agreed rate is written down somewhere the system can read it. That starts with the carrier master: each carrier the jobber uses, with its contracted lane rates — the rate for a given lane, per terminal, held as the carrier's rates in the system.

A lane rate is not a vague "about $X a load." It is the rate for moving fuel from a specific terminal to a specific customer or area, and it is the number every billed line gets measured against. When the rate is in the system, a billed line is not a matter of opinion — it either matches the contracted rate or it does not. When the rate is only in somebody's head or in an email from last year, the office has nothing to check against, and the carrier's number wins by default.

The master also records which carriers are the jobber's own fleet. That distinction matters for everything that follows, because an own-fleet load is not a bill at all — it is the jobber's own truck doing the job, and it should never generate a carrier invoice to pay.

Intake: the bill, entered line by line

Carrier invoices come in per line: each line carries a BOL number, gallons, and a rate. That is the shape the work takes — not a single total to approve, but a list of loads, each one identifiable by its BOL.

Entering the bill that way is what makes the rest possible. A total can be argued about; a line can be checked. The BOL on the line is the join key: it is the same BOL number that sits on the delivery, on the supplier load, and on the customer invoice. When the BOL matches, the carrier's claim connects to a real load the jobber can see. When it does not match anything, that is the first thing to ask about — before the money moves.

Verification: every line against the contracted rate

Once the lines are in, each billed line is checked against the contracted rate for that lane. A line billed at the agreed rate passes. A line billed above it is flagged — not rejected out of hand, because rates do change and mistakes happen on both sides, but flagged so a person looks at it and decides, instead of the system silently paying the higher number.

Some lines cannot be verified automatically — a lane with no rate on file, a rate that changed mid-month, a one-off run with no contract behind it. Those are not forced through or silently dropped. There is a manual verify path for them: a person marks the line verified by hand, with the judgment that the rate is right, and the record shows it was a manual decision rather than a system check. The point is that every line ends up either verified against a contract or verified by a named person — never unverified and paid anyway.

That check is the whole value of the module in one sentence: the carrier's bill is not taken on trust. It is measured against the rate the jobber actually agreed, line by line, and the exceptions are the only lines a person has to touch.

Matching loads to bills by BOL

Rate verification answers "is this the right price?" Matching answers "is this a real load?" Each load is matched to a carrier invoice line by BOL, gallons, and product. The supplier side of the business already does this — loads on a supplier invoice are matched to carrier lines by the same BOL — so the carrier invoice is not checked in isolation. It is checked against the loads the jobber already knows happened.

An unmatched third-party load is not a dead end. It links into a pre-filled carrier invoice, so the office can create the bill from the load instead of retyping it — the BOL, gallons, and rate already filled in, ready to be checked rather than typed. And the matching runs the other way too: a carrier line with no load behind it stands out immediately, because there is nothing for it to match to.

Own-fleet loads take a different path, deliberately. A load carried on the jobber's own truck skips the bill step entirely — there is no carrier to pay — and only confirms that the BOL gallons match. The fleet's work is still recorded, still traceable to the load, but it never becomes a payable. That is a small rule with a large effect: it stops the office paying its own trucks as if they were a vendor.

What the verified bill becomes

A carrier invoice that has been entered, matched, and verified is no longer just a bill to pay. It is a cost record the rest of the business can use. The carrier lines feed the margin picture: each line is classified by rate band as product cost, freight, or unknown, so the profitability view can show what a customer actually cost to serve — fuel, freight, and everything else — instead of revenue with the freight guessed at.

The verified bill also syncs to QuickBooks as a Bill, with its lines account-coded, when the office runs the sync — the same on-demand sync the rest of the system uses, not a live feed, so the books get the bill exactly as verified, when the office chooses to send it. And the freight report shows the carrier costs across customers and lanes, so the owner can see which lanes are eating margin and which carriers are worth more of the work.

Frequently asked questions

We only use two or three carriers — do we need a whole module for this? Two carriers are enough to overpay. A single lane rate that drifts upward by a few cents, billed across a month of loads, is real money before anyone notices. The module exists so the check happens on every line, whether you run two carriers or twenty — and with two, the setup takes an afternoon.

What happens when a carrier bills a rate we never agreed? The line is flagged against the contracted rate, and it waits for a person to decide. It is not paid at the billed rate by default, and it is not deleted. The office sees the billed rate next to the contracted rate and either accepts the difference with a reason or disputes it — with the BOL and the load behind it as evidence.

What if a lane has no contracted rate on file? Then the line cannot auto-verify, and it goes to the manual verify path. A person marks it verified by hand. That is the honest answer for a one-off run or a new lane — and it is also a prompt to put the rate in the master, so the next bill on that lane checks itself.

How does this connect to the supplier invoices we already verify? By the BOL. A load on a supplier invoice is matched to a carrier invoice line by BOL and gallons, so the supplier's load and the carrier's bill are checked against each other, not just against their own contracts. One BOL ties the fuel, the freight, and the customer invoice together.

Our own trucks do some loads and carriers do the rest — does that break the matching? No — that is exactly the case the own-fleet rule is for. Own-fleet loads skip the bill step and only confirm BOL gallons; third-party loads go through intake, rate verification, and matching. Both kinds of load end up in the same record, but only the third-party ones become something to pay.

Do carrier bills go to QuickBooks? Yes, as Bills with account-coded lines, through the same on-demand sync as invoices and payments. The office runs the sync when it is ready — the bill reaches the books as verified, not as the carrier sent it.

Pay the freight you owe, not the freight you were billed

Most jobbers check their fuel invoices carefully and pay their freight bills on trust, as if the two were different kinds of money. They are not. Freight is a cost on every load, and an unchecked carrier bill is an invoice the jobber wrote to itself in the carrier's favour.

Carrier invoice management in FuelJobberX treats the freight bill like any other supplier bill: the rate is on file before the bill arrives, every line is checked against it, every line is matched to a BOL and a real load, and the exceptions are the only lines a person has to touch. Own-fleet loads never become payables, verified bills feed the margin picture, and the books get the bill as verified.

FuelJobberX verifies carrier invoices against contracted lane rates and matches every line to its BOL before it is paid. If you want to see your freight bills checked the same way your fuel already is, you can book a demo at fueljobberx.com — a walkthrough with real data in under 30 minutes, no sales pressure.

Ready to see it in action?

We'll walk you through the full platform in under 30 minutes — with real data, no sales pressure.

Book a Demo →