Back to Blog
CFO Advisory

The Contractor Who Lost $200K Because Nobody Tracked Job Costs

Names changed. Numbers real.

Mike runs a commercial remodeling company in Houston. Twenty employees, $2.2M in annual revenue, and projects booked out 4 months in advance.

And yet, he was broke.

Not "business is slow" broke or "waiting on receivables" broke. He was actively bleeding cash despite a full project schedule.

When he called me in March 2024, his frustration was clear:

"I don't understand what's happening. We're busy. We're billing. But there's never money in the account. My accountant says everything looks fine, but I can't make payroll without a line of credit."

I see this more often than you'd think. The symptoms are always the same:

  • Revenue looks good on paper
  • Jobs are getting done
  • Clients are paying
  • But cash disappears faster than it comes in

And nobody knows why.

Key Takeaways

  • A 30% "average" margin was hiding the truth. Five jobs earned 34% margin. Eight jobs lost 17%. Mike had no idea which was which.
  • $200K in value was destroyed over 18 months through direct job losses, unallocated equipment costs, scope creep without change orders, and absorbed material increases.
  • The fix took 4 weeks: construction-specific software, estimating templates, change order process, weekly job reviews, and team training.
  • Results in 6 months: Average margin jumped from 8% to 28%. Cash position improved by $105K. Change orders recovered $67K.
  • Tax recovery totaled $71K from amended returns, corrected estimated payments, and proper equipment depreciation.
  • If you can't name the margin on your last 10 jobs, you have this same problem. You just don't know it yet.

The Problem (Spoiler: It Wasn't What He Thought)

Mike thought he had a collections problem. Some clients were slow-paying, a few invoices were stuck in dispute, and he figured that was the main issue.

It wasn't.

When I pulled his financials for the previous 18 months, here's what I found:

Quarter Revenue Gross Profit (Reported) Net Profit Cash Position
Q3 2023 $520K $156K (30%) $28K -$12K
Q4 2023 $580K $174K (30%) $18K -$31K
Q1 2024 $610K $183K (30%) -$5K -$58K

Revenue was growing, and his gross profit margin looked consistent at 30%. But cash was vanishing.

The Core Problem

That 30% margin was a lie. It was an average across all jobs — some making 45%, some losing 20%. Mike had no idea which was which because nobody was tracking actual job costs.

What Job Costing Should Look Like (But Didn't)

Proper job costing tracks every dollar that goes into a project:

Direct Costs:

  • Labor (hours × rate, per job)
  • Materials (actual purchases allocated to job)
  • Subcontractors (payments tied to specific jobs)
  • Equipment rental (job-specific)

Indirect Costs (Allocated):

  • Shop overhead
  • Vehicle costs
  • Tools and consumables
  • Insurance and bonds

The result: actual job margin (not estimated), real-time profitability visibility, and data to bid future jobs accurately.

Mike's system? None of this existed.

What Mike Was Actually Doing

His "accounting system" worked like this:

  1. Estimate a job (usually based on feel, not data)
  2. Submit bid with 30% margin built in
  3. Win job, start work
  4. Pay for materials as needed (sometimes allocated to job, sometimes to a general "materials" account)
  5. Pay labor (tracked by employee, not by job)
  6. Pay subs (sometimes he remembered which job, sometimes not)
  7. Bill the client based on the contract
  8. Hope there was money left over

His accountant produced a P&L every month that showed Total revenue: $X, Total costs: $Y, Gross profit: 30%. But that 30% was just an average. Some jobs made 45%. Some lost 20%. Mike had no idea which was which.

The $200K Discovery

I spent 3 days reconstructing his last 12 months of jobs. We pulled bank statements, credit card statements, payroll records, subcontractor invoices, and completed job files to compare bid vs. actual.

It was ugly. But here's what we found:

The Winners (5 Jobs, ~23% of Revenue)

Job Bid Actual Cost Profit Margin
Office renovation $185K $122K $63K 34%
Retail buildout $240K $155K $85K 35%
Restaurant remodel $160K $110K $50K 31%
Medical office $210K $140K $70K 33%
Warehouse conversion $95K $62K $33K 35%
Total $890K $589K $301K 34%

These jobs were well-scoped, materials came in on budget, and labor was efficient. They were exactly what Mike thought all his jobs looked like.

The Losers (8 Jobs, ~41% of Revenue)

Job Bid Actual Cost Profit Margin
Strip mall renovation $220K $245K -$25K -11%
Church remodel $180K $210K -$30K -17%
Condo complex common areas $310K $365K -$55K -18%
Retail chain (3 locations) $420K $485K -$65K -15%
Office tower lobby $95K $115K -$20K -21%
Industrial warehouse $140K $165K -$25K -18%
Medical clinic expansion $75K $98K -$23K -31%
Dental office buildout $105K $128K -$23K -22%
Total $1,545K $1,811K -$266K -17%

Eight jobs. Every single one lost money. And Mike had absolutely no idea until we reconstructed the numbers.

The remaining ~36% of revenue was roughly break-even — some small profit, some small loss, averaging out to near zero.

What Went Wrong (The Patterns)

Once we had the data, the patterns were obvious:

Problem #1: Scope Creep With No Change Orders

Example: Church remodel

  • Original scope: repaint interior, refinish floors, update lighting
  • Actual work: all of the above plus a surprise structural repair when they opened a wall, client-requested design changes midstream, and an extended timeline due to coordination with church events
  • Change orders submitted: $0
  • Cost overrun: $30K

Mike was doing the extra work to "keep the client happy" without charging for it.

Problem #2: Underestimating Labor

Example: Condo complex common areas

  • Bid assumed: 320 labor hours
  • Actual: 510 labor hours
  • Reason: The job required weekend/evening work (the building was occupied), more coordination than expected, and rework due to HOA feedback

Mike's bids were based on "how long it should take" in ideal conditions. Reality was never ideal.

Problem #3: Material Cost Inflation Mid-Job

Example: Strip mall renovation

  • Bid in June 2023 based on supplier quotes
  • Work started September 2023
  • Actual material costs: 18% higher than quoted
  • Mike absorbed the difference

There were no escalation clauses in his contracts. No mechanism to pass through cost increases.

Problem #4: Subcontractor Overruns

Example: Retail chain (3 locations)

  • Electrical sub bid $45K
  • Actual: $72K
  • Reason: The locations had different existing conditions than the drawings showed, and the sub billed Time & Materials for discovery work

Mike's GC contract with the client was fixed-price, but his sub agreements were T&M. He was taking all the risk.

Problem #5: Not Tracking Equipment Costs Per Job

Mike owned a lot of equipment: a skid steer, lifts, trailers, and specialty tools. He thought of them as "already paid for," so he didn't allocate their cost to jobs. But equipment depreciates, breaks, and costs fuel, maintenance, and insurance — all of which should be allocated.

Estimated unallocated cost: $3,500-$5,000 per job that used equipment. Over 12 jobs that needed heavy equipment, that's $42K-$60K in costs that never hit the job P&L.

The $200K Breakdown

Here's the real math:

Category Amount
Direct losses on 8 jobs -$266K
Unallocated equipment costs -$50K
Scope creep without change orders -$85K
Material cost increases absorbed -$40K
Total value destroyed -$441K
Minus: Profit from 5 winning jobs +$301K
Net impact -$140K

But we're not done. Because Mike was also:

  • Paying interest on a line of credit to cover cash shortfalls (~$18K/year)
  • Missing early payment discounts from suppliers because cash was tight (~$12K/year)
  • Underpaying himself because "there's no money" (~$30K/year less than the market rate for a $2M GC owner)
Total Economic Cost Over 18 Months

Approximately $200K in value lost, forgone, or paid unnecessarily. And the worst part: Mike was working 60-hour weeks just to lose money.

The Fix

We implemented a real job costing system in 4 weeks. Here's what changed:

Week 1: Software Setup

We moved him to Foundation (construction-specific accounting software). Key features: job costing built in, time tracking by employee by job, purchase orders tied to jobs, and budget vs. actual reporting.

Cost: $250/month. ROI: Paid for itself in the first month.

Week 2: Process Design

We built:

  1. Estimating template with a line-item cost breakdown (labor hours, material quantities, sub costs, equipment, overhead allocation)
  2. Change order process (anything outside the original scope became an automatic change order, with no exceptions)
  3. Weekly job review (every active job was reviewed for budget vs. actual, flagging overruns immediately)
  4. Monthly job close-out (final cost reconciliation, lessons learned documentation)

Week 3: Team Training

Mike's project manager and office admin learned how to log time to jobs, allocate purchases, run budget vs. actual reports, and spot a problem job before it was too late.

Week 4: Active Job Audit

We reviewed every active job: set up job budgets based on contracts, identified 2 jobs already over budget, submitted change orders for scope creep (recovered $18K), and flagged jobs to watch closely.

The Results (6 Months Later)

September 2024 check-in:

Metric Before After Change
Average job margin 8% (actual) 28% +20%
Jobs finished over budget 65% 15% -50%
Cash position -$58K +$47K +$105K
Line of credit usage $85K $12K -$73K
Change orders submitted ~$0 $67K +$67K
Time to spot problem job Never 1-2 weeks

What changed:

  1. Mike stopped bidding blind. Every estimate now had real data behind it (labor hours from similar past jobs, actual material costs, and real sub quotes).
  2. Scope creep became billable. The change order process meant every "small favor" got priced and charged.
  3. Problem jobs got caught early. Weekly reviews flagged overruns when there was still time to fix them.
  4. Pricing improved. Mike raised prices 12% on new bids because he finally knew his real costs. His win rate dropped slightly (72% to 68%), but profit per job tripled.
  5. Cash flow stabilized. Knowing which jobs were profitable let Mike focus on high-margin work and stop chasing revenue that lost money.

Most importantly: Mike started paying himself properly — a $120K salary (market rate for his role) instead of the $75K he'd been scraping together.

The Tax Piece (Why This Is on a CFO Blog)

Here's the kicker: Mike's accountant was filing accurate tax returns.

The P&L showed what it showed. The taxes were calculated correctly. The returns were filed on time.

But nobody was asking: "Are these numbers real?"

When we implemented job costing and discovered the $200K problem, we also found:

  • Mike had been overpaying taxes on phantom profit (jobs that looked profitable on paper but lost money in reality)
  • His basis in equipment was much higher than depreciation schedules showed
  • Several "profitable" years were actually break-even or losses when job costs were allocated correctly
Tax Recovery: $71K
  • Amended returns for 2 prior years: recovered $31K in overpaid taxes
  • Adjusted current year estimated payments: saved $18K in unnecessary quarterly payments
  • Corrected equipment depreciation schedules: additional $22K deduction

This is why job costing isn't just an operational issue — it's a tax issue. If your financials are wrong, your taxes are wrong. Our Tax Planning Services exist precisely because this overlap is so common.

How to Know If You Have This Problem

Mike isn't unique. I see this in contractors who bid fixed-price but run jobs on feel, professional service firms that don't track profitability per client, and any business where projects are the unit of work.

Answer these questions:

Job Costing Self-Assessment

  1. Can you list your last 10 jobs/projects and tell me the actual profit margin on each?
  2. Do you track labor hours by job?
  3. Do you allocate material purchases to specific jobs at the time of purchase?
  4. Do you know which types of jobs are most profitable for you?
  5. Do you have a systematic process for change orders?
  6. Do you review job profitability while the job is still in progress?
  7. Can you produce a report showing budget vs. actual for any active job right now?
  8. Do you use past job data to improve future estimates?

If you answered "No" to 3 or more: You probably have a job costing problem.

If you answered "No" to 5 or more: You definitely have a job costing problem, and it's costing you 5-15% of your revenue. On a $2M business, that's $100K-$300K per year.

What to Do About It

  1. Get real numbers. Pick your last 12 months of completed jobs. For each one, reconstruct actual labor cost, material cost, subcontractor cost, allocated overhead, and actual margin. This is painful, but do it anyway.
  2. Implement job costing software. Foundation ($250/mo), QuickBooks Contractor Edition ($500/yr), Buildertrend ($400/mo), or CoConstruct ($300/mo). The software matters less than using it consistently.
  3. Train your team. Everyone who touches a job needs to know how to allocate costs to the right job, track time properly, run reports, and flag overruns.
  4. Build the habits. Weekly job review (budget vs. actual), monthly job close-out, estimating templates based on real data, and a change order process where scope creep = billable.

Frequently Asked Questions

Tom Woolley, MBA

Job costing tracks every dollar that goes into a specific project: direct costs (labor hours × rate per job, materials allocated to job, subcontractor payments, equipment rental), and indirect costs allocated per job (shop overhead, vehicle costs, tools, insurance). The result is an actual job margin — not an estimate — that gives you real-time profitability visibility and data to bid future jobs accurately. Without it, your P&L shows an average margin across all jobs, hiding which ones make money and which ones lose it.

Today CFO

Answer these questions: Can you list your last 10 jobs and tell me the actual profit margin on each? Do you track labor hours by job? Do you allocate material purchases to specific jobs at the time of purchase? Do you have a systematic process for change orders? Can you produce a budget vs. actual report for any active job right now? If you answered 'No' to 3 or more of these, you probably have a job costing problem. If 5 or more, it's likely costing you 5-15% of your revenue.

What is job costing in construction?

Popular options include Foundation ($250/month, construction-specific accounting), QuickBooks Desktop Contractor Edition ($500/year), Buildertrend ($400/month, includes project management), and CoConstruct ($300/month, residential remodel focus). The software matters less than using it consistently. Key features to look for: job costing built in, time tracking by employee by job, purchase orders tied to jobs, and budget vs. actual reporting.

How do I know if my construction company has a job costing problem?

For a typical $2M construction business, poor job costing costs $100K-$300K per year in hidden losses. Sources include: jobs bid based on feel instead of data (leading to underpricing), scope creep performed without change orders, material cost increases absorbed without pass-through clauses, subcontractor overruns on T&M agreements, unallocated equipment costs, plus secondary costs like line of credit interest, missed supplier discounts, and owner underpayment.

What software should contractors use for job costing?

Yes. If your financials are wrong, your taxes are wrong. In this case study, implementing proper job costing revealed that the contractor had been overpaying taxes on phantom profit (jobs that looked profitable on paper but lost money in reality). We amended 2 prior years of returns (recovered $31K), adjusted current year estimated payments (saved $18K), and corrected equipment depreciation schedules ($22K additional deduction) — totaling $71K in tax recovery.

If You Can't Name the Margin on Your Last 10 Jobs, You Have This Problem.

You just don't know it yet. The sooner you know, the sooner you stop the bleeding. Mike was working 60-hour weeks to lose money. Don't be Mike.

Tom Woolley, MBA

About the Author

Tom Woolley, MBA

Tom Woolley is the founder of Today CFO. He specializes in construction accounting, job costing implementation, and tax strategy for contractors. He's helped dozens of construction companies stop the cash bleed and start building real profitability.

Connect on LinkedIn

Want a Free Job Profitability Diagnostic?

Pick 3 recent jobs. We'll walk through the actual costs, show you what your real margin looks like, and identify if you're losing money — and where. No charge. No obligation. Just data.

Schedule Your Free Assessment