Plumbing software

Best Job Costing Software for Plumbing Companies

The best job costing software for a plumbing company is the one that can tell a $225 drain from an $1,850 water heater without a Friday spreadsheet. Plumbing shops lose the plot in a specific way: the day is full of short calls, a couple of replacements carry the revenue, and callbacks eat a truck that already went to that house once.

This page is for a small shop that already sends invoices from QuickBooks, Jobber, Housecall Pro, ServiceTitan, or paper, and still cannot say which job type kept the money. It is the plumbing cut of the general roundup. The parent page owns the broad "best job costing software" query. This one is about drains, water heaters, permits, and callbacks.

Rates in every table here. Labor is $45 an hour, the truck is $0.65 a mile, and overhead is $12 an hour. That $12 is a $1,920 monthly shop cost spread across 160 hours on the job. Lead cost is $0 unless the table says otherwise. These are the public calculator's starter numbers, so you can rerun every ticket. On the phone, overhead is the monthly shop cost split across hours you actually log that month, and the month stays a draft until it closes.

What a plumbing ticket has to hold

The phone log asks for three things, in this order: who it was for, how long you were out, and what they paid. Job types you can tap are Drain, Leak, Water heater, Bathroom, Boiler, Other, and Callback. Type your own label if the chip is wrong. You will sort by that label later, so "drain" and "kitchen snake" should not both exist for the same work.

  • What they paid is the invoice after discounts. Zero is allowed, and it should be, because callbacks are real jobs.
  • Time at the job is a timer or hours and minutes. Drive is separate, in minutes there and back, plus miles.
  • Parts are what you paid the supply house, not the price on the customer's invoice.
  • Permits and other direct costs sit on their own lines. A water-heater permit should not hide inside the tank.
  • Lead fee is on the ticket that came from the ad, not smeared across the week.

Labor rate and the truck's cost per mile live in Settings. The monthly shop cost, starter $1,920, splits across hours logged that month when the month closes. You do not retype rent on every drain.

A drain that looks small and pays

Repeat customer, kitchen drain, one hour on site, 30 minutes and 18 miles of driving, $18 of parts, $225 collected.

Repeat kitchen drain

LineMathAmount
What they paid$225.00
Onsite labor1 h × $45.00$45.00
Travel labor0.5 h × $45.00$22.50
Vehicle18 mi × $0.65$11.70
Materials, your cost$18.00
Overhead1.5 h × $12.00$18.00
Lead$0.00
Total job cost$115.20
Net profit$225.00 − $115.20$109.80
Net margin$109.80 ÷ $225.0048.8%
Profit per hour$109.80 ÷ 1.5 h$73.20 / h

Open this ticket in the calculator. Change one number and the margin moves with it.

The verdict is solid — 35%+ net. Do more of this work. This invoice is $47.77 over the 35% price. This is the job a lot of shops apologize for. On these rates it is the one to protect. The full walk-through, including how to type it on the phone, is how to job cost a plumbing service call.

The same drain from a paid lead

Nothing about the work changes. An $85 lead does.

Drain from an $85 lead

LineMathAmount
What they paid$225.00
Onsite labor1 h × $45.00$45.00
Travel labor0.5 h × $45.00$22.50
Vehicle18 mi × $0.65$11.70
Materials, your cost$18.00
Overhead1.5 h × $12.00$18.00
Lead$85.00
Total job cost$200.20
Net profit$225.00 − $200.20$24.80
Net margin$24.80 ÷ $225.0011.0%
Profit per hour$24.80 ÷ 1.5 h$16.53 / h

Open this ticket in the calculator. Change one number and the margin moves with it.

The verdict is thin — under 20% net. Travel, burdened labor, or the lead fee is eating this. A busy week of these still feels broke. To hit 35% net with this cost stack, the invoice needed to be $308.00 (you charged $225.00). Software that cannot put the lead on the ticket will keep telling you drains are a great business. Some of them are. The ones you buy for $85 at a $225 price are a different business. That is also why which plumbing jobs pay depends on the source, not only the task.

The water heater that flatters the week

Tank replacement

LineMathAmount
What they paid$1,850.00
Onsite labor3.5 h × $45.00$157.50
Travel labor0.75 h × $45.00$33.75
Vehicle22 mi × $0.65$14.30
Materials, your cost$980.00
Permits and fees$75.00
Overhead4.25 h × $12.00$51.00
Lead$0.00
Total job cost$1,311.55
Net profit$1,850.00 − $1,311.55$538.45
Net margin$538.45 ÷ $1,850.0029.1%
Profit per hour$538.45 ÷ 4.25 h$126.69 / h

Open this ticket in the calculator. Change one number and the margin moves with it.

The verdict is OK, not a winner. Fine if this is filler between high-margin installs. To hit 35% net with this cost stack, the invoice needed to be $2,017.77 (you charged $1,850.00). If your costing tool only shows revenue, this is the hero of the week. If it shows margin after the tank you bought, it is a fine ticket and a weaker percentage than the repeat drain. Both facts can be true. You want the tool that shows both.

A callback is a job with no price

You go back, 45 minutes on site, 30 minutes and 16 miles of driving, $12 of parts, and you do not charge. Revenue is $0. Cost is $93.65. Profit is -$93.65. The screen treats that as a cost pile, which is the honest label: there is no margin percentage to brag about until someone pays. Skip the callback and the original drain's 48.8% is a story you only get to tell once.

How the usual options fit a plumbing shop

ToolWhere it earns its placeWhat you still have to watch
QuickBooksInvoices, bills, payroll, the tax return.Drive, miles, overhead, and the lead do not land on the drain unless you put them there. See QuickBooks vs job costing.
Jobber, Housecall Pro, FieldEdgeSchedule, customer record, invoice, a place to type costs.Costing is inside a larger product. Empty drive fields produce a cheerful report.
ServiceTitanA shop with office staff and the budget for a full suite.The report is only as current as the people maintaining pricebook and timesheets.
A spreadsheetThe first ten tickets, if you fill it the same day.Friday memory. The sheet and the truck disagree. Excel vs job costing software is that break.
MarginMatePer-ticket profit beside whatever already sends the invoice.It will not schedule the day or replace QuickBooks. One labor rate per job. A helper's pay goes in other direct costs, or you blend the rate.

What to demand in a trial

Ignore the demo company with perfect data. Cost five real invoices:

  1. A repeat drain or leak under $300.
  2. The same kind of call that came from a paid lead.
  3. A water heater or a bathroom with a real material cost and a permit.
  4. A callback you did not charge.
  5. A call with a long drive.

You are looking for three behaviors. Drive time is separate from time at the fixture. Materials are your cost. The lead and the permit have a place to go. If the trial cannot hold those, the dashboard will not get wiser after month two.

MarginMate is the costing log that sits beside the tools you already pay for. On the phone you enter the customer (a last name is enough), what you did, what they paid, time at the job, minutes driving, miles, and what you spent on parts. Permits, a lead fee, and other direct costs are there when the ticket is unusual. Labor rate, truck cost per mile, and the monthly shop cost live in Settings. The shop cost starts at $1,920 and is split across the hours you actually log that month. The month stays a draft until it closes. The result screen shows net profit, net margin, and profit per hour, plus the price that would have cleared 35% net. There is no sign-in. Jobs stay on that phone. Export a backup or a CSV when you change phones.

It does not invoice, dispatch, keep a schedule, manage inventory, or post the entry into QuickBooks. An optional phone number can be stored on the job. Texts are not part of the costing math, and they are not what this log does today. If you need a board and invoices in one product, that is a field-service suite. If the books are the gap, that is still QuickBooks. If the gap is "which tickets paid," this is the log.

The result uses the same bands as the calculator. Under 20% net is thin. From 20% up to 35% is OK, not a winner. 35% and above is solid. A ticket with no revenue is a cost pile, which is how a callback should be recorded. After you have three other paid jobs, the result also compares this margin with your own average.

A practical pick for a small plumbing company

If you do not have a schedule or an invoice system, buy that first. A costing report on top of a notebook still starts from the notebook. If you already invoice and you cannot separate drains, water heaters, and callbacks by margin, add a log whose only job is that separation. Price the next drain from the ticket you just costed, not from the month's sales.

Frequently asked questions

What is the best job costing software for a small plumbing company?

The one that records a drain, a water heater, and a callback the same way, with drive time, miles, parts at your cost, overhead, and the lead fee, and that your tech will fill in before the next stop. A full suite is the better buy when you still need the schedule and the invoice. QuickBooks stays the ledger either way.

Can Jobber or Housecall Pro replace a costing log?

They can hold line items and reports. Costing is one feature inside scheduling and invoicing. It is only as honest as the drive time, burdened rate, and lead fee someone typed. If those fields stay empty, the report will agree with your hopes.

Should a plumbing shop track callbacks in costing software?

Yes. A callback with no charge is still labor, miles, and parts. Record what they paid as zero. The profit is negative, and the margin percentage waits until there is revenue. That cost has to land somewhere or the original drain looks more profitable than it was.

Cost a plumbing ticket tonight

Run last week's drain and last week's water heater. The calculator does not need an account.

See the plumbing method