Your bank balance is the most confident liar in your business. It shows you a big, comforting number every morning — and then payroll clears, a deposit you’d already spent comes due, and a check you forgot about finally hits. Suddenly the “money you had” was never really there.
That gap between what the bank shows and what you can actually spend is where construction cash flow goes to die. It’s not that contractors are bad with money — it’s that the one number everyone checks is built to mislead you. Customer deposits, unpaid credit cards, checks that haven’t cleared, and bills sitting in a drawer are all baked into that balance, and none of them belong to you.
I’m a working construction CFO, and a wrong cash number is the quietest way to wreck a profitable company. You can win every bid and still miss payroll if you’re steering by the balance instead of the truth. Here’s what’s actually hiding in that number — and how to find the cash you really have.
Quick note: this is general guidance, not financial or legal advice. Every business is different — confirm the specifics with your accountant.
The number you’re managing is the wrong one
Your bank balance answers one question: how much money is sitting in the account right now. That’s it. It doesn’t know what you owe, what’s already committed, or what you’re still waiting to collect.
The number you actually need is your true cash position — the balance minus everything that’s already spoken for, plus the money that’s genuinely on its way to you. Until you do that math, you’re not managing cash flow. You’re guessing, and hoping the guess holds until Friday.

What’s hiding inside your balance (and making it look bigger than it is)
Four things inflate your bank balance into a number you can’t trust:
Customer deposits. This is the big one in construction. A client wires you a 40% deposit, it lands in your account, and your balance jumps. But that’s not revenue — it’s the client’s money, held in trust until you’ve done the work and spent against the job. Spend it on overhead or another project and you’ve quietly borrowed from a customer you still owe work to.
Payments that already left — just not the bank. The moment you mail a check or schedule an ACH, that money is gone in every way except the one your balance can see. A handful of uncashed payments is the single most common cause of an “impossible” overdraft.
Credit card balances. A card turns today’s spending into a future bill your bank balance doesn’t show. The cash looks available; it’s already been promised to the card company.
Unpaid vendor and sub bills. The invoices in your inbox are real obligations whether or not they’ve left your account. If your cash number doesn’t account for what’s coming due, it’s fiction.
What’s missing from your balance (the money you’re actually owed)
The balance also hides cash in the other direction — money you’ve earned that just hasn’t landed yet:
Accounts receivable. Invoices you’ve sent but haven’t collected are real future cash. Track them and you can see what’s coming and chase what’s late before it becomes a problem.
Unbilled work. This is the one that quietly costs contractors the most. You’ve poured costs into an active job but haven’t invoiced for them yet — sometimes thousands of dollars of work you have every right to bill and simply haven’t. It never shows up in your bank balance because you never asked for it.
Net the two sides together — what’s hiding in the balance against what’s owed to you — and you finally get a number you can run your business on.
That number tells you what you have this week. The next question is how much work it takes just to cover overhead, and the answer is your overhead divided by your gross margin. Run your own numbers in the free break-even calculator for contractors.
The fix: one true number, updated every week

You don’t need accounting software or a finance degree to fix this. You need a single, honest view that takes your bank balance, subtracts the deposits, cards, uncashed payments, and unpaid bills, adds back what you’re owed, and lands on one number: the cash that’s actually yours to spend.
The discipline that makes it work is boring and non-negotiable — update it once a week. Monday morning, ten minutes, every account. A cash position you refresh weekly is a forecast you can trust. One you update “when you remember” is just a snapshot of a past that’s already changed.
Do that consistently and the whole game changes. You stop wondering whether you can make payroll and start knowing. You catch unbilled work while there’s still time to invoice it. And you stop spending a client’s deposit on last month’s overhead, because you can finally see that it was never yours.
Don’t try to run this in your head
You can build this yourself — a tab for your accounts, columns for deposits, cards, receivables, and unbilled work, a formula that nets it all out. The problem was never building it. It’s keeping it current, and not breaking the math the first time you tab into the wrong cell.
That’s exactly why I built the Company Cash Flow Report — one Excel workbook that takes your bank balances, pulls out the deposits, cards, uncashed payments, and bills, adds back what you’re owed and what you’ve yet to bill, and shows your True Balance automatically. You type into the labeled cells; the formulas do the rest. It’s the difference between hoping the number holds and knowing exactly what you’ve got.
See the Company Cash Flow Report →
I’m a working construction CFO and the founder of Back Office Blueprint, where I build the estimating, job costing, cash flow, and compliance systems I wished every builder and trade contractor had from day one.
Keep reading
You’re not short on profit — you’re short on collections — the receivables side of the same problem.
What actually goes into a construction job costing system — where the profit was supposed to come from.
Contractor deposit limits by state, with the statutes — what you are allowed to collect before the cash flow problem even starts.
If the gap is on the billing side, the Billing & Collections Blueprint handles AR aging, invoices and draw requests.

