Contractor business guide

How to Allocate Overhead to Construction Jobs

By Contractor Money Tools · Published

You already know your annual overhead.

The harder question is:

How much of that overhead should each job carry?

Suppose your Contractor Overhead Calculator shows:

  • Annual overhead: $120,000
  • Overhead as a share of revenue: 20%
  • Overhead per direct labor dollar: $0.50
  • Overhead per direct job-cost dollar: $0.30
  • Overhead per productive field hour: $30

Those numbers all describe the same $120,000 of overhead using different allocation bases.

They are not interchangeable.

A labor-heavy service contractor may find productive field hours useful. A material-heavy installer may get distorted results from the same method. Another contractor may prefer direct job cost or a revenue-based view because it better matches how the business operates.

The goal is not to find a universal contractor overhead rate.

The goal is to choose a recovery basis that reasonably reflects your job mix, use it consistently, and make sure your estimates are carrying enough company overhead.

If you do not yet know your annual overhead or recovery rates, calculate them first with the Contractor Overhead Calculator.

Allocating overhead is different from calculating overhead

These are two separate decisions.

Calculating overhead asks:

How much indirect business cost does the company need to recover?

Allocating overhead asks:

How should individual jobs carry their share of that cost?

This guide starts with the first question already answered.

The remaining task is to choose a practical allocation basis and apply it to your estimates and job costing.

For a small contractor, four useful approaches are:

  1. productive labor hours;
  2. direct labor dollars;
  3. direct job costs;
  4. revenue.

Each method can be mathematically valid.

The difference is what activity you use to spread the same overhead pool across your work.

Method 1: allocate overhead by productive labor hours

A labor-hour method spreads company overhead across the productive field hours expected to generate work.

The basic job calculation is:

Job productive labor hours × Overhead per productive field hour = Allocated overhead

Suppose your overhead recovery view is:

$30 per productive field hour

A job is expected to require:

20 productive field hours

Allocated overhead:

20 × $30 = $600

You would assign $600 of company overhead to that job under this method.

When labor-hour allocation can work well

This approach can be useful when:

  • your business is strongly labor-driven;
  • field time is a major driver of company activity;
  • labor hours are tracked reliably;
  • jobs use similar amounts of office, scheduling, supervision, vehicles, and support per field hour;
  • material cost varies widely and would distort a cost-based allocation.

Typical examples might include service-oriented electrical, plumbing, HVAC, handyman, maintenance, or other trade businesses where productive labor time closely follows job activity.

Where labor-hour allocation can distort results

Consider two jobs:

Job A

  • 20 labor hours
  • $1,000 materials

Job B

  • 20 labor hours
  • $15,000 materials

If both consume roughly the same field and office effort, allocating the same overhead based on 20 hours may make sense.

But if Job B also requires substantially more procurement, coordination, insurance exposure, project management, or administrative work, labor hours alone may understate how much overhead that job consumes.

Labor hours are a useful driver only when they reasonably track the business resources being used.

Method 2: allocate overhead by direct labor dollars

Instead of field hours, you can allocate overhead relative to direct labor cost.

The calculation is:

Job direct labor cost × Overhead per direct labor dollar = Allocated overhead

Suppose your annual numbers imply:

$0.50 of overhead per $1 of direct labor

A job contains:

$4,000 of direct labor cost

Allocated overhead:

$4,000 × 0.50 = $2,000

When direct labor dollars can work well

This method can be practical when:

  • labor is a major part of job cost;
  • higher-cost labor generally corresponds with more complex work;
  • your accounting system already reports direct labor dollars accurately;
  • labor dollars are easier to track consistently than productive field hours.

It can also be convenient when estimates already use separate labor-cost lines.

Where labor-dollar allocation can distort results

A higher-paid employee does not automatically consume proportionally more:

  • office rent;
  • software;
  • dispatch capacity;
  • accounting;
  • marketing;
  • management time.

Consider two technicians:

  • Technician A costs $35 per productive hour.
  • Technician B costs $55 per productive hour.

If they perform similar jobs requiring similar company support, labor-dollar allocation assigns substantially more overhead to the job using Technician B simply because the labor is more expensive.

That may or may not reflect economic reality.

The method works best when labor dollars are a reasonable proxy for the resources the business actually consumes.

Method 3: allocate overhead by direct job costs

A direct-cost method spreads overhead across the total direct costs associated with jobs.

Depending on the company’s cost model, direct job cost may include:

  • direct labor;
  • materials;
  • subcontractors;
  • job-specific equipment;
  • other direct costs.

The calculation is:

Job direct cost × Overhead per direct-cost dollar = Allocated overhead

Suppose your recovery view is:

$0.30 overhead per $1 of direct job cost

A project has:

$20,000 of direct job cost

Allocated overhead:

$20,000 × 0.30 = $6,000

When direct-cost allocation can work well

This method may be useful when:

  • labor, materials, and subcontractors all contribute to business complexity;
  • jobs have a reasonably consistent cost structure;
  • larger direct-cost jobs tend to require more office, management, purchasing, and coordination resources;
  • your accounting system already tracks job costs accurately.

It can also be easier to maintain than separate recovery methods for every cost category.

Where direct-cost allocation can distort results

The biggest problem appears when expensive direct costs do not actually create proportionally more overhead.

Imagine two jobs.

Job A — labor-heavy repair

  • Labor: $6,000
  • Materials: $1,000
  • Total direct cost: $7,000

Job B — equipment installation

  • Labor: $2,000
  • Materials/equipment: $18,000
  • Total direct cost: $20,000

With a $0.30 direct-cost recovery rate:

Job A overhead:

$7,000 × 0.30 = $2,100

Job B overhead:

$20,000 × 0.30 = $6,000

That might be reasonable if the larger installation genuinely requires much more coordination and support.

But suppose the $18,000 equipment item is ordered once, delivered directly to the site, and creates very little additional office work.

Now Job B receives nearly three times as much overhead largely because an expensive item passes through the project.

That can over-allocate overhead to material-heavy work and under-allocate it elsewhere.

Method 4: allocate overhead by revenue

A revenue-based view spreads annual overhead proportionally across job revenue.

Suppose:

  • Annual revenue: $600,000
  • Annual overhead: $120,000

Overhead equals:

20% of revenue

If a completed or planned job represents:

$50,000 of revenue

A proportional allocation would be:

$50,000 × 20% = $10,000

Under that view, the job carries $10,000 of annual overhead.

When revenue-based allocation can be useful

It can be attractive because it is simple.

It may work reasonably well when:

  • job mix is relatively stable;
  • different jobs have similar relationships between selling price and business effort;
  • the contractor wants a straightforward company-level allocation;
  • revenue is tracked more reliably than labor hours or job-cost detail.

It can also be useful as a high-level check.

Where revenue-based allocation can distort results

Selling price is not always a good measure of how much overhead a job consumes.

Two jobs could both sell for $20,000 while being operationally very different.

One might require:

  • extensive estimating;
  • many service visits;
  • significant scheduling;
  • field supervision.

Another could involve:

  • a large material purchase;
  • a short installation;
  • minimal management time.

A revenue-based model assigns them the same overhead because their prices are equal.

That may be convenient, but convenience does not necessarily mean the allocation follows resource usage.

Revenue percentage is not the same as markup on cost

This distinction is easy to get wrong.

Suppose the company has:

  • Revenue: $600,000
  • Direct job costs: $400,000
  • Overhead: $120,000

Overhead equals:

$120,000 ÷ $600,000 = 20% of revenue

But overhead also equals:

$120,000 ÷ $400,000 = 30% of direct costs

Both percentages describe the same $120,000 of overhead.

They use different denominators.

Therefore:

20% overhead as a percentage of revenue does not mean you can simply add 20% to job cost and expect to recover the same amount.

For example, take a job with:

$10,000 of direct cost

Adding 20% gives:

$12,000

The $2,000 difference is 20% of cost.

But $2,000 is:

16.7% of the $12,000 selling price

not 20% of revenue.

If you actually wanted $2,500 of overhead recovery on a $12,500 job, that $2,500 would equal:

  • 25% of the $10,000 cost;
  • 20% of the $12,500 revenue.

This is why every recovery rate needs to be used with the same denominator it was calculated from.

Which overhead allocation method should you use?

There is no universal answer.

The best method is the one that:

  1. reflects your normal job mix reasonably well;
  2. uses data you can track consistently;
  3. produces sensible allocations across different types of jobs;
  4. can be used the same way in estimating and job costing.

A useful decision framework is:

Consider productive labor hours when:

  • field labor drives most of the business;
  • labor time is tracked accurately;
  • jobs differ more in labor effort than in material value;
  • material pass-through would distort a cost-based allocation.

Consider direct labor dollars when:

  • labor cost is the main economic driver;
  • labor classes and labor expense reflect job complexity reasonably well;
  • you already estimate and track labor dollars consistently.

Consider direct job costs when:

  • labor, materials, subcontractors, and equipment all contribute to job complexity;
  • higher-cost jobs generally consume more company support;
  • job-cost records are reliable.

Consider revenue when:

  • you need a simple proportional approach;
  • job mix is relatively consistent;
  • selling price reasonably follows business complexity;
  • the method is primarily used as a high-level company allocation rather than a precise activity model.

If none of the four produces reasonable results across your work, the issue may not be the arithmetic.

You may be trying to force one allocation base onto a business whose jobs consume overhead in very different ways.

Test the method against two very different jobs

Before adopting an overhead recovery basis across the business, test it on jobs that look very different.

Consider the following simplified examples.

Job A — labor-heavy service project

  • Productive labor: 40 hours
  • Direct labor cost: $2,000
  • Materials: $1,000
  • Total direct cost: $3,000
  • Selling price: $6,000

Job B — material-heavy installation

  • Productive labor: 12 hours
  • Direct labor cost: $600
  • Materials/equipment: $14,400
  • Total direct cost: $15,000
  • Selling price: $20,000

Assume the company has calculated these recovery views:

  • $30 per productive field hour;
  • $0.50 per direct labor dollar;
  • $0.30 per direct-cost dollar;
  • 20% of revenue.

Labor-hour allocation

Job A:

40 × $30 = $1,200

Job B:

12 × $30 = $360

Direct-labor-dollar allocation

Job A:

$2,000 × 0.50 = $1,000

Job B:

$600 × 0.50 = $300

Direct-cost allocation

Job A:

$3,000 × 0.30 = $900

Job B:

$15,000 × 0.30 = $4,500

Revenue allocation

Job A:

$6,000 × 20% = $1,200

Job B:

$20,000 × 20% = $4,000

These methods tell very different stories.

The labor-based methods place most of the overhead on Job A because it consumes more field labor.

The cost- and revenue-based methods place far more overhead on Job B because it contains expensive materials and generates more revenue.

Which result is more reasonable depends on what actually drives your business overhead.

Ask:

  • Does material purchasing create substantial office and management work?
  • Does a long labor job use more supervision and scheduling?
  • Does a high-value project create additional insurance, coordination, or financing needs?
  • Is expensive equipment largely a pass-through cost?
  • Which job consumes more owner or staff attention?

You do not need a perfectly scientific answer.

You need a method that is less wrong across your normal mix of jobs and can be maintained consistently.

One allocation rate may be too crude for some contractors

A single recovery rate is often the best place for a small contractor to start.

It is easy to understand, easy to maintain, and easier to use consistently.

But some businesses have very different overhead drivers.

For example:

  • field-service support may follow labor hours;
  • fleet costs may follow vehicle or field activity;
  • estimating and project management may follow project size or complexity;
  • purchasing/admin may follow material and subcontractor volume.

A more advanced contractor could separate overhead into different cost pools and allocate each pool using a different driver.

For example:

Field-support overhead

→ productive labor hours

Purchasing / project-administration overhead

→ direct job cost or another project driver

That may produce more accurate job economics.

But complexity has a cost.

A theoretically perfect allocation system that nobody updates or uses consistently is usually worse than a simpler model the business actually follows.

For many small contractors, one carefully chosen recovery basis is a reasonable starting point.

Apply the chosen rate consistently in estimates

Once you choose a recovery method, the estimate should use the corresponding activity.

Suppose the business selects productive labor hours.

Overhead recovery rate:

$30 per productive field hour

Estimated job labor:

25 productive field hours

Allocated overhead:

25 × $30 = $750

That $750 becomes part of the internal economics of the job.

If your pricing process builds the final quote from job costs and an allocated overhead amount, you can then carry that cost into the Contractor Markup Calculator to evaluate the selling price under your chosen pricing method.

The important point is not that every contractor must price overhead the same way.

It is that the estimate should use the same recovery logic the business has chosen.

Do not confuse overhead per field hour with labor burden

Two hourly cost concepts can appear next to each other in a contractor’s estimate.

They are not the same thing.

Suppose:

Employee fully burdened labor cost: $44 per productive hour

and:

Company overhead recovery: $30 per productive field hour

The first answers:

What does this employee’s productive labor cost the business?

The second answers:

How much company overhead are we allocating across each productive field hour?

If your estimate uses both concepts, keep the underlying costs separate so the same expense is not recovered twice.

If you need to determine the employee’s true productive-hour cost, use the Labor Burden Calculator.

Use compatible logic in job costing

Overhead allocation becomes much more useful when the estimating and actual-review systems speak the same language.

Suppose an estimate allocates overhead by productive labor hours:

  • Estimated field hours: 25
  • Overhead rate: $30/hour
  • Estimated allocated overhead: $750

Actual job:

  • Actual productive field hours: 32

Using the same allocation basis:

32 × $30 = $960

The job consumed:

$210 more allocated overhead than estimated

under that method.

Now the contractor can see that the labor-hours assumption affected not only labor cost but also the amount of company overhead the job was expected to carry.

But if the estimate uses labor hours while the actual report assigns overhead as a percentage of revenue, the comparison becomes difficult to interpret.

You are no longer comparing the same economic model.

A useful operating rule is:

Use compatible cost definitions in estimating and job costing.

That does not mean accounting reports must look exactly like estimate screens.

It means the business should understand how one view maps to the other.

These terms are often used together, but it helps to separate them.

Overhead allocation

An internal cost-management question:

How much of the company’s overhead should we assign to this job?

Overhead recovery

A pricing/economic question:

Did the revenue from this job actually provide enough money to cover that share of overhead?

A job can be assigned $1,000 of overhead internally and still fail to recover it.

For example:

  • Direct job cost: $5,000
  • Allocated overhead: $1,000
  • Total internal cost before profit: $6,000

If the contractor sells the job for:

$5,700

the accounting model may still allocate $1,000 of overhead to it, but the job’s revenue is not sufficient to cover all $6,000 of modeled cost.

Allocation tells you where the cost belongs.

Pricing determines whether the job recovers it.

That distinction becomes especially important when you later compare estimated and actual job profitability.

Common overhead-allocation mistakes

Using a revenue percentage as a markup on cost

A 20% overhead-to-revenue ratio and a 20% markup on job cost are not the same calculation.

Always apply a recovery rate to the denominator it was based on.

Choosing a method only because it is easy

The easiest denominator may not represent how your jobs consume company resources.

Simple is good only when it still produces sensible results.

Using labor-hour allocation without reliable labor hours

If time tracking is inconsistent, an hourly allocation system can look precise while being built on weak data.

Letting expensive materials absorb too much overhead

Direct-cost methods can heavily load material-intensive jobs even when the materials themselves create little additional overhead.

Allocating overhead twice

If a cost has already been included in labor burden, a direct job-cost line, equipment charge, or another recovery mechanism, do not automatically recover the same cost again through company overhead.

Changing allocation logic between estimates and actuals

If estimates use one denominator and job-cost reviews use another, variances become difficult to interpret.

Using an outdated recovery rate

Overhead changes.

So do revenue, field hours, labor costs, and direct job costs.

A rate calculated from last year’s business may not recover this year’s overhead.

Treating allocated overhead as profit

Overhead is a cost.

Recovering $1,000 of overhead on a job does not mean the business made $1,000 of profit.

Profit comes after the relevant costs have been recovered.

A simple overhead-allocation workflow

A small contractor does not need a complex cost-accounting system to begin.

A practical process is:

1. Calculate annual overhead

Use your actual company overhead and operating assumptions.

If you have not done this yet, start with the Contractor Overhead Calculator.

2. Review the available recovery views

Look at:

  • overhead per productive labor hour;
  • overhead per direct labor dollar;
  • overhead per direct-cost dollar;
  • overhead as a percentage of revenue.

3. Choose a driver that fits your normal job mix

Ask which activity most reasonably follows the way jobs consume company resources.

4. Test it on representative jobs

Run the method against:

  • labor-heavy work;
  • material-heavy work;
  • large jobs;
  • small jobs.

Look for obviously distorted allocations.

5. Apply the method consistently in estimates

Use the correct denominator for the chosen rate.

Do not switch formulas job by job simply to make a price look better.

6. Use compatible logic when reviewing completed jobs

Estimated and actual cost views should be comparable enough to explain variances.

7. Compare recovery with actual company overhead

Over time, check whether the jobs collectively recover approximately the overhead the company actually incurs.

8. Recalculate when the business changes

Update the model when there are meaningful changes in:

  • administrative staffing;
  • rent;
  • vehicles;
  • software;
  • insurance;
  • revenue;
  • field capacity;
  • job mix;
  • direct costs.

The goal is not perfect allocation down to the penny.

The goal is a consistent system that helps the business price work with a realistic view of company cost.

The bottom line

There is no single overhead-allocation method that works best for every contractor.

Productive labor hours can work well for labor-driven businesses.

Direct labor dollars can be practical when labor expense closely follows job complexity.

Direct job cost can work when overall project spending reasonably reflects the resources a job consumes.

Revenue can provide a simple proportional view when job mix is stable.

Each method can also distort particular types of work.

The useful question is not:

Which overhead formula is universally correct?

It is:

Which activity best reflects how my jobs consume company resources, and can I apply that method consistently?

Calculate the recovery views.

Test them against real job types.

Choose a method you can maintain.

Then use the same logic from estimate through job-cost review.

That is what turns annual overhead from a company-level accounting number into something you can actually use when pricing work.