If you bid off what you pay the crew per hour, you are underbidding every job. That is the whole problem. The labor burden rate construction estimators actually need runs 25% to 50% above base pay before you count a truck, and closer to 80% once you do. A carpenter you pay $30 an hour costs you roughly $56 an hour in the field. Bid him at $39 and you have quietly given away $17 an hour on every hour he works.
This is the single most common reason a 15% gross margin bid lands at 2%.
Why 15% margin jobs finish at 2%
Run the math on a $60,000 remodel with 400 crew hours.
You bid the labor at $39 an hour: $30 base plus a 30% gut-feel markup. Your true cost is $55.81. The gap is $16.81 an hour, or $6,724 across the job. Your expected gross profit was $9,000. You finish with $2,276. That is 3.8%, and you had a good job. Nothing went wrong. No change order got denied, no rain week, no callback.
The estimate was wrong before the first nail. Every rework of the schedule, every hour of rain delay, every punch-list return comes out of what is left. That is why contractors describe their year as "busy but broke." Volume does not fix a burden error — it multiplies it. Procore's job costing guide makes the same point from the tracking side: costs you never loaded into the estimate cannot be variances you catch later. They just show up as a thin year.
The full burden stack
Burden is every dollar you spend to put one person on a job site for one hour, minus their base wage. There are four layers, and most contractors capture only the first.
Statutory costs. FICA at 7.65%. Federal and state unemployment, typically 1% to 4% combined depending on your state and experience rating. These are non-negotiable and easy to pull from your payroll register.
Workers' compensation by class code. This is where trades separate. Comp is priced per $100 of payroll and varies enormously by code and by your experience modifier. Carpentry commonly runs $8 to $14 per $100. Electrical often lands $4 to $7. Roofing can run $25 to $60. Read your declarations page — do not guess, and do not use a blended shop average when you have three class codes on one crew.
Benefits and paid time. Health contribution, retirement match, PTO, holidays, sick time, per diem. A $650 per month health contribution is $7,800 a year on a $62,400 wage — 12.5% by itself.
Field overhead you keep calling general overhead. Truck payment, fuel, insurance, and maintenance. Phone and tablet. Small tools, blades, PPE, and consumables. Safety training and licensing. If the cost disappears when that person leaves, it belongs in labor burden, not in your office overhead pool. NetSuite's construction job costing overview is direct about this: misallocated indirect cost is the most common source of a clean-looking P&L with no cash behind it.
The formula, worked on one carpenter
Fully burdened hourly cost equals total annual cost of employment divided by actual billable field hours.
The denominator is where most calculators cheat. You pay for 2,080 hours. You do not sell 2,080 hours.
Take the $30 carpenter:
| Line | Annual |
|---|---|
| Base wage (2,080 hrs) | $62,400 |
| FICA 7.65% | $4,774 |
| FUTA/SUTA 2.5% | $1,560 |
| Workers' comp at $9 per $100 | $5,616 |
| General liability allocation | $1,248 |
| Health contribution | $7,800 |
| Truck, fuel, maintenance | $9,600 |
| Phone, tablet, software | $1,200 |
| Tools, PPE, training | $1,800 |
| Total annual cost | $96,000 |
Now the hours. Start at 2,080. Subtract 128 hours of PTO and holidays, 40 hours of sick time, and roughly 190 hours of drive time, shop time, safety meetings, and warranty callbacks. You are left with about 1,720 billable hours.
$96,000 divided by 1,720 equals $55.81 per hour. Your multiplier is 1.86.
Note the two numbers you now have. Payroll burden alone — taxes, comp, benefits — is $19,750 on $62,400, or 31.7%. That is the "add 30%" figure everyone quotes, and it is not wrong. It is just incomplete. The truck, the tools, and the unsold hours take you from 1.32 to 1.86.
Typical burden by trade
Use these as sanity checks against your own calculation, not as substitutes for it. Payroll-only burden, before vehicle and non-billable hours:
- Electrical: 28% to 36%
- Plumbing and HVAC: 30% to 40%
- Carpentry and framing: 34% to 45%
- Concrete and masonry: 38% to 50%
- Excavation: 32% to 44%
- Roofing: 50% to 70%
Add 15 to 25 points on top of any of these once you load vehicle cost and strip non-billable hours out of the denominator. A roofer at a 1.95 multiplier is normal. If your estimating template uses one number for the whole company, your roofing work is subsidizing nothing and your electrical work is losing bids it should win.
The CFMA Construction Financial Management Reference Guide treats burden as a per-class-code calculation for exactly this reason. So does the AICPA's Construction Contractors audit and accounting guide, which is worth reading if you carry a surety relationship.
Getting the multiplier into estimates and job cost reports
A burden rate that lives in a spreadsheet on one estimator's laptop is not a control. It needs to be in three places.
In the estimate template, as a rate by class code, not a company average. Autodesk's job costing walkthrough covers the mechanics of coding labor at the cost-code level.
In payroll allocation, so burdened labor hits the job in your books, not just base wage. QuickBooks supports this through payroll items and service items — Intuit's construction accounting primer shows the setup. Burdened labor is cost of goods sold, not overhead.
In the weekly variance review, comparing estimated burdened hours to actual. See our job costing hub for the review cadence and the project profitability framework that sits on top of it.
This is where CentSight fits. It reads your QuickBooks and bank data live and watches job-level margin against your estimate, then flags drift as Healthy, Monitor, or Critical before the job closes. It does not replace your accounting system. It sits on top of it, at $95 a month, so the variance reaches you in week three instead of at year-end.
Recalculate quarterly
Comp rates change at renewal. Your experience mod moves. Fuel moves. Health premiums move every January. A burden rate calculated once and used for three years is a slow leak.
Rerun the numbers each quarter, and rerun them any time you add a truck or change carriers. Then check the effect on cash, not just margin — see construction cash flow and cash gap forecasting for how burden errors compound through progress billing cycles. The full framework lives at our construction finance hub.
The takeaway: calculate one burdened rate per class code, divide by billable hours rather than paid hours, and put that number in the estimate template this week. If your current multiplier is under 1.5, you are bidding jobs you should be losing.



