How to calculate the fully burdened labor rate for an HVAC technician?
By the Truceipts team · Last updated
Add one technician’s wages, employer payroll taxes, workers’ compensation, benefits, and that tech’s truck and tools for the year, then divide by the hours that actually landed on customer invoices. That quotient is the fully burdened labor rate. Paid hours are the wrong denominator.
This is the job-costing rate for a 5-to-15 tech HVAC shop on Jobber, Housecall Pro, or Workiz: the formula, the 2026 IRS tax figures, a worksheet with your numbers, and the paid-versus-billable step most answers skip.
The formula
Fully burdened labor rate = one technician’s annual cost ÷ that technician’s billable hours.
Annual cost is everything you paid because that person showed up. Billable hours are the hours your field-service app put on invoices, or the sold hours in a flat-rate book. Drive time, shop time, training, PTO, and callbacks are paid. They are usually not billed. If those hours never hit the job, they have to live in the rate.
This number is the cost to put on the job. It is not the rate on the customer’s invoice. Shop rent, the CSR, software, and profit still have to come from the price book.
Add up one tech’s annual cost
Start from last year’s payroll register for that one person, not from wage times 2,080. Overtime, commission, bonuses, and paid time off are already in gross wages. Use that total.
| Input | Where it comes from | On this rate? |
|---|---|---|
| Gross wages, including overtime, commission, and paid PTO | Payroll register | Yes |
| Employer Social Security, 6.2% | IRS Publication 15 (2026), read 2026-10-08 | Yes, up to $184,500 of wages |
| Employer Medicare, 1.45% | Same publication | Yes, no wage cap |
| FUTA | IRS Topic 759, read 2026-10-08 | Yes. 6.0% on the first $7,000; 0.6% after the maximum 5.4% state credit |
| State unemployment (SUTA) | Your state unemployment notice | Yes. Your rate, your wage base |
| Workers’ compensation | The policy invoice, allocated to this tech | Yes. Your premium. Not a national HVAC percentage |
| Health, dental, vision, retirement match | Benefits invoices, employer share only | Yes |
| This tech’s truck, fuel, and truck insurance | The books for that van | Yes, when one van follows one tech |
| Tools, phone, uniforms, EPA or NATE, training | The books | Yes |
| Shop rent, dispatch, software, marketing | The books | No. That is overhead |
IRS Topic 751, read 2026-10-08, is the same 6.2% plus 1.45% employer share, 7.65% combined. Additional Medicare Tax of 0.9% above $200,000 is employee-only. There is no employer match.
Workers’ compensation, health insurance, and the truck vary by state and by shop. Type the dollars from the invoice. Do not paste a “typical HVAC” add-on.
If gross wages already include vacation, do not add PTO a second time. Some calculators add it twice. The PTO hours still hurt you: they are paid and they are not billable.
A helper and a lead do not share a rate. Run the sheet once per tech, or once per wage band. When two techs are on one call, cost each of them at their own rate times their own hours. Do not blend.
This sheet is a W-2 technician. A 1099 helper is a different cost: you pay the invoice, not employer FICA, and the burden is already in their price.
Divide by billable hours, not paid hours
2,080 is 40 hours times 52 weeks. That is the clock. On a service truck the clock is full of windshield time, supply-house runs, shop meetings, training, and warranty callbacks. Owners on r/ProHVACR put van cost, fuel, insurance, 401(k), vacation, and holiday pay into the burden, then add a second haircut for time that is worked and not billed.
Use the hours your job-cost report actually sees.
| What the ticket records | Denominator | Why |
|---|---|---|
| On-site time only | Hours on invoices last year | Drive and shop never hit the job, so they have to sit in the rate |
| Door-to-door, including drive | Those ticket hours | The rate can be lower because more hours land on jobs |
| Flat-rate sold hours | Sold hours from the price book | Clock hours are the cost; sold hours are what you recovered |
Pull last year from Jobber, Housecall Pro, or Workiz. Do not guess a utilization percentage. Do not annualize one July week. Summer overtime fattens the numerator. January shop time and no-heat callbacks shrink the denominator. Last twelve months from the FSM and the payroll register is the window.
Warranty callbacks and no-charge follow-ups stay in the numerator and drop out of the denominator. That is the job that looked fat and was not.
How to track material costs per job for an electrical contractor is the same leak on parts. Labor without a billable-hour denominator is the leak on time.
A worksheet for one technician
The right-hand column is one tech’s sheet so the arithmetic is visible. Replace every dollar and every hour with the figure from your payroll, your workers’ compensation invoice, and last year’s hours on invoices. The $30 wage is the number typed into the sheet, not a market rate.
| Line | This worksheet | Your figure |
|---|---|---|
| Hourly wage you typed | $30.00 | |
| Paid hours from payroll | 2,080 | |
| Gross wages | $62,400 | Use the register, including overtime and commission |
| Employer Social Security, 6.2% | $3,868.80 | |
| Employer Medicare, 1.45% | $904.80 | |
| FUTA, 0.6% × $7,000 | $42.00 | $42 if you get the maximum credit; more if you do not |
| SUTA | $900 | From last year’s state return |
| Workers’ compensation, this tech | $5,100 | From the policy, allocated by payroll share |
| Health insurance, employer share | $6,240 | |
| Retirement match | $1,248 | |
| This van: payment or depreciation, insurance, fuel, maintenance | $9,600 | |
| Tools, phone, uniforms, training | $1,800 | |
| Annual cost | $92,103.60 | |
| Hours on invoices last year | 1,456 | 28 billed hours a week in this sheet, from the FSM |
| Rate per billable hour | $63.26 | Annual cost ÷ billable hours |
| Rate if you divide by 2,080 | $44.28 | The shortcut. It understates every sold hour |
$92,103.60 ÷ 1,456 = $63.26. Same cost ÷ 2,080 = $44.28. The $19 gap is unbilled time, not a tax.
If last summer ran overtime, the wage line is not $30 times 2,080. It is whatever payroll actually paid.
Type the rate you get into the estimated hourly cost in QuickBooks Online if that is where you watch jobs. Intuit’s labor-costing help (updated 2026-08-05) lets you enter wages, employer taxes, workers’ comp, and overhead as that rate. Payroll expenses, the other view, show wages plus taxes and workers’ comp after you run payroll, and miss the truck until you fold it in. How to do job costing in QuickBooks Online is the setup. A job that “made 40%” on wage-only labor still loses money once payroll tax and workers’ comp are in; Is QuickBooks job costing worth it for a small contractor? is that hole.
What this rate is for
Put it on the job as labor cost. Compare it to what you sold.
On T&M, hours on the ticket times this rate is the labor cost of that ticket. On flat-rate, clock hours times this rate against the price-book labor. If drive time never hits the ticket, the higher billable-hour rate is the one that belongs there.
Do not print this number on the invoice. Do not average the whole shop into one blended rate when the lead makes twice the helper. Recalculate when wages, the workers’ comp mod, or the health premium moves, and at year-end against actual billable hours.
How to tell this week
You know the rate is working when last week’s closed jobs cost labor at this number, not at the wage, and the callback that looked free is red. If the job shows revenue and wage-only labor, the rate was never applied.
Pull last year’s payroll register for one tech, the workers’ compensation invoice, the health invoice, and last year’s hours on invoices from Jobber, Housecall Pro, or Workiz. Those four files already exist. Start with that one person.
Frequently asked questions
Should I divide a technician's annual cost by 2,080 hours?
No. 2,080 is 40 hours times 52 weeks, which is paid time, including PTO, holidays, drive, shop, and training. Divide by the hours that hit customer invoices, or the sold hours in a flat-rate book. Using 2,080 understates the cost of every hour you actually sell.
Does the fully burdened labor rate include shop rent and office staff?
No. This rate is one technician. Wages, employer taxes, workers' comp, benefits, and that tech's truck, tools, phone, and training. Shop rent, dispatch, software, and marketing are overhead. Recover them in the price book. Stuffing them into labor makes every job look expensive for the wrong reason.
What is the employer share of Social Security and Medicare in 2026?
The employer share of Social Security is 6.2 percent and Medicare is 1.45 percent, or 7.65 percent combined, per IRS Publication 15 for 2026, read 2026-10-08. Social Security stops at $184,500 of wages. FUTA is 6.0 percent on the first $7,000, usually 0.6 percent after the 5.4 percent state credit.
If payroll already paid vacation, do I add PTO as a separate cost?
No. Annual gross wages already include vacation, holidays, and sick pay you ran through payroll. Adding PTO hours times the wage double-counts. Those hours still matter. They are paid and not billable, so they shrink the denominator instead of inflating the numerator.
Is the fully burdened labor rate the price I charge the customer?
No. It is the cost to put on the job. The invoice still has to cover shop overhead and profit. Printing the burdened cost as the selling rate recovers the technician and loses the office. On flat-rate work, compare this cost times clock hours against the price-book total.