General Contractor Markup: Rates, Calculation, and Change Order Pricing
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:
- Changes involve disproportionate administrative cost (scope definition, pricing, RFI, submittal, documentation)
- Changes often occur at the worst time in the schedule — disrupting planned workflow and reducing productivity
- 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
- GPS Time Tracking for Construction — cost code tracking for change order labor documentation
- Construction Time Tracking Software — time data integration with job cost for markup validation
- Time Tracking for Construction Workers — field labor tracking for cost-plus and open-book contracts
- Top 5 Construction Time Tracking Apps — apps supporting cost code and change order tracking
- Top 5 BusyBusy Alternatives — markup-aware time tracking options
- TaskTag vs. BusyBusy — change order tracking comparison
- Time Tracking for Landscapers — markup and overhead for landscape contractors
Related Blog Posts
- Contractor Profit and Loss Statement — overhead rate source data
- Construction Cash Flow Management — cash impact of below-markup contracts
- Construction WIP Report — tracking actual margin vs. bid margin in real time
- How to Win More Construction Bids — bid strategy using markup as a competitive lever
- How to Negotiate a Construction Contract — change order markup clause language
- Construction Project Delay — delay cost in change order pricing
- Construction Retainage — retainage impact on effective markup yield
Ready to explore how TaskTag can transform your construction projects?
Start your free trial today and see the difference!