How Do General Contractors Calculate the Fully Loaded Cost of Self-Performing Construction Work?
General contractors calculate the fully loaded cost of self-perform work across six layers: burdened labor, materials, equipment, supervision, overhead, and contingency.

A carpenter on the crew sheet earns $30 an hour. Add a 35% burden for payroll taxes, workers' compensation, and benefits, and that same carpenter costs the company $40.50 an hour before equipment, a foreman, or a dollar of overhead touches the job.
That gap between the wage on the payroll report and the cost on the finished job is where self-performed work quietly makes or loses money. Contractors who price it with the full picture, then track it against the same cost codes the whole way through, see a bad week while it is still fixable. Everyone else finds out at closeout.
What Costs Should General Contractors Include in Self-Perform Work?
General contractors should include six cost layers in self-perform work: burdened labor, landed materials with waste, equipment, direct supervision, allocated overhead, and a risk contingency. Anything narrower is a direct labor number, not a fully loaded cost.
The gap is large. Raw wages understate true labor expense by 25% to 40% on average, and by far more in high risk trades or union environments. Leave out equipment, supervision, and overhead too, and self-perform construction costs are badly understated. A bid that looks profitable on paper starts losing margin the day the crew mobilizes.
The six components:
- Burdened labor: wages plus payroll taxes, insurance, benefits, and paid time off.
- Materials: landed cost (price, tax, freight, delivery) plus a waste allowance.
- Equipment: owned machines at an internal hourly rate, rentals by actual use.
- Direct supervision: foremen, superintendents, and safety leads.
- Allocated overhead: each job's fair share of office, yard, and administrative cost.
- Risk contingency: a buffer for productivity swings and price spikes that the contractor absorbs.
Fully Loaded Self-Perform Cost = Burdened Labor + Materials (with waste) + Equipment + Direct Supervision + Allocated Overhead + Risk Contingency
Direct job costs versus allocated indirect costs: Direct costs trace to one project and one cost code: crew hours, materials issued, machine hours, and foreman time. Allocated indirect costs support many projects at once, such as estimating, accounting, and yard operations, and are spread on a consistent basis like labor hours. Separating the two shows margin before and after overhead and prevents the classic error of charging one cost twice.
The stakes rise for general contractors with self-perform industrial capabilities, such as prefab shops, warehouses, and kitting operations. As self-perform construction pulls more trade work under the contractor's own roof, shop and yard costs join the field costs that must be captured.
How Do Contractors Calculate Fully Loaded Labor Costs?
Contractors calculate fully loaded labor cost by dividing total annual burden (payroll taxes, insurance, benefits, and paid time off) by total annual base wages to get a burden percentage, then multiplying each worker's base rate by one plus that percentage. Overtime and paid nonproductive hours go on top.
What goes into the burden:
- Employer payroll taxes: FICA at 7.65% (6.2% Social Security plus 1.45% Medicare), FUTA at 0.6%, and state unemployment tax, typically 2% to 5%.
- Insurance: workers' compensation of roughly 3% to 15% for standard trades and 15% to 25% or more for roofing or structural work, plus general liability tied to payroll.
- Benefits: health, dental, and life coverage (often 8% to 12%), retirement, union fringes, training, and paid time off.
- Overtime and supplemental time: premiums, shift differentials, and paid hours that produce nothing billable, such as travel, yard runs, staging, and safety meetings.
The formulas:
Labor Burden Rate (%) = Total Annual Burden Costs ÷ Total Annual Base Wages × 100
Fully Burdened Hourly Rate = Base Wage × (1 + Burden Rate)
A carpenter paid $30 an hour at a 35% burden costs $40.50 an hour. An operator paid $28 at a 45% burden costs $40.60, before company overhead.
Assigning crew hours to cost codes: Foremen log hours daily by project and cost code through a mobile app or GPS verified clock in, which avoids the 10% to 15% memory errors of weekly paper timesheets. The ERP multiplies those hours by each worker's loaded rate, applies overtime multipliers, and posts the cost to the project ledger. A code such as 03-300-L for concrete labor keeps labor separate from material.
Planned hours versus actual hours and completed work:
Planned Productivity = Budgeted Hours ÷ Budgeted Units
Actual Productivity = Actual Hours to Date ÷ Installed Units to Date
Forecast Remaining Hours = Remaining Units × Forecast Hours per Unit
A drywall crew budgeted at 0.050 hours per square foot but running at 0.065 is 30% over plan. Caught in week two, that is a crew sizing fix. Caught at closeout, it is a loss.
How Does Construction Inventory Management Affect Material Costs
Construction inventory management decides whether the material cost on a job is real or guessed. When every purchase order, delivery, issue, transfer, return, and unit of waste is recorded against a cost code, material cost reflects what the job actually consumed. Without it, job cost numbers become guesses and margins erode quietly.
What to track:
- Purchase orders: tie each to a job and cost code, so committed cost is captured weeks before the invoice arrives.
- Delivery charges: use landed cost, which adds tax, freight, delivery fees, and fuel surcharges to the catalog price.
- Material issues: log every item pulled from the yard, warehouse, or truck to the job that received it.
- Consumption and waste: budget quantity as net installed quantity × (1 + waste factor). Typical allowances are 5% to 10% for framing, drywall, and sheet goods, 10% to 15% for tile and patterned layouts, and about 5% for ready mix concrete.
- Returns and leftovers: credit returned material and unused stock back to the job.
Actual Material Cost = (Purchases and Deliveries + Freight + Tax) − (Returned Vendor Credits + Unused Stock Remaining + Transfers Out)
How unrecorded transfers and duplicate orders distort job costs:
When a crew borrows material from one job to keep another moving and nobody logs it, the source job looks over budget and the receiving job looks unrealistically profitable. Work in progress schedules inherit the distortion, and so do future estimates.
Duplicate orders do different damage. Teams that cannot see stock across yards, trucks, and sites order "just in case," then pay premium freight when a real shortage hits. Stockouts leave paid crews waiting.
Connecting ERP workflows to cost allocation:
A construction inventory management ERP links stock, purchasing, job costing, and the ledger. Materials scanned by barcode as they leave the warehouse or truck charge to the project cost code at that moment, transfers between sites debit the receiving job and credit the source, and purchase orders post committed cost at order time. Finance and field teams then read the same record.
How General Contractors Calculate Equipment and Other Job Costs
General contractors charge owned equipment to jobs with an internal hourly rate: annual ownership costs divided by expected billable hours, plus hourly operating cost. Rentals are apportioned by the days or meter hours each project used. Foreman supervision, small tools, and other job specific expenses are charged directly, and overhead is allocated once.
Setting the internal rate:
- Ownership costs (fixed): depreciation, loan interest, insurance, licensing, and property taxes.
- Operating costs (variable): fuel, routine maintenance, repairs, tires, and wear items.
Internal Hourly Rate = (Total Annual Ownership Costs ÷ Estimated Annual Billable Hours) + Estimated Hourly Operating Cost
Utilization and idle time: If $40,000 of annual ownership cost is spread over 1,000 budgeted hours, the fixed portion is $40 an hour. If the machine works only 600 hours, it rises to $66.67, and a contractor still charging the old rate under recovers. Many contractors also use a run time rate (ownership plus operating) and a lower standby rate (ownership only) for idle machines.
Rentals, fuel, maintenance, and depreciation:
- Rentals: one invoice often spans several weeks and projects, so accountants split the base fee by days or engine hours per site, using daily logs or telematics.
- Rental extras: protection plans, environmental fees, and fuel follow the same split, while delivery goes to the first project and pickup to the last.
- Fuel: tracked by fuel card, tank log, or hour meter and apportioned by engine hours per cost code.
- Maintenance: routine servicing sits inside the operating rate, while major overhauls post to the machine's own asset record.
- Depreciation: recovered through the fixed ownership rate, which funds replacement.
Supervision, small tools, and other job costs: Foremen, superintendents, and safety leads belong in the estimate as direct supervision, along with field layout, small tools, and consumables. Temporary utilities, hoisting, dumpsters, cleanup, and weather protection must be budgeted in the work package or general conditions.
Allocating without double counting: If depreciation, maintenance, or insurance is already in an equipment rate, remove it from the overhead pool, or the project pays twice. At month end, hours times the internal rate debit the project's equipment cost code and credit an equipment recovery account.
How Do General Contractors Compare Self-Perform Costs With Subcontractor Bids?
General contractors compare the two on the same footing: the fully loaded self-perform estimate against the subcontractor's price, plus any scope the quote leaves out, plus the contractor's own coordination cost. The lower raw number is not always the lower real cost.
Total Self-Perform Cost = Burdened Direct Labor + Materials (with waste) + Equipment + Direct Supervision + Risk Contingency
Total Subcontracted Cost = Subcontractor Bid Price + Uncovered Scope Items + GC Coordination Fee
How much do general contractors mark up subcontractors?
As a supporting number, a coordination markup of roughly 5% to 15% on top of the subcontractor's price is typical. It covers submittal review, scheduling, trade integration, safety oversight, and payment administration. The subcontractor's price already carries its own markup of about 10% to 20%, so the layers stack. On self-performed scopes, the contractor applies its own overhead and profit rate to burdened labor, materials, and equipment instead. Mind the margin math: Price = Total Job Cost ÷ (1 − Target Gross Margin), so a 20% margin requires a 25% markup.
Exclusions, supervision, and risk:
- Exclusions: subcontractors often leave out temporary utilities, hoisting, dumpsters, cleanup, or weather protection. Add these to the bid or remove them from the self-perform side.
- Supervision: self-performing needs its own foremen and superintendents. Subcontracting still requires project management staff to coordinate trades and review pay applications, and the same coordination gaps explain why construction projects are delayed.
- Productivity and price risk: the contractor absorbs 100% of labor overruns, waste, and price spikes on self-performed work. A fixed price subcontractor absorbs them unless a change order is justified.
- Control and default risk: self-performing gives tight control of crew size, sequence, and quality and removes subcontractor default exposure.
Because the contractor carries the risk, a contingency belongs in the self-perform estimate.
When your own crews win: When totals are close, contractors generally self-perform if they have proven productivity data, available crews, and a need for tight schedule control. They subcontract when specialized licenses are required, local labor is tight, or they would rather transfer overrun risk.
How Can Job Costing and Construction ERP Help Control Self-Perform Costs
Construction job costing and an ERP control self-perform costs by tagging every labor hour, material issue, and machine hour to the same job and cost code, then comparing estimated, budgeted, committed, and actual cost continuously. Overruns surface while work is underway, and the forecast final cost updates as data posts.
The four cost layers:
- Estimated cost: the bid baseline from takeoffs, production rates, quotes, and loaded labor rates.
- Budgeted cost: the original budget plus approved changes.
- Committed cost: executed purchase orders, material agreements, and subcontracts, recorded before invoices or payroll post.
- Actual cost: posted payroll, paid invoices, and ledger expenses.
Budget versus actual alone is risky, because late invoices can make a job look under budget when heavy commitments exist. A $24,400 millwork purchase order against a $22,000 budget flags a $2,400 overrun in week three, not at closeout.
Forecasting the final cost:
Estimate at Completion (EAC) = Actual Cost to Date + Remaining Commitments + Estimated Cost to Complete
Variance = Current Budget − EAC (positive means projected savings, negative means a projected overrun)
What to track alongside the dollars:
- Labor productivity: actual hours per installed unit against plan.
- Material consumption: purchase orders against deliveries, consumption, and waste.
- Equipment utilization: estimated hours against telematics or meter hours by cost code.
- Cost per unit: Total Cost Incurred for Scope ÷ Total Installed Units to Date, with labor and material unit costs broken out.
When an overrun appears, a variance bridge isolates the driver: quantity growth, productivity, crew mix, or rate and price changes.
Why integrated ERP data matters: Estimating, purchasing, field time, and accounting share one set of cost codes, so time cards, mobile scans, equipment records, and daily progress reports feed one ledger. Loaded rates apply automatically, reflecting a true hourly cost of $40 to $50 or more rather than the raw $28 to $35 wage. A construction inventory management ERP on the same cost codes as payroll and equipment makes the fully loaded number trustworthy, and when projected cost passes the budget, managers can resize crews, resequence scope, or submit change orders in time.
Where MerlinAI fits: MerlinAI is an AI powered ERP built specifically for construction, bringing estimating, project management, materials management, shop floor operations, and financial management into one platform. Its Merlin EOS product serves contractors running prefab shops, self-perform divisions, and warehouses, turning fully loaded costing from a one time estimate into a live number.
Frequently Asked Questions
What is the fully loaded cost of self-performing construction work?
It is the total cost of doing trade work with your own crews: burdened labor, landed materials with waste, equipment, supervision, allocated overhead, and a risk contingency. The cost of self-performing construction runs well beyond wages, and it is the only fair basis for comparing a subcontractor bid.
How much does labor burden add to base wages?
About 25% to 40% on average, and 50% to 70% in higher risk trades, union environments, or specialized jurisdictions. A $30 an hour carpenter at a 35% burden costs $40.50 an hour.
How much do general contractors mark up subcontractors?
Typically a 5% to 15% coordination markup on top of the subcontractor's price. That price already includes roughly 10% to 20% for the subcontractor's own overhead and profit, so the layers stack.
How does construction inventory management improve job costing accuracy?
It assigns every delivery, issue, transfer, and return to the right cost code as it happens, so budgets reflect real consumption, borrowed material stops distorting two jobs, and rush freight shrinks.
When is self-performing cheaper than subcontracting?
When totals are close, self-performing tends to win with proven productivity data, available crews, and a need for tight schedule control. Subcontracting wins when specialized licenses are required, labor is tight, or the contractor wants to transfer overrun risk.