Look at last Tuesday's invoices. You'll see labor, a water heater, maybe a disposal. What you probably won't see is two ¾-inch ball valves, a braided supply line, a wax ring and a handful of PEX fittings that went into those same jobs. Each one is cheap. Together, across every plumber and every day, they're real money leaving the van and never coming back as revenue.
Plumbing inventory software is supposed to close that gap. It should count every van, pull parts off the count as they're used, carry them onto the invoice without retyping, and tell you before the on-call van goes out short.
What unbilled parts cost you
This example is illustrative. The real number is in your own invoices, and it's worth an afternoon to find it.
Say each plumber uses $15 a day in small parts that never get billed: fittings, washers, supply lines, a flapper. With 10 plumbers working 250 days a year, that's $15 × 10 × 250 = $37,500 in parts you paid for and gave away.
Then add the return trips. When the count is wrong, a plumber opens the van, finds the bin empty, and drives to the supply house mid-job. The BLS puts the median plumber wage at $30.67 an hour (May 2025). Across private industry, wages are about 70% of total compensation cost, with benefits making up the other 30%. Divide the wage by 0.70 to load it: $30.67 ÷ 0.70 is about $43.81 an hour of plumber time, before you count the truck. Our HVAC inventory guide uses the same method and walks through how fast those runs add up over a year.
How to find your real number: pull 20 recent invoices. Ask the plumber on each job what parts they used. Compare the two lists. The gap is your unbilled rate. Multiply it by your job count, and you have the number to hold any software to.
Why plumbing stock is harder to track than it looks
The kit is wide and cheap. A plumbing van carries hundreds of different small parts: fittings in copper, PEX, CPVC and galvanized, each in several sizes, plus valves, supply lines, wax rings and repair kits. Most cost a few dollars. That's exactly why nobody counts them and nobody bills them.
A few items are expensive. Water heaters, disposals, toilets and pumps cost far more, and they're often bought for one specific job. Treat them the same way as a coupling and you'll overcount the cheap stuff and lose track of the expensive stuff.
The on-call van has to be complete. The BLS notes that plumbers are often on call for emergencies, so evening and weekend work is common. At 2am there's no supply house. If the on-call van is missing a shutoff valve or a repair coupling, the burst line waits until morning, and so does the customer's flooded basement.
Count by value, not all at once
Don't try to count 800 SKUs every week. Split the stock room by what each item is worth, and match the effort to the money:
- High-value items (water heaters, disposals, pumps, specialty valves): track each one to the job it's bought for. These should never be a surprise. Count them weekly.
- Mid-value items (cartridges, repair kits, pressure-reducing valves, sump parts): count every two weeks, and set a minimum for each one.
- Low-cost fittings and consumables: don't count individual pieces. Set a minimum per bin and refill the bin when it hits the line. What matters here is that it gets billed, not that the count is exact.
Vans get a lighter touch. Instead of a full count, each plumber checks their van against its minimums and restocks what's below the line. In our illustration, that keeps a van check to about 30 minutes, and puts your attention where the money is.
What plumbing inventory software should do
Bring these six requirements to every demo. Each comes with a test you can run in a few minutes.
1. Track every van as its own stock
Each plumber's van has its own stock level, visible from a phone. The office should be able to answer "who has a 50-gallon gas water heater on board?" in seconds.
Test it: ask the vendor to find one part across all vans and the stock room at once.
2. Get parts from the van onto the invoice
This is the unbilled-parts fix. The plumber logs the part on the job, it comes off the van's count, and it's already on the invoice when the office generates it. Nobody should have to type the same fitting twice.
Test it: complete a job on the mobile app with four fittings and a supply line. Generate the invoice and check that all five are on it.
3. Warn before stock runs short
Two warnings matter. The office needs a reorder alert when the company's stock of a part drops below its minimum. The plumber needs to see what's low on their own van before the shift, especially before the on-call handoff.
Test it: set a minimum on a repair coupling, drop below it, and see who gets told. Then do the same on one plumber's van and see where the plumber finds out.
4. Scan, don't type
Barcode or QR scanning from the phone for looking up parts and moving stock from one van to another. Nobody types part numbers in a crawl space.
Test it: hand three valves from one plumber to another by scanning, and count the taps.
5. Show the variance after every stock room count
When you count the stock room, the system should compare the physical count to what it expected and show the gap by part, with a full history of who changed what and when.
Test it: count one warehouse with a deliberate mismatch and see how the variance is reported.
6. Use van stock when choosing the plumber
When an emergency call needs a specific part, the job should go to a plumber who actually has it on board, without the dispatcher calling around.
Test it: put a required part on a job, make sure only one van carries it, and see who the job goes to.
Set up the on-call van like a checklist
- Write the standard on-call kit. Shutoff valves, repair couplings, supply lines, a range of fittings, a flapper and fill valve, thread seal. Keep the list to what solves a 2am emergency, not everything a van could carry.
- Turn that list into van minimums. Every plumber who takes call sets their van minimums from the kit list, so their low-stock list matches it.
- Check it at handoff. The plumber going on call looks at their van's low-stock list before the shift. It takes five minutes.
- Restock the next morning from whatever the night used. The job records tell you what went out.
Mistakes that make the count useless
Plumbing inventory software only works if the habits around it hold. These are the ones that break it:
- Loading every SKU on day one. Start with the 50 parts behind most return trips, then expand.
- Counting fittings piece by piece. Use bin minimums. Your plumbers' time is worth more than a perfect coupling count.
- Treating water heaters like fittings. Track big-ticket items to the job.
- Letting parts come off the van without a job. If a part isn't logged against work, it's either unbilled or missing.
- Making logging slow. If recording a part takes more than a few taps, it won't get recorded.
If you're also building recurring maintenance work, the parts on those visits count too. See our guide to plumbing service agreements.
Where FSM Navigator fits
FSM Navigator's inventory management tracks stock in your warehouses and on each plumber's van, and the office can look up which warehouses and which plumbers are holding a given part. When a plumber logs a part on a job, it comes off their van stock, and it prefills the invoice when you generate it from the job.
Low-stock alerts work at two levels. The office gets company-wide reorder emails when warehouse stock of a part falls below its minimum, and each plumber sets their own van minimums and sees a low-stock flag in the mobile app. Plumbers scan barcodes and QR codes in the app to look up parts and hand stock to each other. Warehouse counts calculate the variance for you, and every stock movement records who made it and when.
When a job lists required parts, intelligent dispatch checks each plumber's van for them before assigning, either as a requirement or as a preference. The plumbing page covers the rest of the platform for plumbing shops.
Inventory is part of the Enterprise plan. That's the plan built for shops running a stock room and a fleet of vans. Start a trial and set up your on-call van first.