An HVAC price book template can sit there looking tidy and responsible while quietly growing more costly to rely on every month. It usually starts as a spreadsheet that felt reasonable at the time, then hangs around long after labor burden, fuel, insurance, and parts costs moved on without asking.
This HVAC pricing guide walks through the math that matters, starting with the billable hour rate that sets your floor for every line item. Tiered parts markups handle the rest, and a regular review schedule keeps both honest as costs move. Each flat rate price also has to leave room for profit, tax, owner’s pay, and operating costs once the deposit clears. Build prices around your actual costs so the work stays busy and the numbers still work.
How to Build Your HVAC Price Book Template
By the end of this guide you will have a billable hour rate worksheet, tiered parts markups, a line item builder, a Profit First allocation test, and a review cadence working together as one HVAC pricing system.
What You’ll Need Before You Start
Pull these together before you touch the worksheet. The build stalls when one of these is missing.
Payroll data for one field tech. Annual wages, benefits, payroll taxes, workers’ comp premium, and training costs. Pull from your last full year of payroll reports.
An overhead total. Annual rent, dispatch payroll, software subscriptions, insurance, truck costs (fuel, maintenance, lease or depreciation), office supplies, and anything else that is not a direct job cost. Your bookkeeper or accounting software can usually export this in 10 minutes.
A billable hours estimate per tech. Total paid hours minus shop time, drive time, callbacks, and training. If you are not tracking this, 1,000 to 1,200 billable hours per tech per year is a working starting point you can refine once you have your own data.
Six to twelve months of completed work orders for the task list in Step 1.
Current distributor pricing on your top parts, pulled from your most recent invoices.
Your target net profit percentage. ACCA’s Contractor of the Future study reports flat rate users averaging around 7% net profit, so high single digits is a defensible starting target unless your own data points elsewhere.
Your maintenance agreement member discount %, if you run an agreement program.
Your Profit First for contractors target percentages for profit, owner’s pay, tax, and operating expenses.
With those in hand, the rest of the build is mechanical. Each step plugs your numbers into a worksheet and produces an output the next step uses.
Step 1: Pull Together Your Task List
Group your work orders by repair task and decide which repairs belong in the book. The work your techs see most often makes up the core of any HVAC price book: capacitor replacements, contactor swaps, condenser fan motors, blower motors, igniters, flame sensors, inducer motors, refrigerant top-offs, leak searches, and drain line clears. Published flat rate references from vendors like Callahan-Roach and Profit Rhino can give you a benchmark count if you want to cross-check the size of your book against an established library.
Inside that book, a much smaller working set of task codes does most of the work. Apply the 80/20 cut: a few dozen of the highest-frequency repairs in your own work order data usually cover the bulk of service calls, and anything that comes up once a year can stay off the printed book and get quoted as a custom job. Heavy commercial work, custom ductwork, and unusual equipment access situations belong on T&M or quoted scope.
Step 2: Calculate Your Billable Hour Rate
Your billable hour rate is the labor input every line item gets multiplied by, so this number has to be right before anything else gets priced. Work through the worksheet below, filling in your own figures as you go.
Input | Formula | Your Number |
|---|---|---|
A. Annual technician wages | Base pay × 1 tech | $ |
B. Labor burden | Benefits + payroll taxes + workers’ comp + training | $ |
C. Fully loaded labor cost | A + B | $ |
D. Annual billable hours | Paid hours − shop, drive, callback, and training time | hrs |
E. Base hourly cost | C ÷ D | $ /hr |
F. Hourly overhead allocation | (Annual overhead ÷ total billable hours, all techs) | $ /hr |
G. Hourly net profit target | (E + F) × profit % | $ /hr |
Billable hour rate | E + F + G | $ /hr |
Two cautions trip up most price books at this step. A tech on payroll for eight hours often logs only two to three billable hours in a day, so dividing the loaded cost by paid hours understates the labor input from the start.
Burden rates also vary by role. A blended number that mixes office staff with field techs can understate your real field labor cost, and overhead like dispatch payroll, rent, software, insurance, and truck costs still has to be spread across the hours your techs actually bill. Without that overhead and profit room baked into the rate, the tech can stay busy all week and the business still only breaks even.
Step 3: Set Labor Time Standards for Each Task
Each task in the book needs a standard labor time in billable hours. Contractors usually start with a published flat rate guide like Callahan-Roach or a vendor-supplied reference. From there, refine the times over the first year using your own data. Run light time studies on the crew, or pull historical work orders if dispatch software tracks on-site time per task.
If you run your own time studies, have techs log start and stop times on the 20 most-run tasks for a month. From there, the question is whether you want the price to cover the average call or the harder-than-average call. The median sets the price to cover a typical job, which means roughly half your calls run long. A trimmed mean or the 75th percentile sets the price higher, so margin holds up on the harder calls. Pick the approach that matches your callback experience and margin tolerance.
Set the time once per book version and stick with it within that version. Revisit during the scheduled reviews in Step 9. Inside a given version, the flat rate price is what the customer pays whether the tech finishes in 20 minutes or 90 minutes. That gives the customer price certainty up front and rewards techs for working efficiently.
Step 4: Apply Tiered Parts Markups
A single flat markup percentage either overprices larger components or loses money on smaller ones, so the HVAC pricing sheet needs tiers. The table below is a starting framework, not an industry standard. Adjust the breakpoints and percentages to match your own cost mix and the gross margin you need to hit on each tier.
Part cost range | Target markup on cost | Resulting gross margin |
|---|---|---|
Under $25 | 300%+ | 75%+ |
$25 – $100 | 150% – 200% | 60% – 67% |
$100 – $500 | 100% – 150% | 50% – 60% |
$500 – $1,500 | 66.7% – 100% | 40% – 50% |
Over $1,500 | 40% – 66.7% | 28% – 40% |
Refrigerant (any tier) | Review monthly | Track separately |
Add a warranty reserve of roughly 3% to 5% inside each tier before publishing the price. That keeps a callback or warranty part failure from hitting your operating account directly. The right percentage depends on your callback rate. If warranty cost in the last 12 months ran higher than 5% of parts revenue, set the reserve at the top of the range or above.
Step 5: Construct Each Line Item
For every task on your list, fill in the following:
Task name and code
Standard labor time (in billable hours, from Step 3)
Labor charge = standard time × billable hour rate
Parts cost (from current distributor pricing)
Parts charge = parts cost × tier markup
Warranty reserve = parts charge × reserve %
Standard price = labor charge + parts charge + warranty reserve
Member price = standard price × (1 − member discount %)
Gross margin check = (standard price − true cost) ÷ standard price
The numbers below are illustrative. Rates vary widely by market, with low-cost regions running well under $185/hr and high-cost metros (NYC, SF Bay, Boston) often running well above. Plug in your own billable hour rate from Step 2 to see your real prices.
Assume your billable hour rate works out to $185/hr, the parts tier markup for a $22 part is 300%, and your warranty reserve is 4%.
Standard labor time: 0.5 hours
Labor charge: 0.5 × $185 = $92.50
Parts cost: $22
Parts charge: $22 × 4 (300% markup) = $88
Warranty reserve: $88 × 0.04 = $3.52
Standard price: $184.02 (round to $185)
Member price (10% discount): $185 × 0.90 = $166.50
True cost: (0.5 × fully loaded hourly cost of $72) + $22 = $58
Gross margin check: ($185 − $58) ÷ $185 = 68.6%
That margin check is what you want to see on every line item before it goes in the book. The math behind it: a 40% gross margin requires a 66.7% markup on cost. If the margin comes in under your target, raise the standard price before discounting.
If you run a maintenance agreement program, build the standard and member price together in this step. The regular price has to be set high enough that the discounted member price still works. If the standard price already sits right on your target and you discount from there, the agreement customer becomes a lower-margin customer than intended.
Step 6: Set Your Diagnostic Fee
The diagnostic fee covers the trip and the first 30 to 60 minutes on site. That typically covers an initial walkthrough and basic troubleshooting on a residential call. Waive the fee or apply it to the repair if the customer approves the work. The customer should not pay twice for the same visit.
Build the fee from your billable hour rate multiplied by the time on site (typically half an hour to an hour, depending on your average diagnosis). Then add the truck cost per stop, covering fuel, vehicle wear, and dispatch overhead. Cross-check the result against your local market floor for a service call so the number stays in line with what customers expect to pay.
Set it high enough that a no-sale call still covers the trip. Then track close rate against the fee quarterly. A close rate below your target may mean the fee is priced above what your market will accept. Eroding margins may mean it is too low.
Step 7: Run the Profit First Allocation Test
Run each standard price through your account percentages to confirm the math works after the deposit clears.
Account | Target % of real revenue | Dollars per $1,000 sale |
|---|---|---|
Profit | 5% – 10% | $ |
Owner’s pay | 10% – 35% | $ |
Tax | 10% – 15% | $ |
Operating expenses | 30% – 60% | $ |
Real revenue = repair revenue − parts and equipment pass-through.
The price has to leave room for money to move into profit, owner’s pay, tax, and operating accounts. If the whole payment has to stay in one account just to cover the call, the price was too low.
To pressure-test your existing book, calculate real revenue by backing recent equipment and materials out of revenue. Then run your Profit First percentages against that number. If the operating account runs short month after month, the price book is one of the first places to look. The same discipline applies to broader construction cash flow management. The gap between billed work and money in the account is what catches most contractors off guard.
The split only works if each percentage actually lands in its own account, which is where most contractors hit friction. A single operating account at a traditional bank means manual transfers every time a deposit clears. Those transfers tend to slip when the week gets busy. With a modern banking platform that allows for multiple checking accounts and auto-transfers, every deposit can be split into Profit, Owner’s Pay, Tax, and Operating on the way in.
Step 8: Roll the Book Out to Your Team
A price book only works if techs use it consistently in the field. Before launch, work through the format, presentation, and training questions below.
Format
Printed binder, tablet app (FieldEdge, ServiceTitan, Housecall Pro, and similar tools), or both. Some platforms (such as ServiceTitan with Pricebook Pro or Profit Rhino integrations) can pull in updated prices automatically. Not all software does, so check before you assume the update workflow is hands-off. A printed backup book still has a place in the truck for when the tablet dies or the signal drops.
Customer Presentation
Decide how the tech shows the price to the customer. Options include the page from the book, a tablet with good/better/best options, or a verbal quote from memory. Showing the printed page tends to anchor the price as fixed.
Training
Run a half-day session with techs walking through the most-run 20 tasks. Cover how to present member pricing and how to handle “Why is it this much?” questions. Without this step, techs default to old time-and-materials habits and the book gets ignored.
Get all three right and the book actually drives behavior in the field. Skip any one of them and the math you built in Steps 1 through 7 stops translating into the prices customers actually see.
Step 9: Lock In a Review Schedule
Material costs, insurance, fuel, and labor burden all move at their own pace. A price book that stays frozen while your cost structure keeps moving turns into automatic underpricing. Build the review dates into your calendar before launch so the book does not drift.
Section | Review window |
|---|---|
Full book | Each shoulder season (spring and fall) |
Refrigerant | Monthly |
Labor burden inputs | After any wage, benefit, or insurance change |
Diagnostic fee | Quarterly, against close rate |
Shoulder season is the best review window for the full book. You have recent operating data and breathing room to see what insurance, fuel, and overhead did to the bottom line. Refrigerant gets the shorter cadence because pricing in that category has been volatile. A book built on older refrigerant costs can become materially underpriced on specific line items much faster than the rest of the book.
Two Failure Modes That Drain Margin Quietly
Two common errors are worth flagging because they show up even after the book is built correctly.
Copying competitor rates. A contractor copies a competitor’s diagnostic fee, assumes the margin works, and it almost never does. Your overhead, your labor burden, your truck costs, and your parts pricing from your distributor are the inputs that matter. A competitor’s price is a sanity check on your final number rather than the source of it. ACCA’s Contractor of the Future study found flat rate users averaging 7% net profit, compared to 4% for contractors using other pricing methods. How you build the book changes what you keep at the end of the job.
Mixing up markup and margin. Markup is what you add to cost. Margin is what the final price leaves as gross profit. The two are not interchangeable, and a markup percentage that looks healthy on the sheet can still leave the job short on margin. To hit a 40% gross margin, you need a 66.7% markup on cost. Check every line item against the gross margin it actually produces, not the markup percentage on the sheet.
Where the HVAC Price Book Template Meets the Bank Account
The math in Steps 1 through 7 only holds up if the deposit actually splits the way the price was built to split. A single operating account turns every repair payment into one undifferentiated balance. The profit, tax, and owner’s pay percentages from each line item end up competing against payroll and overhead in that single balance.
Open a Relay account1 to set up separate checking accounts for Profit, Owner’s Pay, Tax, and Operating. Percentage-based transfer rules move each deposit into its allocated account automatically. The split your price book assumes happens on every payment, the moment it clears.
1Relay is a financial technology company and is not an FDIC-insured bank. Banking services provided by Thread Bank, Member FDIC.
Frequently Asked Questions
Should I Use Flat Rate or Time-and-Materials for Commercial HVAC Work?
Flat rate works well for residential service and commercial repairs with predictable task times. Commercial projects with high job variability, custom scope, or unusual equipment access often work better as T&M or hybrid pricing. With hybrid, a flat rate diagnostic leads into a quoted scope for the repair. Run flat rate as the default and switch to T&M only for non-standard work.
Should the Same HVAC Price Book Apply to All Technicians?
The flat rate price stays the same regardless of which tech runs the call. What can vary is the internal fully loaded labor cost behind that price. A senior tech with higher wages and burden costs more per hour than an apprentice. Track that cost difference for margin analysis.
How Do I Price for After-Hours and Emergency Calls?
A flat after-hours uplift on top of the standard price is cleaner than recalculating each line item. Apply a multiplier on top of the standard price for evenings and weekends, with a higher one for overnight. A 1.5x to 2x range is a reasonable starting point to test against your market. The right number depends on what your market accepts and what the after-hours call actually costs you (overtime wages, dispatch coverage). Build the uplift as a separate line on the invoice so the customer can see the standard price and the after-hours premium side by side.
How Do I Know if My HVAC Flat Rate Prices Are Too Low?
Watch for two signals together: customers rarely push back on price, and the operating expense account keeps running short. If both show up at the same time, review your labor burden, parts pricing, and current overhead before adjusting individual line items.




