A general contractor came to us at the end of last year completely exhausted. He had worked 60-hour weeks all year. His crew was busy every single day. Revenue was up 20% from the prior year.
And yet, he had less money in the bank than when the year started.
"I do not get it," he said. "We are slammed. Where is all the money going?"
The answer was hiding in his job costs. Or more accurately, in the job costs he was not tracking.
The Problem With "Gut Feel" Pricing
This contractor had been estimating jobs based on experience and instinct for fifteen years. And for a long time, it worked well enough. But material costs had crept up. Labor rates had increased. His overhead had grown with the business. And his estimates had not kept pace.
Without job costing, he had no way to know which jobs made money and which ones lost money. He treated every job as equally profitable. They were not.
What We Found
We set up job costing in his accounting software and started tracking actual costs against estimates for every active project. Within two months, the picture was clear:
About 30% of his jobs were generating excellent margins of 25% or higher. Another 40% were breaking even or making slim profits. And the remaining 30% were actually losing money.
He was working hardest on the jobs that were hurting him the most.
The Jobs That Kill You
The money-losing jobs shared common traits. They involved scope creep that was never billed. They underestimated labor hours by 20-30%. They used subcontractors whose costs were not properly tracked. And they were often the jobs he bid lowest on to "win" the work.
Setting Up Job Costing
The system does not have to be complicated. Here is the core of what we implemented:
Every job gets a number. Before work starts, it exists in the accounting system. All purchases, labor hours, and subcontractor costs are tagged to that job number.
Labor gets tracked by job. His crew started noting which job each day's hours belonged to. This was the biggest behavior change and the most valuable one.
Overhead gets allocated. We calculated his monthly overhead, divided by billable hours, and applied a rate to each job. This is the piece most contractors skip, and it is the piece that turns a "profitable" job into a money loser.
A profitability report runs monthly. Compare actual costs to the original estimate. That gap is where all the learning happens.
The Turnaround
Six months in, he raised prices on the job types that consistently underperformed. He stopped chasing certain types of work that never hit target margins. And he doubled down on the 30% of jobs that were generating most of his profit.
Same crew. Same hours. Twenty percent more profit.
The Lesson
Being busy is not the same as being profitable. The busiest year of your career can also be the least profitable if you are doing the wrong work at the wrong price. Job costing tells you the truth that your gut cannot.
