Plumbing Estimating Software for Service and Repair Jobs

A homeowner is standing over you while you’re under the sink, and they want a number before you leave. Opsler is estimating software for plumbers who quote service and repair work — a failed water heater, a slab leak, a repipe — built from your own labor rates, services and parts, not a construction bid tool.

What follows covers what the number is built from, whether templates and field creation hold up, how the customer signs off, and exactly what happens next — scheduled job, invoice, or neither.

Water Heater Replacement

SENT
GoodBetter · RecommendedBest
40-gal tank water heater, standardGood
+ Expansion tank and drain panBetter
+ Upgrade to tankless unitBest
Estimate #PLB-1042Awaiting customer

Service Estimates vs Blueprint and Material Takeoff

Type “plumbing estimating software” or “plumbing bidding software” into Google and the results split into two products with almost nothing in common. One reads a set of construction drawings, measures pipe runs and fixture counts, and prices a building before a wall goes up. The other prices the job you can see — the leak under the slab, the water heater that failed on a Tuesday night, the bathroom a homeowner wants repiped before a remodel. Opsler is plumber estimating software for the second category: the visit you’re standing in, not the drawing set you’ve never seen.

Service and repair estimating (Opsler)

Quoting a known job at a known address from your own services, labor rates and parts, usually built where the work is. Water heaters, repipes, drain and sewer calls, fixture swaps.

Takeoff and bid estimating (not this)

Uploading plans, counting fixtures and measuring pipe from drawings, then pricing with labor-unit assemblies for a construction bid — the job STACK’s plumbing product is built to do.

If your revenue comes from calls to properties that already exist — repair, replacement, service agreements — this is the right category. If you bid new construction from plans, keep a takeoff package for that; Opsler doesn’t try to replace it.

Once you’ve settled on the right category, the actual comparison is narrower than most listicles make it look: what the line items are built from, whether templates and field creation are real or bolted on, how the customer signs off, what happens the moment they do, whether the invoice still matches what was quoted, the price, and where the tool draws its limits. That’s the order this page follows.

Build a Plumbing Estimate from Labor, Services and Parts

Say you’re quoting a repipe on an older house with failing galvanized supply lines. You don’t want to be typing “half-inch copper, three shutoff valves, four hours labor” from memory while you’re standing in the crawlspace — you want to select it. That’s what plumbing estimate software should do that a blank spreadsheet doesn’t: hold your rates so you’re not re-deriving them under someone’s house.

Pricebook services

Select from your configured service catalog by name, rather than retyping descriptions and prices on every call.

Parts from the catalog

Search parts by name or SKU and add them with quantity. What lands on the line is the price you sell at.

Discount and tax

One discount and one tax rate apply at the estimate level. Per-item tax is a separate, invoice-time calculation.

Notes and text-only lines

Free-text notes and terms carry onto the document, and you can add a line that explains scope without pricing it.

None of it prices itself. Line items, rates and descriptions come from what you typed in or selected from your own catalog — see how the price book is organized once, rather than an external labor-unit database updating numbers behind the scenes.

Use Templates and a Pricebook Only Where Supported

Your fifth water heater quote of the month shouldn’t take fifteen minutes, because you build it once: name it, put every line item on its tier, set the discount, the tax rate, the notes and terms, and mark which tier is recommended. That whole structure becomes a template you load onto the next job in a couple of taps, then adjust for the property — a different tank size, an extra shutoff valve, whatever’s different this time. A plumbing pricebook built this way pays for itself the third time you use it, not the first.

Water heater replacement

Unit, expansion tank, permit line and labor, saved as a starting point across all three tiers.

Drain and sewer work

Cabling, hydro-jetting and camera inspection as options the customer chooses between.

Repipe work

Standard material and labor structure, adjusted for the property rather than rebuilt on every call.

Every template and every price book entry is one you set up and keep editable — more on managing services and parts — not a plumbing-specific catalog that arrives pre-loaded the moment you sign up.

Create Estimates in the Office or at the Job Site

In the office

Someone reviews what the plumber found on site, prices the larger scope without a customer standing there, and sends the link. Useful when a repipe or a full-system quote needs a calmer look than the field allows.

At the job site, cached for low signal

More often, it’s the plumber pricing it standing where the work will happen. After a Sync for Offline, the service and parts catalog, your rates and recent customer history are cached, so a plumbing estimate app keeps pricing correctly in a basement with no bars.

If the connection drops mid-entry, the draft you’re working on saves to the device and reloads where you left off. Sending the finished estimate to the customer is the one step that needs a connection either way, since that’s what delivers their approval code by email — see what else is cached for the field app.

Present Good-Better-Best Options When the Workflow Is Verified

Not every plumbing estimate option needs three prices — a burst line at 2am doesn’t. But for the calls where there’s a genuine choice — a water heater near the end of its life, a repipe, a drain that keeps coming back — a Good-Better-Best estimate turns whether to fix it into which fix to book.

Good

The base repair — restore service at the lowest honest price for today.

Better

Good's items, plus what you add specifically for this step up.

Best

Everything in Good and Better, plus the top-tier addition layered on top.

The three tiers aren’t three separate quotes side by side — Better totals Good’s line items plus Better’s own, and Best totals all three. Build a tier that way: put the standard tank swap in Good, add only the expansion tank and drain pan as Better’s increment, then add the jump to a tankless unit as Best’s. Build each tier instead as a stand-alone alternative — a whole second water heater sitting in Better — and the customer gets billed for both units, because the totals stack by design rather than swap.

One tier can be marked as the focus tier so it presents as recommended, and a dedicated tier-conversion view reports how often each tier gets picked, its share of approvals, average order value and total revenue — so you can tell whether Better is actually winning or just sitting there unread.

Tiered estimating isn’t held back for a paid tier, either. It runs on the free Budding plan along with flat estimates, templates and the approval flow; Pro adds things like technician timers, route optimization and the Xero and QuickBooks export, not the estimate workflow itself.

Add Scope, Photos, Terms and Internal Cost Context

None of this is what people picture when they search plumbing quote software — it isn’t a nicer-looking PDF, it’s a record with evidence and controls attached to it.

Supported, verified in the tiered form

  • A photo attached to any line item — run the camera down a stubborn drain and attach the footage next to that line, so the customer is looking at their own pipe
  • Text-only lines for scope wording that carries no price — what a permit fee covers, why an old run needs replacing
  • A per-item toggle to hide a price from the customer view while keeping it on your record
  • Notes and terms saved with the estimate and its template

Not on the estimate itself

A part’s cost price and retail price both live in your inventory record, so you know your markup while you’re managing stock or pricing a service. Add that part to an estimate and only the retail price rides along on the line — there’s no cost or margin figure sitting next to it on the document, for you or the customer.

Turn an Approved Estimate into a Plumbing Job

1. Email code, five minutes

A six-digit passcode goes to the customer's email and expires after five minutes; entering it once verifies that browser for the session.

2. Option selected

On a tiered estimate the customer picks an option, seeing full line-item detail for each.

3. Signature

They sign by typing or drawing; the type, timestamp and device are recorded. A rejection is allowed without a reason.

4. Job created

The approved tier's line items carry into the job; the estimate is marked converted and can't be converted twice.

Only an approved estimate converts, and only once — try it twice and the second attempt is rejected outright. Any discount on the estimate carries onto the new job automatically, so the number the customer signed is the number the job starts at. See the full estimate-to-job path.

Carry Approved Work into the Final Invoice

The estimate, the job and the invoice are one chain — the plumbing estimate and invoice line up because the job never had a chance to drift from what was priced and signed.

Invoice revenue − direct part cost − direct labor cost = gross job profit

Anything found on site that wasn’t on the original estimate can still be added to the invoice before it goes out, and where an admin has turned on office approval, that’s the queue where a wrong discount gets caught before the customer sees it. Revenue and margin from what actually got invoiced roll up on the reporting dashboard across every job, not on a single estimate — see how invoicing and approval work.

Estimating Limitations and FAQs

What this is

  • Flat and Good-Better-Best service estimates from your own labor, services and parts
  • Templates, discount and estimate-level tax, notes, terms and per-item photos
  • Email one-time-passcode approval with a typed or drawn signature
  • Conversion into a job, carrying only the approved scope forward

What it isn’t

  • Blueprint reading, material takeoff, pipe sizing or CAD
  • Labor-unit assemblies or a construction bid database
  • Consumer financing, or a separate deposit-collection step
  • A downloadable PDF quote — approval happens on a secure link instead

Does Opsler do plumbing takeoff or blueprint estimating?

No. Opsler prices the visit in front of you — a failed water heater, a repipe, a drain that keeps backing up — using your own labor rates, services and parts. Reading a drawing set, measuring pipe runs and fixture counts, and pricing a new-construction bid is a different job with different tools, and a package like STACK is built for that, not this.

How does a customer approve a plumbing estimate, and how long do they have?

A six-digit code goes to the customer's email and expires after five minutes. Once they enter it, that browser stays verified for the session, so reopening the same link later that day doesn't ask again. On a tiered estimate they pick an option next, then sign by typing their name or drawing on the screen; a rejection is allowed without giving a reason, though there's a field for one.

Can a plumber build the estimate at the job, without signal?

The service and parts catalog, your rates and recent customer history are cached after a Sync for Offline, so pricing keeps working with no signal. A tiered estimate in progress saves its draft on the device, so a dropped connection mid-entry doesn't lose the work. Sending it needs a connection either way, since that's what delivers the customer's code by email.

Can I reuse an estimate structure for common plumbing jobs?

Yes. A template saves the name, category, every line item with its tier, the discount, the tax rate, notes, terms and which tier is recommended. Build one for water heater replacement, one for a standard repipe, one for drain and sewer work, then load and adjust rather than starting blank on every call.

Can I see my margin before I send the estimate?

Not on the estimate itself. A part's cost and retail price both sit in your inventory record, so you know the markup when you're managing stock or pricing a service. Add that part to an estimate, though, and only the retail price carries onto the line — there's no cost or margin figure next to it on the document, for you or the customer.

Can I collect a deposit when the estimate is approved?

Not as a step in the estimate itself — there's no deposit checkout attached to approval. Once the approved estimate becomes a job and an invoice exists, a payment can be recorded against it for less than the full balance, with the remaining amount tracked as due. For a repipe or another job where you want money before ordering parts, that invoice-level partial payment is the mechanism, not the estimate.

View as plain text

Ready to Run Your Business Without the Chaos?

Scheduling, dispatch, estimates, invoicing, customer portal, and a free branded website — start completely free, upgrade to Pro when you scale.

Free forever on the Budding plan. No credit card required.

Explore all 42 features·See full pricing