TaskTag Blog | Ideas and Tips for Construction Project Management

General Contractor Markup: Rates, Calculation, and Change Order Pricing

Written by Olivia Reyes | Jul 20, 2026 5:52:18 AM

The average general contractor charges 15–25% markup on construction costs — but most can't tell you exactly what that number is built from or whether it covers their actual overhead and profit target. A GC who marks up $800,000 in subcontractor and self-perform costs at 20% bills $960,000 — but if their real overhead rate is 14% and target profit is 10%, they needed to bill $979,200. That $19,200 gap is 2% of the job value and represents a full year of silent underpricing.

Markup isn't arbitrary. It's a math problem with specific inputs: overhead rate, profit target, project type, risk profile, and whether the work is self-perform or subcontracted. Contractors who set markup by feel or by what the market seems to accept are pricing blind. Contractors who build markup from actual cost data — including labor hours captured by construction time tracking software — price from evidence.

This guide covers how to calculate GC markup by work type, how to price subcontractor coordination, how to defend markup in open-book contracts, and how to handle change order markup when owners push back.

Contractors who calculate markup from real cost data — especially labor hours captured using construction time tracking resources — price from evidence instead of guesswork. 

What GC Markup Covers

Markup on construction cost covers three things:

 

Component

What It Is

Company overhead

Office, admin, vehicles, indirect salaries, insurance, software — all costs that exist regardless of project activity

Profit

Return to owner for capital at risk, business development investment, and management capacity committed

Risk premium

Contingency for scope ambiguity, schedule compression, payment risk, and performance exposure

 

Markup on subcontractor work specifically also covers:

  • Submittal and RFI coordination
  • Schedule management and sequencing
  • Quality inspection and punch list
  • Payment processing and retainage management
  • Liability for sub performance

A GC who passes through sub bids at zero markup is providing coordination, risk assumption, and payment guarantee for free. That's not competitive pricing — it's a business model error.

Your overhead rate should come directly from your P&L. If you need a full breakdown of how to calculate it, see the construction overhead and profit guide inside our construction management resources. 

Standard GC Markup Rates by Project Type

Markup rates vary by sector, contract type, and risk:

 

Project Type

Typical GC Markup

Breakdown

Residential custom home

20–30%

10–14% overhead, 8–12% profit

Residential remodeling

25–40%

12–16% overhead, 10–20% profit

Commercial GC (negotiated)

15–22%

10–14% overhead, 5–8% profit

Commercial GC (hard bid)

12–18%

10–14% overhead, 3–6% profit

Specialty / design-build

20–35%

12–15% overhead, 8–18% profit

Public works / prevailing wage

15–20%

12–16% overhead, 3–6% profit

Cost-plus GCP (fee)

8–15% fee

Overhead and profit, lower risk

 

Hard-bid commercial carries the lowest markup because competition compresses pricing — and because the GC has less pricing control than in negotiated work. The risk is higher (fixed price on design documents with ambiguity) but the margin is lower. That math only works if the contractor wins enough volume to absorb periodic losses on individual projects.

Contractors using project management software for general contractors can track coordination hours and cost exposure more accurately across commercial projects. 

Markup on Self-Perform Work vs. Subcontracted Work

Self-perform work (your own crews) carries full markup — overhead and profit on all labor, material, and equipment.

Subcontracted work carries GC coordination markup on top of the sub's price. This is lower than the self-perform markup because the sub has already built their own overhead and profit into their number.

Typical GC coordination markup on subs: 5–15%

What drives it higher or lower:

 

Factor

Direction

Why

Complex coordination (MEP interfaces, sequencing-critical)

Higher

More PM hours per dollar of sub work

Single large sub with experienced PM

Lower

Less day-to-day management burden

Public project with certified payroll requirements

Higher

Compliance and reporting overhead

Pre-qualified sub, ongoing relationship

Lower

Less vetting, more predictable performance

New sub, first time working together

Higher

Risk premium for unknown performance

 

Example markup build-up — commercial project:

 

Cost Category

Cost

Markup Rate

Markup $

Selling Price

Self-perform labor (burdened)

$95,000

25%

$23,750

$118,750

Self-perform materials

$48,000

25%

$12,000

$60,000

Subcontracted MEP

$310,000

10%

$31,000

$341,000

Subcontracted specialty

$85,000

10%

$8,500

$93,500

General conditions

$42,000

15%

$6,300

$48,300

Total

$580,000

avg 14.0%

$81,550

$661,550

 

Effective markup on total cost: 14.1%. Effective margin on selling price: 12.3%.

 If you are evaluating documentation-only tools versus full cost-code tracking systems, review the TaskTag vs CompanyCam comparison to understand the difference. 

How to Calculate Your Required Markup

Start from target margin and work backward. See the full overhead rate calculation process in the Construction Overhead and Profit guide — once you have your overhead rate, the markup formula is:

Required markup = (Overhead rate + Target profit) ÷ (1 − Target profit)

Example:

  • Overhead rate: 14%
  • Target profit margin: 10%
  • Required markup: (0.14 + 0.10) ÷ (1 − 0.10) = 0.24 ÷ 0.90 = 26.7%

Apply 26.7% markup to total cost to recover 14% overhead and achieve 10% profit margin on selling price.

Verify:

  • Cost: $500,000
  • Markup (26.7%): $133,500
  • Selling price: $633,500
  • Overhead recovered (14% of $500K): $70,000
  • Remaining profit: $133,500 − $70,000 = $63,500
  • Profit margin: $63,500 / $633,500 = 10.0%
    If you have not formally calculated your overhead rate, see how real contractors structured theirs in this construction project management case study. 

Markup in Different Contract Types

Lump Sum / Stipulated Sum

Markup is embedded in the total price. Owner doesn't see the breakdown. GC bears full cost risk — if actual costs exceed estimate, the GC absorbs the overage.

Best practice: Higher markup to reflect risk. No obligation to disclose overhead or profit.

Cost-Plus with GMP

Owner pays actual costs plus a GC fee (fixed dollar or percentage). Savings below GMP are shared per the contract. Owner typically has audit rights on cost records.

Best practice: Fee should still cover overhead (as a % of expected project volume) and profit. A 10% fee on a $1M project sounds significant but only covers overhead if your overhead rate is below 10%.

Construction time tracking apps for contractors become critical in cost-plus contracts — every labor hour is a billed cost that the owner can audit. Clean time records by job and cost code protect the GC's billing and make audits painless.

Open-Book / Transparent Pricing

Owner sees all costs and markup. Common in development relationships, repeat clients, negotiated work.

Best practice: Pre-agree on markup rates by cost category before the project starts, documented in the contract. See How to Negotiate a Construction Contract for markup definition language. Once rates are set, protect them — open-book doesn't mean negotiating every line item mid-project.

Change Order Markup

Change orders are where markup discipline breaks down. Owners resist change order pricing more than base contract pricing, and contractors often capitulate — cutting markup to avoid confrontation. The result: changes become money-losers.

Change order markup should match or exceed base contract markup for three reasons:

  1. Changes involve disproportionate administrative cost (scope definition, pricing, RFI, submittal, documentation)
  2. Changes often occur at the worst time in the schedule — disrupting planned workflow and reducing productivity
  3. Changes carry higher cost uncertainty than base contract work

Standard change order markup structure:

 

Component

Rate

Direct labor (burdened)

Cost + 15–25%

Materials

Cost + 15–20%

Subcontractor cost

Cost + 10–15%

Equipment rental

Cost + 10–15%

GC overhead

10–15% of above

GC profit

5–10% of subtotal

 

Total effective markup on change order work: 15–25% above the sub's or direct cost.

Many contracts specify change order markup limits. Review the contract before the project starts — not when the first change arrives. See How to Negotiate a Construction Contract for change order markup clause negotiation. See Construction Project Delay for delay-related change orders where markup may also include time extension costs.

Document labor hours on all change order work. A construction timesheet app with job and cost code selection lets crews clock into change order cost codes in real time. This produces defensible, timestamped labor records — essential when an owner disputes change order labor billing.

Markup Compression: When Owners Push Back

On competitive bids or in owner-friendly markets, GCs face pressure to reduce markup. How to respond:

Know your floor. Before negotiating, know the minimum markup that recovers overhead and breaks even on profit. Anything below that floor means the project costs you money to run. Contractor profit and loss statement analysis tells you where the floor is.

Separate overhead recovery from profit. In a negotiation, you can offer to reduce profit — but overhead recovery is non-negotiable. The conversation is: "I can reduce my profit margin from 8% to 5% on this project — but the 14% overhead recovery is fixed; it covers costs I incur regardless of whether this project happens."

Show productivity data. A GC who can demonstrate from construction employee time tracking data that their crews run at X% efficiency advantage over the market has a quantified argument for their markup. Historical labor hours per unit of work showing consistent productivity below industry averages = earned premium.

Don't win jobs you'll regret. A project won below overhead recovery isn't a competitive success — it's a future cash flow problem. See Construction Cash Flow Management for how below-cost projects ripple through company liquidity.

Markup by Trade: Specialty Contractor Reference

Specialty and trade contractors carry different markup structures than GCs because they self-perform more of the work:

 

Trade

Typical Gross Markup

Notes

Electrical

30–45%

High labor content, skilled trades premium

Plumbing

30–45%

Similar to electrical

HVAC

25–40%

Equipment cost dilutes labor-heavy markup

Concrete / masonry

20–30%

Material-heavy, lower margin

Drywall / framing

20–28%

Competitive, volume-driven

Painting

25–40%

High labor percentage

Landscaping

30–50%

High overhead, seasonal business; see Time Tracking for Landscapers

Roofing

25–40%

Risk premium for warranty exposure

 

Common Markup Mistakes

Flat markup regardless of work type. Applying one markup percentage to self-perform labor and subcontracted MEP treats a $20/hour laborer and a $180,000 mechanical sub the same. Differentiate by cost type.

Not updating markup when overhead changes. An overhead rate calculated in a $3M revenue year should increase when revenue drops to $2M (same fixed overhead, less volume to absorb it). Recalculate annually.

Cutting markup to win competitive bids without modeling the floor. Know the minimum before negotiating. Winning below cost is worse than not winning.

Failing to protect markup on change orders. Contracts written with markup caps on base scope often silently cap change orders too — or owners assume they do. Negotiate separate change order markup provisions.

Not tracking actual overhead to validate the markup rate. If you set markup based on a 16% overhead estimate but actual overhead is 19%, you're recovering 3% less than needed on every project. Use actual P&L data from construction time keeping software that integrates with job costs to verify annual overhead vs. what was recovered through markup.

Markup Quick Reference

 
MARKUP CALCULATION WORKSHEET Annual overhead rate (from P&L): _______% Target profit margin: _______% Required markup formula: (Overhead + Profit) ÷ (1 − Profit) = _______% BY COST TYPE: Self-perform labor + materials: _______% (typically overhead + profit + 2-5% risk) Subcontracted work: _______% (typically 8-15% coordination markup) General conditions: _______% (same as self-perform or lower) CHANGE ORDER MARKUP: Direct costs markup: _______% GC overhead on changes: _______% GC profit on changes: _______% Total effective change order markup: _______% MARKUP FLOOR (minimum to break even): Overhead recovery only, zero profit: _______%
 

If you want to align markup with real labor data, you can start your free TaskTag account today.
(Insert link on anchor text:

To compare options, explore TaskTag pricing plans and review free & team plans for construction companies.

You can also book a TaskTag demo to see cost-code tracking and markup validation in action.

To learn more about the company behind the platform, visit about TaskTag.

If you want mobile access for field teams, download the TaskTag app and start managing projects from the field.

Related Resources

TaskTag Features

Related Blog Posts