How to Price Fleet Washing Jobs for Profit

A fleet contract looks like a great deal the day you sign it. Twenty, thirty, sometimes a hundred vehicles on one recurring agreement, all from one point of contact instead of chasing individual customers one at a time. The trouble is that a lot of fleet pricing gets built around winning the volume, and a contract can bring in a lot of vehicles while leaving very little margin behind.
Most Fleet Work Happens at the Customer’s Site
Most fleet washing happens where the vehicles are, at the client’s yard or lot. That changes the cost structure a lot. You’re bringing water, power, and product to the site, which means travel time, setup and breakdown time, and site access all factor into what a unit costs you to wash, on top of the labor and chemicals. A price built only off cost per vehicle, without accounting for travel and setup at that particular site, looks fine on the quote and thin once you’re running it.
Price the Whole Stop
The real unit of profit on a fleet contract is the whole stop. A site with fewer vehicles spread across a bigger lot, or one with tricky access, can cost more per vehicle to service than a tighter site at the same per-unit price. Let’s say we’re quoting two sites at the same $35 a vehicle, with a two-person crew that costs about $25 an hour each, loaded:
| Site A: 15 trucks, one lot | Site B: 6 trucks, spread out | |
|---|---|---|
| Revenue at $35 a vehicle | $525 | $210 |
| Drive time, round trip | 1 hour | 1 hour |
| Setup and breakdown | 45 minutes | 45 minutes |
| Washing time | About 2.5 hours | About 1.25 hours (more moving between trucks) |
| Total crew time | About 4.25 hours | About 3 hours |
| Crew labor (2 techs) | About $210 | $150 |
| Chemicals, water, fuel, and rig costs | About $90 | About $60 |
| Profit on the visit | About $225 (43%) | Break-even at best |
| Revenue per crew hour | About $125 | About $70 |
Same price per vehicle, but Site A makes money and Site B barely covers the trip. Site B needs a higher per-vehicle price, a per-visit minimum, or a spot on the schedule right after a nearby site so the drive time gets shared.
A Simple Way to Check a Fleet Quote Before You Send It
Before locking in a price, run the numbers on total time for a realistic visit, including drive time to and from the site, and divide the proposed price by that total:
Quoted price per visit ÷ total crew hours (including drive and setup) = revenue per crew hour
If that number doesn’t clear what you need per crew hour to hit your target margin, the fix is the price, the scope, or walking away from that particular site. Knowing your number ahead of time makes the quoting a lot faster, since you can tell within a few minutes whether a new site is worth chasing.
Where the Margin Sits: The Upsell
Straight exterior washing on a fleet contract tends to be competitive and thin. A lot of the margin lives in what you add on top: interior cleaning, engine bay cleaning, rust protection or undercarriage treatment. These take a little more time but cost very little in extra material compared to what you can charge, and the best part is that the drive and setup are already paid for since you’re on site anyway. If an interior clean adds 15 minutes a truck and sells for $25 or $30, that’s often a better rate per crew hour than the wash itself. I’d build these into every fleet proposal as add-ons instead of expecting the base wash to carry all the profit. And then find a way to compensate your employees for those upsells to make it a win-win.
“Free” Services That Win and Keep Accounts
Some of the most useful add-ons cost almost nothing to deliver, and they make the contract harder for a competitor to take:
- A quick condition report after each visit with photos of any new damage, burned-out lights, or low tires the crew noticed
- A wash log the fleet manager can pull for their own records or customer audits
- Flexible scheduling around their routes, like washing at night or on weekends when the trucks are parked
- A heads-up on vehicles that are overdue or were missed because they weren’t on the lot
None of these add much time, but they make the fleet manager’s job easier, which tends to matter more at renewal time than being a few dollars cheaper.
Contract Terms That Protect the Margin
- A per-visit minimum. If only four trucks are on the lot when the crew shows up, the visit still has to cover the drive and setup.
- A missed-access fee. Locked gates and trucks that already left for the day cost you a full trip. The contract should say what happens when that occurs.
- An annual price increase. Chemicals, fuel, and wages rarely go down, and a three-year contract at a fixed price gets thinner every year.
- A water or fuel surcharge clause for sites where you’re hauling everything in.
Watch the Payment Terms and the Concentration
Bigger fleet customers often pay on net 30 or net 60 terms, so you’re funding labor and chemicals for a month or two before the money comes in. That’s worth pricing in, or negotiating toward shorter terms or card payments, especially on a new large account. It’s also worth watching how much of the business any one fleet represents. If a single contract is a big share of revenue, losing it at renewal can leave you with a crew and equipment built for work that’s gone, so it helps to keep adding accounts even when the big one is going well.
Where to Start
If you want one thing to do this week, pick your two biggest fleet accounts and run the revenue per crew hour formula above using a real visit from last month. It usually confirms which account you already suspected wasn’t pulling its weight.
If you’re not sure your fleet contracts are paying for themselves once travel and setup are factored in, a free 15-minute discovery call is a good place to run the real numbers.