Your Jobs Look Profitable Until They Don’t

The Margin Leak Nobody Job-Costs

There's a specific kind of confusion that hits contractors around March. The year-end numbers come in, and revenue is up — maybe way up — but the bank account doesn't agree. Every individual job felt profitable. The estimates were solid. Nobody got sued. And yet the money that should be there isn't.

Nine times out of ten, when we dig into this with a contractor, the answer isn't dramatic. It's not theft, and it's not one disaster job. It's uncosted spending: hundreds of small purchases that hit the bank account but never got assigned to a job, so no job ever "paid" for them. The money left, but on paper, no project spent it.

Why do my construction jobs show profit but I have no cash?

Because your job-cost reports only know about the costs someone entered. The gap between money spent and money job-costed is invisible on every per-job report and only shows up in one place: your bank balance.

Here's how the leak actually forms. Your estimate for a kitchen remodel includes lumber, cabinets, fixtures — the big, invoiced stuff. Those get costed because they arrive with paperwork.

What doesn't get costed:

  • The 7 AM supply runs. Fasteners, adhesive, a replacement blade, two bags of concrete. $40–400 each, several per week, receipt in a pocket.
  • Fuel and mileage burned running between three active sites.
  • The sub who bought materials on his own card and got reimbursed from petty cash with a handshake.
  • The return that never got credited back to the job it came off of.
  • The "shop stock" purchase that was actually 80% for the Hendersons' bathroom.

Individually, noise. Collectively, on a $120,000 job, it's common to find $2,000–5,000 of spend that never touched the job's cost report. That's 2–4 points of margin. If you're estimating at 35% gross and actually landing 31%, you're not mispricing your work — you're misreading your own history, and then baking that misreading into every future bid.

How much margin do untracked purchases actually eat?

Run your own number. You only need three inputs to identify the difference between what left the bank account and what actually reached your job-cost reports.

Three inputs

  • Monthly card and cash spend on materials and supplies, taken from bank statements.
  • The portion of that spending that appears in job-cost reports with a job assigned.
  • The difference between the two, annualized.

(from bank statements, not from QuickBooks — that's the point).

A real-shaped example

  • A GC doing $1.4M per year finds $31,000 per month in materials-and-supplies spending.
  • Only $26,500 per month appears in job-cost reports with a project attached.
  • The remaining $4,500 per month equals $54,000 per year in spending that is uncategorized, treated as overhead, or missing entirely.

That contractor’s overhead looks bloated, every job looks 3–4% more profitable than it really was, and the next year’s bids inherit both errors.

The cruelest part is that the contractor may respond to the cash squeeze by cutting bids to win more work — sending more volume through the same leaky system.

What's the difference between job costing and just doing my books?

Your books answer “Did the company make money?” Job costing answers “Which work makes money?”

That second question is the one that changes how you bid, which projects you pursue, and how you manage your crews.

Not every type of work performs equally

Your remodels may net 34% while additions net only 19%. Without accurate job costing, the larger projects you pursue may actually be your least profitable work.

Crews can produce different cost patterns

One crew’s projects may consistently use $1,800 more in miscellaneous materials than another crew’s projects. Accurate job costs turn that difference into a conversation instead of a mystery.

Change orders create hidden material costs

Additional materials may be assigned to the original scope — or to no project at all — even though they should have been included in a billable change order.

These insights do not strictly require new software. They require every purchase to carry two facts: what was purchased and which job it supported.

The receipt is the cheapest possible carrier of those facts because the moment of purchase is the only moment when both are known with certainty.

How do contractors actually fix this without hiring an office manager?

The fixes that survive contact with a real crew share one property: they demand almost nothing at the moment of purchase and do the sorting later.

  • Make the job name part of buying

    Ask supply houses to include a job name or purchase order on the account ticket. It costs nothing and captures the larger invoiced purchases before they become disconnected from the project.

  • One photo, at the register, every time

    The rule has to be binary: every receipt, not only the important ones. Judgment calls are where compliance disappears. A shared text thread is crude, but it is still better than the truck floor.

  • Close the loop against the bank

    Photos in a folder cannot tell you which receipts are missing. Matching captured receipts against actual card transactions is what reveals the purchases that escaped the workflow.

    Receipt Hunter does this for crews using their existing cards, while corporate-card platforms can provide similar matching for purchases made on their own cards.

  • Review the orphans weekly

    Spend fifteen minutes each week assigning every transaction that still has no job. While the purchase is fresh, this is simple. Several months later, it becomes archaeology.

The match-against-the-bank step is the difference between “we take photos” and “we know our numbers.”

The uncomfortable question to end on

If someone asked you, right now, which of your last five completed jobs made the most money per week of crew time — could you answer with a report, or with a feeling?

Contractors who can answer with a report bid differently. They fire their worst kind of work. They stop discounting their best.

The receipts were never the point. Knowing which work deserves your next twelve months — that’s the point.

Quick FAQ

  • What percentage of construction costs typically go untracked?

    There's no universal figure, but pulling 3 months of bank statements and comparing against job-costed totals routinely surfaces a 5–15% gap in materials-and-supplies spend for small contractors. Your own statements will tell you in an afternoon.

  • Should small purchases even be job-costed, or is that overkill?

    Cost them. "Small" purchases are precisely the category that leaks, because each one feels too minor to matter. $80 three times a week is $12,000 a year — real margin on any job ledger.

  • Can QuickBooks do job costing by itself?

    QuickBooks can hold job costs fine — projects, classes, items. What it can't do is know about purchases nobody entered or assign jobs nobody specified. The gap is capture, not software.