MARKUP AND MARGIN ARE NOT THE SAME NUMBER.
Markup is the percentage added to cost to set a price. Margin is the percentage of revenue that is gross profit. They sound similar. They produce different numbers. A 25% markup on a $100,000 job produces a $125,000 bid. But the gross margin on that job is 20%, not 25%. If you are targeting a 25% gross margin and using 25% markup, you are short on every single job.
This is one of the most expensive math errors in commercial subcontracting. It is also one of the most common. CFOS corrects it in the first 30 days of every engagement and rebuilds estimating from the correct gross margin target.
Markup is calculated on cost. If a job costs $80,000 and you add 25% markup, you get $100,000. Your gross profit is $20,000. But that $20,000 is 20% of the $100,000 revenue — not 25%.
Margin is calculated on revenue. A 25% gross margin on a $100,000 job means $25,000 in gross profit. To get $25,000 in profit on an $80,000 cost job, you need to charge $105,000 — which is a 31.25% markup.
The formula: Markup = Margin divided by (1 minus Margin). To hit 25% margin: 0.25 divided by 0.75 = 33.3% markup. To hit 20% margin: 0.20 divided by 0.80 = 25% markup.
A concrete subcontractor targeting 24% gross margin bids a $300,000 job using 24% markup. They price the job at $372,000. Their gross profit on the job is $72,000 — which is actually 19.4% of $372,000. They are 4.6 points short of target on every job they bid this way.
On $3M in annual revenue, that 4.6-point gap is $138,000 in gross profit that was estimated but never collected. Not lost to cost overruns. Not lost to slow GCs. Lost in the bid math before the job ever started.
Gross margin covers overhead and produces net profit. If you need 14% overhead rate and 8% net profit, you need 22% gross margin minimum. If your estimating is using 22% markup instead of 22% margin, your actual gross margin is 18% — not enough to cover overhead and generate the net profit you need.
This is why contractors who are winning work and staying busy still end up short on cash. The math was wrong from the first bid.
FLAT MONTHLY FEE. NO SURPRISES.
Two tiers based on trailing 12-month revenue. No hourly billing. No payroll. No add-ons.
| Revenue | Core Financial | Executive Financial |
|---|---|---|
| Under $1M | $1,900/mo | $2,900/mo |
| $1M–$3M | $2,600/mo | $3,600/mo |
| $4M–$6M | $3,800/mo | $5,500/mo |
| $7M–$9M | $5,100/mo | $6,900/mo |
| $10M–$12M | $6,100/mo | $8,500/mo |
| $13M+ | Quoted | Quoted |
WHERE THE CONFUSION COSTS MOST BY TRADE.
Concrete: Compounding on Material-Heavy Bids
On material-heavy concrete bids, the markup/margin gap compounds fast: 25% markup on a $800K-cost job yields $200K — which is a 20% margin, not 25%. If the estimator promised the owner 25% margin, the bid is short $66K before mobilization. Material-heavy trades feel the five-point gap in real dollars.
Electrical: Blended Confusion Across Work Types
Electrical subs often markup labor and material at different rates, then report a single blended 'margin' that's actually neither. The honest math prices each work type at a target margin — rough-in, trim, service — and lets markup be whatever the conversion requires. Margin is the goal; markup is just the dial.
Civil & Excavation: Unit-Price Translation
Unit-price civil work hides the confusion inside the rate: a $14/yard cost marked up 30% bids at $18.20 — a 23% margin. Multiply a five-point misunderstanding across 80,000 yards and the job is $56K short of the margin the owner believes it carries. Unit-price trades need the conversion table taped to the estimating desk.
T&M and Service: Rate-Sheet Reality
T&M rate sheets built on markup logic — cost plus 20% — deliver 16.7% margin before unbillable time. Add the utilization gap (techs billable 70% of paid hours) and the realized margin can be single digits while the rate sheet looks healthy. Service trades should build rates from target margin backward, never cost forward.