DIAGNOSIS ยท JOB PROFITABILITY

THE JOB CLOSED OUT. DID IT MAKE MONEY?

QUICK ANSWER

If you can't say whether a job made money, the usual reason is that your cost codes don't line up with the way you bid the work. The estimate was built in phases, the costs were coded by category, and the two don't meet anywhere, so the only comparison available is total revenue against total cost at the company level. That tells you the year was fine or it wasn't, and it can't tell you which jobs carried the others. Three smaller causes sit underneath it: labor burden left in overhead, equipment billed at a made-up rate or not at all, and change orders performed before they were priced. Fix the coding first, because the other three are unmeasurable until it's done.

This is the question that separates a contractor who's guessing from one who's managing, and almost nobody asks it out loud, because a full schedule and a profitable year make it feel answered. It isn't. A company can run five years of decent net profit while two thirds of its jobs lose money, subsidised by the third that don't, and the owner can't tell which is which until the coding lets him look.

BY JOSH LUEBKERPublished 2026-08-17Updated 2026-08-17
THE DEFINITION

WHAT IT MEANS.

Job profitability is what a single job earned after every cost that belongs to it has been charged to it, and a contractor who can't state it for a finished job doesn't have an accounting problem so much as a coding one: the costs were all recorded, and they weren't recorded against the phases the job was bid in, so there's nothing to compare the estimate against.

The reason this goes unexamined for years is that nothing breaks. A job closes, the retention gets collected, the next one starts. There's no report that fails and no reconciliation that won't balance, because the books are correct: every dollar was recorded and every account ties. What's missing is a comparison, and a missing comparison never announces itself. It just leaves every bid built on a feeling about how the last one went.

WHY YOU CAN'T GET AN ANSWER

FOUR CAUSES, AND THE FIRST ONE FEEDS THE REST.

01

The cost codes don't line up with the estimate

This is the one that causes the other three. An estimator prices work the way it gets built: mobilisation, layout, rough-in, trim, punch. A general bookkeeper sets up cost codes the way accounting thinks: labor, materials, subcontractors and equipment. Both structures are internally sensible and they can't be compared to each other. So when a job closes at eleven percent against a bid at nineteen, nobody can say which phase lost the eight points, and the next bid gets built on the same assumptions that produced the miss. A better report won't fix it. One structure used by both the estimator and the bookkeeper will, which is a decision about how the company works before it's a software setup.

02

Labor burden is sitting in overhead

A crew's wages get charged to the job and the payroll taxes, workers' comp, general liability, holiday and the fringe don't, because those come in as monthly bills at the company level. So every hour on every job is understated by somewhere between eighteen and forty percent depending on the trade and the state. A job that reports twelve percent gross margin is running at four, and the difference is a real cost somebody paid. Contractors who find this usually find it twice: once in the job cost, and again in their overhead rate, which has been carrying labor cost that belonged on a job and climbing every year with no explanation.

03

Equipment goes to the job at a rate nobody calculated

Either it's charged at a figure somebody chose years ago, or it isn't charged at all and the whole fleet sits in overhead. Both make excavation and grading work look more profitable than it is, and both hide the moment a machine stops earning its replacement. The honest rate comes off what the machine costs to replace today plus its maintenance, insurance and other cost across its useful life, divided by the hours you expect out of it. Built on what you paid in 2016, the rate recovers enough to own a worn out machine and leaves you borrowing to replace it.

04

Change orders get performed before they get priced

A superintendent gets a verbal, the crew does the work, and the paperwork follows a month later or never. The cost is in the job and the revenue isn't, so the job reports a loss that's really a billing failure. Worse, it teaches the estimating team that this kind of work loses money, and the next bid carries a contingency for a problem that was administrative. A change order log with a number, a date and a signature before the crew moves is the cheapest control in this list, because the provision is already in the subcontract and using it costs one email.

THE ARITHMETIC

WHAT IT LOOKS LIKE IN DOLLARS.

Test 01, does one structure serve both? 15 minutes

Put last month's job cost report next to the estimate for the same job. If a line on one can be matched to a line on the other without anybody interpreting, the structure is aligned. If matching them takes a conversation, it isn't, and every comparison you've made between bid and actual has been an approximation. This is the test that decides whether the other three are worth running yet.

Test 02, is burden on the job? 5 minutes

Take one crew member's total cost to the company for a month, including taxes, comp, insurance and every fringe, and divide by the hours he charged to jobs. Compare it to the rate posting to job cost. If the posted rate is his base wage, your job costs are understated by the whole burden and every gross margin you've reported is high.

Test 03, where does the fleet live? 10 minutes

Find equipment cost in your profit and loss and follow it. If it sits in overhead and never reaches a job, then every job that used a machine was subsidised by every job that didn't, and your overhead rate carries a cost that belongs to production. The workbook on this site prices a whole fleet in an afternoon and totals it.

Test 04, how many change orders were performed before they were priced? 20 minutes

Take the last closed job and count the change orders that have a signature dated after the work was done. Every one is revenue that was at risk and margin that was reported as a loss on the phase it hit. If the count is more than one or two, the problem is a process at dispatch, and no accounting change will reach it.

WHAT TO DO ABOUT IT

THREE MOVES, IN THIS ORDER.

Align the cost codes to the estimate, and do it with the estimator in the room

Four one-hour meetings over four weeks, going through your estimates line by line and mapping each one to how you track cost. It has to be the estimator and the bookkeeper together, because a structure designed by either one alone is the problem you already have. At the end of it every estimate ties to a cost code, and a bid-versus-actual comparison becomes arithmetic. This is the step everything else waits on, and it's the step contractors skip because it costs meetings and produces no report on the day.

Push burden and equipment onto the jobs that used them

Calculate a fully burdened labor rate per class and post it, and calculate an equipment rate per unit off replacement cost and post that. Both will make your reported gross margins fall, which is the point: the margin was never there and now the report agrees with the bank. Contractors who do this in the same quarter usually find their overhead rate drops several points at the same time, because it had been carrying production cost.

Recalculate overhead monthly against the trailing twelve months

Not once a year and not four months after the year ends when the tax return is finished. A rolling twelve month overhead rate, recomputed with each close, is what keeps a bid priced against the company you're running now. Books closed and bank reconciliations done by the tenth make it possible; a close that drifts to the end of the following month makes every rate you bid with a quarter stale.

$10.7M+
Client AR Recovered Since 2023
48
Active Trade Specializations
60 DAYS
Average Onboarding Time
PRICING

FLAT MONTHLY FEE. NO SURPRISES.

Three tiers, priced by your trailing twelve month revenue. Which one you're in depends on how much of the work you want off your desk. No hourly billing, no payroll, and no add-ons.

Last 12 months revenueMonthly fee
Up to $1M$1,900 to $2,900
$1M to $3.5M$2,600 to $3,900
$3.5M to $6.5M$3,800 to $5,700
$6.5M to $9.5M$5,100 to $7,100
$9.5M to $12.5M$6,100 to $8,500
$12.5M to $15.5M$7,400 to $11,000
$15.5M to $18.5M$9,400 to $13,500
$18.5M+Quoted individually

Range reflects the three tiers below. Which one you're in depends on how much of the work you want off your desk. No payroll. No hidden line items.

Core

You stop guessing.

You get the CFO work. Job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a meeting every month that ends in decisions rather than a report.

Your bookkeeper keeps doing the books.

Executive

You stop touching the books.

Everything in Core, and we run the bookkeeping and the controllership as well. Nobody in your office is answering coding questions or chasing a reconciliation at month end.

We do the books. No payroll.

Strategic

Every job shows its margin while it's still running.

Everything in Executive, plus the job costing and WIP platform set up, loaded with your cost codes, and managed for you every month. You never have to learn it.

We do the job costing.

COMMON QUESTIONS

FREQUENTLY ASKED.

Only if the cost coding lets him, and usually it doesn't. Your accountant can tell you the company's revenue, cost and net profit with complete accuracy and still be unable to split it by job, because splitting it needs costs coded to jobs and phases at the moment they're incurred. That's a decision made in the field and at accounts payable, months before anybody produces a statement. This is why a bookkeeper who's excellent at general accounting can leave a construction company with clean books and no ability to manage a job.
The structure takes about four weeks of one-hour meetings, and then you need one full job to close inside the new structure before the comparison means anything. So call it a quarter to the first honest read on a short job, and longer where jobs run a year. Our own onboarding builds the structure and migrates the books back to the start of the last taxable year inside 60 days, which gives you history in the new structure to compare against, so you're not waiting for new jobs to finish.
That's the case for doing it, not against. A profitable company with unmeasured jobs is carrying subsidies it can't see, and the usual case is that a third of the work funds the rest. Knowing which third changes what you bid and what you walk away from. Across our own client work, correcting the coding and the costs that follow from it comes to a 7 to 9 point improvement in net profit before taxes, and that's an SPM result from our own engagements and not an industry benchmark.
Three tiers, and which one you are in depends on how much of the work you want off your desk. Core is where you stop guessing: job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a monthly meeting that ends in decisions, while your bookkeeper keeps doing the books. Executive is where you stop touching the books, because we run the bookkeeping and the controllership as well. Strategic is where every job shows its margin while it is still running, because the job costing and WIP platform is set up and managed for you. No payroll. No scope gaps.
Sixty days. We migrate your books back to the start of your last taxable year, set up ControlQore, and build your job costing structure from scratch. Fully operational in two months.
WHAT THIS TIES INTO
Josh Luebker, The Construction CFO
Josh Luebker
FRACTIONAL CFO · THE CONSTRUCTION CFO

Former commercial project manager and master electrician: 150+ projects worth $2.1B combined, from $50,000 to $300M. Now fractional CFO to commercial subcontractors.

BRING ONE CLOSED JOB AND ITS ESTIMATE.

Twenty minutes, and no pitch. Josh will run the first test with you on a real job and tell you whether your coding can answer the question yet.

You don't hire a CFO because it's safe, you do it because the real risk isn't having one.
Book a 20 minute diagnostic

20 minutes. No sales pressure. We will tell you exactly what's broken before we talk about anything else.

OR START WITH THE WORKBOOKS. NO CALL NEEDED.