Job Costing for Plumbers: Track What Each Job Actually Costs You
In short
Two costs decide plumbing margins and neither one arrives with a receipt on the day: van stock bought weeks ago, and the make-good hours when a bathroom turns out to have lead pipe behind the wall. Note van stock as a rough figure against the job and log the hours as they happen.
A plumber who has been in business five years usually has a good feel for pricing. They know what a water heater swap should cost, they know their hourly rate, and they know roughly what materials add up to on a standard job.
Good feel is not the same as knowing. Job costing is the tool that turns the feel into a number, job by job, so you can confirm your instincts or correct them before they cost you.
The Plumbing Job Costing Problem
Plumbing has a specific cost tracking challenge that makes per-job accounting harder than it sounds.
The issue is van stock. A plumber's van is a mobile warehouse. Elbows, sweat fittings, copper pipe offcuts, compression joints, washers, faucet stems: much of what goes into a job comes from stock you bought weeks ago. There is no receipt to scan on the day because the purchase happened at a supply house two Thursdays ago, and you had no idea it would go into today's bathroom job.
This creates a systematic blind spot. The supply house runs you do track are probably accurate. The van stock consumption is invisible. Add it up across a year and the invisible cost is not trivial.
The second issue is job variation. A bathroom fit can run to plan (high margin) or turn into a day of cut-out and make-good when you discover lead pipe behind the wall (margin: gone). Both jobs look similar from the outside and feel similar to quote. They perform very differently. Without per-job tracking, you cannot see the pattern.
What Job Costing Is
Job costing means tracking income and costs per job, not just per month or per year.
Your accounting software shows total revenue, total materials cost, total overhead. That is useful for tax. It is not useful for pricing decisions, because it averages everything together.
Job costing shows you this instead:
| Water heater install | Bathroom remodel | |
|---|---|---|
| Billed | $1,400 | $2,800 |
| Materials | $620 | $1,340 |
| Helper | None, own time | $280 |
| Gross | $780 | $1,180 |
The remodel brought in twice the money and the pipe run you did not anticipate took a chunk of it back.
Which job type do you want more of? You cannot answer that without job-level data.
Over a year, you build a picture of your own business that no industry average or trade body benchmark can give you, because it reflects your market, your pricing, your customer mix.
Why Standard Approaches Fall Short for Plumbers
- Spreadsheets
- Some plumbers use a spreadsheet with a tab per job, logging materials as they go. This works if you are extremely disciplined. The failure mode is the same as van stock: purchases that do not get logged, receipts in a pocket that never make it to a row.
- Accounting software
- QuickBooks and Xero both have project or job tracking features. They require you to manually assign every bank transaction or invoice line to a job. In practice, this means a desk session after the fact, trying to match transactions to jobs from memory. It is the archaeology problem: reconstructing cost from statements instead of capturing it at the point of purchase.
- Monthly review from bank statements
- Plenty of self-employed plumbers do a monthly reconciliation. This catches everything, in theory, but it is one step removed from reality. By the time you are matching a supply house purchase from three weeks ago to a job that finished ten days ago, precision degrades fast.
The common thread is that cost capture happens after the event. The best job costing systems flip this: capture the cost at the moment it occurs, in the field.
A Practical Approach to Plumbing Job Costing
The approach that works for field-based trades is simple: scan every receipt before you start the van.
- Before the job starts
- create a job record with the job name, address, and quoted amount. This does not need to be elaborate. A name and a number.
- On every supply run
- scan the receipt. The total goes into the job. This is the habit that makes everything else accurate.
- Van stock
- for materials you use from van stock, note the approximate value against the job. This does not require scanning old receipts. A rough figure is better than nothing, and consistency over time gives you a reasonable average van stock cost per job type.
- Subcontractors
- if you bring in another plumber or a helper for a day, log their cost (invoice or hourly rate) against the job, the same way you would log a materials receipt.
- At completion
- the job record shows billed amount minus tracked costs. That is your gross margin on that job, built from real data.
The Water Heater Swap Example
Here is how this plays out on a typical water heater replacement.
You quote $2,200 for supply and install. You hit the supply house the morning of the job and pick up the water heater, vent kit, and new fittings: $840. You scan the receipt in the parking lot. Van stock used: a few feet of pipe, some compression fittings, thread tape. You note $25 in van stock consumption against the job. Disposal of the old unit at the transfer station: $30. Total materials tracked: $895.
| Billed | $2,200 |
|---|---|
| Supply house: heater, vent kit, fittings | $840 |
| Van stock: pipe, compression fittings, thread tape | $25 |
| Disposal of the old unit | $30 |
| Gross | $1,305 |
Over ten water heater swaps, you see that your materials run between $780 and $1,100, with an average of $900. Your gross varies between $1,050 and $1,350. That average is your actual water-heater margin, not an estimate.
Now when a customer pushes back on price, you know exactly where your floor is. And when a property management company asks for a volume deal, you know what you can and cannot absorb.
The Job That Surprised You
The flip side of the water heater swap is the repipe that goes wrong. The customer wants the whole house done, you quote confidently, and then the pipe is buried in a slab, the fixtures need replacing rather than reusing, and you are two days over time with $400 in unplanned materials.
Without per-job tracking, that job folds into your monthly numbers. You know it felt rough but the profit and loss looks okay overall.
With per-job tracking, you see exactly how much that job cost you. You see the gap between your quoted materials and actual materials. And you start adding a surveying clause to quotes for older properties.
This is the value of job costing. Not just knowing the number, but being able to act on it.
Job Costing and Your Tax Return Are Different Jobs
Your Schedule C asks you to report income and expenses by category: materials and supplies, contract labor, car and truck, and so on. The IRS does not need your per-job breakdown.
Job costing is a management tool that sits alongside your tax accounting. Your accountant works with totals. You work with per-job numbers. The two are separate and complementary.
The same holds if you take direct customers and also pick up subcontract work for a general contractor. Those 1099 payments are reported at the income level. Your job costs are tracked separately, per job, for your own margin visibility.
There is a set of affordable bookkeeping tools built for the self-employed (QuickBooks Self-Employed, Wave, FreshBooks) and they handle the tax-reporting layer well. VanReceipts sits alongside them, handling what they do not: per-job cost capture in the field.
How VanReceipts Handles Plumbing Job Costing
VanReceipts is an iPhone app designed for exactly this field capture workflow.
Point the camera at a receipt. AI-powered itemization reads the total and every line item in seconds. The time and place of the scan are checked against your job list, so the receipt usually lands on the right job with one tap to confirm. The job's profit figure updates immediately.
Live job profit shows billed amount, materials, mileage, labor, and net in real time. No spreadsheet. No desk work. No weekend reconciliation.
For plumbers, this is most useful on supply house runs, where you buy materials for a specific active job and want to track the cost immediately. Van stock is always going to require a manual estimate rather than a scan, and VanReceipts does not change that, but it makes the captured spend accurate.
VanReceipts does not replace full accounting software or file your taxes. It adds the job money layer those tools leave thin: estimates, invoices, receipt costs, mileage, and live per-job profit from the field.
Getting Started
Start on your next job. Note the quoted amount, scan every receipt, log the miles, and see what live profit shows by the time the job is complete.
If the number matches your gut estimate, your pricing is on point. If the number surprises you in either direction, you have learned something that will change how you quote every similar job going forward.
Try it on paper first with the free job profit calculator, or keep a running record across the year in the job costing spreadsheet template. For the full method, start with the complete guide to job costing and how to track job costs from receipts. Working a different trade? See electricians, HVAC techs and general contractors.
VanReceipts lets you look around free with sample jobs, then Pro (7-day free trial) unlocks scanning and your real jobs. Pro adds unlimited scans, crew labor, full profit history, and iCloud sync, with a 7-day free trial.
*VanReceipts (App Store name: Easy Invoices & Expenses) is an iPhone app for tradespeople: estimates, invoices, mileage, receipt expenses, and per-job profit. AI-powered itemization reads your receipts, confirmed by you before anything saves. Scanning, jobs, invoices and export are part of VanReceipts Pro: $14.99 per month or $99.99 per year, with a 7-day free trial. You can look around first with sample jobs.*