You're six months into the year, the phone hasn't stopped ringing, and your crew has been booked out for weeks. By every visible sign, business is good. Then you glance at the bank account and something doesn't add up. If you've been this busy, where's the cash?
Being busy and being on track are two different measurements, and the halfway point of the year is the one moment built into the calendar to check both. A mid-year financial checkup isn't about reviewing every transaction. It's about comparing five specific numbers to where you expected them to be, so you walk into the second half of the year with a plan instead of a guess.
A lot of owners equate busy with profitable. They're not the same thing. You can have a full schedule, a truck that never sits still, and a crew working overtime, and still be barely breaking even, because revenue booked isn't the same as revenue collected, and collected isn't the same as profit.
The mid-year checkup exists to separate those three things before the second half of the year runs away from you. January feels far enough away that small problems don't seem urgent. By July, you've got six months of real data instead of a projection, and there's still enough runway left to adjust before December closes the books for good.
Your P&L is your inspection report for the business. It tells you whether the structure is holding up, not just whether the lights are on. A bank balance answers one question: how much cash is sitting there right now. It says nothing about what you're owed, what you owe, or whether the jobs you closed actually made money. Five numbers, reviewed together, give you the real picture.
The example below uses a contractor with a $600,000 annual revenue goal. Your numbers, targets, and seasonality will look different. This is illustrative, not a benchmark for every trade or every business size.
| Area to check | Halfway-point target | What the owner sees | What a gap might mean | Where to look |
|---|---|---|---|---|
| Revenue booked (contracts signed/invoiced) | ~$300,000 | $310,000 | Slightly ahead, a healthy sign on its own, but not the full story | QuickBooks Online sales reports |
| Gross profit margin | 35% | 24% | Jobs are costing more to deliver than priced, or costs aren't being tracked by job | Job costing reports or class/job tracking in QBO |
| Overhead as a percentage of revenue | 20% | 27% | Overhead is riding along heavier than the pricing accounts for | P&L by month, overhead account grouping |
| Cash on hand vs. accounts receivable | $40,000 cash / $20,000 AR | $12,000 cash / $65,000 AR | Money is earned on paper but tied up in unpaid invoices or retainage | AR aging report |
| Quarterly estimated tax payments made | 2 of 4 (April and June) | 1 of 4 | A payment may have been missed or underestimated, which compounds by September | Tax payment records / bookkeeper or CPA confirmation |
Revenue looks strong here, and that's exactly the trap. The business is ahead of its booking goal but behind on margin, over on overhead, and short on cash because $65,000 is parked in unpaid invoices instead of the bank.
This is a simplified illustration. Your actual accounting method, software setup, and jurisdiction will affect how these numbers are tracked and reported.
A standard small-business bookkeeping setup usually tracks income and expenses well enough for a tax return. What it often doesn't do is break those numbers down by job, separate billed amounts from cash actually collected, or account for retainage sitting on the sidelines. For a contractor, that's the difference between a P&L that looks fine and a business that's quietly running out of cash.
Revenue is up, but the bank balance isn't moving.
This usually points to cash sitting in unpaid invoices or retainage rather than a spending problem. Check your AR aging report for anything past 30 days.
You can't say which jobs made money and which didn't.
If costs aren't tracked by job, "profitable on paper" and "profitable in reality" can be two different answers. Review whether labor, materials, and subcontractor costs are actually being coded to specific jobs.
Payroll or subcontractor costs have crept up without a matching jump in billing.
This often means change orders went unbilled, or scope crept on a job without the price following. Pull a job-by-job comparison of estimated versus actual labor cost.
You've made fewer estimated tax payments than the calendar called for.
Missing April or June means September's payment (due September 15) needs to cover more ground, which can catch owners off guard in Q4. Confirm payment history with whoever handles your taxes.
You're guessing at your overhead percentage instead of knowing it.
If you can't say what it costs to keep the doors open before a single nail gets driven, pricing decisions are being made on instinct instead of numbers. Compare your total overhead for the first six months against total revenue for the same period.
The second half of the year isn't just more of the same. Q3 is when the September 15 estimated tax deadline hits, when overhead assumptions made back in January either hold up or don't, and when a full pipeline can mask a margin that's already shrinking. If the mid-year numbers show revenue ahead but margin behind, the fix usually isn't booking more work. It's figuring out why the work you already have isn't converting to profit the way it was priced to.
Pull the five numbers above for the first six months. Compare them to what you expected, not to last year's version of the business, since your goals and pricing may have changed. If the picture is close to what you projected, good. That's confirmation, not busywork. If it's not, the next step usually isn't more hustle. It's a closer look at job costing, overhead allocation, and where cash is actually sitting, so the second half of the year gets built on real numbers instead of a hunch.
Start with five numbers: revenue booked, gross profit margin, overhead as a percentage of revenue, cash on hand versus accounts receivable, and how many estimated tax payments you've actually made. Comparing all five together shows whether the business is on track, not just whether it's busy.
This usually happens when revenue is recognized before it's collected: invoices are out, retainage is withheld, or a large job hasn't been paid yet. Being "on the books" and being "in the bank" are different things, and the gap between them shows up as a cash crunch even in a profitable-looking year.
Most contractors who pay estimated taxes owe a payment on September 15, the third of four typical due dates. Whether you owe one, and how much, depends on your income, entity type, and prior payments. This should be confirmed with your tax preparer rather than assumed.
Compare total overhead costs (office, insurance, admin, software, vehicles not tied to a specific job) for the first half of the year against total revenue for the same period. If that percentage is higher than what your pricing assumes, jobs are absorbing more overhead than they're priced to carry.
That depends on what the mid-year numbers show. If margins are consistently coming in below target across multiple jobs, it's worth reviewing whether current pricing reflects true costs, including overhead, rather than waiting until year-end to find out for certain.
A full schedule at the halfway point usually means one of three things is working against the margin: cash sitting in unpaid invoices or retainage instead of the bank, overhead riding heavier than the pricing assumes, or job costs that aren't tracked closely enough to show which jobs are actually carrying the business. A standard bookkeeping setup can usually tell you the business made money this year. It's much less likely to tell you which of these three is doing the damage, or how much of each, without someone looking at the numbers the way a contractor's business actually runs.
Account Mobility helps contractors stop guessing about where the margin went. We build bookkeeping systems around how a contracting business actually runs: job costing by job, progress billing and retainage, overhead that rides along on every project, and the seasonal swings that come with the trade, so the numbers reflect what's happening on the job site instead of just a monthly summary.
If your mid-year numbers are showing a full schedule but a shrinking margin, let's talk about what your books are actually showing for the first six months, so you can head into Q3 with a clear number instead of a guess. Book a discovery call.
See where your numbers really stand
A closer look at your books for the first six months of the year.
Book a callSee where your numbers really stand
A closer look at your books for the first six months of the year.
Book a callResources



Your all-in-one financial solution for businesses in any industry across the U.S
© 2026 | Account Mobility