Knowing how to spot an unprofitable commercial HVAC job prevents a bad bid from becoming a bad quarter. Most shops only catch unprofitable jobs at closeout when they belatedly recognize the unpriced scope gap, the crew running long on rough-in, or the change order that sat for three weeks.
That's backward. CFMA calls the work-in-process (WIP) schedule the early indicator of job profitability problems, especially when prices are rising fast. The margin cushion for business owners that used to survive a bad month now gets erased by a single price swing on copper or steel.
The Associated General Contractors of America found that the cost of inputs for nonresidential construction climbed 7.1% year over year in June 2026, while bid prices for new nonresidential work rose only 3.5%. For a mechanical contractor running a gross margin in the low 20s, a gap that size can erase a job's entire margin.
What Makes a Commercial HVAC Job Unprofitable?
Specialty trade contractors, the largest share of which are plumbing, HVAC, and electrical firms, averaged a 22.4% gross profit margin in fiscal year 2024, up slightly from 21.9% the year before, according to CFMA's Construction Financial Benchmarker. Net income before tax, or net margins, was 7.7%, with the best-performing firms at 14.2% and firms under $10 million in revenue performing worst, at 6.5%.
Direct costs ran to 74.2% of specialty trade revenue for 2024, including labor costs, materials, and subcontractor spend. That's why HVAC job profitability is earned in the field rather than what was estimated on paper. While overhead is fixed, direct costs change week to week, and they're the vast majority of your spend before calculating margin.
None of this means a single bad month automatically sinks a job. But the signs are visible earlier than you think, especially if you know where to look.
Related: Our guide to HVAC profit margins shares how to benchmark your numbers against the industry averages, job type by job type.
10 Warning Signs a Commercial HVAC Job Could Be Unprofitable
This guide shares how to spot unprofitable HVAC jobs at both ends of the life cycle: the ones you can walk away from before mobilization, and those already eating margin in the field. Some warning signs emerge in the estimate. Others only show up after you've put a crew on-site and started sending invoices.

1. The Scope of Work Is Vague or Incomplete
A scope gap sometimes looks like momentum. Maybe it's a rooftop unit swap quoted off a walkthrough instead of a full mechanical survey of the HVAC system, or a controls upgrade priced from an as-built drawing that predates three renovations. The estimate goes out clean, but the job is anything but.
Every unpriced bid assumption is a bet that the reality matches the drawing. But that's often not the case for commercial retrofits. The ductwork might be abandoned mid-run. Electrical capacity gets shared with unflagged equipment. Structural support for a new unit needs reinforcement but isn't scoped. These incidents aren't yet change orders, but they can become gaps absorbed into the price unless someone catches it before signing.
A tighter scope at the estimate stage is worth more than a faster one at the bid stage.
The operational fix: Determine the threshold your business can't absorb a loss on. Require a documented site assessment, not a drive-by, for any commercial bid over that threshold. Price contingency into anything the walkthrough can't confirm.
Related: Our guide to estimating commercial HVAC jobs covers how to build a scope that survives contact with the jobsite.
2. Winning the Job Requires an Unsustainably Low Bid
Some jobs are unprofitable before the ink dries because the number that won the bid didn't have room. AGC's tracking of producer price data for June 2026 showed that prices for aluminum mill shapes increased by 52.4% year over year. Copper and brass mill shapes were up 26%, and steel mill products increased by 16.9%. Meanwhile, bid prices for new nonresidential construction gained only 3.5% over the same period.
If your install relies on crew and copper but is priced on old numbers and doesn't have an escalation clause, you're already behind before the first unit ships.
Here's a scenario: A $340,000 rooftop unit (RTU) replacement and controls upgrade is planned for a three-building medical office campus. The job requires five techs over eight weeks. But how did you bid the number? If you only focused on competitors versus rising real-life costs, the margin might already be gone.
The operational fix: If a bid wins only on price, you should walk, reprice with an escalation clause, or limit quote validity to something shorter than your install window. Remember that winning the bid doesn't mean you'll make money, especially after paying your crew.
Related: Pricing HVAC jobs profitably requires knowing how to price against current input costs instead of last quarter's job cost report.
3. The Schedule Leaves No Room for Delays
A schedule with no slack turns every minor problem into a cost overrun. Across 98 commercial and industrial projects worth a combined $8.5 billion, 65% saw a cost increase after being awarded.
Rework alone was "a significant predictor" for 43% of the variance in how those projects performed against budget, even though it averaged only 0.39% of contract value. The challenge for HVAC contractors is that 93% of them bore the rework costs directly, resulting in a 23% average loss in annual profit.
Here's another scenario: There's a controls and RTU retrofit for the heating and cooling system inside an occupied 120,000-square-foot warehouse, with a six-person crew on a 10-week schedule where shutdown windows are limited to weekends. Even one weekend lost to a permit delay or a wrong part will extend technicians' work hours, push labor into overtime, and turn the schedule negative.
The operational fix: Build float for anything with limited access windows. Treat weekend-only or after-hours shutdown work as a line item with its own labor rate, rather than a rounding adjustment on the original estimate.
4. Site Conditions Haven't Been Properly Assessed
Older commercial buildings rarely match their as-builts. Structural framing gets modified during unrelated tenant work, ceiling plenums get reused for undocumented cabling, and electrical panels are inconsistently relabeled across renovations.
None of that shows up on a drawing or a five-minute walkthrough. But you'll find out when the rigging crew arrives to find the roof won't take a new unit's weight without added support, or when an electrician opens a panel that doesn't match the one-line. Experienced technicians can catch these problems on a walkthrough, but not with a rushed estimate. Ultimately, they become a change-order dispute or an absorbed cost.
The operational fix: Send someone qualified to assess structural, electrical, and access conditions in person. Ideally, this person should go alongside the facilities managers who know the building's history. This is especially important before bidding on any retrofit or replacement work in a building more than 10 years old. Document what they find.
5. Equipment and Material Costs Lack Contingency
With input costs rising, a bid for install work with the same material contingency from two years ago is already a thin margin. You need to price against current material costs, not what the estimating template assumes. Lock in that price early with tight quote validity windows, escalation clauses on longer contracts, and early buyout on copper, steel, and refrigerant-heavy equipment as soon as a job is awarded.
The operational fix: Buy out major equipment and materials within days of the award, and build escalation language into any contract that runs longer than your supplier's quote validity period.
6. Payment Terms Create Excessive Financial Risk
Specialty trade contractors carried just 22 days of cash on hand and roughly seven months of backlog in fiscal year 2024. Across all construction companies, accounts receivable averaged 55.2 days, with CFMA noting that commercial trade payment terms can stretch to 90 days on some contracts. When the owner or general contractor runs on the far end of that range, HVAC businesses are effectively financing someone else's project, no matter how well the job was bid.
The operational fix: Model cash flow against the payment schedule before signing. Negotiate progress billing that's tied to material delivery and milestones, rather than a lump payment at completion.
7. There's No Clear Change-Order Process
Change orders that sit unpriced and unapproved aren't neutral. The previously mentioned research on 98 completed projects found that client-approved change orders equaled 3.6% of awarded contract value, while contractor-approved change orders for their own subcontractors ran to 4.17%. That's roughly 0.5 percentage points of total project cost being absorbed by the contractor.
That squeeze compounds elsewhere, too. MCAA's labor productivity factors stack additively. One worked example estimates 10% for crew-size inefficiency, 10% for a learning curve, and 5% for staffing reassignment. This amounts to a 25% loss, turning 2,000 hours of change-order work into 2,500 hours.
Consider this scenario: An $85,000 duct reroute is discovered mid-installation but sits unpriced for three weeks while a four-person crew keeps working on the unaffected scope. By the time the change order gets approved, the crew has already absorbed productivity losses.
The operational fix: Price for disruption using a documented method, such as MCAA's factors, and do so when the change occurs, not at closeout. Apply it only to the specific hours affected.
8. The Labor Plan Depends on Overtime or Unavailable Skills
HVAC workers who install, maintain, and repair heating, ventilation, and refrigeration systems earned a median annual wage of $59,810 as of May 2025, according to the Bureau of Labor Statistics. The overall HVAC industry is expected to grow by 11% through 2035, even as many workers leave the trade or retire.
If your schedule is built on easy overtime or a single technician certified in handling refrigerants, you're one quit away from delays or relying on a temp crew at an unplanned-for burdened rate.
The operational fix: Cross-train multiple technicians on specialty scope, price overtime as a planned cost. In the longer term, recruit early from local trade schools.
9. Actual Costs Begin Exceeding the Estimate Early
CFMA's method for reading a WIP schedule involves tracking percent complete under the cost-to-cost method: Costs incurred ÷ the revised total estimated cost. The revised estimate is the number that matters, and you should update it monthly.
CFMA's worked WIP example shows why this happens in the real world. A $2 million contract with an estimated cost of $1.6 million has a 20% margin on paper. But when the estimated cost to complete rises to $1.72 million, the margin falls to 14%, all while the percent complete is still low enough (55.8%) for the project manager to act.
The operational fix: Every month, on every active job, check the percent complete, the current estimated margin against the original, and the billing position. If margin fade shows up between 20% and 30% complete, that's a sign to investigate.

10. Rework and Return Visits Keep Increasing
Rework is one of the most underreported line items in HVAC and mechanical work. A 2026 review of contractor data found field rework averaged 0.38% of contract value but nearly doubled once post-completion corrections were included. Perhaps most alarming, rework costs were underreported by roughly 300%.
For HVAC professionals, a pattern of return visits by job or crew is a cost signal, not just a service warning. Left uncoded, labor and materials get buried in overhead instead of showing up against the job that generated them.
The operational fix: Code every return visit and warranty callback against the original job so that recurring patterns surface as job-training issues to address.
How to Decide Whether to Bid, Reprice or Walk Away

For HVAC contractors, none of these warning signs mean rejecting the job. But either the number on the table needs to change, or the risk needs to be priced before you sign.
CFMA's three-line check includes percent complete, current margin, and billing position. This works just as well run in reverse during the bid phase. Model what percent complete would look like at 30% given the schedule, what happens to margin if material costs keep moving, and whether the payment terms leave you underbilled.
Whether you're overbilled or underbilled matters less than whether that position is growing, shrinking, or holding steady. Slow invoicing or an unaddressed change order is a process problem, fixable without repricing anything. Chronic underbilling that grows across your backlog means you're financing the customer's project with precious working capital.
When a job clears the bid stage and starts showing fade in the field, reprice using a documented method (MCAA's productivity factors are a defensible starting point) and apply it to the hours affected, not the whole project. If the fade is structural (a bad estimate, weak payment terms, or an unrealistic schedule), walking away from the next phase of a multi-phase contract can be cheaper than finishing at a loss.
Related: HVAC profitability metrics cover the KPIs worth tracking job by job.
Protect Commercial HVAC Job Margins With Simpro®
Every diagnostic described here depends on having current data. A WIP schedule can only act as an early warning system if the cost and billing data is current and not weeks old.
Simpro's job costing tracks committed and incurred costs against a revised estimate at the cost-code level in near real time. That makes it possible to complete a 20–30% diagnosis during the job instead of after closeout. Progress billing and job financials sit next to that data, so you can see when an overbilled position is masking fade or whether underbilling is a process failure or a cash risk.
Mobile timesheets work similarly when it comes to labor variance. The warnings generated by earned hours versus actual hours are only accurate when field time is captured against the right job and cost code. Simpro customers are building estimates up to 10 times faster because their pricing inputs are already up to date.
Next, dashboards and scheduled reports automate the review cadence recommended by CFMA. This includes margin fade by job, aging change orders, and unbilled work, so the review starts from exceptions instead of a blank report.
Related: HVAC job management software covers what to look for if job costing, WIP, and timesheets currently live in three different systems that don't talk to each other.
Stop Unprofitable HVAC Jobs Before They Drain Your Margin
You probably have a gut feeling about which jobs in your backlog are running low, but you might not have a specific number to point to.
Money-losing jobs share the same trait: Nobody looked at the right data at the right time, whether it was scope, cost-to-complete, or an unpriced change order. The fix starts by spotting drift early enough to reprice, staff differently, or walk.
Simpro makes sure that visibility is built into the job costing, WIP, and timesheet data you're already generating, so the numbers show up while you can still act. A stable, profitable book of commercial HVAC work depends less on winning extra bids and more on knowing which ones to walk away from before they cost you.
Schedule a demo to see what that looks like against your own jobs.