Back to Resources
11 min read

Job Costing in QuickBooks: How to Know Which Jobs Actually Make Money

40% of small construction businesses don't track job-level profit. The ones that do report 15–25% higher margins. Here's how to set it up in QuickBooks Online — without losing your mind.

The question every trades owner can't answer

I ask the same question to almost every new trades client on our first call:

"Of the jobs you ran last quarter, which one made you the most money? Which one made you the least?"

The answer is almost always some version of: "I don't know. I think the big commercial install was good. Maybe? But that other job ran long. Or maybe it was the other one."

This isn't a knock on the owner. It's a knock on the bookkeeping setup. Without job costing, your P&L tells you whether the whole business was profitable last month. It doesn't tell you which specific jobs created that profit — and which ones quietly bled cash.

If you can't answer "which jobs make me money," you can't fix it. You can't bid the next job correctly. You can't fire bad customers. You can't replicate your wins. You're operating on instinct.

Job costing fixes this.

What job costing actually is

Job costing = tracking the labor, materials, subcontractor costs, and overhead allocated to each individual job — so you can calculate the profit on that specific job.

A simple example. You run a $15,000 HVAC install. To run the job correctly, you tracked:

The job math

Total cost: $9,604
Revenue: $15,000
Profit: $5,396 (36% margin)

Now multiply that across every job, and you start to see the pattern. Maybe your service calls run 50% margins but your bigger installs only run 22%. Maybe a specific customer is profitable but their referrals aren't. Maybe one of your crews is much faster than another. Now you can fix it.

Without job costing, all of this is invisible.

Why QuickBooks Online?

For most small trades businesses, QuickBooks Online Plus (or Advanced) is the right job-costing tool:

You can do job costing in Sage 100 Contractor, Foundation, Procore, or other construction-specific platforms — and for larger contractors (over $5M revenue, complex AIA billing, prevailing wage), those are usually a better fit. For small-to-mid trades businesses in the $300K–$3M range, QBO Plus is the sweet spot.

Critical: Simple Start and Essentials don't include Projects. You need QBO Plus at minimum.

Setting it up the right way

Here's the actual setup process. Do these in order.

Step 1: Build a proper chart of accounts

Before you can do job costing, your chart of accounts has to support it. For trades, you want categories that distinguish:

A typical trades chart of accounts:

Income

Service Revenue · Installation Revenue · Maintenance Contract Revenue

Cost of Goods Sold (COGS)

Materials · Subcontractor Labor · Equipment for Resale · Direct Labor · Permits & Inspection Fees

Expenses (Overhead)

Vehicle Expenses · Insurance · Rent / Utilities · Office Supplies · Software & Subscriptions · Marketing · Professional Services

The split between COGS and Expenses is the key — direct job costs go to COGS so they tie to jobs, overhead goes to Expenses.

Step 2: Turn on Projects in QBO

In QBO Plus or Advanced:

  1. Click the gear iconAccount and settingsAdvanced
  2. Scroll to Projects
  3. Toggle "Use project financial tracking" to ON
  4. Save

You'll now see a Projects tab in the left sidebar.

Step 3: Create your first project

Click Projects → New Project. Name it clearly: "Smith Residence — HVAC Install — 3450 Oak St." Include job type and address so it's searchable later. Assign it to the customer.

Step 4: Tag every transaction to a project

This is where most owners get sloppy. The whole system only works if every job-related transaction gets tagged to a project. That means setting the Customer/Project field on every:

For Home Depot/Lowe's runs: Tag receipts to projects in real time. Snap the photo, open the QBO mobile app, tag it. If you wait until end of month, you're guessing — and the math gets junk-in/junk-out fast.

For payroll: Use QuickBooks Time, ServiceTitan time tracking, or Jobber to allocate crew hours to projects. Without this, labor costs hit your P&L as a lump and you lose all per-job visibility.

Step 5: Allocate overhead (optional but powerful)

Most contractors stop at tracking direct costs. The next level is allocating overhead — spreading your fixed costs (rent, insurance, software, admin time) across jobs as a per-hour rate.

The overhead math

Total monthly overhead ÷ total billable hours = overhead per labor hour.

Example: $8,000/month overhead ÷ 200 billable hours = $40/hour of overhead allocated.

A 24-hour job carries $960 in allocated overhead. Now your "profit" number reflects the true cost of doing the job — not just the visible direct costs.

Step 6: Run the reports

Monthly, pull these:

These are the reports that turn job costing from "data entry chore" into actionable information.

Common mistakes that break job costing

  1. Tagging some jobs, not others. Inconsistency makes the data useless. Either commit to tagging everything or don't bother.
  2. Tagging at end of month. By then you're guessing which receipt went with which job. Real-time tagging is non-negotiable.
  3. Treating Home Depot receipts as generic "Job Materials" without a project. This is the #1 reason job costing data is unreliable.
  4. Skipping time tracking. Labor is the #1 silent profit killer in construction. If you're not tracking it per job, you don't actually have job costing — you have material costing.
  5. Not closing out projects. Mark them complete when done so reports don't include phantom active jobs.

What good job costing actually shows you

After 3-6 months of consistent tagging, patterns emerge:

This is what 15-25% margin improvement looks like in practice — not magic, just visibility.

What if your books are already a mess?

Two paths:

Option A — Start fresh from a clean cutover date. Pick the start of next month. Don't try to retroactively job-cost the last six months — you'll burn out and quit. Move forward clean.

Option B — Cleanup project first. If your books are messy enough that even moving-forward data would be unreliable (mis-categorized COGS, missing receipts, untagged transactions piled up), get a bookkeeper to clean up the foundation. Then start job costing fresh.

For most small trades businesses, Option A is the right call. Perfect is the enemy of started.

Where Northbound fits

Job costing setup is part of what we do for clients on the Foundation and Growth plans who run project-based work. We'll get your chart of accounts right, configure Projects in QBO, integrate your field service software (Jobber, ServiceTitan, Housecall Pro, FieldEdge), and set up the monthly reports you actually need to see.

If your books are already messy enough that you can't do this yourself, that's also fixable. We do cleanup work as a one-time engagement and then transition you into ongoing bookkeeping with job costing built in from day one.

Book a free 30-minute discovery call

QuickBooks Online features and pricing tiers cited are accurate as of publication and subject to change by Intuit. Confirm current Projects availability and pricing at quickbooks.intuit.com. Nothing in this article constitutes legal, tax, or financial advice for your specific situation.

Want this set up correctly the first time?

Book a free 30-minute discovery call. No pressure, no sales pitch — just a real conversation about your books.