Our Blog
April 20, 2026
Liam McCreedy

7 Bookkeeping Mistakes That Are Quietly Killing Your Margins

Most contractors think they have a revenue problem. They don't. They have a visibility problem — and it starts in the books. Here are the seven mistakes we see over and over when we clean up contractor financials, and what they're quietly costing you.

7 Bookkeeping Mistakes That Are Quietly Killing Your Contractor Margins

Most contractors we meet don't have a revenue problem. They have a visibility problem — and it starts in the books.

They're doing $5M, $20M, even $50M in revenue. They're busy. They're growing. And they're still wondering why cash is tight and their take-home isn't growing with their top line.

Every time we clean up a contractor's books, we see the same mistakes. Seven of them. Each one small on its own. Together, they quietly eat 5–10 points off your net margin.

Here they are, in the order they usually hit.

1. Coding everything to "materials" or "labor"

Your bookkeeper sees a charge from ABC Supply and codes it to "materials expense." That's accounting. It's not job costing.

Job costing means knowing that $8,400 at ABC Supply went to the Henderson re-roof — not just that you spent $8,400 on materials somewhere this month.

Without that level of detail, your P&L looks great while individual jobs quietly lose money. You keep bidding similar work at the same losing margins because you have no idea they're losing.

The fix: Every transaction tagged to a specific job. Every receipt, every sub invoice, every material order. If your system can't do this, your job margins aren't real. They're stories.

2. Closing books 30 days late

If your bookkeeper is three weeks behind at any given time, every decision you make today is running on last month's data.

That's how you hire a crew you can't afford, bid a job at margins you can't hit, or buy equipment you didn't need. By the time the books catch up, the decision is already made.

Real-time isn't a luxury anymore. It's the baseline.

The fix: Transactions should post the week they happen, not the month they happen. If your system requires a 30-day lag, you've outgrown it.

3. Skipping labor burden

This one costs more than any other mistake on this list.

Your crew's hourly wage is not their cost to you. Add in payroll taxes, workers comp, benefits, PTO, and unemployment — the real burden is typically 15–25% on top of wages.

If a guy earns $35/hour, he actually costs you $42–44/hour. Bid a job at his wage rate and you've guaranteed a margin miss before the first shingle goes down.

The fix: Calculate your burden rate by role, and use it in every bid. If your bookkeeper isn't posting labor at fully burdened cost, your job P&Ls are fiction.

4. Not tracking retention and deposits

Most contractors carry invisible liabilities in their bank balance.

Money held back by GCs. Deposits collected before work starts. Sub invoices sitting unpaid. All of it creates a "float" that looks like profit — but isn't.

You look at your bank and see $400K. You're confident. You hire. You commit. Two weeks later, you realize $140K of that was retention you can't touch and deposits you haven't earned. Now you're short.

The fix: Run an AR/AP snapshot weekly. Subtract retention and deposits-not-earned from your cash balance. What's left is your real operating cash. Schedule decisions from that number.

5. Missing change orders

The foreman agrees to extra work on-site. The customer nods. The crew does the work. Nobody writes it up. Nobody bills it.

At $3K–$10K per missed change order, and a handful per year, you're leaving tens of thousands on the table annually — while eating the cost of materials and labor you didn't capture.

The fix: No verbal change orders. Written approval before scope expands. Your job costing system should flag scope creep in real time, not at job close.

6. No bid-to-actual review

You bid a job at $80K. It cost you $95K. You shrug. You move on.

That's how contractors lose 20% of their margin — and never learn from it.

Every closed job should trigger a variance report: what did you bid, what did it actually cost, where was the gap, and why. Materials? Labor? Subs? Scope creep?

Without that feedback loop, your next bid is just as bad as the last one.

The fix: Run bid-to-actual on every job over $10K. Feed the learnings into your estimating template. Your bids should get sharper every quarter.

7. Running cash-basis when accrual shows reality

Cash-basis accounting only records income when money hits the bank and expenses when they're paid. That's fine for a sole proprietor. For a $5M+ contractor, it's a disaster.

Cash-basis books tell you Q1 was amazing — because you collected a big deposit — even though the work hasn't started and you haven't paid the subs yet. Then Q2 looks terrible because the bills hit.

Accrual accounting matches revenue to when work is performed and expenses to when they're incurred. That's reality. That's the number you make decisions from.

The fix: If you're over $1M, you should be running accrual. Full stop. Yes, it's more complex. Yes, it requires a real bookkeeping system. That's the price of knowing your actual financial position.

The common thread

Each of these mistakes has the same root cause: your bookkeeping was set up to file taxes, not to run the business.

Tax-focused bookkeeping gets you through April. Operations-focused bookkeeping — job-level, real-time, accrual — gets you a business that actually makes money.

That's the shift every serious contractor eventually makes. The ones who wait get crushed by the ones who don't.

What to do now

Pick the mistake on this list that hurts you most. Fix that one first.

If you don't know which one it is, start with #1 (job-level coding) — it's the gateway to everything else. You can't run bid-to-actual, track change orders, or calculate true margin without job-level data.

If fixing this yourself feels overwhelming, that's fair. Most contractors don't have the time or the in-house expertise to rebuild their books while running a business. That's where we come in.

Latch handles contractor bookkeeping the way it should be done — real-time, job-level, AI-powered — so you can run the business instead of the books.

Get a free diagnostic → https://golatch.com/contact

Ready to stop flying blind with your finances?

Get strategic bookkeeping built exclusively for contractors. See real job profitability, track crew performance, and make decisions with data instead of guesswork. Start growing with confidence.