Custom Plumbing Software: When to Build vs. Buy
Short answer
Custom plumbing software costs $120K-$200K for an MVP and takes 12-16 weeks to build. RaftLabs builds plumbing contractor management software for operators with 25+ technicians, multi-location dispatch, or commercial contracts that off-the-shelf tools like ServiceTitan and Jobber cannot handle. Core systems: emergency dispatch with license validation, flat-rate pricing book, truck parts inventory, permit tracking, and service agreement management.
Key Takeaways
- ServiceTitan ($398+/mo) and Jobber ($69-$249/mo) cover most operations under 20 technicians well. Build custom when you hit 25+ technicians, run multi-location dispatch, or have commercial contract logic that no off-the-shelf tool supports cleanly.
- Truck inventory is the most expensive unsolved problem in plumbing operations. A failed truck roll costs $150-$300 in wasted labor. Companies doing 50+ calls per day can absorb significant losses weekly from this problem alone.
- An MVP covering dispatch, flat-rate pricing, scheduling, and invoicing costs $120K-$200K and takes 12-16 weeks. A full platform with truck inventory, permit tracking, and service agreements costs $240K-$400K over 22-30 weeks.
- License compliance is a legal requirement. A journeyman plumber cannot legally pull permits or supervise work that requires a master license. Your dispatch system must validate this before confirming an assignment.
- The most common reason custom plumbing software projects fail: operators build everything at once. Start with dispatch and flat-rate pricing. Get those right before adding truck inventory and permit tracking.
Your ServiceTitan account has 22 custom fields hacked together to track commercial contract work. Your dispatcher runs a parallel spreadsheet for truck inventory because ServiceTitan shows job history, not what's physically on the truck right now. You've got a Zapier workflow connecting ServiceTitan to QuickBooks that breaks every three weeks. And you just opened your monthly statement: $14,200 in per-seat licensing for 35 technicians across four locations.
You're not getting bad software. You've outgrown it.
This article is for operators in that exact position: a plumbing company with 25 or more technicians, multi-location dispatch, or commercial contracts that require logic your current tool can't cleanly support. It covers when to build, what it costs, what phases to tackle first, and where custom plumbing software projects go wrong.
Build vs. buy cost snapshot
| Option | Cost | Timeline | Best for |
|---|---|---|---|
| ServiceTitan | $398+/mo per location | Immediate | Under 20 technicians, residential focus |
| Jobber | $69-$249/mo | Immediate | Under 10 technicians, simple dispatch |
| FieldEdge | $100-$200/mo per user | Immediate | Mid-market, flat-rate pricing built in |
| Housecall Pro | $65-$169/mo | Immediate | Small residential teams |
| Custom MVP | $120K-$200K total | 12-16 weeks | 25+ technicians, multi-location, specific workflows |
| Custom full platform | $240K-$400K total | 22-30 weeks | Franchise networks, commercial-heavy, SaaS product |
Infrastructure after launch: $1,000-$3,500 per month depending on technician count and real-time data volume.
ServiceTitan, Housecall Pro, Jobber, and FieldEdge vs. custom plumbing software
This is the most important question to answer before you commit to a build. All four tools are genuinely good. The question is not whether they are good. It is whether your operation has specific requirements that push you past what they handle well.
ServiceTitan is the dominant platform for mid-to-large plumbing, HVAC, and electrical contractors. It covers dispatch, scheduling, flat-rate pricing, invoicing, service agreements, and reporting. The pricing starts at $398 per month per location and scales by technician count. At 35 technicians across four locations, you can easily hit $10,000-$15,000 per month. ServiceTitan is worth every dollar if your workflows fit its model. The problem is what it cannot do cleanly:
Real-time truck inventory at the part level (it tracks van stock categories, not individual parts per truck)
Commercial contract billing with progress invoicing and material procurement tied to a single job record
Custom dispatch logic (for example: route this commercial account only to technicians who have worked that facility before, and cross-check against their current active certification list)
Franchise-level reporting across independent franchise locations with separate data environments
Jobber covers smaller operations well at $69-$249 per month. It handles scheduling, invoicing, client records, and basic dispatching. It breaks down for operations with more than 10-15 technicians, multi-location routing, or any need for flat-rate pricing books with 500+ entries. Jobber's quoting workflow is estimate-based, not flat-rate-book-based. Residential plumbing companies that have moved to flat-rate pricing find this friction from the first week.
Housecall Pro ($65-$169/month) is well-suited for small residential teams. Intuitive interface, good mobile app, solid customer communication features. It starts to strain at multi-location operations, complex service agreement management, or any commercial work with billing milestones. Most companies using Housecall Pro with 20+ technicians have a parallel spreadsheet operation running alongside it.
FieldEdge is a solid mid-market option with stronger flat-rate pricing support than Jobber and lower cost than ServiceTitan. It's worth considering for 10-25 technician operations that are primarily residential and single-location. It does not handle commercial project billing, multi-location analytics, or truck inventory any better than the other tools.
The thresholds where custom makes sense:
25+ technicians across multiple locations, and your per-seat cost has crossed $8,000-$12,000 per month
You run commercial maintenance contracts with custom billing milestones, material procurement, and permit tracking that require a web of workarounds in any off-the-shelf tool
You're building a plumbing software product for a franchise network or regional operator group, where ServiceTitan's pricing does not work per-franchise
Your dispatch logic has requirements specific enough (part-level truck inventory routing, certification + facility history matching) that no SaaS tool handles it without significant custom integration work
Below those thresholds, buy. Above them, the math on custom begins to work.
Who actually builds custom plumbing contractor management software
Not every operator should be reading this section. Here are the four scenarios where custom plumbing software makes real business sense.
The 30-50 technician regional operator. You run three or four locations in a metro area. Your ServiceTitan bill is $12,000-$18,000 per month and climbing. You've added eight Zapier automations to handle workflows the platform doesn't support natively. Your dispatcher still runs a separate Google Sheet for truck inventory because the platform doesn't show you what's physically on each truck. At this scale, a custom platform amortizes over 18-24 months and you stop paying per-seat licensing permanently.
The commercial plumbing contractor. Your revenue mix is 60-70% commercial: new construction, renovation projects, facility maintenance contracts. Commercial work involves progress billing, material procurement tied to specific job records, permit tracking per jurisdiction, and technician certification matching for specialized work (medical gas, backflow, etc.). No residential-focused field service SaaS handles this cleanly. You end up managing half the workflow outside the software.
The franchise network operator. You operate or manage 15-40 plumbing franchise locations. Each location needs its own data environment, pricing, and staffing. You need consolidated reporting across all locations that no individual franchisee can see. ServiceTitan's pricing structure does not fit the franchise model. Building a platform that serves the whole network and charges per location is a better unit economics story.
The product builder. You've run a successful plumbing operation and you see the gap in the market: a plumbing management software product built specifically for mid-market operators who are too large for Jobber and too small or too specific for ServiceTitan. You want to build and sell that product. This is a SaaS build, not an internal tool.
What custom plumbing software needs to do: V1, V2, V3
The most common mistake in these builds: trying to build everything at once. Here is a phased approach with cost per phase.
V1: Core dispatch and pricing ($120K-$200K, 12-16 weeks)
This is the foundation. Get these right before anything else.
Emergency and scheduled dispatch. The dispatcher sees available technicians sorted by GPS location, current job status, license level, and estimated completion time. Routing an emergency call means matching the nearest available technician who is licensed for the work. For GPS, use background location from the mobile app and update position every 2-5 minutes while the technician is active. Job status updates (on the way, arrived, started, complete) trigger notifications to the dispatcher and optionally to the customer via SMS.
Flat-rate pricing book. Most residential plumbing companies use flat-rate pricing: the customer pays a fixed price for a specific task, not time-and-materials. A flat-rate book has 500-1,000 task entries. The technician selects tasks on-site through the mobile app, adds multiple tasks to a single job, and generates an invoice for signature on the spot. For multi-location operations, build market-level price overrides into the data model from day one. The price for a water heater installation in San Francisco is not the same as in Phoenix.
License and certification compliance. Your dispatch module needs to know what certifications each technician holds and their expiration dates. Core license types: master plumber (can pull permits, supervise, operate a business), journeyman plumber (performs most work under master supervision), apprentice (limited scope). Specialized certs: backflow prevention, medical gas piping. The system must block assignment of a technician to a job that requires a certification they do not hold or that has expired. Surface expiration alerts 60 and 30 days ahead to both the technician and operations manager. This is a legal requirement, not a nice-to-have.
Basic job management and invoicing. Job records, customer history, invoicing, payment collection, and basic reporting.
V2: Inventory and compliance ($80K-$120K additional, 8-12 weeks)
Truck inventory management. This is the hardest operational problem in plumbing operations and the one that generates the most revenue loss when unsolved.
Every service truck carries a standard set of parts: faucet cartridges, toilet flappers and fill valves, pipe fittings, pressure regulators, drain snakes. For most routine calls, the exact inventory does not matter. For emergency calls requiring a specific part, it matters completely.
Real-time truck inventory requires three workflows. First, technicians confirm parts used after each job: the system deducts those items from their truck inventory record. Second, a restock request triggers when truck inventory falls below a threshold. Third, a parts transfer workflow handles the case where a technician needs a part that another truck has.
PHCC's industry data shows that failed truck rolls are among the top controllable cost drivers for plumbing contractors in the US. At $150-$300 in wasted labor per failed truck roll, a company doing 50+ calls per day can absorb significant losses weekly from this problem alone. RaftLabs has seen this across multiple field service builds: operators who implement real-time truck inventory see truck roll failures drop below 5% within the first 90 days.
Permit tracking per job. Most plumbing work requires a permit. Track per job: whether a permit is required for this job type in this jurisdiction, application status and number, issue date and expiration, scheduled inspection dates, inspection results, and final sign-off. Build permit status into job progress tracking so project managers can see when work is blocked pending an inspection.
V3: Service agreements and analytics ($60K-$100K additional, 8-10 weeks)
Service agreement management. Annual maintenance contracts are a real revenue line: water heater flush and inspection, drain cleaning contracts, backflow testing (required annually by many municipalities for commercial properties). Service agreement management needs: contract terms, automatic appointment scheduling at the correct interval, renewal tracking 60 days ahead, and separate revenue reporting for recurring vs. one-time calls.
Multi-location analytics. Technician utilization by location, first-call resolution rates, truck roll failure rates, flat-rate close rates by technician, revenue per call by market. These are the metrics that tell you where the operation is losing money.
Where custom plumbing software projects fail
Two failure modes account for most of the problems we see.
Building everything in V1. An operator agrees to a scope that includes dispatch, flat-rate pricing, truck inventory, permit tracking, service agreements, and commercial project billing in a single build. The project runs 40 weeks instead of 20. The budget overruns. The team ships a half-working platform. Users resist adoption because the interfaces for the complex features are rough. The right move is a disciplined V1 that covers dispatch and pricing, ships in 12-16 weeks, and gets real technician usage before building anything else.
Skipping the mobile app requirements. The mobile app is the most important piece of the system. Technicians spend their day in the van, not at a desk. The app needs to work in areas with poor cellular coverage. If offline capability is not scoped in V1, technicians cannot complete jobs in dead zones, dispatchers get no status updates, and the dispatcher switches back to phone calls. Offline job creation, flat-rate task selection, and status updates with sync-on-reconnect need to be in V1, not added later.
"The companies winning in residential service are those where the dispatcher knows more about a truck's capability than the technician does. Technology bridges that gap." - Mike Agugliaro, Field Service Industry Consultant and co-founder of CEO Warrior
According to the Field Service Management market report by MarketsandMarkets, the global field service management market is projected to reach $6.9 billion by 2028. Plumbing-specific tooling is a fast-growing segment, driven by service companies that need more than a generic scheduling platform. A 2024 study by Software Advice found that 67% of field service companies using generic software report managing critical workflows outside their primary platform, typically in spreadsheets. That number is higher in plumbing because of flat-rate pricing complexity and truck inventory requirements that no generic FSM tool addresses well.
How RaftLabs builds plumbing software
We build field service platforms and plumbing contractor management software for operators who have outgrown off-the-shelf tools. Our approach:
We start with a 2-week discovery phase. We map your actual dispatch workflow, your flat-rate pricing structure, your license and certification requirements, and what your team is doing in spreadsheets or Zapier automations that your current tool does not support. This tells us what V1 actually needs vs. what sounds useful in a sales meeting.
We build the mobile app and dispatcher dashboard in parallel. Technicians get a simple interface for job status, flat-rate task selection, and parts confirmation. The dispatcher gets real-time technician locations, job status, and license-level visibility. We test with a small technician group before full rollout.
We do not take on builds where the operator has not done a serious evaluation of whether an off-the-shelf tool can solve their problem first. If Jobber or FieldEdge can handle your operation, we will tell you that in the discovery call. Custom software makes sense at a specific scale and a specific complexity threshold. Below that threshold, buying is the right answer.
If you're running 25+ technicians, hitting $8,000+ per month in per-seat licensing, and managing critical workflows in parallel spreadsheets, here's what the first 90 days with RaftLabs looks like: two weeks of discovery and architecture, four weeks of V1 core dispatch and flat-rate pricing build, two weeks of technician testing with a pilot group of 5-10, and six weeks of full rollout and iteration based on real dispatch feedback. By week 14, your dispatcher has a live system. By week 16, you're processing invoices through it.
Ask an AI
Get an instant summary of this post from your preferred AI assistant.
Frequently asked questions
- An MVP covering service dispatch, flat-rate pricing, scheduling, invoicing, and basic license tracking costs $120K-$200K and takes 12-16 weeks. A full platform with truck inventory, permit tracking, service agreements, and multi-market analytics costs $240K-$400K over 22-30 weeks. Infrastructure post-launch runs $1,000-$3,500 per month depending on technician count and real-time data requirements.
- Use ServiceTitan ($398+/mo) or Jobber ($69-$249/mo) if you run under 20 technicians in a single market. Build custom when you hit 25+ technicians across multiple locations, when your per-seat licensing cost approaches $8K-$15K per month, or when you have commercial contract workflows that ServiceTitan's configuration options cannot handle without a sprawl of workarounds.
- Flat-rate pricing means the customer pays a fixed price for a specific task, regardless of how long it takes. A flat-rate book lists 500-1,000 tasks with set prices. The technician selects tasks on-site and the system totals the invoice. Most residential plumbing companies use flat-rate because it removes haggling and improves close rates.
- Truck inventory management. For emergency calls requiring a specific part, the dispatcher needs to know which truck carries that part before routing. Without real-time truck inventory, technicians arrive on-site without the required part, the job cannot be completed, and the customer waits hours for a second dispatch. Most companies skip this and absorb the cost.
- Core license types are master plumber (required for permit pulls and supervision), journeyman plumber, and apprentice registration. Specialized certs include backflow prevention and medical gas piping. Your dispatch system should store expiration dates and block assignment of a technician to any job that requires a certification they do not hold or that has expired.
- Scheduling software manages planned appointments: routine maintenance visits, service agreement calls, inspections. Dispatch software handles real-time routing of emergency and same-day calls based on technician location, license level, and truck inventory. A full plumbing software platform needs both, with shared job and technician records linking them.
Related articles

Catering Management Software: Build vs. Buy for $2M+ Operators
Caterease, Total Party Planner, and Better Cater work until they don't. Here's when catering companies with $2M+ revenue outgrow off-the-shelf tools, what a custom build costs, and how RaftLabs scopes it.

Snow Removal Software: Custom Build vs. Off-the-Shelf (Cost, Features & When to Switch)
Running 20+ trucks on paper routes and a basic Jobber account stops working fast. Here is what custom snow removal software actually costs, what it does that off-the-shelf tools cannot, and when the build makes financial sense.

Brewery Management Software: Build vs. Buy for Craft Brewery Groups
Custom brewery management software costs $140,000-$500,000 and takes 16-34 weeks. Here is what breaks with off-the-shelf tools at scale, when building pays, and what a phased build actually covers.
