A month can look healthy while a quarter of the loads inside it lose money. The fix is not a better report — it is a load record that closes only when every cost is attached to it.
Key takeaways
Build one record per load with every revenue line and every cost line attached to it, and refuse to close the load until the proof of delivery and the carrier or driver settlement are both in. Monthly margin is an average of the loads you actually closed plus a guess about the ones you did not, which is why it reads well right up until the quarter does not.
The structure is simple enough to fit on one screen: linehaul, fuel surcharge and accessorials on the revenue side; carrier or driver pay, fuel where you buy it, tolls, lumpers, detention paid out, factoring fee, claims and an allocation of fixed cost on the other. What makes it work is the closing rule, not the columns.
GST/HST. Tax you charge is not yours. Every person who makes a taxable supply must collect the tax as agent of His Majesty in right of Canada. If tax is sitting inside your revenue figure, every margin percentage you calculate is wrong by the tax rate. Registration itself is a threshold question under the registration provisions of the Excise Tax Act.
Tax on costs you cannot recover. An input tax credit needs prescribed documentation. Below $100, the supplier’s name, the date and the total will do. For $100 or more and less than $500, the document must show the supplier’s registration number. And for $500 or more it must additionally show the recipient’s name, the terms of payment and a description of each supply. A lumper receipt scrawled on a page and a carrier invoice with no registration number are not the same problem, but both end up as unrecoverable tax inside the load cost.
Cash you have not received. A billed accessorial is not margin. Track billed and collected separately, or the loads that quietly lost their detention charge will keep reporting the margin they never earned.
One structural detail worth knowing
Where you hand part of a movement to another carrier, the tax treatment is not the same as buying an ordinary service. A freight transportation service supplied by one carrier to a second carrier is zero-rated where the service is part of a continuous freight movement and the second carrier is neither the shipper nor the consignee. Getting that wrong does not change your economics, but it does change what the cost line looks like — and an unexpected tax amount on a carrier invoice is usually a sign the load was coded wrong, not that the rate moved.
Give every load one of four states and let nothing skip a step. Tendered: rate agreed, costs estimated. In transit: costs accruing. Delivered: proof of delivery received, exceptions noted. Closed: settlement posted, every accessorial resolved as billed-and-collected or written off with a reason code.
The reason code is the part people leave out and the part that pays. “Detention denied — no gate times” and “detention denied — outside contract free time” are different failures with different fixes, and you cannot see either from a monthly total.
Keep the underlying documents. Books and records must be kept until the expiration of six years from the end of the last taxation year to which they relate, and the GST/HST rule requires records necessary to enable the determination of the person’s liabilities and obligations. The same file that answers an auditor is the file that lets you reopen a load from eleven months ago and find out where the margin went.
One load, invoiced as $2,850 linehaul plus a $312 fuel surcharge plus $150 detention: revenue $3,312. Costs: carrier pay $2,600, a lumper at $95, and a factoring fee of 2.5% of the invoice, being $82.80.
Margin = $3,312 − $2,600 − $82.80 − $95 = $534.20, or 16.1% of revenue. That is the number the load looks like on the day it delivers.
Six weeks later the shipper disallows the detention because the gate-out time was never captured. Revenue falls to $3,162 and the factoring fee falls with it to 2.5% of $3,162 = $79.05. Margin = $3,162 − $2,600 − $79.05 − $95 = $387.95, or 12.3%. The load lost $146.25 and 3.8 percentage points, and nothing about it changed except a timestamp nobody recorded.
Now the documentation layer. The $95 lumper receipt is under $100, so the supplier’s name, the date and the total are enough. The $2,600 carrier invoice is over $500, so it must carry the carrier’s registration number, your name, the terms of payment and a description of the supply. If it does not, the tax on it is not recoverable and the true cost of that load is higher than the $2,600 in the ledger.
Three things a monthly report cannot. First, rank lanes by margin per load and per day of equipment time, which is the number that matters when a truck can only be in one place. Second, see customer-level behaviour — a shipper whose loads pay well but whose detention is never collectable is a different problem from one that simply pays badly. Third, price accessorials from evidence: if half of a customer’s detention claims fail for missing gate times, the fix is a check-in process, not a higher rate.
It also changes the collections conversation. An unpaid load is not a low-margin load; it is a negative one. Where an invoice has to be enforced, Ontario’s Small Claims Court hears claims of $50,000 or less, with a filing fee of $108 for an infrequent claimant and $228 for a frequent one, and the sister firm’s note on suing a customer for an unpaid invoice sets out the sequence.
Per-load margin fails on data entry, and data entry is exactly what these tools do well. Reading carrier invoices, lumper receipts, toll statements and fuel records into structured fields against the right load number without anyone retyping. Checking each cost document for the fields an input tax credit needs and flagging the ones that are short before they are paid. Matching proofs of delivery to loads and closing the ones that are complete. Extracting arrival and departure timestamps from telematics or gate documents so a detention claim has evidence attached at the time, not six weeks later.
What it does not do is decide. Whether to write off an accessorial, whether a lane is worth keeping, what a customer should be charged and whether to sue for an unpaid invoice are judgements a person makes and signs. The software assembles the file and shortens the search.
A spreadsheet with one row per load, revenue and cost columns, a status column, and a rule that no load closes without a proof of delivery and a settlement. The discipline is worth more than the tooling.
Allocate them, but keep them in a separate column so you can read contribution and net margin side by side. Contribution tells you whether to take the load today; net margin tells you whether the lane is worth keeping.
In the load, as a cost, calculated on the amount actually funded. Treating it as an overhead hides the fact that low-rate loads carry the same percentage fee as good ones.
Six years. Books and records must be kept until the expiration of six years from the end of the last taxation year to which they relate, and there is a parallel GST/HST retention obligation in section 286 of the Excise Tax Act.
A 30-minute call is enough to tell you whether AI pays for itself in your back office.