What Is a Good Gross Margin for Contractors?
Quick Answer
A “good” gross margin for contractors typically falls between 20%–35%, depending on trade, job type, and risk profile. However, the number itself is less important than how consistently it’s produced through accurate job costing. Many contractors show strong gross margins on paper but lose profit due to poor cost tracking, labor allocation, and change order control.
The Real Contractor Problem
Most contractors don’t actually have a margin problem—they have a visibility problem.
Jobs look profitable early.
Invoices go out.
Cash comes in.
But by the end of the job:
Labor overruns appear late
Materials weren’t fully captured
Change orders didn’t get billed properly
And suddenly, that “30% gross margin” job turns into something much lower.
This usually ties back to broken systems like:
Poor job setup
Inconsistent cost coding
Missing labor allocation
If you’re not sure your numbers are reliable, run a Job Costing Health Report early before trusting your margins.
Run Job Costing Health ReportWhat “Good Gross Margin” Actually Means
Gross margin is not just a percentage—it’s a system output.
The Formula (Simple)
Revenue – Direct Job Costs = Gross Profit
Gross Margin % = Gross Profit ÷ Revenue
Typical Benchmarks by Trade
But here’s the issue:
These benchmarks only matter if your job costing is accurate
If your inputs are wrong, your margin is meaningless.
For a deeper breakdown, see:
Construction Gross Margin Benchmarks
Why Contractors Miscalculate Gross Margin
1. Labor Isn’t Fully Captured
Payroll hits late or gets misallocated
Field time isn’t tied to jobs correctly
Result: Jobs look more profitable than they are
Related system:
Labor Tracking & Payroll Allocation for Contractors
2. Materials Aren’t Job-Coded Properly
Receipts sit in trucks
Vendor invoices hit “miscellaneous” accounts
Result: Costs never hit the job
Fix this with better document flow:
How Contractors Should Organize Digital Receipts & Job Documents (So Job Costing Actually Works)
3. Change Orders Aren’t Captured
Work gets done before approval
Billing lags behind field execution
Result: Revenue is understated, margin gets distorted
See:
Change Orders in Construction: How Contractors Protect Job Profit
4. Equipment Costs Are Ignored
Owned equipment is treated as “free”
Result: Artificially inflated margins
Breakdown here:
Why Owned Equipment Is Never “Free” for Contractors
Step-by-Step: How to Produce Reliable Gross Margin
1. Set Up Jobs Correctly
What to do:
Use consistent job folders, cost codes, and project structure
Why it matters:
Every cost must have a place to land
What goes wrong if skipped:
Costs float outside the job → margin becomes unreliable
Reference:
Job Folder & Project Setup for Contractors (Why Clean Jobs Make or Break Job Costing)
2. Track Labor Daily by Cost Code
What to do:
Assign labor hours to specific cost codes and jobs
Why it matters:
Labor is your largest and most volatile cost
What goes wrong if skipped:
You discover overruns too late to fix them
3. Capture All Material and Vendor Costs
What to do:
Implement a clean invoice approval workflow
Why it matters:
Untracked materials distort job profitability
What goes wrong if skipped:
Margins appear inflated mid-job
Reference:
Contractor Invoice Approval Workflow
Vendor Invoice Tracking for Contractors
4. Monitor Jobs Weekly (Not Monthly)
What to do:
Review job cost reports regularly
Why it matters:
Margin problems need early correction
What goes wrong if skipped:
You find out after the job is finished
5. Close the Books Properly Each Month
What to do:
Run a structured close process
Why it matters:
Ensures all costs are captured before reporting margin
What goes wrong if skipped:
Financials don’t reflect reality
Use the Month-End Close Checklist to lock this down consistently.
Insider Notes Contractors Miss
A 30% margin with bad data is worse than a 20% margin with clean data
Gross margin should be evaluated per job, not just company-wide
High margins early in a job are often misleading
Underbilling can make strong margins look weak
Related reading:
Underbilling and Overbilling in Construction Explained
Real-World Impact
When gross margin is tracked correctly, contractors gain:
Visibility
Know which jobs are actually profitable
Spot problems early
Control
Adjust labor, pricing, and execution mid-job
Profit Protection
Prevent margin erosion before it’s too late
Without systems, margin becomes a lagging guess instead of a leading indicator.
Summary: Gross Margin Is a System Output
A “good” gross margin isn’t just about hitting 25%–35%.
It depends on:
Clean job setup
Accurate cost tracking
Consistent processes
If those aren’t in place, the number doesn’t matter.
If you want to validate your numbers, start with a Job Costing Health Report and confirm your margins are real—not just accounting artifacts.
FAQ
1. What is the average gross margin for construction companies?
Most fall between 20%–30%, but it varies by trade and job complexity.
2. Why does my gross margin look high but profits are low?
Costs are likely missing, delayed, or misallocated—especially labor or materials.
3. Should I track gross margin per job or overall?
Per job. Company-wide margins can hide underperforming projects.
4. How often should I review job margins?
Weekly at minimum. Waiting until job completion is too late.
5. What’s more important: margin percentage or consistency?
Consistency. Reliable systems matter more than a single high-margin job.