INDIRECT LABOR IN CONSTRUCTION: WHERE IT GOES AND WHY IT MATTERS.
Indirect labor is any labor cost that cannot be tied to a specific job — shop time, yard work, travel between jobs, training, equipment maintenance, cleanup, and time between projects. It belongs in overhead, not job costs. When indirect labor gets buried in job costs, your job margins look worse than they are and your overhead rate is understated. When it is left out entirely, you are losing money on every hour without knowing it.
Most subcontractors handle indirect labor wrong in one of two ways: they charge it to the nearest open job, or they ignore it until the bookkeeper asks. Neither is correct. CFOS builds a dedicated indirect labor cost code in overhead so every dollar is visible and every bid recovers it.
Indirect labor includes every hour an employee works that cannot be billed or charged to a specific project. Shop time — maintaining equipment, organizing materials, prepping tools. Yard work — receiving deliveries, staging materials, loading trucks. Travel time between jobs when it is not billable. Training and safety meetings. Cleanup after project completion. Time between projects when crew is on the clock but no job is active.
On a crew of 8 running at $45 per hour fully burdened, two hours per week per person in indirect labor is $37,440 per year. That money has to come from somewhere. If it is not in overhead, it is coming from job margins — invisibly.
The most common error is charging indirect labor to the nearest open job. A crew finishes one site and spends two hours loading and driving to the next. That travel time gets charged to whichever job is easiest to log. The job margins look worse. The overhead rate looks lower than it is. Bids built on that overhead rate are underpriced.
The second error is not tracking it at all. The hours disappear into payroll as regular time but land nowhere in the financial system. Overhead is understated. Job margins look clean. The business is quietly losing money on every idle hour without any visibility into how much.
Overhead rate is calculated as total overhead expense divided by revenue. If indirect labor is excluded from overhead, the rate is understated. On a $3M subcontractor with $45,000 in indirect labor that is misclassified into job costs, overhead appears to be 12% of revenue when it is actually 13.5%. Every bid goes out at 12% overhead when 13.5% is the real cost to operate.
Over 50 jobs a year, that 1.5-point gap is $45,000 in uncovered overhead — exactly equal to the indirect labor that was misclassified. The math is circular. The solution is a dedicated overhead cost code for indirect labor that every foreman codes to when there is no active job to charge.
FLAT MONTHLY FEE. NO SURPRISES.
Two tiers based on trailing 12-month revenue. No hourly billing. No payroll. No add-ons.
| Revenue | Core Financial | Executive Financial |
|---|---|---|
| Under $1M | $1,900/mo | $2,900/mo |
| $1M–$3M | $2,600/mo | $3,600/mo |
| $4M–$6M | $3,800/mo | $5,500/mo |
| $7M–$9M | $5,100/mo | $6,900/mo |
| $10M–$12M | $6,100/mo | $8,500/mo |
| $13M+ | Quoted | Quoted |