Blog cover: Job Costing in QuickBooks Online: A Setup Guide

Job Costing in QuickBooks Online: A Setup Guide for Trades Businesses

October 24, 2026•7 min read

Do you know which jobs made you money last month?

Most trades owners know which month was good. Fewer know which jobs were good. That's a problem. A busy month can hide a few jobs that lost money.

Job costing fixes that. Here's what it is, and how to set it up in QuickBooks Online.

What Is Job Costing?

Job costing means tracking what you spend on each job, so you can compare it to what you charged for that job.

In How to Calculate Overhead for a Trades Business, we split every expense into two buckets. The Job Bucket holds costs tied to a specific job, like parts, materials, permits, and your techs' time on the job. The Keep-the-Lights-On Bucket holds overhead, like rent, insurance, and office staff.

Job costing takes the Job Bucket and splits it one more time: by job.

Here's an example. Say you replaced a furnace and AC for $9,500.

Job cost

Amount

Equipment

$4,200

Materials and parts

$600

Permit

$150

Tech labor (16 hours × $38)

$608

Total job costs

$5,558

$9,500 − $5,558 = $3,942 gross profit, or about 41.5% of the sale.

That $3,942 still has to cover overhead and leave you a profit. But now you know what this job brought in. Do that for every job, and you can see which kinds of work pay best and which ones don't.

Step 1: Check Your QuickBooks Plan

Job costing in QuickBooks Online runs on a feature called Projects. Projects is included in QuickBooks Online Plus and QuickBooks Online Advanced. It isn't in Essentials or the lower-priced plans.

Plus covers most trades businesses. Advanced adds an Estimates vs. Actuals report, which compares what you estimated a job would cost to what it really cost.

If you're on Essentials, you can upgrade without starting a new file.

Step 2: Turn On Projects

  1. Select the gear icon, then Account and settings.

  2. Select Advanced.

  3. In the Projects section, turn on Organize all job-related activity in one place.

  4. Select Save.

Step 3: Decide What Counts as a Job

This is the step most people skip, and it's the one that decides whether job costing works.

Bigger jobs get their own project. An equipment replacement, a repipe, or a panel upgrade. Each one becomes a project.

Small service calls are different. A project for every $250 drain call is a lot of clicking for very little insight. Many shops group those together, for example one project per month for service calls, and track the bigger jobs one by one.

Pick a rule and stick with it. Job costing only works if everyone tags things the same way.

Step 4: Create a Project for Each Job

  1. Go to All apps, then Projects, then Projects.

  2. Select New project.

  3. Enter a project name, the customer, and the start date.

  4. Select Save.

Use names your team will recognize, like the customer's last name and the job: "Garcia – AC replacement."

Step 5: Tag Every Cost to Its Job

Every time you record an expense or a bill for a job, choose the project in the Customer/project field. You can also add an existing expense to a project from inside the project.

The hard part isn't QuickBooks. It's getting the information. A receipt from the supply house says what you bought, not which job it was for.

Three habits fix most of it:

  • Get the job name at the time of purchase. Have techs write the job on the receipt or snap a photo with the job name in the text.

  • Split mixed receipts. One supply run often covers two or three jobs. Split the expense into lines, one per job.

  • Tag it now, not in April. Nobody remembers in April which job a March receipt was for.

Step 6: Tag Your Invoices Too

Choose the project on the invoice as well. That puts the money you charged and the money you spent in the same place.

Step 7: Get Labor Into the Job

Parts are easy to see. Labor is the cost most owners leave out, and it's often the biggest one.

QuickBooks gives you two ways to put labor on a job.

From payroll. If your payroll connects to QuickBooks, payroll costs can post to projects after you run payroll.

From timesheets and an hourly cost. You give each employee an hourly cost, and QuickBooks multiplies it by the hours they log to each project. To set it up, go to All apps, then Projects, then Projects, and select Employee hourly rate. Enter the employee's hourly wage and employer taxes.

Two catches with the hourly-cost method:

  • It only applies going forward. The rate counts for time tracked after you set it, not before.

  • Hours have to be logged to the project. That includes salaried employees.

Your real cost per hour is more than the wage. Payroll taxes, workers' comp, and benefits all add to it. Here's how to find that number: Labor Burden: How to Calculate Your Fully Burdened Labor Rate.

Step 8: Run the Job Cost Reports

Open a project and select the Project Reports tab. Three reports do most of the work:

  • Project profitability. Income and costs for the job, and what's left.

  • Time cost by employee or vendor. Whose hours went into the job, and what they cost.

  • Unbilled time and expenses. Costs on the job you haven't billed the customer for yet. This one catches money left on the table.

On Advanced, Estimates vs. Actuals shows where a job went over what you quoted.

One Catch: Timing

We keep books on a cash basis. That means money counts when it moves.

So a job you finish in March and get paid for in May shows its costs in March and its income in May. Midway through, a job can look like a big loss. Then it looks like a big win.

The fix is simple. Judge a job once it's paid and all its bills are in, not while it's still open.

Common Mistakes

  • Leaving out labor. A job with only parts on it will always look more profitable than it was.

  • Tagging costs months later. By then, half the receipts are guesses.

  • A project for every tiny call. You'll stop keeping up. Group the small stuff.

  • Mixing overhead into jobs. Rent and insurance don't belong on a job. They're covered by what your jobs bring in. See How to Calculate Overhead.

  • Never looking at the reports. Job costing only pays off when you use it to change your pricing.

What to Do With the Numbers

Once you can see job by job, patterns show up fast. Maybe installs carry the business and small repairs barely break even. Maybe one kind of job keeps running over on parts.

That's when pricing changes. If a job type keeps landing below the margin you want, raise the price or change how you quote it. Here's how to set prices from the margin you want to keep: Markup vs. Margin: How Trades Owners Should Price Parts and Labor.

If you use Jobber, Housecall Pro, or ServiceTitan, your field software may show job numbers too. That's useful. But your books are what your taxes are based on, so the two should tell the same story. For more on connecting them, see QuickBooks Online for Contractors.

Key Takeaway: Job costing shows what each job costs, not just what each month costs. In QuickBooks Online, you need Plus or Advanced. Turn on Projects, make a project for each real job, and tag every cost, every invoice, and every hour of labor to it. Then judge each job once it's paid, and use what you learn to fix your prices.

At Civita Tax Solutions, we help home service business owners save money on taxes with all-in-one accounting. We handle your bookkeeping, advisory, and tax filing. You focus on the business. We handle the finances.

Want job costing set up and kept current for you? See our bookkeeping plans for contractors. Wondering what that costs? Read How Much Does an Accountant Cost for a Small Business?

Work in a specific trade? See how we handle bookkeeping and taxes for plumbers, HVAC contractors, electricians, landscapers, and painters.

www.civitataxsolutions.com

Custom HTML/CSS/JavaScript
Joseph Rios, PhD, EA

Joseph Rios, PhD, EA

Joseph Rios holds a PhD in applied statistics and is a registered Enrolled Agent with the IRS.

Back to Blog