Most project-driven companies don't fail because of one bad job. They lose money slowly — across dozens of small decisions that look completely reasonable in the moment.
And by the time you see it... it's already too late to fix.
A profit leak isn't a dramatic failure. It's what happens when costs aren't visible in real time, decisions get made without full context, and small inefficiencies repeat themselves across every job you run.
One leak doesn't hurt. But dozens running simultaneously — every single week — will quietly destroy your margins while everything looks busy and healthy from the outside.
You think you know what an hour costs. You don't.
Most companies quote jobs using wage as a proxy for labour cost. It's the number everyone knows, so it becomes the number everyone uses. But wage is not cost.
Real labour cost includes employer taxes, benefits, PTO accrual, insurance, training time, downtime between jobs, and the overhead that keeps the lights on. Miss any layer — and the margin you quoted was never actually there.
Small delays don't stay small. They become overtime.
Monday morning crew decisions get made without live job data. So crews get sent to sites where materials aren't ready. Tasks start that can't actually move forward. Hours burn with no real progress.
To recover the schedule, overtime gets approved. To hit the deadline, pressure stacks. And by Friday, you've paid premium rates to fix a problem that shouldn't have existed in the first place.
You don't notice it on one job. You feel it across the business.
Consumables and materials get treated as minor costs — because individually, they are. A supplemental pickup here. A bit of waste there. Usage that varies by crew but nobody measures it consistently.
The problem isn't any single purchase. It's the pattern. Across 18 active jobs, that pattern compounds silently until you're looking at material variance that nobody can explain — because nobody was tracking it while it was happening.
If your data is fragmented, your decisions are guesses.
Finance has one set of numbers. Operations has another. The PM has notes. Estimating has the original budget. Nobody is working from the same reality — and while they're arguing about which number is right, the job keeps running and the margin keeps leaking.
This isn't a people problem. It's a systems problem. When the truth lives in multiple places, decisions get delayed — and delayed decisions always cost money.
You can be profitable and still feel broke.
Work gets completed. But billing lags behind. Timecards need cleanup. Costs aren't finalized. Change orders sit unpriced for days — sometimes weeks. Invoices go out in batches instead of continuously.
The result: you're financing your customers' projects with your own payroll. Cash that should be in your account is sitting in unbilled WIP while you're stressing about Friday's payroll run.
Most companies already have most of the data. The timecards exist. The material orders exist. The job costs are being tracked somewhere.
The problem is timing. That data arrives 30–45 days after the decisions that mattered. By then, the job is closed, the crew is on the next one, and the margin is gone.
Delayed visibility doesn't just hide problems. It makes them permanent.
If you recognised yourself in more than one of these leaks — you're not alone. Every project-driven company at $1M–$20M deals with all five.
The difference is: some of them can see it in real time. Most can't.