Blog / Cash flow
Revenue, profit, cash: why a good year can leave less money in the bank

A strong year. $2M in jobs. And less cash in the bank than you expected. It is one of the most common things contractor owners tell us, and it rarely means someone is stealing or the books are wrong.
It usually means three different numbers are being treated as one.
Three numbers, three questions
- Revenue is what you sold. It answers "how busy were we?"
- Profit is what you kept after job costs and overhead. It answers "did we make money?"
- Cash is what is in the bank today. It answers "can I pay Friday's payroll?"
Most owners watch the first and the third. The second is the one that tells you if the business works, and it is the one that usually arrives months late, from the CPA.
Where the cash from a good year goes
1. Deposits are not profit yet
A deposit for a roof you haven't built is in the bank, but materials, crew and subs for that roof are still ahead. If you spend the deposit, the job pays for itself later with money from the next job.
2. You paid before the customer did
Materials are often paid up front. The customer or the insurance company pays weeks later. The busier you are, the more cash is tied up in jobs in progress.
3. Owner draws add up
Draws don't show up on any job and are not an expense in the Profit and Loss. But they leave the account, and over a year they are often the biggest single line.
4. Loans and equipment
The principal part of a truck or equipment loan is cash out, but it is not an expense on the Profit and Loss. A new trailer paid in cash can be a big hit to the bank and a small one to profit.
5. Taxes nobody set aside
Profit creates a tax bill. If nothing was set aside, part of the cash in the bank already belongs to the IRS. See how much a roofing company should set aside for taxes.
The number that answers "what can I spend?"
The bank balance is not the whole picture. Subtract what is already committed, and you get what is actually yours. We call it "Mine right now".
| Mine right now | Amount |
|---|---|
| Cash in bank | $84,210 |
| Card balances | โ$6,400 |
| Bills due in the next 30 days | โ$9,320 |
| Tax set-aside | โ$12,000 |
| Mine right now | $56,490 |
Example data for a fictional company.
$84K feels great. $56K is the real number. Decisions about a new truck, a bonus or a slow month should start from the second one.
What to check every week
- Mine right now, not the bank balance.
- Profit this year so far, not just revenue.
- Margin on open jobs, so overruns show up while you can still fix them. More on that in job costing for roofing companies.
- The next 30 days of payments: payroll, suppliers, loans, so a slow week in winter is planned, not a surprise.
Trinity shows all four on one screen, from your real bank and card data, checked by our team every week.
This article is general information, not tax, legal or accounting advice. Trinity CEO is not a CPA firm. Talk to your CPA about your situation.