Job Costing · June 9, 2026

Job Costing for Contractors: How to Know If a Job Made Money Before It's Over.

A $45,000 kitchen remodel that was planned to net $14,000 closed at $1,200. Here is where the money went, and how to see it before the next job ends.

A $45,000 kitchen remodel wraps up. The client paid on time. The punch list is done. On paper, it looked like the kind of job you build a business on. Then the books closed, and the net profit was $1,200.

The job was planned to net $14,000. Nobody stole anything. Nobody made 1 big mistake. The money disappeared in small, ordinary ways, and the owner had no way to see it happening. That is the problem job costing for contractors solves: knowing whether a job is making money while the job is still running, not weeks after it ends.

Most contractors find out if a job made money after it's over, when there is nothing left to fix. This post walks through where the money went on that kitchen, what job costing actually means in plain terms, and 3 things you can do this week without buying anything.

Where $12,800 disappeared on 1 kitchen remodel

Here is the job. $45,000 in revenue. About $17,000 in materials: cabinets, countertops, tile, flooring. 3 crew on site for 2 weeks, plus an electrician and a plumber as subs. The estimate showed a net of $14,000.

That is a 31% gross margin going in. Honest, but tight. A job planned between 30% and 35% gross margin is fragile: 1 overrun, 1 missed receipt, or a few extra days on site can wipe out the profit once overhead is counted. (And no job should ever be planned under 30%; at that level it cannot cover operating expenses and still leave profit.)

Here is what actually happened on this one:

  • 3 Home Depot receipts never made it into the job file. They went into a glove compartment and stayed there. That was $1,400 in materials the crew paid for, never tied to the kitchen.
  • The crew's hours were logged under a general labor bucket instead of this job, so nobody noticed they spent 3 extra days on it.
  • The electrician's invoice came in $800 over estimate. It got paid and filed, but it never landed against the kitchen.

None of that is a scandal. Every one of those moves makes sense in the moment. But by the time the books closed, the kitchen had quietly absorbed about $12,800 in costs that were never tracked to it. The company P&L still looked fine. The job went from a planned $14,000 net to $1,200, and the owner found out a month too late to do anything.

What job costing means in construction

Job costing is the single biggest difference between a contractor who runs a business and a contractor who runs a job.

Construction job costing means every dollar that goes out, every receipt, every hour of labor, every sub invoice, and a slice of your overhead, gets tied to a specific job. Not a general category. Not the month. The actual kitchen, the actual bathroom, the actual roof.

The simplest way to picture it: each job is its own bucket. Money in from the customer goes in the bucket. Every cost that job causes, materials, labor, subs, and a piece of your shop rent and truck insurance, comes out of the same bucket. When the job is done, whatever is left in that bucket is the profit on that job. If things go sideways, whatever is missing from that bucket tells you where, while you can still do something about it.

If you want the accounting fundamentals behind this, the SBA's guide to managing your business finances covers the basics of bookkeeping and financial statements for small businesses. Job costing is the contractor-specific layer on top: the same dollars, sorted by job instead of by month.

How to allocate overhead to each job

The part most contractors skip is the slice of overhead. Overhead is the fixed cost of being in business: shop rent, truck insurance, your phone, your office.

The math is simple. If your overhead is $3,000 a month and you run 6 jobs, each of those jobs has to carry about $500 of overhead. If you don't load that in, every job looks about $500 more profitable than it really is, and 6 jobs that each "made money" can add up to a company that didn't.

Real-time job cost tracking beats the month-end surprise

When you track job costs in real time, meaning you see the numbers the same week the job is running, you catch problems on day 4 instead of day 30. That is the whole point.

On day 4, you can call the electrician about the overrun, chase the missing receipts, or have a conversation with the crew about the schedule. After the month closes, all you can do is file it away. Real-time visibility is what turns job costing from a report into a steering wheel.

How to start tracking job costs this week

Before the steps, 1 honest thing. No bookkeeper, no software, no CFO can tell you if your last job made money unless your company captures what happened on the job: the receipts, the time, the change orders, what actually got installed. That part is yours. Not because it is accounting work, but because no one else was on the site.

Here are 3 things you can do today without buying anything.

1. Assign receipts to jobs as they happen

Even if the system is a manila envelope in the glove box with the job name written on it, or a text thread per job where the crew sends receipt photos. The point is that the receipt lands against a specific kitchen, a specific roof, a specific bathroom. Not a general pile. You already have to keep records of business expenses; tagging each one to a job is what makes the same paperwork tell you whether the job made money. If you want a ready-made starting point, our free job cost tracking toolkit includes a tracker and checklist built for this.

2. Pull your last completed job and actually cost it

Revenue is the customer's check. Then add up every material receipt tied to the job, every hour your crew spent, every sub invoice, plus a slice of your monthly overhead. Compare the net to what your estimate said. Whatever the gap is, that is the number that has been invisible.

3. Run your own numbers in about 2 minutes

Grab the free Job Cost Calculator. Plug in 1 job you just finished: revenue, materials, labor, subs, overhead. You'll either confirm it made what you thought, or you'll find out it didn't. You can also run the "what if 1 receipt disappears" scenario and see what a missed receipt costs at the job level; our receipt leak calculator goes deeper on that specific problem.

Where software fits

The hard part of job costing is not the math. It is the capture: getting receipts, hours, and sub invoices tied to the right job while the crew is busy doing the actual work. That capture problem is what Best Decision Project Tools is built around. A crew member finishes at the supply house, opens the app on their phone, takes a photo of the receipt, picks the job, picks the category, and submits. About 10 seconds. On the office side, the receipt lands in a dashboard where the AI pulls out the vendor, date, and total, and 1 click pushes the expense to QuickBooks, booked against the job. The CFO Dashboard then shows each job against its estimate, so a job running $6,000 below plan shows up today, not at month end.

If you'd rather stay in plain QuickBooks Online, you can get the same shape of data with QBO Projects. Set up each job as a Project, assign every bill and receipt to the right project before you save, and tag payroll hours to the project. It works; it just takes more discipline, because nothing assigns itself.

Worked example: the $45,000 kitchen, line by line

Here is the kitchen from the top of this post, as the estimate saw it:

  • Revenue: $45,000
  • Materials: $17,000
  • Subcontractors (electrician and plumber): $5,000
  • Crew labor: $9,000
  • Total planned cost: $31,000
  • Planned net: $14,000, a 31% gross margin

And here is what execution did to it: $1,400 of materials never tied to the job, 3 extra crew days hidden in a general labor bucket, an $800 electrician overrun that never landed against the kitchen, plus smaller slippage that compounded along the way. About $12,800 of cost the job file never saw. Actual net: $1,200.

The bid was honest. The work was good. The tracking is what failed, and at a 31% margin there was no cushion to absorb it.

FAQ: job costing questions contractors ask

What is job costing in construction?

Job costing means tying every dollar a job causes, materials, labor hours, sub invoices, and a slice of overhead, to that specific job instead of a general category. When the job closes, revenue minus those costs is the real profit on that job. It is how you find out which jobs make money and which ones quietly lose it.

How do I know if a job made money?

Take the revenue the customer paid, then subtract every material receipt tied to the job, every hour your crew spent on it, every sub invoice, and a slice of your monthly overhead. Compare that net to what your estimate said. If you have never done this, start with your last completed job; the gap between the estimate and the real net is the number that has been invisible.

What is a good gross margin for a contractor's job?

Plan every job at a 30% gross margin or higher; below that, the job cannot cover operating expenses and still leave profit. Jobs planned between 30% and 35% are workable but fragile, because 1 overrun or missed receipt can erase the net. 35% to 45% is the healthy range for most trades.

How do you allocate overhead to each job?

Add up your fixed monthly costs (shop rent, truck insurance, phone, office), then divide across your active jobs. If overhead is $3,000 a month and you run 6 jobs, each job carries about $500. Skip this step and every job looks about $500 more profitable than it really is.

Can you do job costing in QuickBooks Online?

Yes. Set up each job as a Project in QBO Projects, then assign every bill, receipt, and payroll hour to the right project before you save. The Projects tab gives you a running income and cost view per job. It works, but nothing assigns itself, so it takes discipline to tag every entry.

Run your numbers before the next bid

Pick 1 finished job and cost it. If you don't like what you find, that is the first win. The free Job Cost Calculator takes about 2 minutes: plug in revenue, materials, labor, subs, and overhead, and see what the margin actually was.

Want to watch the full story of the $45,000 kitchen, including the live dashboard walkthrough?

And if you'd rather have someone look at your job numbers with you, get in touch. You can find us at BestDecisionBookkeeping.com and BestDecisionBusiness.com.

About Best Decision Bookkeeping

Best Decision Bookkeeping provides bookkeeping and fractional CFO services for contractors and trades businesses, built around 1 idea: your numbers should tell you what is happening while you can still do something about it. We also build Best Decision Project Tools, software that handles the job-level capture this post describes. Learn more at BestDecisionBookkeeping.com and BestDecisionBusiness.com.

Joe Mackovic, Founder
About the author

Joe Mackovic, Founder

Joe founded Best Decision Bookkeeping to help contractors and service businesses turn financial data into growth. Twenty-plus years of business ownership, a podcast, and a strong opinion that your books should work as hard as you do.

Read Joe's story →

Find out if your last job actually made money.

Run one finished job through the free Job Cost Calculator in about 2 minutes, then book a free call if you want a second set of eyes on the numbers.