Ask five sources what a general contractor should earn, and you'll get five different numbers: 3%, 7%, 11%, 14.8%. The spread exists because each figure measures something different—gross vs. net, residential vs. commercial, one-person shops vs. scaled operations. But none of those numbers answer the question a general contractor actually needs answered on a Wednesday afternoon, staring at a checking account: after subs, supplier bills, payroll, and overhead, what's actually left?
For a general contractor running $1M to $6M in contracted work, "profit" changes shape depending on which report you're reading. This article breaks down why gross and net tell different stories, how retainage ties up cash, how to set percentages that protect what you keep, and when a low-margin job stops being worth winning.
What Should a General Contractor Actually Keep After Subs, Materials, and Overhead?
For a working general contractor who doesn't own the lot, 6% to 8% net before taxes is a realistic baseline. Above 10% usually points to a strong operation. Below 5%, one bad job can wipe out a quarter's work.
The benchmarks back that up. CFMA's 2025 Construction Financial Benchmarker put net income before taxes at 6.7% across 1,558 respondents, up from 6.3% the prior year. NAHB's 2024 survey showed builder profit at 11.0% of sale price—but that figure includes the lot, which makes it a different calculation than what most general contractors are working with. Specialty trade subs reported slightly higher margins at 6.9%, which can skew expectations upward.
For most general contractors running $1M to $6M in residential and light commercial work, the realistic target lands between those figures depending on project mix and overhead load.
How Overhead and Project Size Shift the Target
What counts as "good" shifts with overhead load. A general contractor at $1.5M with the owner still estimating and running every job carries less fixed overhead than a $4M operation paying dedicated project managers, office staff, and higher insurance premiums. The larger operation needs more gross to clear more overhead before net shows up. Same industry, same 7% target, very different dollar figures required to get there.
Smaller projects also tend to carry higher percentage margins than larger ones. A $75K kitchen remodel usually holds more margin per dollar than a $500K commercial fit-out, where competitive bidding compresses what you can charge.
Why Gross and Net Tell You Different Stories
Every general contractor profit margin has two versions: gross and net. The gap between them is where most pricing mistakes hide. A $240K residential addition might gross $48K after subs, materials, and field labor. After truck payments, insurance, office rent, and a project manager's salary hit the books, the business keeps closer to $16K. Same job, two very different numbers.
Gross Margin | Net Margin | |
|---|---|---|
What it measures | What the job produced after direct costs: subs, materials, field labor | What the business kept after overhead: insurance, vehicles, office staff, bonding fees, your salary |
Benchmark | 21.8% for Best in Class per CFMA's 2024 Benchmarker; most competitive bidders land in the mid-teens | After overhead, most competitive GCs keep single digits; company size and overhead structure determine where you fall |
Who cares about it | You, when pricing a job | Your bonding agent, when deciding how much capacity to give you |
The common mistake is bidding to a gross target without separating general contractor overhead and profit on each job. A 20% markup on a $200K sub bid creates $40K gross. Then overhead takes its share, and the business keeps far less. The bid felt aggressive. The math says otherwise.
How Retainage Turns Paper Profit into a Cash Problem
Profit can show up on a P&L months before any of it becomes cash you can touch. Four active projects, each holding back 10% until punch list sign-off, can leave $60K to $80K out of reach. The P&L counts it. The checking account doesn't.
On a $200K project with a 7% net margin, profit is $14,000. Retainage at 10% holds back $20,000. The job is profitable on paper, but the profit portion stays cash-negative until final closeout, often 60 to 90 days after substantial completion. Spread that across several overlapping jobs and the gap between earned profit and cash you can actually touch grows fast.
Retainage delays when profit turns into spendable cash. The longer closeout drags, the longer your operating account covers the gap from somewhere else.
That changes how you set targets. A 7% net target on a project with 10% retainage means another source covers the gap until release. If that source is money from another job, one project's cash starts floating another project's profit.
How to Set Your General Contractor Profit Percentage and Protect It
The protection problem starts in the checking account, not on the estimate. A $55K draw lands, then an electrical sub needs $12K, the lumber yard invoice is due, and payroll runs Friday. If taxes and profit never leave that account first, they get spent on something more urgent.
Your general contractor profit percentage starts with money that stays after pass-through costs. That's total billing minus what goes straight back out to subs and materials. Pass-through costs typically run 60% to 70% of a general contractor's billing. A contractor billing $2.5M with pass-throughs in that range has roughly $750K to $1M left to work with. The useful percentages apply to that smaller amount, not the full billing total.
Separating Pass-Through Costs Before You Allocate
The Profit First method for contractors adds a materials and subs account on top of the standard five Profit First accounts (income, profit, owner's pay, tax, and operating expenses) for materials and sub payments, separating pass-through costs before anything else gets allocated. Then the remaining amount gets split between profit, taxes, owner's pay, and operating costs using target percentage ranges.
One option is using tools like Relay to set up separate buckets for that split. You can open up to 20 checking accounts with no monthly maintenance fees, so each allocation has a place to go instead of sitting in one pile. When a draw hits, automated percentage-based transfers move money to the right accounts before it gets spent somewhere else.
The rule is simple: allocate on receipt, not on a schedule. Every deposit triggers the split.
When Should You Walk Away from a Low-Margin Job?
Bid discipline breaks down when the schedule has a gap and someone is pushing for a lower number. A general contractor looks at a $180K commercial tenant improvement, hears the owner's rep asking for a discount, and feels the pull to take work just to keep the calendar full.
Before cutting price, run the math on what a thin-margin job really costs. A project that nets 3% on paper but ties up $18K in retainage for 90 days, requires $30K in upfront material purchases before the first draw, and pulls a project manager off a stronger job may lose money in practice.
Five signals that a job isn't worth the bid:
The owner has a history of slow-paying draws.
The scope is vague enough that change orders will be disputed.
Retainage terms exceed 10% or extend beyond standard closeout timelines.
The project requires bonding capacity better used on higher-margin work.
Your current backlog means an empty week is cheaper than a money-losing project.
Sometimes the cheapest work on the calendar is the job you never take.
Walking away from a $180K job at 3% net means leaving $5,400 in theoretical profit behind. Redirecting that estimating time, project management bandwidth, and bonding capacity toward a $150K job at 8% net produces $12,000 with less risk. The math favors saying no more often than most general contractors are comfortable with.
Build Your Margin into the Banking Structure, Not Just the Bid
Whether the money stays separated after the draw lands determines whether a margin target holds or dissolves into the next sub payment. Separate accounts turn a bid number into something you can protect: a dedicated profit account, a tax account, and a materials account make it clear what's spoken for and what's still available. When the profit account balance grows in proportion to deposits, you can see whether jobs are hitting their target without waiting for a quarterly P&L. On Wednesday afternoon, when the sub invoice is due Friday and the next draw hasn't cleared yet, that separation matters more than whatever the estimate said two months ago.
Relay gives you up to 20 checking accounts and automated transfers that split every deposit the moment it arrives. Open your Relay account to set up percentage-based transfers that protect profit and taxes before a single sub invoice gets paid.
Frequently Asked Questions
What's a Good Net Margin for a General Contractor Running $1M to $3M?
The benchmarks above apply, but at this size the owner's salary is a key variable. For an S-Corp, that salary runs through payroll as overhead, and net has to clear it. If the owner is still estimating and managing every job, a lower overhead structure makes 8% to 10% realistic. Once dedicated PMs and office staff come on, hitting that same number takes tighter bidding and higher volume.
Is Markup the Same as Margin?
No. A 20% markup on $100K in costs produces a $120K contract price, but the margin on that job is 16.7%, not 20%. Markup is a percentage of cost. Margin is a percentage of the total contract price.
How Does Retainage Affect What I Actually Take Home?
On most general contractor jobs, the retainage percentage exceeds the net margin percentage. That means the profit portion of every project is cash-negative until punch list sign-off and final closeout. Factor that timing into any margin target: the profit is real, but you won't touch it for months after the work is done.
Should I Charge Different Margins on Residential vs. Commercial Work?
Usually, yes. Contractors commonly report higher percentage margins on residential remodels than on competitive commercial bids. Commercial work often comes with tighter bidding, longer pay app cycles, and mandatory retainage, so the target has to reflect the slower cash cycle and added overhead.
How Do I Apply Profit First When Most of My Billing Goes to Subs and Materials?
The pass-through math in the section above covers the setup. Your profit, tax, and owner's pay targets come from the remaining 30% to 40%, not the full deposit. A 5% profit target against $875K in retained revenue is a real number. A 5% target against $2.5M that mostly passes through to subs and suppliers is not.
When Is It Better to Walk Away from a Job Than to Take It at a Low Margin?
Walk away when the job ties up bonding capacity, project management time, or crew availability that could go toward stronger work. The opportunity cost often favors a smaller job at a better margin over filling a schedule gap with a project that barely breaks even.




