Back to all posts

Why Your Profitable Jobs Are Draining Your Bank Account

Profit and cash don't move together. A job can show positive margin while draining your operating account dry. Here's why the timing gap will surprise you every time if you're only watching job cost reports.

Construction business owners at $2-10M revenue constantly face this paradox: the job cost report shows profit, the billing is on schedule, but the bank account is tighter than it should be. Here's the truth most people avoid: profit and cash are not synchronized—a job can generate margin while simultaneously draining your operating account.


TL;DR — What You Need to Know:

  • Profit lives in the future (retention, final billing, closeout), but costs hit right now (materials in 15-30 days, labor weekly, sub draws immediately)
  • The timing gap between when you spend and when you collect is structural to construction—it's not a mistake you can fix through better bidding
  • Larger jobs with healthy margins can create cash crises in week three because the lag amplifies with job size
  • If you're only watching job cost percentages, you won't see the cash squeeze until payroll gets tight
  • Cash pressure shows up while the work is live, not at closeout

Why don't profit and cash move together in construction?

Because they measure different things on different timelines.

Profit is an accounting concept. It's recognized based on percentage of completion or billings, following GAAP revenue recognition principles. Your job cost report shows margin based on work completed versus budget—it's a forecast of what you'll make when everything settles.

Cash is what actually moved.

And in construction, what you spend happens before what you collect. Materials get paid in 15-30 days depending on your vendor terms. Labor hits your account every week. Subcontractors submit draws as they complete work. Equipment needs fuel, maintenance, and rental payments that don't wait for client approval cycles.

Meanwhile, you're billing monthly if you're lucky. The client has 30 days to pay, often stretches it to 45. Retention holds back 5-10% until final completion. Change orders take weeks to get approved and invoiced.

The job is profitable. The math works. But the timing creates a gap that feels like a problem because it is a problem—just not the kind your job cost report is designed to show you.

What actually happens when a profitable job drains cash?

Here's what happens on a million-dollar project with 18% margin:

Week one, you mobilize. Equipment moves to site, materials get ordered, labor starts. You're $80K out of pocket before you even bill for the first pay app.

Week three, first billing goes out. $120K based on work completed. You feel good—the job cost report shows you're on budget, margin is tracking.

Week seven, you finally collect that first draw. Meanwhile, you've been paying labor weekly, material invoices are hitting from the first orders, and subs have submitted two more draw requests. You're now $200K into costs and you've collected $120K.

Week twelve, you're halfway through the job. Job costing shows 50% complete, 18% margin holding. You've billed $500K total. You've collected maybe $420K after payment lag. But you've spent $485K in actual costs because you're paying ahead of collection on everything.

The margin is real. But you're living in a constant deficit between spend and collection that doesn't resolve until final billing and retention release—which might be six months after you started writing checks.

And you're doing the math in your head: do I delay the electrician's draw by a week, or do I short myself on owner's draw again this month?

The bigger the job, the wider this gap gets. Growth makes it worse, not better, because every new project increases the total cash you have deployed waiting to be collected.

Why do owners only see this problem when they're already in it?

Because job cost reports don't track cash timing—they track profit margin.

When you open your project management software or your job cost report, you see:

  • Budget vs. Actual costs
  • Percentage complete
  • Estimated margin at completion
  • Over/under on each cost code

What you don't see:

  • When materials invoices are actually due
  • How much cash you've deployed vs. collected to date
  • What your exposure is if the next draw payment gets delayed
  • How much working capital this job is consuming right now

Most contractors are trained to manage work through job costing. It's the language of the trade—did we hit our labor hours, did materials come in on budget, are we going to make our margin?

But job costing is a profitability tool, not a cash management tool.

You can have perfect job cost discipline and still run out of operating cash because you're not watching the timing. You're managing the work, but you're not managing the float.

And nobody tells you this when you're learning to bid. They teach you how to estimate costs and add margin. They don't teach you that the payment structure of construction—pay now, collect later—creates a cash demand that exists independent of whether the job is profitable.

How do you manage the timing gap without killing growth?

You track cash deployed by job, not just profit margin.

This means adding one metric to your weekly finance review: cash invested per active job.

For each project, you need to know:

  • Total costs paid to date (actual cash out)
  • Total collections received to date (actual cash in)
  • Net cash deployed (the difference)

This number tells you what the job is costing you in working capital right now. Not what it will make you when it closes—what it's consuming while it's live.

When you see that your five active jobs have a combined $340K in net cash deployed, you understand why the bank account feels tight even though all five jobs are tracking to budget with healthy margins.

Then you can make real decisions:

Before you bid the next job, ask: "Do we have the cash capacity to carry this project through its payment lag?" Not just "Can we do the work?"—but "Can we fund the float?"

Before you chase growth, model what three more jobs of this size would do to your cash deployed. Growth sounds good until you realize you need an extra $400K in working capital just to cover the timing gaps.

When clients slow-pay, you see the impact immediately. A 60-day payment instead of 30 days doesn't just annoy you—it shows up as increased cash deployed on that job, which means less capacity for everything else.

This isn't complicated accounting. It's simple tracking:

Money out - Money in = What this job is costing you right now.

But most owners don't look at it because they're watching profit, not cash. And profit doesn't warn you about the squeeze.

What breaks when you ignore cash timing?

You bid three jobs in one week because the margins look good and you have the crew capacity—but you don't have the cash capacity to carry three more projects through their lag. So now you're choosing between paying subs on time or making payroll comfortable.

You hold onto receivables too long because the job is still active and you don't want to create friction with the client. But every week that invoice sits unpaid is another week you're funding their project with your cash.

You assume the problem is temporary—just a weird month, collections will catch up. But if you're growing, collections never catch up. The lag is permanent. It's proportional to your volume.

And when real trouble hits—a client disputes a draw, a project stalls, a key invoice gets delayed—you don't have buffer. You're already running tight because all your cash is deployed into the timing gap on jobs that are technically profitable.

This is why contractors with good work, solid margins, and full schedules still end up on the line of credit. Not because they're losing money, but because they're carrying the cost of the lag without tracking it.

Cash pressure doesn't wait for the job to close. It shows up in week three and doesn't let up until retention clears.

Bring This to Your Leadership Meeting

The Question (forces alignment):
"Which active job has the most cash deployed right now, and do we actually know that number?"

The Prompt (forces clarity):
"Walk through one current project and calculate total cash out vs. total cash collected to date. Then ask: if we have five jobs live, what's our total working capital tied up in timing lag right now?"

The Action (forces ownership):
By Friday, [your project manager or bookkeeper] will create a one-page tracker showing cash deployed per active job (costs paid vs. collections received). Update it weekly in your finance meeting.


Here's what this gives you: the ability to see cash pressure before it becomes a crisis.

You'll stop being surprised by profitable jobs that feel like problems. You'll make better decisions about which work to take and when. And you'll finally understand why the bank account and the job cost report tell different stories.

Clarity beats surprise. And cash always tells the truth.

Recommended Reading

Deepen your knowledge with these handpicked books on the topics covered in this article.

As an Amazon Associate, we earn from qualifying purchases.

Get Your Leadership Email

Enter your email to view the leadership prompts and action items for this article.

I send one short note each week to help you bring this into your leadership meeting and turn it into action.