The Problem Isn’t Your Revenue — It’s Your Jobs

You’re busy. You’re winning jobs. The phone is ringing.
So why does your bank account look like you haven’t worked in three months?
This is one of the most frustrating things contractors deal with — and almost nobody talks about it. Business feels good. Customers are happy. And yet somehow, at the end of the month, you’re short. You’re delaying a supplier payment. You’re putting materials on a personal card. You’re wondering where it all went.
Here’s the uncomfortable truth: busy and profitable are not the same thing.
Most contractors think about money in terms of what came in. “We did $80,000 last month.” That sounds great. But that number means almost nothing without knowing what it cost you to do that $80,000 in work.
Let’s say you ran three jobs last month:
- Job A: $30,000 contract. Materials ran over. Crew took longer than estimated. You made about $2,000.
- Job B: $25,000 contract. Tight, but you nailed it. $7,500 in profit.
- Job C: $25,000 contract. A subcontractor issue ate into your margin. You barely broke even.
Total revenue: $80,000. Total actual profit: maybe $9,500.
If you were planning your month around the $80,000 number, you just built your whole operation on a number that has nothing to do with what you actually earned.
And here’s the thing — most contractors don’t know which jobs are profitable until tax time. By then, it’s too late to change anything.
Where the Money Actually Goes
Cash flow problems in contracting usually come from a few repeat offenders:
Materials creep. You estimated $4,000 in materials. By the time you account for the extra trips, the price change at the lumber yard, and the stuff that got damaged on-site, you spent $5,800. Nobody tracked it. It just quietly disappeared.
Labor overruns. The job took a day and a half longer than the bid. That’s not just a scheduling problem — that’s money walking out the door.
Overhead nobody counted. Your truck, your insurance, your tools, your time driving between jobs — these are real costs. If they’re not in your job estimates, you’re paying for them out of your profit.
Jobs that feel profitable but aren’t. This is the sneaky one. A job can feel like it went well — client was happy, crew worked hard, invoice got paid — and you still lost money on it. Without comparing what you estimated to what you actually spent, you’d never know.
The Fix: Track What Every Job Actually Costs
The solution isn’t complicated, but it does require one thing most contractors skip: tracking estimated vs. actual costs on every job, before and after.
Before the job starts: write down what you expect to spend on labor, materials, and overhead. That’s your benchmark.
As the job runs: keep a running tally of what you’re actually spending.
When it’s done: compare the two. Did you come in under? Over? By how much? And what was your actual profit margin — not the number in your head, but the real one?
This is called job costing, and it’s the single most powerful financial habit a contractor can build. It tells you:
- Which types of jobs you’re actually good at (and which ones keep eating your margin)
- When to raise your prices
- Where your estimates keep going wrong
- Whether a busy month was actually a profitable one
A Tool That Does the Math For You
I built a Contractor Job Cost Tracker specifically for trades and small contractors — no accounting software, no learning curve, no subscription.
It’s a Google Sheets template. You enter your estimated costs before the job, track actuals as you go, and it automatically calculates:
- Budget variance (how far over or under you came in)
- Gross profit and margin percentage
- A plain-English verdict: did this job actually make money?
There’s also a notes section on each job so you can capture what happened — the subcontractor who was slow, the materials change that blew the budget, the scope creep you didn’t catch until too late. Over time, those notes become your best estimating tool.
One tracker per job. Reuse it forever. And it pairs with the Hourly Rate Calculator in the shop so you know you’re bidding jobs at a rate that actually covers your real costs.
You Can Be Busy and Broke, or Busy and Profitable
The contractors who stay in business long-term aren’t just the ones who win the most jobs. They’re the ones who know which jobs are worth winning.
That knowledge starts with your numbers — and specifically, with knowing what each job actually cost you versus what you expected.
If you’ve been running on feel, on gut instinct, on “we’ve been slammed so we must be doing well” — it’s worth taking a hard look. Not because something is necessarily wrong, but because the data might surprise you.
And if it does, you’ll be glad you looked before things got tight.
David Sullivan is a QuickBooks Certified ProAdvisor and the founder of Sullivan Bookkeeping Services, based in Prescott Valley, AZ. He helps contractors and small trade businesses get their books out of the shoebox and into a system that actually works. Get in touch if you’re ready to know your real numbers.
