Job costing QuickBooks contractors rely on is not about fancy reports. It’s about getting job level truth before a project goes sideways, so you can protect margin, manage cash flow, and stop the “we’re busy but the bank account doesn’t agree” feeling.
If you’re running a trades business in BC, you already know where money disappears. It’s rarely just bad pricing. It’s the slow drip of margin leakage: untracked labour, materials that never get tied to the job, subtrade invoices coded to the wrong place, and change orders that get done but not billed.
This guide walks you through a practical 2026 workflow in QuickBooks Online (QBO) using Projects, estimates, and progress billing. You’ll also see how to keep job costing simple enough that your foreman and office admin can actually keep up with it.
Why job costing matters for BC trades
Most trades don’t lose money because they don’t know how to quote. They lose money because the quote never gets measured against reality.
Here’s what job costing helps you see, quickly:
• You can spot labour creep by week two, not month three.
• You can prove whether “materials went up” is real, or just a coding issue.
• You can separate profitable scope from unprofitable scope, especially on change orders.
• You can bill confidently because you know what’s been spent and what’s still coming.
When job costing is working, you stop managing by gut feel. You start managing by job facts.
And yes, job costing QuickBooks contractors use can be simple. The trick is to build a routine that captures costs at the source, not at month end.
Job costing basics in plain English
Before you touch any software settings, get clear on what you’re actually tracking.
Job costing QuickBooks contractors: the four cost buckets
For most BC trades, job costs sit in four buckets:
- Labour
- Materials
- Subtrades
- Equipment
That’s it. If you want a fifth bucket, keep it limited to other direct costs like permits, delivery, waste bins, or site rentals.
The biggest “quiet win” is agreeing, internally, what goes where. If two people code the same thing differently, your reports will look detailed but tell you nothing.
One more point that matters. Overhead is not the same as job costs.
Office rent, admin wages, general insurance, software subscriptions, and most marketing costs are overhead. You can allocate overhead to jobs later if you want, but only do it intentionally and consistently. Otherwise you’ll muddy the numbers and lose trust in the reports.
If you want a deeper dive on keeping your construction bookkeeping clean and repeatable, our post on bookkeeping workflow for construction companies lays out a practical process you can follow.
The field to office workflow that makes or breaks job costing
If you only take one thing from this article, make it this: job costing fails in the field first, then the office spends weeks trying to patch it.
The best job costing QuickBooks contractors have is boring, consistent, and hard to break.

Receipts: same day capture, not “I’ll bring them in later”
Materials, fuel, rentals, parts, parking, disposal fees. They add up fast.
If your crew is buying on company cards, your goal is simple: every transaction gets a job name attached to it within 24 hours.
In QBO, that can look like attaching a receipt and coding it to the customer/project. If you’re using a receipt capture app or forwarding receipts to a shared inbox, the same rule applies. No job name means it is not “done.”
Time: by job, approved weekly, no exceptions
Labour is usually the biggest cost on the job, and the easiest one to miscode.
Your minimum standard:
• Time is entered to a job every day (or at least weekly, but daily is better).
• A supervisor approves time weekly.
• “No job selected” time gets fixed before payroll is finalized.
If you’re using QuickBooks Time tracking, it’s designed to connect time tracking to customers and projects so you can see labour costs in context.
This is where job costing QuickBooks contractors often see an immediate payoff. Once time stops floating in “general labour,” your job profitability reports stop lying to you.
Supplier bills: code to the job every single time
A supplier bill without a job is basically a blindfold.
Set a rule in your office: bills do not get approved unless they’re tied to the correct customer/project and mapped to the right cost bucket. That one rule prevents a lot of “why does this job look amazing” surprises.
BC note on PST and contractor purchases: real property contractors often pay PST on taxable goods they acquire for contracts, unless an exemption applies. The province’s guidance is here: Paying PST on the purchase of goods used in contracts.
If your business sometimes supplies goods that don’t become part of real property, the PST charge/collect rules can change. This provincial page is a good starting point: Charging and collecting PST for contractors.
You don’t need to become a PST specialist to job cost properly. You do need consistent coding so your bookkeeper and accountant can apply the right tax treatment.
Change orders: separate them so you can prove profitability by scope
Change orders are where trades either make their money back or quietly give it away.
In practice, track change order revenue and costs as separate lines and keep documentation tight. If the scope expands but the revenue does not, you want that visible.
This is also where job costing QuickBooks contractors should get disciplined about backup: written approvals, dates, and what was included. If a dispute lands on your desk, you’ll be glad you did.
QuickBooks setup for job costing using Projects
QuickBooks Online Projects is usually the most practical hub for job profitability in a small to mid sized trades business. It keeps your customer/job activity together so income and costs roll up to a project view.
If you want a reference for how Intuit approaches comparing estimates to actuals inside Projects, this help article is a solid walkthrough: Compare project cost estimates vs. actuals.

A clean Projects structure that stays usable
Most teams overbuild their setup early. They create too many categories, too many items, and too many “special cases.” Then nobody uses it consistently.
Instead, aim for:
• One project per job (or per major job phase if you truly need it).
• A short, standard set of cost categories that match your four buckets.
• A naming convention your field team recognizes (site name, city, job number).
If you’re planning to use progress invoicing, get estimates into the system early. You can invoice over time against an estimate, which fits deposits, draws, and milestone billing.
QuickBooks’ help page on progress invoices is here: Set up and send progress invoices.
When Projects is set up properly, job costing QuickBooks contractors do becomes a habit, not an event.
Tracking actual vs budget without building an accounting monster
You do not need a construction ERP to get value from job costing. You need a budget that can be reviewed in five minutes, every week.

A “one page job budget” often includes:
• Labour hours (even rough, by crew or role)
• Materials allowance
• Subtrade quotes
• Equipment or rentals allowance
• Expected gross margin dollars
That’s enough to start.
The weekly job review that protects margin
Pick one day a week. Same day every week. Keep it short.
Look at:
• Cost to date versus budget
• Open purchase orders or expected bills
• Change orders approved but not billed
• A basic forecast at completion
Forecasting sounds fancy, but it can be as simple as: “If we keep burning labour at this rate, are we still on track?” Even a rough forecast beats finding out at the end.
If your team already runs a monthly close process, job costing integrates naturally into that. This is a good companion read: Month-End Close Checklist for Canadian Businesses (2026). That post pairs well with job costing QuickBooks contractors are building because a clean close is what keeps jobs from drifting into the wrong month.
Progress billing and WIP for trades, without the jargon
Many BC trades jobs involve deposits, draws, and milestone billing. Progress billing is normal. The problem is that billing timing and work timing rarely match.
That mismatch is where WIP (work in progress) becomes useful.
Here’s the plain English version:
• If you’ve done more work than you’ve billed, you’re carrying unbilled costs. That can create cash pressure.
• If you’ve billed more than you’ve done, your current profit can look inflated, and future months can look worse when costs catch up.

You don’t need complex WIP schedules to get started. A “simple WIP” approach for small and medium businesses is:
• Monthly, review costs incurred to date versus billings to date by project.
• Flag projects where costs are ahead of billing (cash pressure risk).
• Flag projects where billing is ahead of costs (delivery risk and future margin risk).
• Ask one question: is this expected, or is something slipping?
If you’re using progress invoices in QBO, build a routine where the project manager and your bookkeeper look at the same snapshot once a month. That’s where job costing QuickBooks contractors can actually affect decisions, not just record history.
Common job costing mistakes we see in BC trades, and how to fix them
These are the issues that show up again and again, even in well run shops.
Labour not coded to jobs
This one is brutal because it makes unprofitable jobs look fine.
Fix: require job selection on timesheets, approve weekly, and run a quick report for unassigned time before payroll is processed.
If you want to tighten the compliance side at the same time, our post on CRA payroll audit red flags is worth reviewing. When labour is clean, job costing QuickBooks contractors depend on becomes trustworthy.
Materials expensed to “supplies” or “miscellaneous”
This usually happens when someone is rushing, or when your chart of accounts has become a junk drawer.
Fix: create clear categories and item/category rules so job-related purchases link to the job every time. When materials are tied to the job properly, GST reporting and PST review also get easier.
Subtrades paid without a job reference
If subtrade invoices get coded to a general expense account, the job looks better than reality. Then you wonder why the cash flow is tight.
Fix: vendor bill entry requires customer/project. If the bill doesn’t have a job, it’s not ready for approval.
Too many items and categories
People think detail equals accuracy. It doesn’t.
Fix: standardize your cost buckets and keep the list short. Consistency beats detail.
No close process, so costs land in the wrong month
This is how projects “change” after you thought you were done.
Fix: run a monthly close that includes a job review. Confirm bills are in, payroll liabilities are reconciled, GST is tracked consistently, and big jobs are reviewed for exceptions.
If your trade work falls under T5018 reporting, clean job-level vendor coding saves a lot of headaches later. These two guides walk through what to file and how to get ready:
– How to prepare for T5018 filing season
– Who needs to file a T5018 form
The practical benefit is that job costing QuickBooks contractors run and compliance reporting stop fighting each other.
A practical 2026 checklist for job costing in QuickBooks
If you want the “do this next” version, here’s a short checklist you can apply this week.
- Confirm your four cost buckets and write down what goes where.
- Turn on Projects in QBO and set a clean naming convention.
- Require job selection on time entry and approve weekly.
- Make “no job, no approval” the rule for bills and card purchases.
- Track change orders as separate lines, with documentation.
- Set a weekly budget vs actual review on your calendar.
- Add a monthly WIP snapshot so billing timing doesn’t fool you.
- Run a month end close process that includes a job exception review.
- Keep lists short, keep rules clear, and train new staff on day one.
That’s the backbone of job costing QuickBooks contractors can actually maintain.
What “good” looks like after 60 to 90 days
When the system is working, you’ll notice a few changes:
– Project managers stop arguing with the numbers because the numbers match what they see on site.
– You catch labour overruns early enough to change the plan.
– Progress billing becomes smoother because the backup is already organized.
– Your financial statements make more sense because jobs stop drifting month to month.
Most importantly, you can answer the question that matters: which types of jobs, crews, and customers actually make you money.
That’s the point of job costing QuickBooks contractors build into their routine. It’s not bookkeeping for the sake of bookkeeping. It’s decision support.
If you want job costing to actually stick, focus on the repeatable routine, not the perfect report. Once your team is consistently coding time, bills, and change orders to the right job, QuickBooks Projects becomes a decision tool instead of a filing cabinet.
At Valley Business Centre, we’ve supported businesses across Metro Vancouver, Whistler, Squamish, and the Sea to Sky Corridor for more than 30 years with bookkeeping, payroll, tax preparation, and cloud accounting systems.
If you’re a BC trades business or contractor in Vancouver, Surrey, Burnaby, Richmond, Coquitlam, or North Vancouver and you want job profitability you can trust without last minute stress, reach out. We can help you tighten up tracking, reconcile deposits and payouts, and keep documentation organized so job costing stays accurate and year end feels straightforward instead of stressful.
