bdevy.

HVAC

HVAC Job Costing Calculator

Total what a job actually cost: burdened labour, equipment, materials, travel and the overhead it consumed.

Your numbers

$
Sales tax is collected for the state, not earned. Leave it out.
$
Wage plus payroll tax, workers' comp, insurance and paid time off, not the bare wage.
$
What you paid, not what you charged.
$
Fuel, maintenance, insurance and depreciation spread over billable hours.
$

Result

Gross profit $421.25
Gross margin 68.16%
Equivalent markup 214.10%
Gross profit per on-site hour $210.63
This call cost $196.75 to deliver and earned $421.25, a 68.16% gross margin, the same job as a 214.10% markup. The drive accounted for 21.73% of the cost.

Gross profit here is before overhead: rent, office wages, advertising, software and the owner's salary all still come out of it. A job at a healthy gross margin can still be unprofitable once its share of running the company is taken. The burdened rate is the number most contractors understate: costing a $28/hour technician at $28/hour ignores payroll tax, insurance and non-billable time, and understates a long job badly.

Open the HVAC invoicing demo

What moves the number

  • Every hour touched, including diagnosis, travel, commissioning and the return trip.
  • Equipment and materials at landed cost.
  • Vehicle cost attributed to the job rather than left in overhead.

Where this one goes wrong

Costing only the install day. The sales visit, the load calculation, the permit trip and the commissioning return are all cost, and a job costed on install day alone looks better than it was.

Questions

About this calculator

Do I need to cost every job?

No. Cost a representative sample across your mix and the pattern appears quickly. Costing everything becomes a project that gets abandoned.

How should the sales visit be treated?

As a cost of the jobs that were won, spread across them. Treating it as free makes every sold job look more profitable and hides what a low close rate costs.

What do I do with the findings?

Look for what the unprofitable jobs share. Usually a job type, a crew, a season or a customer, and each has a different remedy.

How useful was this calculator?

Not rated yet. Yours would be the first.

Put this calculator on your site

Free to embed. Paste this where you want it to appear. It stays up to date automatically because it loads from BDEVY.

Please keep the attribution line. It is the only thing we ask in return.

How to use this calculator

  1. Invoiced to the customer, before tax ($). Sales tax is collected for the state, not earned. Leave it out.
  2. Hours on site. Enter your own figure; the page starts at 2.
  3. Drive time, both ways. Enter your own figure; the page starts at 0.75.
  4. Technicians on the job. Enter your own figure; the page starts at 1.
  5. Burdened cost per technician hour ($). Wage plus payroll tax, workers' comp, insurance and paid time off, not the bare wage.
  6. Parts and equipment cost ($). What you paid, not what you charged.

The result updates as you type, so you can try a figure, see what it does to gross profit, and change it back. Nothing you enter is sent anywhere or saved.

A worked example

These are the figures the calculator opens with. Every number in the results column below is produced by the same calculation the page runs, so you can follow it through before putting your own figures in.

What goes in

InputValue
Invoiced to the customer, before tax$618
Hours on site2
Drive time, both ways0.75
Technicians on the job1
Burdened cost per technician hour$45
Parts and equipment cost$40
Vehicle cost per hour$12
Permits, disposal, subcontractor$0

What comes out

ResultValue
Gross profit main result$421.25
Gross margin68.16%
Equivalent markup214.10%
Gross profit per on-site hour$210.63

This call cost $196.75 to deliver and earned $421.25, a 68.16% gross margin, the same job as a 214.10% markup. The drive accounted for 21.73% of the cost.

How sensitive the answer is

Holding everything else steady and changing only invoiced to the customer, before tax, this is what happens to gross profit. It is worth knowing which of your inputs the answer actually hinges on, and which barely move it.

Invoiced to the customer, before tax ($)Gross profit
$309 $112.25
$464 $267.25
$618 example above $421.25
$927 $730.25
$1,236 $1,039.25

Every other input is held at the example value while this one changes, which is not how a real job behaves. Treat it as a guide to which number matters most, not as five separate quotes.

What each figure means

Invoiced to the customer, before tax ($)
Sales tax is collected for the state, not earned. Leave it out.
Hours on site
A number, between 0 and 200, starting at 2.
Drive time, both ways
A number, between 0 and 100, starting at 0.75.
Technicians on the job
A number, between 0 and 20, starting at 1.
Burdened cost per technician hour ($)
Wage plus payroll tax, workers' comp, insurance and paid time off, not the bare wage.
Parts and equipment cost ($)
What you paid, not what you charged.
Vehicle cost per hour ($)
Fuel, maintenance, insurance and depreciation spread over billable hours.
Permits, disposal, subcontractor ($)
A money amount, starting at $0.

What the results tell you

ResultWhat it is
Gross profitThe headline result. A money figure.
Gross marginA percentage.
Equivalent markupA percentage.
Gross profit per on-site hourA money figure.

Before you rely on this number

Sizing, capacity and load figures here are planning estimates. A real installation depends on the manufacturer's data for the specific equipment, the duct system it is going into, and a proper load calculation for the building. Use this to sanity-check a number or price a job, not to select equipment.

Job costing that runs on every invoice, not one at a time

The BDEVY invoicing demo carries cost and price on every line, so the margin on a job is visible while it is being built and reportable across the whole book afterwards.