Practical trade business guide
5 Signs You’re Undercharging for HVAC Work
Five practical signs your HVAC pricing may be too low—and how to correct labor, overhead, diagnostic, material, and callback assumptions.
By Goopuh
How this guide was prepared
Goopuh uses research and AI-assisted tools to organize this guide around a specific reader task. AI assistance is not field experience. We label calculations as examples, link primary or authoritative sources where they are used, welcome corrections, and flag decisions that require a qualified professional or current local requirements.

Quick answer
You may be undercharging when the schedule stays full but cash remains tight, owner pay depends on leftover money, unbillable travel and diagnosis are ignored, material increases erase expected profit, or callbacks turn completed jobs into losses. Confirm the problem with job-cost data rather than instinct alone.
Pricing & profit guideOpen the complete contractor pricing guide
1. The calendar is full but cash is always tight
High activity does not guarantee healthy pricing. If deposits are arriving but there is never enough for payroll, taxes, vehicles, tools, replacements, and predictable owner pay, the selling price may not be recovering the complete cost of service.
Review collected revenue—not only invoices sent—and compare it with direct costs, overhead, debt obligations, and required reserves.
2. Owner labor is treated as free
An owner working in the field has a labor cost even if money is taken as draws. Price the technician role and the ownership role separately. Otherwise the business may appear profitable only because the owner is providing unpaid estimating, dispatch, bookkeeping, callbacks, and field labor.
3. Diagnostic and travel time disappear
HVAC service capacity includes driving, parking, customer intake, setup, diagnosis, authorization, parts handling, documentation, cleanup, and payment—not only time with tools on the equipment. When pricing counts only repair minutes, much of the workday produces no recovery.
Map an average call from dispatch to completion and decide how diagnostic and travel capacity will be recovered.
4. Material changes erase the expected result
A parts markup must do more than reimburse the purchase price. Ordering, pickup, stocking, warranty handling, damaged parts, financing time, and inventory risk all create cost. Update price inputs regularly and distinguish special-order exposure from common truck stock.
5. Callbacks turn good weeks into bad weeks
Not every return visit is preventable, but every return visit consumes capacity. Track the original job, reason, labor, materials, travel, and whether the cause was workmanship, diagnosis, product failure, customer expectation, or a separate problem. Patterns show whether pricing, training, documentation, or quality control needs attention.
Run a simple job-cost test
Select a representative group of completed calls. For each one, compare collected revenue with loaded labor, material, equipment, permit, subcontractor, callback, and allocated overhead costs. Then calculate gross profit and gross margin consistently.
| Review | Question |
|---|---|
| Labor | Did the estimate include dispatch-to-close time and labor burden? |
| Materials | Were current cost, handling, and warranty exposure included? |
| Capacity | Did travel, diagnosis, pickup, and documentation consume unrecovered time? |
| Quality | Did a callback or unfinished recommendation change the result? |
| Collection | Was the full invoiced amount actually collected? |
Correct pricing without guessing
Update one layer at a time: labor cost, service-call structure, material pricing, overhead recovery, and target profit. Test the new method against actual jobs and explain prices through clear scope and professional service—not an apology.
Continue with the full HVAC service-call pricing guide.
Run a thirty-day underpricing audit
Select a representative group of completed diagnostic calls, repairs, maintenance visits, and replacements. For each job, compare approved revenue with actual technician hours, parts, equipment, permits, subcontractors, warranty or callback cost, discounts, and other direct costs. Then compare estimated and actual gross profit dollars and margin.
| Finding | Likely cause to test | Possible correction |
|---|---|---|
| Labor overrun across one repair type | Flat-rate task or production assumption is stale | Rebuild the task from recent completed calls |
| Small calls produce little gross profit | Dispatch and travel capacity is missing | Recalculate the minimum service charge |
| Part cost repeatedly exceeds estimate | Price book or purchasing data is stale | Update landed cost and handling assumptions |
| Sold margin is acceptable but cash is weak | Collections, deposits, inventory, or overhead | Separate cash-flow and operating-profit diagnosis |
Worked before-and-after service-call example
A repair sells for $425. Actual loaded technician cost is $126, parts and handling are $105, and direct truck or dispatch cost is $44. Direct cost is $275, leaving $150 gross profit and about 35.3 percent gross margin under this company’s classifications. If the call also consumed an unrecorded hour of travel and pickup costing $54, true direct cost becomes $329 and gross margin falls to about 22.6 percent.
The fix is not automatically a blanket price increase. The company might revise expected capacity, stock the common part, change the service-area rule, update the task price, or combine several changes. The completed-job record shows which response addresses the actual leak.
Correct prices in a controlled sequence
Update loaded labor and parts first, then overhead and capacity assumptions, then minimum charges and task prices. Test the revised model on recent jobs before publishing it. Train office and field staff on what each charge includes so explanations remain consistent.
- Recalculate loaded technician cost
- Update current landed parts cost
- Measure dispatch, travel, and nonbillable capacity
- Review callbacks and warranty labor by task
- Reprice the highest-volume or largest-loss tasks first
- Monitor booking, gross profit, and customer concerns after the change
Separate underpricing from the other profit problems
A low completed margin can come from a price that was too low, but it can also come from inaccurate scope, slow production, missing purchase returns, excessive travel, unapproved work, discounting, or a callback. Compare the original estimate with actual results before changing the price book. If estimated margin was healthy and actual margin was not, identify the variance first.
| Evidence | Primary question | First response |
|---|---|---|
| Estimated and actual cost are close, but margin is weak | Was the selling-price formula or target insufficient? | Review price and margin approval |
| Actual labor repeatedly exceeds estimate | Is the task assumption, crew plan, or workflow wrong? | Rebuild production data and investigate execution |
| Revenue is missing approved work | Were changes documented and invoiced? | Repair authorization and billing flow |
| Margin is healthy but cash is tight | Are deposits, receivables, inventory, or debt creating timing pressure? | Build a separate cash-flow diagnosis |
Model a controlled price correction
Suppose a common repair currently sells for $500 and verified cost is $390, producing $110 gross profit and a 22 percent margin. The company determines that comparable work needs to produce a 30 percent margin under its plan. At the same cost, the calculation is $390 ÷ 0.70, or about $557.14.
Before publishing $557, verify that $390 includes the expected capacity, parts, handling, warranty exposure, and cost classifications. Review recent booking and completion data, round or package the customer-facing price consistently, and define who can approve discounts. The mathematical output is an input to the business decision, not proof that every market or customer will accept it.
Roll out corrections without disrupting the team
Update the highest-volume weak task first. Give office and field staff the effective date, included scope, authorization language, and approved exceptions. Preserve old prices on already accepted work unless the agreement allows otherwise. Carefully review new estimates, booking results, actual margin, and customer questions weekly for the first month.
If customers object, listen for whether the concern is total price, unclear value, financing, scheduling, or trust. Do not immediately reverse accurate pricing based on one reaction. Use a reasonable sample of qualified opportunities and completed jobs.
Set a repeatable monthly pricing review
Review the ten largest or most frequent completed calls, task-level variances, callbacks, discounts, parts changes, and lost estimates. Assign each correction to a price input, scope template, route rule, or operating process. Date the change and compare the next group of completed calls with the old baseline.
Free editable tool
Put this guide into practice
Use a practical Goopuh template to capture the details while they are fresh. Email updates are optional.
From template to operating system
Run the workflow in Goopuh Trade Profit OS
Goopuh is building the connected system for estimates, job records, actual costs, customer follow-up, and clearer profit decisions.
Frequently asked questions
Does being busy mean HVAC prices are correct?
No. A company can stay busy with underpriced work. Use collected revenue and complete job costs to evaluate pricing.
Should HVAC companies charge a diagnostic fee?
A defined diagnostic or service-call charge is one common way to recover dispatch, travel, and diagnostic capacity. The structure should fit the company, market, and applicable rules.
How can HVAC callbacks be priced?
First track and reduce preventable callbacks. Expected warranty and service-recovery costs should be considered in the overall pricing model rather than surprising one customer after a workmanship issue.
Pricing note: Examples explain the method; they are not guaranteed market rates. Use your actual labor, overhead, taxes, insurance, licensing requirements, risk, and local conditions before quoting work.
