What Is Gross Margin?
By BRIX Editorial Team · Updated
Gross margin is the share of revenue left after paying the direct costs of doing the work: materials, field labor, equipment and subcontractors. Gross margin % = (Revenue − Cost of goods sold) ÷ Revenue × 100. An HVAC company that bills $1,000,000 and spends $560,000 on direct job costs has a 44% gross margin.
Key takeaways
- Gross margin = gross profit ÷ revenue. Gross profit is revenue minus cost of goods sold (COGS), also called cost of sales or job costs.
- For a trades business, COGS includes field techs' wages and their payroll costs, not just materials. Leaving labor out makes the margin look far better than it is.
- Gross profit pays for overhead. Whatever's left after overhead is net profit.
- Service and repair work usually runs a higher margin percentage than installs and replacements, while installs bring in more dollars per job.
- Track gross margin per job, per job type and per month. A company-wide average hides the jobs that lose money.
How does gross margin work?
Gross margin tells you how many cents of every revenue dollar are left after the job itself is paid for. Those cents have to cover rent, office staff, trucks, insurance, marketing and your own pay, which together are your overhead. If gross margin is thin, no amount of hustle fixes the bottom line, because each job barely pays for itself.
Gross profit = Revenue − COGS | Gross margin % = Gross profit ÷ Revenue × 100
- Revenue
- what you billed for the work, before sales tax
- COGS
- direct costs of the jobs: materials, field labor with its labor burden, equipment rentals, permits, disposal and subcontractors
- Gross profit
- the dollars left to pay overhead and profit
What counts as cost of goods sold for a contractor?
Cost of goods sold for a contractor is every cost that exists only because a job was done: parts and materials, the wages and payroll costs of the people doing the work, subcontractors, equipment rented for the job, permits, dumpsters and disposal. If the cost would still be there in a month with no jobs, such as rent, office wages or software, it's overhead, not COGS.
| Cost | Where it goes | Why |
|---|---|---|
| Parts, materials, equipment installed | COGS | Bought for a specific job |
| Field techs' and installers' wages | COGS | Paid to do the work; this is the one owners most often miss |
| Payroll taxes, workers' comp, benefits on field wages | COGS | Part of the real cost of field labor. See labor burden |
| Subcontractors | COGS | Work bought for a specific job |
| Permits, dumpsters, disposal, job-specific rentals | COGS | Exist only because of the job |
| Truck fuel and maintenance | Usually overhead | Some shops allocate it per job; pick one method and stay consistent |
| Office staff, dispatchers, CSRs | Overhead | Paid whether or not a job runs today |
| Rent, insurance, software, phones, marketing | Overhead | Fixed or semi-fixed costs of being in business |
| Owner's salary | Overhead (unless the owner works in the field) | If you turn wrenches, the field share of your pay belongs in COGS |
To see the split clearly, set up your chart of accounts so job costs sit above the gross profit line on your profit and loss statement. The cost of goods sold guide covers the accounting side in more detail.
Gross margin by trade
Gross margin depends on how much of each job is labor versus materials, and on how much of your work is service versus installation. Here's what drives it in each trade.
| Trade | Biggest COGS lines | Pushes margin up | Pushes margin down |
|---|---|---|---|
| HVAC | Equipment on replacements; tech labor on service | Maintenance agreements, repair work, accurate flat-rate prices | Price-shopped system replacements, callbacks, overtime in peak season |
| Plumbing | Tech labor and small parts; fixtures on remodels | Drain and emergency service, tiered parts markup | Unbilled second trips, slab leaks quoted too low |
| Electrical | Labor; panels, wire and EV chargers | Service calls, panel upgrades priced as packages | Copper price swings on long quotes, permit delays |
| Roofing | Shingles and underlayment, crew labor, dumpsters | Tight material takeoffs, repairs and inspections | Waste, weather days, supplier price increases between quote and install |
| Landscaping | Crew hours, plants, stone, mulch | Design-build installs, enhancement upsells | Underbid maintenance routes, drive time between stops |
| Cleaning | Almost all labor | Recurring routes with tight drive times | Turnover and training hours, jobs that run long |
The table shows why one company-wide number can mislead. Look at an HVAC shop's two job types side by side:
| Repair call | System replacement | |
|---|---|---|
| Price | $450 | $12,000 |
| Parts or equipment | $60 | $6,100 |
| Burdened labor | $84 (2 hours at $42) | $756 (18 crew-hours at $42) |
| Permit | — | $150 |
| COGS | $144 | $7,006 |
| Gross profit | $306 | $4,994 |
| Gross margin | 68.0% | 41.6% |
Because job length varies so much, many service companies also track gross profit per hour, which puts a two-hour repair and a two-day install on the same scale.
Gross margin vs. gross profit
Gross profit is a dollar amount; gross margin is that amount as a percentage of revenue. $50,000 of gross profit on $120,000 of revenue is a 41.7% gross margin. Use gross profit dollars to see whether you can pay overhead this month, and gross margin percent to compare months, job types and price changes.
Gross margin vs. net profit margin and markup
- Gross margin subtracts only direct job costs. It tells you whether your prices cover the work.
- [Net profit margin](/learn/net-profit-margin) subtracts overhead too. It tells you whether the business makes money.
- [Contribution margin](/learn/contribution-margin) subtracts every cost that varies with volume, including things like card fees and commissions. It's the number for break-even math.
- [Markup](/learn/markup) divides the same profit by cost instead of revenue, so it's always the bigger number. See markup vs. margin for the conversion table.
How do you improve gross margin?
You improve gross margin by raising prices on the work that's underpriced, cutting the direct cost of doing each job, or shifting your mix toward higher-margin work. Start by finding which job types are dragging the average down; job costing is the only reliable way to see that.
- Price from cost, not from the competitor down the road. Build a target margin into every estimate. The job pricing calculator does the math.
- Move service work to [flat-rate pricing](/learn/flat-rate-pricing). Fast techs then earn you more per hour instead of less.
- Cut unbilled time. Second trips for parts, callbacks and long drives are all COGS with no revenue. Better truck stock and routing help.
- Offer options. Good-better-best pricing lets customers trade up to higher-margin packages.
- Bill change orders. Extra work done without a signed change order is pure margin loss.
- Recheck supplier prices. Update your price list when material costs move, especially on quotes that sit open for weeks.
Common gross margin mistakes
- Leaving field labor out of COGS. The margin looks great and the bank account doesn't. If techs' wages sit in overhead, your gross margin is overstated.
- Using raw wages instead of burdened labor. Payroll taxes, workers' comp and benefits are real job costs.
- Averaging everything. A 40% company margin can hide installs at 25% and service at 60%.
- Confusing margin with markup when pricing. A 40% markup gives a 28.6% margin.
- Only looking at year-end. By the time the tax return shows a thin margin, the year is gone. Review it monthly.
Frequently asked questions
What is a good gross margin for a contractor?
A good gross margin is one that covers your overhead with room left for profit. Add overhead as a percentage of revenue to the net profit you want: if overhead is 30% of revenue and you want 10% profit, you need at least a 40% gross margin. Service-heavy shops usually need more than install-heavy ones because their overhead per dollar of revenue is higher.
What is the ideal profit margin for HVAC companies?
There's no single ideal number, because it depends on your mix of service, maintenance and replacement work and on your overhead. Work it out from your own books: gross margin has to exceed overhead as a share of revenue by the net profit you're aiming for. Track it separately for repair and replacement work, since they behave very differently.
Is labor included in gross margin?
Yes. For a trades business, the wages of people doing the work, plus their payroll taxes, workers' comp and benefits, belong in cost of goods sold. Office staff and the owner's management time are overhead. Leaving field labor out makes gross margin look much higher than it really is.
How do you calculate gross margin on a job?
Subtract the job's direct costs (materials, burdened labor, subs, permits, rentals and disposal) from the price, then divide by the price. A $14,000 roof with $9,600 of direct cost has $4,400 of gross profit and a 31.4% gross margin.
What's the difference between gross margin and gross profit?
Gross profit is the dollar figure: revenue minus cost of goods sold. Gross margin is that figure divided by revenue and shown as a percentage. $50,000 of gross profit on $120,000 of revenue is a 41.7% gross margin.
Why is my gross margin high but I'm not making money?
Usually because overhead is eating it, or because field labor is booked as overhead so the gross margin is overstated. Check that techs' wages sit in cost of goods sold, then compare gross profit dollars with monthly overhead. If gross profit doesn't cover overhead, you need higher prices, more volume or lower overhead.
Can gross margin be over 100%?
No. Gross margin is gross profit divided by revenue, and gross profit can never exceed revenue, so the maximum is just under 100%. Markup, which divides by cost, can go well over 100%.
Related
- Markup vs. Margin: What's the Difference?Markup divides profit by cost; margin divides it by price. Conversion formulas, a markup-to-margin table and the pricing mistake that costs contractors.
- What Is Markup?Markup is what you add to cost to set a price. Learn the markup formula, how contractors mark up materials, equipment, subs and labor, with examples.
- What Is Net Profit Margin?Net profit margin is what's left of each revenue dollar after job costs and overhead. See the formula, a contractor example and how to set your target.
- What Is Cost of Goods Sold (COGS) for a Contractor?What counts as cost of goods sold for a contractor, the COGS formula, a worked P&L example, COGS vs. overhead by trade, and IRS inventory rules.
- What Is Job Costing?Job costing tracks what each job really cost vs. the estimate. What to track, a sample job cost report with variances, and a simple system for small crews.
- What Is Gross Profit per Hour?Gross profit per hour shows what each labor hour earns after direct costs. See the formula, compare it to overhead per hour, and spot jobs that lose money.
- How to Read a Profit and Loss Statement (Contractor's Guide)How to read a profit and loss statement as a contractor: each line explained, a worked P&L for a plumbing shop, ratios to check monthly, and red flags.
- Markup and Margin CalculatorConvert markup to margin and margin to markup, or find both from cost and price. Free calculator with a markup-to-margin chart and trade examples.
- Job Costing CalculatorCompare estimated and actual job costs line by line. See your real gross margin, which costs ran over, and how much profit fade cost you on the job.
- Bookkeeping for contractors that keeps your books tax-ready all yearContractor bookkeeping that stays current: categorized expenses, 1099 subcontractor tracking, sales tax and quarterly tax reminders, synced to QuickBooks.