Ask a plumbing shop owner what's on truck three right now and you'll get a shrug, a guess, or a group text. That's not a knock on the owner — it's the honest state of an inventory system built on memory. Plumbing trucks carry hundreds of low-cost SKUs: fittings, valves, supply lines, wax rings, angle stops, in copper and PEX and brass, in a half-dozen sizes each. No single item is worth counting, so nothing gets counted — and the money leaks out through two holes that never appear on any report: the parts that vanish without being invoiced, and the second trips caused by parts that were supposed to be on the van and weren't.
The shops that fixed this didn't do it with more counting. They did it by making the sale do the counting — per-truck stock that comes off the shelf every time a part is sold, so the running number is a byproduct of getting paid. This guide covers how that works for a plumbing operation: per-truck counts, stock that decrements on the sale, reorder points that tell you what to load, why first-time fix rate is the metric that actually moves profit, what shrinkage really costs, and why the spreadsheet that survived one truck will not survive two.
The second trip is the most expensive drive you make
Run the math on a missed fitting. The tech opens the wall, finds the problem, and doesn't have the three-quarter-inch part — a $4 item. Now the job takes a supply-house run or a second visit: an hour of paid labor producing nothing, fuel, and a schedule slot that could have held a $250 call. The customer, who took time off work to be home, gets to do it again. The $4 fitting just cost a few hundred dollars and a review that says "nice guy, took two visits."
First-time fix rate — resolving the call on the first visit — is a standard field-service measure, and parts availability at the point of work is one of the inputs a shop controls most directly. For a plumber, the most useful fact in the middle of a job is boring: is the part on this truck, right now.
That question is answerable before the drive. When each truck's stock is live in the system, the tech — or the dispatcher — checks the van's count from the driveway of the previous job. If it's not on truck two but it's on truck five, that's a two-minute meet-up instead of a lost afternoon.
Per-truck counts: every van is its own warehouse
The foundational move is treating each truck as a distinct stock location — not "the company has eleven fill valves" but "the shop has six, truck one has three, truck two has two." Company-wide totals are almost useless in field service, because a part on the wrong truck might as well be at the supply house.
A per-location catalog does three things at once. It makes the pre-drive check possible, as above. It makes transfers explicit — when truck one hands two angle stops to truck three at a job site, that's a recorded movement, not a discrepancy that surfaces at the next count. And it makes each truck's usage visible as its own stream, which is what turns stocking decisions from folklore into data. Truck four burns twice the PEX fittings of any other van because it runs the new-construction side of town; the system knows that even if nobody ever said it out loud.
This is the same per-location model that works across field-service trades — the locksmith version of this problem is hundreds of key blanks instead of hundreds of fittings, and the solution is identical. IntelliDrive OS implements it as a parts catalog with per-location stock: one catalog of items, with a running count per truck and per shop.
Auto-decrement: the invoice is the count
Per-truck counts are only as good as their maintenance, and manual maintenance is where every clipboard system dies. Nobody finishes a slab-leak call and then lovingly updates a spreadsheet row for two couplings and a repair clamp. The counts drift within a week, everyone knows they've drifted, and the system quietly becomes decoration.
Automatic decrement removes most of the maintenance: when the tech puts a part on the invoice, the count for that truck drops by one, in the same action that bills the customer for it. There is no second step to skip. The invoice — the thing techs already must produce to get paid — becomes the inventory transaction.
This coupling has a compounding honesty effect. Because stock normally leaves the system through a sale, a part that leaves a truck without one shows up as a difference at the next count instead of staying a mystery. It also means the number is close at the moment it matters — mid-day, mid-route — rather than accurate only on the Monday someone counted. And since the sale happens on-site, on a phone, the decrement happens at the curb, not at the office. (Stock counts are whole numbers, so set up pipe and wire as a unit you can count — a ten-foot stick, a coil — rather than by the inch.)
On a flat-rate job where the part is not a separate charge, use "Part used on this job": search or scan the SKU, attach it to the service line, and it comes off stock at $0 on the sale with its cost landing on the job — so the stock count and the margin both stay right.
Restock lists driven by reorder points
With a count per truck, restocking flips from a guessing game to a pick list. Set a reorder point and a reorder quantity for each stocked item on each truck: reorder at ten half-inch copper couplings, and bring it back up by twenty. Switch on Reorder Alerts (it is off until you do) and anything that drops below its reorder point is flagged in the app for owners and admins — or collected into a draft purchase order grouped by supplier. The alerts stay inside the app; IntelliDrive does not email or text them, so make the Reorder Alerts page part of the Monday routine. The tech or the shop hand pulls the list, loads the truck, and records the move as a transfer from the shop's location.
Reorder points are also where per-truck usage data earns its keep. The right minimum for truck four's PEX fittings is not the right minimum for truck one's, and after a few months of sales history you're setting reorder points from actual burn rates instead of one loud tech's opinion. Review them quarterly: seasonality is real (freeze-break season eats repair couplings; summer eats outdoor spigots), and a reorder list that never changes is a reorder list slowly going stale.
One warning: don't stock to the maximum "just in case" on every line. Overloaded trucks hide their own shrinkage, waste fuel, and tie up cash — the point of a reorder point plus a reorder quantity is a floor and a ceiling.
Shrinkage is working capital you already spent
Here's the reframe that makes owners take truck inventory seriously: every part on every van is money you have already paid out and not yet earned back. The SBA's guide to managing your finances starts from keeping proper books of revenue and expenses, and inventory you have bought but not yet sold is cash sitting on a shelf — untracked truck stock is cash you can no longer even locate.
Plumbing shrinkage is rarely theft. It's the fitting used on a warranty callback that never got a zero-dollar invoice, the half-box of supply lines left in a customer's garage, the parts "borrowed" between trucks and never recorded, the restock that was miscounted by the supply house and never caught. Each event is a few dollars. A year of them across a fleet is a number that would make you sit down — and you'll never see it, because untracked leakage doesn't appear anywhere. It just makes your material costs mysteriously high and your margins mysteriously thin.
The same discipline that closes the leak also helps with the paperwork you keep anyway: the IRS recordkeeping guidance says you may choose any recordkeeping system suited to your business that clearly shows your income and expenses, and a sale-by-sale trail of parts is one way to show it. Margin leaks you cannot see are also one way a shop ends up in the survival numbers — per the BLS, about half of new establishments are gone within five years.
Why the spreadsheet dies at truck two
Plenty of one-truck shops run a workable spreadsheet, and honesty requires admitting it: with one van and one owner-operator who both uses the parts and keeps the sheet, discipline can hold. The system dies at truck two, for structural reasons rather than effort ones:
| Spreadsheet / clipboard | Generic invoicing app | Per-truck inventory POS | |
|---|---|---|---|
| Count accuracy | Decays within days | No counts at all | The sale decrements the truck |
| "Is it on the van?" | Phone call and a guess | Unknown | Look it up before the drive |
| Restocking | Walk the truck and eyeball it | Manual list | Reorder-point alerts or a draft PO (opt-in) |
| Truck-to-truck transfers | Untracked, becomes a discrepancy | Untracked | Recorded movement |
| Shrinkage visibility | Invisible until year-end | Invisible | Shows as the variance on each count |
| Effort as trucks are added | Multiplies per truck | — | Flat — same workflow per van |
The core problem is that a spreadsheet is, in practice, single-writer. Two techs updating counts from the field means merge conflicts, stale copies, or — realistically — nobody updating anything. There's no per-location dimension, so the sheet says "3" without saying where. And it's disconnected from invoicing, so keeping it current is a second job that competes with billable work and always loses. This is a specific case of the general rule covered in our inventory management guide: inventory data survives only when it's a byproduct of a transaction someone already has to perform.
It's worth noting the pricing angle, since inventory is often the feature that pushes shops into heavyweight platforms: per-tech pricing like ServiceTitan's makes fleet-wide inventory expensive to scale, and tiered products like Workiz or Service Fusion gate features by plan. IntelliDrive OS is $79/month flat, billed monthly, with unlimited users, so truck five costs the same to track as truck one (scheduling and dispatch is the separate GetTimePad add-on). If you're comparing the broader field-service platforms, inventory depth per dollar is the column to scrutinize.
Weekend and emergency stock: the after-hours truck is a different truck
Emergency calls change the stocking math. At 2 PM a missing part means a supply-house run; at 2 AM it means a failed call, because the supply house is dark. The truck that runs your after-hours rotation should carry a deliberately different profile: deeper on burst-pipe repair (couplings, repair clamps, freeze-damage fittings, shutoff valves), deeper on water-heater emergency parts, lighter on the remodel-oriented stock that never gets touched on a Saturday night.
Per-truck data makes this a designed decision instead of a hunch. Pull the sales report by product for the on-call truck's location and you have the actual emergency burn list — stock the on-call van to that list, at reorder points that survive a bad weekend without a mid-shift restock. Emergency work bills at premium rates; losing one of those calls to a missing $6 valve is the worst trade in the business. (And since after-hours customers should be paying before the truck leaves, pair the emergency stock strategy with texted payment links so the premium actually lands in the bank.)
The bottom line
Truck inventory isn't a counting problem; it's a workflow problem. Make each van its own location, let the sale decrement the count, restock from reorder points instead of eyeballs, and stock the on-call truck from real after-hours data. What you get back is the metric that actually moves plumbing profit — first-time fix rate — plus visibility into a shrinkage leak you're currently funding without seeing. The shops that run this way aren't more disciplined than you; they've just stopped relying on discipline.
See it against your own parts list — start your free trial or try the demo and load a truck.
Related reading: Full inventory management guide · Invoicing and inventory for mobile locksmiths · How IntelliDrive OS mobile invoicing works · Field-service software for small business. For a complete machine-readable feature and pricing reference, see our LLM reference page.
