Building Custom Software for a Plumbing Company: A Practical Walkthrough
The five processes plumbing shops most often build software for, what each one is quietly costing, and how to pick the one to start with.
Plumbing is a good candidate for custom software for a specific reason: the work is unusually varied, the parts are unusually numerous, and the compliance requirements are unusually sharp. General-purpose field service platforms handle the average job well and the edges badly — and plumbing has a lot of edges.
Here are the five processes plumbing shops most often build for, roughly in order of how often they come up.
1. Truck stock and the parts run
This is the most-cited operational leak in the trades, and it costs money twice: the material that quietly disappears, and the billable hours burned driving to a supply house.
“Running around wasting time at a supply house just costs more money than you can calculate.”
The scale surprises people. One operations manager running six technicians described roughly $12,000 of material per van, tracked by nobody:
“we're not doing anything to track accurately how much material is used per job… the techs are pushing back, saying its impossible to accurately track inventory… it sounds absurd to me that at most companies its just a free for all and the techs get whatever material they need with zero accountability.”
Why the platforms don't solve it
Jobber and Housecall Pro have effectively no truck-level inventory. ServiceTitan has a replenishment module, but it only stays accurate if every technician consumes parts to a purchase order on every single invoice. When they don't — and they don't — the counts drift and the module becomes shelfware. Shops have resorted to bolting third-party inventory tools on top of ServiceTitan, which tells you the native loop doesn't close.
Even shops that already have a tool report the same failure: "We do have a truck stock app that a lot of our techs flat out neglect."
2. The flat rate price book
Two problems, and they compound. The first is that prices are hand-entered and go stale the moment copper moves — nothing links a task's price to what its parts currently cost. The second is that the book fails in the field.
“At least once a day I have to deal with the prices coming up $0.”
And on the offline promise specifically:
“It's touted as being able to use offline. Yet anytime we were out of service area and didn't already have the price book loaded. It would show $0 on everything.”
When the book blanks, techs quote from memory. That is margin leaking on a driveway with nobody recording it. At least one owner gave up entirely and built his own price book on a website with a login for his techs.
A custom price book binds each task to a bill of materials, ingests supplier price files, flags any task whose margin has slipped below target, and — critically — caches reliably enough that it never shows zero.
3. Knowing which jobs made money
Small shops genuinely do not know. Material cost arrives on a supplier invoice, labor arrives on a timesheet, and neither one ever finds its way back to the job.
“if you spend an hour driving out, another 30–40 minutes looking at it and writing a quote, and then the customer never calls back, that time just disappears. Same with small jobs that turn into parts runs or multiple visits. On paper it looked like a $200 job, but after materials, travel and a couple hours it might not be nearly as good as it seemed.”
The deeper issue is that non-billable time gets reported as one undifferentiated gap. You pay a tech for a nine-hour day and five hours show up on an invoice — but nothing tells you whether the missing four were routing, stocking, or rework. Those are three completely different problems with three completely different fixes, and a lot of what looks like a routing problem is a stocking problem in disguise.
This is the foundational build. Get material and labor tied to a specific job, tech, and truck, and truck stock accuracy, callback attribution, and honest commission calculation all become possible as a consequence.
4. Licenses, certifications, and apprentice hours
Plumbing has the sharpest credential problem of any trade, and almost nobody tracks it in software. Asked how they manage license and continuing education deadlines, contractors answer:
- "Calendars lol"
- "Employees are responsible for their own license renewal"
- "I still keep file boxes with hanging folders"
The specific plumbing exposure is credential churn nobody watches: ASSE 5110 backflow certification runs a three-year cycle, and ASSE 6010 medical gas carries a three-year certification with a six-month braze re-qualification underneath it. A lapsed card makes the technician ineligible for the job — and you find out when someone official does.
Apprentice hours are the mirror image of the same gap. Real failure modes reported by apprentices include a truck break-in taking six months of paper logs, and a layoff leaving 1,800 hours unverifiable because the sponsor stopped returning calls. A credential tool that logs hours in the format your state board wants protects the apprentice and the license holder at the same time.
5. Permits and inspections
Permits are pure administrative drag, and the drag is bad enough that some companies avoid permits entirely rather than deal with it.
“It's county by county. Each jurisdiction has different software.”
There are two hidden costs. The first is the inspection drive-out, which most shops never put in the bid at all. The second is what happens when you skip it: "he just red tagged me for not being there…didn't even look since I wasn't there."
No platform models a permit as a stateful object with a jurisdiction, a fee, a submittal packet, an inspection appointment, and a pass or fail that blocks job closeout and final billing. ServiceTitan's answer is a third-party integration, not a native capability.
How to choose which one to build first
Run each candidate through four questions and the answer usually picks itself:
| Question | What a good answer looks like |
|---|---|
| What is this costing me monthly? | A number you can defend, even roughly. Parts-run hours × loaded labor rate is a fine start. |
| How many people have to change what they do? | As few as possible. One team beats the whole company. |
| Does it require ripping out something I pay for? | No. The first build should sit alongside your existing tools. |
| Would I know in thirty days? | Yes, and you can name the number you'd check. |
For most plumbing shops between three and fifteen trucks, that points at truck stock or job costing. For shops doing commercial or medical gas work, credentials usually jumps the queue on risk alone.
A realistic first project
- One to two weeks of discovery — ride-alongs, a morning with the dispatcher, and a look at whatever spreadsheet is load-bearing.
- Six to twelve weeks of build, with something you can look at every two weeks.
- A pilot with two or three techs, including your most skeptical one on purpose. If it survives him, it will survive everyone.
- A thirty-day measurement against the number you named at the start.
Everything else stays exactly where it is. You are not migrating your company — you are fixing the one thing that costs the most, and leaving the rest alone until it has earned the right to be next.

