If you finish a repipe and can't say whether it made money until the books close next month, job costing is the piece your plumbing company is missing. Setting it up in QuickBooks Online comes down to four habits: give every job its own project, put every bill and receipt on that project, get your techs' labor onto it by payroll or by an hourly cost rate, and look at the estimate next to the actual cost once a week. None of that needs new software if you're already on QuickBooks Online Plus or Advanced, and the rest of this post walks through each step in the order I'd do it.
Most owners have a gut feel for which jobs pay, and that gut is often right about the big picture. Where it misses is the job that ran two extra days because of a bad fitting order, or the service call where the parts ate the margin, and those are exactly the jobs you can't see without job costing.
What does job costing actually tell a plumbing owner?
Job costing tells you what each job really cost you in labor, materials and subs, set against what you billed for it, so you know which kinds of work make money and which only keep the crew busy. Your profit and loss statement can tell you whether the company made money last month, but it can't tell you that water heater swaps are paying for the repipes that lost money.
Anthony Pacilla made a good case for this in Plumber magazine's piece on standard costing, where he admits that "None of us are great at job costing, but it can help tremendously." His point is that once you know what a job should cost in labor and materials, comparing it to what it did cost shows you where the crew, the estimate or the pricing needs attention. That comparison is the whole reason to do this, and it only works if the costs actually land on the right job.
Which QuickBooks Online plan do I need for job costing?
You need QuickBooks Online Plus or Advanced, because those are the plans that include Projects. QuickBooks' own help page on projects says "If you have QuickBooks Online Plus or Advanced you can use Projects to track income and costs for specific projects," and it adds that Advanced lets you set up project estimates and compare them to actuals on the project dashboard.
That gives you a simple way to decide. If you're on Simple Start or Essentials, moving up to Plus is the first step, since Projects aren't available below it. If you're already on Plus, you can do everything in this post, and you'd only look at Advanced if you want QuickBooks to hold the estimate and show the estimate against the actual for you. Starting on Plus with the estimate on a simple sheet beside it works fine for a company running a few crews.
How do I set up projects and tag every cost to a job?
You set up one project for each job, and then you pick that project in the Customer/Project field on every bill, check and expense that belongs to it. The second habit matters most, since a project with nothing tagged to it can't tell you anything.
Create the project
QuickBooks' help page lays out the steps. You go to Business overview, then Projects, and select New project, give it a name, pick the customer and save it. Start and end dates are optional. Keep the name simple, like the customer's last name and the street, so anyone in the office can find it without asking you.
You don't need a project for every drain call. A sensible start is to give projects to the bigger jobs (repipes, remodels, new construction and sewer replacements) and look at service work as a group, which is where classes come in.
Decide whether you also need classes
Classes and projects answer different questions. A project tells you how one job did, while a class can tell you how a whole kind of work did, such as service, new construction or remodel. QuickBooks' page on class tracking says classes "represent important parts of your company, like store departments or product lines," and that class tracking is available in Plus and Advanced. You turn it on under Settings, then Account and settings, then Advanced and Categories, where you switch on Track classes.
If you only have room for one new habit this month, start with projects and add classes once the team is used to tagging costs.
Tag every cost at the moment it's entered
Here's where most job costing setups quietly fall apart, and it's rarely the software's fault. The supply house bill comes in, whoever enters it is in a hurry, and the Customer/Project field gets left blank. QuickBooks says to choose the project in that field on bills, checks and expenses, and once it's saved, the cost shows up on the project.
The manual way to make this stick is to write the job name on every pick ticket and receipt before it leaves the truck, so whoever enters it never has to guess. The tool way is to ask your supply house to print your job name or PO number on every invoice. Either way, no bill gets entered without a job on it, and anything that truly belongs to the shop gets marked that way on purpose.
How do I get labor cost onto each job?
QuickBooks gives you two ways to put labor on a project, and its help page on tracking hourly labor costs explains both. The first uses your actual payroll expenses, which post to the project only after you run payroll. The second uses an estimated hourly cost rate for each employee, which multiplies the hours your tech logs on the job by a fixed rate, so you see the labor right away, but it's only as accurate as the rate you set.
Either way, your techs have to log their hours to the project, because labor can't land on a job nobody clocked into. QuickBooks notes that salaried employees need to track hours in timesheets too if you want their cost on the job.
Setting an hourly cost rate that's honest
If you use the hourly rate method, set the rate before the hours start coming in. QuickBooks is clear that "Hourly cost rates only apply to time that is tracked after the hourly cost rate is set," so a rate added halfway through a job won't fix the hours already logged. You'll find the setting under Projects, where you select Employee hourly rate.
The rate should be what that hour really costs you, which is more than the tech's wage. Payroll taxes, workers' comp and benefits all ride on top of it, so ask your bookkeeper or CPA to help you work out a loaded rate for each tech. A rate that's too low makes every job look better than it is, and that's worse than having no number at all.
Which report to trust
It's worth knowing which report to read before you go looking, because QuickBooks says the Project profitability report "only uses data from payroll expenses," so if you've only been using hourly cost rates, that report won't show the labor you expect. The project's Overview tab follows whichever labor method you pick in its dropdown, so that's the better place to look if you're using hourly rates.
How do I compare the estimate to what the job really cost?
You compare them by putting the estimate's labor hours, material dollars and sub costs next to what the project shows once the job's done, line by line. If you're on Advanced, QuickBooks can hold the project estimate and show you the comparison. On Plus, a simple spreadsheet with four columns (estimated, actual, difference and a note) does the same job.
The note column is where the value is. When a job comes in over, write down why in plain words, like "extra day for a bad fitting order" or "drywall repair we didn't bid." After a dozen jobs, the notes start repeating themselves, and those repeats tell you exactly which part of your estimating or your process to fix first. Our job costing page goes further into turning those notes into better prices.
What weekly routine keeps the numbers honest?
A short weekly review is what keeps job costing useful, because numbers you only look at once a quarter are already too old to change anything. I'd set aside about thirty minutes on the same morning each week and go through the same list every time.
Check that last week's bills and receipts all have a project, and fix any that don't.
Check that every tech's hours for the week are logged to a job.
Open the jobs that finished and compare the estimate to the actual cost.
Write one line on each job that came in more than a little over, saying why.
Pick one thing to change this week, whether that's a price, a parts list or how a job gets handed off.
If you're in Salem or anywhere in the Pacific Northwest where the rainy months slow new work down, that stretch is a good time to set all of this up, though the weekly review itself can start any week.
If your field service software sends invoices into QuickBooks, it's worth checking that those invoices land on the right project too, since a sync that skips the project field leaves income and cost on different pages. Our QuickBooks integration page covers the most common places that connection goes wrong.
Questions owners ask
Do I need QuickBooks Online Advanced for job costing?
No, Plus is enough to start, because it includes Projects. Advanced adds project estimates and an estimate against actual comparison inside QuickBooks, which is handy, but a simple spreadsheet next to Plus can do that part until you outgrow it.
Should I use classes or projects?
Use projects first, because they tell you how each job did, and add classes once the team tags costs reliably so you can compare whole kinds of work like service and remodel.
Why doesn't my project profitability report show labor?
It's most likely because that report only uses payroll expenses, and either payroll hasn't run yet for those hours or you've been using hourly cost rates instead. Check the project's Overview tab with the labor method set to hourly costs, and make sure your techs actually logged their time to that project.
How long until job costing numbers are useful?
You'll usually start seeing patterns once a dozen or so jobs have been tagged cleanly from start to finish. The first month mostly shows you where costs are slipping through untagged, and fixing that is useful in itself.
So think back to that repipe you couldn't call a win or a loss. Once its bills, its hours and its estimate all sit on the same project, you'll know the answer the week it's done, and you'll know what to change before you bid the next one.
If you'd like to see where job costing fits among everything else that runs through you, the free Foundation Inspection follows a job from the moment a lead comes in to the moment the money's in your bank and asks who owns each step along the way. It takes about an hour with no paperwork in front of you, and it shows you which handoffs would free up the most of your week.
I'm Tim Volner, and I run Sentric Group in Salem, Oregon, where I work with contractors who've built a solid company but have reached the point where it can't seem to run for a single day without them.
