When to Replace a Truck: How a Carrier Can Tell Which Units Still Earn
June 22, 2026
The problem: Maintenance cost, downtime, and revenue live in three different places, so nobody can say which trucks in the fleet still earn more than they consume.
The solution: Put every repair invoice, every out-of-service day, and every load of revenue against the truck that produced it, so replace-or-repair becomes a number instead of a hunch.
The math
Keeping six worn trucks in a 45-truck fleet one year too long, at roughly $18k of extra repair and lost revenue each, costs about $110k, and it costs it again every year the same call gets made the same way.
Ask a carrier owner which of his trucks he should get rid of and he will name one or two without hesitating. There is always a unit with a reputation. The drivers do not want it, the shop foreman sighs when it comes in, and everyone agrees it is a problem. That truck is not the expensive one. The expensive ones are the eight or ten units nobody complains about, that quietly cost more to run than they bring in, and that get kept for another year because nothing about them stands out.
The decision gets made every year, usually in the same conversation. Rates are decent, the bank is willing, and the question is how many trucks to replace. The answer comes out of gut feel about which units are getting tired, and the gut is being fed by whoever happened to mention a breakdown recently.
Repair bills feel smaller than a payment
There is a structural bias in this decision, and it is worth naming because it is invisible while it is happening.
A new truck comes with a number that arrives every month, on paper, signed for. A repair on an old truck comes as a $3,200 invoice in March, $1,800 in May, a $6,000 aftertreatment job in August, and two tows nobody added up. The payment is one visible commitment. The repairs are twelve invisible ones, spread across a year, each one individually easy to justify because the truck is already paid for.
So the comparison the owner makes is not the real comparison. He is weighing a known monthly payment against a vague sense that repairs are "a few thousand here and there," and that comparison almost always says keep the truck. It says keep the truck even in the years when keeping it is the wrong answer, which is how a fleet ends up with an average age nobody intended.
The three numbers that never meet
Deciding this properly needs three things about each unit, and most carriers have all three somewhere.
Maintenance cost per truck sits with the shop, in work orders, vendor invoices, and a parts ledger. Downtime sits in dispatch, as loads that had to be covered by another unit or turned down. Revenue sits in billing, as loads assigned to a driver rather than to a truck.
Each of those is tracked. None of them are tracked against the same thing. The shop knows what a unit cost to fix and has no idea what it hauled. Dispatch knows what it hauled and does not see the repair bills. Accounting sees a total maintenance line for the fleet and a total revenue line for the fleet, which nets out to a healthy business and tells you nothing about the units inside it.
The result is that a carrier can be profitable overall and still be carrying a handful of trucks that lose money on every mile they turn, because the losers are averaged into the winners before anyone looks.
What you would want to see instead
The question is not really "how old is this truck." Age is a proxy, and a poor one, because two units bought the same week can diverge enormously depending on the lane they run, the driver, and one bad component.
What you want per truck, over a rolling twelve months, is what it earned, what it cost to keep running, and how many days it could not work. Set those next to each other and the fleet sorts itself into a shape that is usually a surprise: a group clearly earning, a large middle, and a tail where the maintenance line has crossed over what a payment on a replacement would be. The tail is the answer. It is rarely the trucks people complain about, and it is rarely the oldest ones.
How the answer becomes available
None of this requires a new fleet system. It requires the records that already exist to land against the unit number.
Work orders and vendor invoices get coded to the truck, not just to a maintenance account. Loads get assigned to the unit as well as the driver, which dispatch is effectively already doing. Out-of-service days get captured when the truck goes into the shop, which is a status someone already changes. Once repair cost, revenue, and downtime sit together in one connected picture of the fleet, cost per truck is not a project someone runs in a spreadsheet in November. It is something the business knows on any given Tuesday.
Then the upkeep comes off people. Instead of the shop foreman assembling a history when the owner asks, automation watches the repair spend per unit as invoices arrive and flags the truck whose trailing-twelve-month maintenance has crossed the threshold you set, or whose downtime has doubled. The replacement conversation stops being an annual guess and becomes a standing list.
A look at a trucking carrier
Consider a carrier doing about $12 million a year with 45 power units, mixed regional and dedicated freight, running on QuickBooks with a maintenance spreadsheet the shop keeps and a dispatch system that tracks loads by driver. The owner replaces four or five trucks a year, chosen in a conversation with the shop foreman each fall.
Suppose the carrier codes repair invoices to unit numbers, assigns loads to units, and logs out-of-service days for a year. You would expect the fleet to sort into three groups, and you would expect the tail to be bigger than anyone guessed. Say six units land there. Each is carrying roughly $11k a year in maintenance above the fleet average and losing something on the order of three weeks of working days, which at a typical revenue contribution is another $7k or so of production that had to be covered elsewhere or turned away. Call it $18k a unit, about $110k across the six.
The point is not the $110k in one year. It is that the same decision, made the same way, produced roughly the same result last year and would produce it again next year. That is the part that compounds. A carrier that can see the tail is likely to replace different trucks than the ones it would have picked, and the honest version of the number matters more than its size, because it turns an annual guess into a decision the business can defend to itself and to a lender.
How to start
You can do this with the records you already generate, inside one fiscal year.
- Code every repair to a unit number. Vendor invoices and internal work orders both, no exceptions. This is the single highest-value change.
- Attach loads to the truck, not only the driver. Revenue per unit is impossible without it, and dispatch is already most of the way there.
- Log days out of service. A truck that cannot work is losing money in a way no repair invoice shows.
- Rank the fleet, do not average it. Sort units by earnings less maintenance over twelve months. The bottom of that list is your replacement plan.
- Let the flagging run itself. Set automation to surface any unit crossing your maintenance threshold as the invoices land, so the list is current when the decision comes up.
The takeaway
A carrier at this size does not have a truck problem, it has an evidence problem about which trucks. The repair-versus-replace call gets made every year, and it gets made against a comparison that is rigged toward keeping, because payments are visible and repairs are scattered. Put maintenance cost, downtime, and revenue against the unit that produced them, then rank the fleet. The trucks at the bottom will not all be the ones with reputations, and knowing which ones they actually are is worth more than the capital budget you spend on them.
Every business has a number like that hiding in it.
Text us where your team loses its time, and we’ll put a real number on yours, then show you what’s worth organizing and automating first. No forms, no sales call.