← All resources

Pricing

Overhead, Fee, and Contingency on Commercial Bids

How overhead, fee, and contingency differ on commercial bids, where each sits versus unit rates, and how to show the stack on an estimate or proposal.

11 min read · Published September 13, 2026

Overhead, fee, and contingency get mashed into one cell labeled markup. They are not the same recovery. Overhead pays for the office that is not on this job. Fee is profit. Contingency is money you may spend on a risk you can name — or you may not. Commercial shops that blend the three into a 20% add-on cannot tell an owner which part moved when the drawings change, and they cannot tell themselves whether they recovered cost or just hoped.

This article is the stack: where each dollar sits relative to a unit rate, and how to show it on an estimate versus a proposal. Rate anatomy lives in how unit rate estimating works. Library hygiene lives in how to build a commercial unit rate library. The three documents live in takeoff vs estimate vs proposal. Bid-day sequence lives in how to price a commercial construction project. After award, price the change order with the same method. What follows is direct → overhead → fee → contingency.

Three recoveries, three jobs

Each line answers a different question. Mixing the answers is how a gypsum rate picks up unspoken risk and a fee line silently funds the estimator's laptop.

RecoveryPays forSits onMoves when
OverheadHome-office cost that is not this crew-hour — rent, insurance not in burden, estimating, accounting, softwareThe unit, or the proposal, onceThe shop's cost to stay open changes — not when one suite adds a door
FeeProfit. The reason the shop bid the work.After overhead, on the same home as overheadThe pursuit is negotiated, hard-bid, or a change order with a different rule
ContingencyA named unknown on this job — unanswered RFI, sealed existing conditions, a schedule that might compressThe proposal (or a stated allowance). Not the master rate.The unknown is answered, converted to scope, or dropped

Labor burden is not overhead. FICA, unemployment, workers' comp, and a health contribution belong on the labor row of the rate. Small tools and waste belong on the material row. If those land inside "OH," you cannot version wages without also rewriting recovery. The rate library keeps that split honest.

Where each sits relative to the unit rate

A commercial unit rate is the cost to install one unit under named conditions — labor, burden, material, waste, and trade-specific tools. That is direct. Home-office overhead and fee are recovery on top of direct. Contingency is recovery against a job-specific hole. The three do not live in the same cell.

  • In the rate: labor hours, loaded wage, material, waste, small tools, and equipment that exists because of this unit (a lift on a 14-foot wall). Those dollars extend when quantity extends.
  • On the proposal, or loaded into every rate on purpose: home-office overhead and fee. Pick one home. Write it down. Do not bake 10% into the library and then add 12% on the signature page.
  • On the proposal only: contingency, allowances, and exclusions. A catalog unit cannot know whether this suite has undocumented MEP above the ceiling.

Some shops load overhead into every unit because the bid form wants a single unit price. That can work. Create a proposal-facing loaded line. Do not overwrite the direct library rate. A GC who self-performs interiors and also marks up sub quotes needs direct visible. If drywall is already loaded and the proposal adds overhead and fee again, interiors are taxed twice.

The public rate library uses 10% then 10% — without contingency

Published unit rates are catalog leaves, not a job. Each leaf shows a direct build-up, then a loaded example so a visitor sees a complete unit price. The display method is fixed: 10% overhead of direct, then 10% fee of (direct + overhead). Contingency is not on that page. A catalog unit has no RFI and no existing ceiling.

Use the hang-and-finish Type X direct from the library guide — $2.54/SF, an illustrative 2026 U.S. mid-market unit rate — and apply that display method, rounding each recovery to the cent:

StepMathResult
Direct (labor + material + tools)Given$2.54/SF
Overhead 10% of direct$2.54 × 0.10 = $0.254 → $0.25$0.25/SF
Direct + overhead$2.54 + $0.25$2.79/SF
Fee 10% of (direct + overhead)$2.79 × 0.10 = $0.279 → $0.28$0.28/SF
Loaded unit (no contingency)$2.54 + $0.25 + $0.28$3.07/SF

Sequential 10% then 10% is not a 20% add-on. $2.54 × 1.20 = $3.05 — $0.02 light of the loaded $3.07. On 4,200 SF that is 4,200 × $0.02 = $84. Small on gypsum. The same error on a package is not small.

The published 3/4" EMT, exposed leaf uses the same 10% then 10% display on its direct packet. Those dollars are not the $10.36/LF mid-market table. Do not mix the packets. Electrical shops can start from electrical estimating software.

Your shop does not have to use 10% and 10%. The public pages use those percents so every leaf is comparable. The worked suite below uses 12% overhead and 8% fee on the proposal, plus a 3% contingency tagged to one risk. That is a different method on purpose. What must stay true in both places: overhead is of direct, fee is of (direct + overhead), and contingency is not inside the unit.

Worked example: the 4,200 SF suite

The through-line is the same illustrative 4,200 SF office tenant improvement from the other guides — vacant second-floor suite, Class B building, standard shift, GC self-performing interiors, electrical and HVAC bought or quoted. Every dollar is an illustrative 2026 U.S. mid-market unit rate. Gypsum build-up lives in the library guide. EMT build-up lives in how unit rate estimating works.

Direct — the estimate

Library rates stay direct. Two extensions are already built: 4,200 × $2.54 = $10,668 gypsum, and 1,850 × $10.36 = $19,166 raceway. The rest of the package — studs, ACT, paint, doors, devices, fixtures, HVAC lump, demo, general conditions — is the same illustrative stack as the pricing and takeoff guides.

PieceMathExtension
Hang+finish Type X4,200 × $2.54$10,668
3/4" EMT, exposed1,850 × $10.36$19,166
Studs, ACT, paint, doors$8,085 + $15,770 + $3,864 + $11,840$39,559
Devices, fixtures, HVAC, demo, GC$5,632 + $10,320 + $28,400 + $7,200 + $16,400$67,952
Direct subtotal$137,345

Check: $10,668 + $19,166 + $39,559 + $67,952 = $137,345 direct. That is the estimate. Recovery has not landed. This is interiors plus electrical plus HVAC adjust, not a turnkey tenant improvement. $137,345 ÷ 4,200 SF is $32.70/SF direct — do not compare that to a published full-package $/SF.

Overhead, then fee, then contingency — the proposal

On this example, apply recovery once at proposal level, matching how overhead and markup work in the product.

  • Overhead: 12% of $137,345 = $16,481
  • Direct + overhead = $153,826
  • Fee: 8% of $153,826 = $12,306
  • Contingency: 3% of direct, tagged to unanswered above-ceiling MEP = $4,120
  • Proposal total: $170,252

That is $137,345 + $16,481 + $12,306 + $4,120. Confirm: $137,345 × 0.12 = $16,481.40 → $16,481; $153,826 × 0.08 = $12,306.08 → $12,306; $137,345 × 0.03 = $4,120.35 → $4,120. Sequential 12% then 8%, plus 3% of direct, is a method — not 23% in a cell. $137,345 × 1.23 = $168,934.35, $1,317.65 light of the proposal, because fee sits on (direct + overhead).

Illustrative 4,200 square foot suite stack: $137,345 direct, $16,481 overhead, $12,306 fee, $4,120 contingency, $170,252 total.
Same $137,345 direct as the other guides. Contingency is tagged, not baked into $2.54 or $10.36. Illustrative 2026 U.S. mid-market unit rates.

If this shop had instead used the public 10% then 10% method on the same direct, with the same 3% contingency of direct:

  • Overhead: 10% of $137,345 = $13,734.50
  • Direct + overhead = $151,079.50
  • Fee: 10% of $151,079.50 = $15,107.95
  • Loaded without contingency = $166,187.45
  • Contingency still 3% of direct = $4,120
  • 10% / 10% / 3% total: $170,307.45

That is $55.45 above the 12% / 8% / 3% proposal — close at these percents, and still a different book. Blended 20% on direct is not the public method: $137,345 × 1.20 = $164,814.00, $1,373.45 light of sequential 10% then 10%. Recover cost the way the shop actually books it, then say which way.

The failure mode is running both methods. If every unit is already loaded 10% then 10%, the $137,345 direct has become $166,187.45 before the proposal. Twelve percent of that is $19,942.49. Eight percent of $186,129.94 is $14,890.40. The double-loaded subtotal is $201,020.34 — $34,888.34 above a clean 12% / 8% on direct ($166,132) and still without contingency. That is how a catalog display leaks into a bid.

What the estimate shows vs what the proposal shows

The estimate is the internal cost model. Keep named rates, quantities, and the $137,345 direct visible. A principal should see $2.54 and $10.36 without hunting through a loaded total. Overhead and fee sit as recap lines so the desk can change 12% to 10% without rewriting gypsum.

The proposal is the owner-facing offer. Unit rates stay internal unless the bid form asks for a unit-price schedule. Show scope, quantity, unit, and line total — the same surface as a later change order. On this suite: 4,200 SF hang-and-finish, 1,850 LF of 3/4" exposed EMT, eight specified doors, HVAC as a lump, then 12% / 8% / 3% once. Do not send wage rows.

SurfaceShowHide
Estimate (internal)Direct rates, $137,345, recap of 12% / 8% / 3%Nothing the principal needs to challenge
Proposal (owner)Scope, qty, unit, line totals, OH, fee, tagged contingency, termsWage, burden, waste unless the form demands a unit-price schedule
Published /rates leafDirect build-up plus 10% then 10% loaded exampleContingency. A catalog unit is not this suite.

If the invite only accepts a lump on the signature page, the owner-facing total can still be $170,252. Internally you keep the stack. Publish unit prices only when the form asks. A lump that was never a stack cannot be revised when 290 LF of homerun lands — that add is a takeoff and estimate revision before award, and a change order after.

When contingency drops, becomes an allowance, or stays

The $4,120 is tagged to unanswered above-ceiling MEP. It is not a vibes fund. Treat it as a switch, not a pad.

  • The RFI comes back "owner owns unforeseen MEP moves." Drop the $4,120. Keep the exclusion. New proposal: $137,345 + $16,481 + $12,306 = $166,132. That is $4,120 below $170,252 — the contingency, not a haircut to fee.
  • The RFI comes back "GC owns it, no as-builts." Three percent of direct may be light. Convert to a stated allowance with a unit or a not-to-exceed, or raise the tagged percent and say why. Do not sprinkle $0.10 into every LF of EMT.
  • The condition is measurable. Stop calling it contingency. A known 40 LF of relocation is 40 × $10.36 = $414.40 direct, then 12% / 8% — $49.73 overhead and $37.13 fee, $501.26 — not a silent piece of the $4,120.
  • After award. The $4,120 does not ride onto a measured add. The change-order guide applies 12% and 8% to the new direct and leaves bid-day contingency where it was tagged.

An allowance is not a contingency. An allowance is a placeholder for work you will buy later (finish selection not made, fixture package not chosen). A contingency is risk on work already in the number. Write one word or the other. Silence is how both appear on the same page and neither is tracked.

Common mistakes to avoid

  • Calling all three "markup." They move for different reasons. "Lost on markup" cannot tell you whether the office is expensive or the RFI was padded.
  • A blended add-on that is not the method. Sequential 12% then 8% plus 3% produced $170,252; 23% produces $168,934.35. Sequential 10% then 10% produced $166,187.45; 20% produces $164,814.00.
  • Loading the public 10% then 10% into the library and adding 12% / 8% on the proposal. That path produced $201,020.34 before contingency.
  • Hiding contingency inside $2.54 or $10.36. Job risk is a tagged line — or an exclusion.
  • Putting labor burden in overhead. Burden is the labor row. Version it when wages or comp move.
  • Using the /rates loaded example as this job's unit. The published leaf is a display packet. The $10.36 table is a different packet.
  • Cutting fee first without knowing which line was thin. HVAC at $28,400 is a vendor problem. Type X at $2.54 may have been fine.

Software will not pick your percents. It can keep direct rates, proposal recovery, and a tagged contingency on one book. That is the loop unit rate estimating software is built to hold. More guides sit on the resources index.

Unit Rate AI maintains a private unit-rate library and turns it into client-ready proposals. Keep labor, material, and markup in one place, apply overhead and fee the way your shop recovers cost, and send a branded link. See pricing if you want that stack on the next suite.

Apply this in UnitRate.ai

Unit rate library, construction proposal software, and win-rate analytics — start free and upgrade when you need unlimited proposals.