TemplateLast reviewed November 4, 2026

Labor Rate Calculator and Flat-Rate Price Book (Free .xlsx)

Free labor rate calculator for contractors: a macro-free .xlsx that turns wages, burden, overhead and billable hours into an hourly rate and flat prices.

Most service shops set their hourly rate by looking at the wage, adding something that feels safe, and checking it against what the shop down the road charges. But the wage is only part of what an hour costs, and a tech bills only some of the hours you pay for. Our labor rate calculator works the rate out from your own numbers instead, then uses it to price a flat-rate price book, task by task.

Download the labor rate calculator. It’s a plain .xlsx file with no macros and no sign-up. Replace the sample inputs with yours and the rate and every flat price recalculate.

Video walkthrough

This short captioned walkthrough goes from the rate inputs to the price book and the parts list.

Labor Rate Calculator walkthrough

Who this calculator is for

We built it for owners and service managers at HVAC, plumbing, electrical and other trade shops who price repair work by the hour or by the task. It fits two situations in particular:

  1. You’re setting or reviewing your hourly rate and want to see what it has to cover, line by line.
  2. You’re moving from time-and-materials billing to flat-rate pricing and need a price book that traces back to a rate you can defend.

The workbook carries no wage data, typical rates or regional benchmarks. Every number in it is a sample input for you to replace.

What’s in the workbook

There are four sheets, in this order:

  1. Instructions covers setup, the color legend, Google Sheets import, the limitations, and a note that the formulas, layout and sample figures were written from scratch for this file.
  2. Labor Rate holds your inputs: technicians, average base wage, paid hours per tech, payroll burden, billable share, annual overhead, target net profit and parts markup. Below them it works out annual wages, burden, loaded labor cost, billable hours, labor and overhead cost per billable hour, the break-even rate and the required hourly rate. It also counts valid task rows and rows to check, and totals the price book.
  3. Price Book has one row per task: a code, the task, labor hours, a part number and quantity. It calculates parts cost, labor price, parts price, the price before rounding, the flat price and a Row check.
  4. Parts lists your parts with a unit cost and a Row check.

Blue cells are for typing, yellow cells calculate, and green cells hold the headline results.

How to set it up

  1. Open the file in your spreadsheet app. If it opens read-only, turn on editing so the formulas calculate.
  2. On Labor Rate, replace the blue inputs with your own: how many techs bill, their average base wage, the hours you pay each one in a year, payroll burden as a percent of wages, the share of paid hours you can bill, annual overhead, the net profit you want as a percent of revenue, and your parts markup.
  3. Read the break-even rate and the required hourly rate.
  4. On Parts, list the parts your flat-rate tasks use, with your unit cost. Keep each part number unique.
  5. On Price Book, list each task with its labor hours. Pick the part from the dropdown and type the quantity, or leave the part blank for a labor-only task.
  6. Fix any Row check that isn’t OK. A task with a problem shows a dash in Flat price instead of a number.

Labor Rate sheet showing the eight inputs, then annual wages, burden, loaded labor cost, billable hours, cost and overhead per billable hour, the break-even rate and the required hourly rate

From wage to required rate

The sample shop has 4 techs at an average base wage of $32.00 an hour, each paid for 2,080 hours a year. That’s $266,240 in wages. Payroll burden at 30.0% adds $79,872, for a loaded labor cost of $346,112.

A tech paid for 2,080 hours doesn’t bill 2,080 hours, because drive time, shop time, callbacks, training and paid time off all come out of them. Quick rate math often leaves this out. The sample assumes a 70.0% billable share, which leaves 5,824 billable hours a year across the shop. Spread over those hours, labor costs $59.43 per billable hour, well above the $32.00 wage.

Overhead goes through the same division. The sample’s $285,000 a year in rent, vehicles, insurance, office staff and software works out to $48.94 per billable hour. Add the two and you get the break-even rate, $108.36. Charge that and the shop covers its costs with nothing left over.

Profit comes last. The sheet divides the break-even rate by one minus the target net profit, which makes the profit a share of what you bill rather than a markup on cost. At a 12.0% target, the required hourly rate is $123.14.

The billable share moves the rate more than anything else on the sheet. Drop it from 70.0% to 60% and the required rate rises to $143.66, because the same costs land on fewer hours. By comparison, raising the average wage from $32.00 to $34 takes the rate to $127.36, and raising overhead to $320,000 a year takes it to $129.97.

If billable hours come out at zero, or the profit target is 100% or more, the rate reads n/a instead of a number. For the wider practice of tracking and adjusting the rate over time, see our glossary entry on labor rate management.

Turning the rate into a flat-rate price book

A flat-rate price book quotes each task at one price, whatever the job actually takes on the day. The customer sees the price up front, and the shop carries the risk of a slow job. That only works if each price traces back to a rate that covers your costs.

Each Price Book row prices its task in four steps:

  1. Labor price is the task’s labor hours times the required hourly rate.
  2. Parts cost is the quantity times the unit cost on Parts.
  3. Parts price is the parts cost marked up by your parts markup, 40.0% in the sample.
  4. The flat price is labor price plus parts price, rounded up to the next whole dollar.

Change any input on Labor Rate and every flat price reprices from the new rate. Rounding is always up, so the book never quotes below its own math.

The parts markup here is a markup on cost, which isn’t the same thing as a margin. A 40.0% markup is a smaller share of the selling price than it is of the cost. To convert between the two, or to see what margin a given markup leaves, use our markup calculator.

Price Book sheet with six sample tasks, each showing labor hours, part number, quantity, parts cost, labor price, parts price, price before rounding, flat price and row check

Worked example: six tasks at the sample rate

At the required rate of $123.14, the sample price book comes out like this:

TaskLabor hoursParts costBefore roundingFlat price
Replace dual run capacitor0.75$14.20$112.24$113
Replace contactor1.00$18.60$149.18$150
Replace condenser fan motor1.50$96.00$319.11$320
Furnace tune-up1.25$0.00$153.93$154
Replace hot surface igniter1.00$32.50$168.64$169
Commercial filter change, 12 filters1.00$54.00$198.74$199

The furnace tune-up is labor only. Its part number is left blank with a quantity of 0, so the row prices on hours alone. All 6 rows pass their checks, and the book totals $1,105. The total only confirms that every row has a price.

These are sample tasks with sample hours. Your book should use the hours your own crews actually take, and those change as crews and equipment change.

The Parts sheet and the row checks

Parts holds one row per part: the part number, a description and your unit cost. The sample capacitor costs $14.20. Price Book looks each part up by its exact part number, so a typo can’t match a different part by accident. A part number that isn’t on Parts, appears there twice, or has a blank, text or negative cost flags the task with Check part and leaves its flat price as a dash.

Parts sheet listing five sample parts with part number, description, unit cost and row check

The other checks work the same way:

  • On Price Book, labor hours must be a number of 0 or more, and a quantity above 0 needs a part. Anything else reads Check inputs or Check part.
  • On Parts, a row with no part number reads Check ID, and a repeated one reads Duplicate ID on both rows.
  • On Labor Rate, Input check reads Check inputs when any input is blank, text or negative, or the billable share is over 100%. While it does, the rate and every flat price read Check data, so a bad input never produces a price.

Rows to check on Labor Rate counts every flag, so one glance tells you whether the book is clean.

Importing into Google Sheets

To bring the file into Google Sheets:

  1. Download the workbook from the labor rate calculator link.
  2. Open Google Sheets.
  3. Choose File > Import > Upload.
  4. Select the downloaded file.
  5. Choose Insert new sheet(s), or create a new spreadsheet from the upload.

There are no macros. Formulas, dropdowns and formatting may not carry over exactly, so compare the required rate, the flat prices and the row checks with the original file before you rely on the imported copy.

How it differs from the HVAC bid template

The labor rate calculator answers “what does an hour of our time have to sell for?” and prices repeatable tasks from that answer. Our HVAC bid template prices one commercial job from its line items, with labor by trade at a loaded cost per hour. The two fit together: the loaded labor cost per billable hour from this workbook is the kind of figure that belongs on the bid template’s Rates sheet.

Limitations to know before relying on it

  • The required rate is one blended rate for every tech. Overtime, after-hours and trade-by-trade rates aren’t modeled.
  • Overhead is recovered on billable hours only, and target profit is a share of revenue, not of cost.
  • Parts carry a single markup percent, with no tiers by part cost.
  • Sales tax, trip charges and warranty reserves aren’t calculated.
  • The workbook holds up to 200 tasks and 100 parts. Formulas, totals and dropdowns stop at row 201 on Price Book and row 101 on Parts.
  • It won’t put the price book on a tech’s phone or turn a quote into an invoice.

More free workbooks for service businesses are on the field service templates page.

Download the labor rate calculator, put in your own wages and overhead, and see what an hour of your time has to sell for.

Frequently asked questions

  1. How do you calculate a contractor labor rate?

    Add up your loaded labor cost (wages plus payroll taxes, workers' comp and benefits) and your annual overhead, then divide by the hours you can bill in a year. That is your break-even rate. Divide it by one minus your target profit percentage to get the hourly rate you need to charge.

  2. Why divide by billable hours instead of paid hours?

    You pay for every hour a tech is on the clock, including drive time, shop time, training and paid time off, but you can only bill some of them. Spreading the cost over billable hours puts the unbilled time into the rate. At the sample 70% billable share, the labor cost per billable hour comes out well above the base wage.

  3. How does the flat-rate price book use the labor rate?

    Each task has its labor hours and, if it uses one, a part and quantity. The flat price is the hours times the required hourly rate, plus the part cost marked up by your parts markup, rounded up to the next whole dollar. Change the rate inputs and every flat price reprices.

  4. Can I use this labor rate calculator in Google Sheets?

    The file is a plain .xlsx with no macros. In Google Sheets, choose File > Import > Upload and select the file. Formulas, dropdowns and formatting may not carry over exactly, so compare the required rate, the flat prices and the row checks with the original file before you rely on the imported copy.

  5. What is the difference between markup and margin on parts?

    Markup is profit as a share of the part's cost; margin is profit as a share of the selling price. The same dollars are a smaller share of the price than of the cost, so a 40% markup is less than a 40% margin. The markup calculator on this site converts one into the other.

Trust signal

Fact Checked & Editorial Guidelines

Every post on this site is fact-checked against the policy below before the "Last reviewed" date is updated. If a single item below fails verification, the post does not go live.

  • Every claim traces to a source.

    Pricing, feature lists, integrations, and headquarters are taken from vendor product pages, documentation, or signed contracts — never repeated from secondary blogs. Where a claim is sourced from a single vendor's marketing, it is qualified as such.

  • Vendor relationships are disclosed in-line.

    If a review covers a platform whose vendor has provided trial access, sandbox access, or paid placement on a sister property, that relationship is stated in the review's methodology footer — not buried in a sitewide disclosure page.

  • Pricing is rechecked at every review cycle.

    Vendor pricing changes constantly. The 'Last reviewed' date on each post is the date the price line was last re-verified against the vendor's public pricing page. If you spot a stale price, the contact page accepts corrections.

  • Corrections are logged, not silently rewritten.

    Material factual corrections after publication get a correction note dated and appended to the post. We don't pretend the prior version never said what it said.

Spotted an error? Send a correction via thecontact page — corrections are logged with a dated note on the post.

Trust signal

Editorial Review & Methodology

Reviews and comparisons on this site follow a single documented methodology — the same rubric, applied identically to every platform, on every review cycle.

  • Five-criteria scoring rubric, applied identically to every platform.

    Usability, pricing transparency, feature depth, support quality, and integrations. Each criterion scored 0–10 with documented weighting. The rubric is published on the methodology page and does not change between platforms in the same review.

  • Hands-on testing where vendor trial access permits.

    If a vendor offers trial or sandbox access, the reviewer spins up an account and works through the documented evaluation script before scoring. Where access is enterprise-gated, the access type is disclosed and scoring draws on product documentation, verified buyer reviews, and analyst sources.

  • Editorial independence from commercial relationships.

    No vendor pays for placement, previews scores, or controls the content of a review. Affiliate links, where present, do not change ranking — picks are ordered by score, not by commercial yield. If a conflict of interest exists for a specific review, it is disclosed within that review.

  • Reviews get re-checked, not just re-dated.

    Each 'Last reviewed' update means the rubric was re-applied — pricing, feature inventory, integration list, and any material vendor changes since the prior review. A bare date bump without re-evaluation is not a re-review.

The full rubric, weighting, and review-cycle process is on themethodology page.