← Blog · Aggregate trading

Cartage rate vs trading margin: do you know what you made on that job?

The half of your profit that spreadsheets can't see

Say the truck delivers 30 tonnes of GAP40 across town. The client pays $27 a tonne delivered. You bought it from the quarry at $18. Your cartage rate for that run works out around $6 a tonne. So what did the job actually make?

Most operators can quote the cartage rate instantly. The trading margin — the $9 a tonne between buy and sell, minus what the cartage really cost — usually lives nowhere. The quarry bill lands in one pile, the client invoice in another, and the margin that connects them is invisible until the accountant's year-end pass, if then.

Two businesses in one truck

An operator who buys and sells material is running two businesses at once: a haulage business earning a rate per tonne-kilometre, and a trading business earning a spread per tonne. They have different economics. Cartage margins are tight and capacity-bound; trading margins depend on buy price, product mix, and who you sell to. If you can't see them separately, you can't manage either.

What margin visibility changes

The trap: floating buy prices

One subtlety matters: the margin must be locked with the buy price at the time the job was created. If your report recalculates old jobs at today's quarry prices, a price rise silently rewrites history and your margin numbers stop meaning anything. Lock the buy price per job; report on what was true when the material moved.

Line-item honesty, all the way to the invoice

CartageCore records buy price and sell price on every trading job, locks the buy at job creation, and reports margin monthly by material, client and job. The Xero invoice carries material supply, cartage and FAF as separate lines — so the commercial picture stays honest from quarry gate to bank account.

See your margin by material and client