On this page6 sections

You quoted the job, did the work and got paid. Whether it made money is a separate question, and the invoice can't answer it. Job costing can: it lines up what the job brought in against what it really cost, including the share of overhead and truck it used.

Below is one plumbing job costed start to finish, first as estimated and then as it actually went. The numbers come from the site's example shop, so you can follow every line and then swap in your own.

The cost lines and where each number comes from

A job's cost has two layers. Direct costs exist only because of this job. Overhead and truck are the shop's running costs that no single job causes, spread over the hours each job uses.

LineWhat to useExample shop value
MaterialsWhat you actually paid, after trade discounts, plus any sales tax you paid at purchaseFrom the supply house receipts
LaborLabor hours on the job × loaded labor cost per billable hour$66.07 per hour
Subcontractors, permits, rentals, disposalThe actual invoices and feesFrom the bills
Overhead and truckLabor hours × overhead and truck per billable hour$46.61 per hour ($32.87 + $13.74)

Labor is the easiest line to understate. The example shop's plumbers earn $30.67 an hour, the 2025 BLS national median for plumbers, pipefitters and steamfitters (BLS). Each billable hour costs the shop $66.07, because the loaded figure adds the employer's Social Security (6.2%) and Medicare (1.45%) taxes (IRS Topic 751), federal and state unemployment tax, workers' comp, benefits and paid time off, then spreads all of it over billable hours only. The breakdown is in labor burden explained.

That last step assumes 65% of worked hours are billable. It is the only measured figure the site's research found: a sample of 300 HVAC companies from Field Promax, a dispatch software vendor, reported by ACHR News. Field Promax measured it as a share of paid time; applying it to worked hours, as the site does, gives fewer billable hours and a higher cost per billable hour. ServiceTitan's labor rate calculator, also from a vendor, calls 30% a good rate. Measure your own, because it moves the loaded cost a lot.

Overhead and truck come from the same labor-rate calculation: $120,000 a year of example overhead shared by three techs, plus one truck per tech, divided by billable hours. Allocating them per labor hour is the site's method; it assumes a job uses the office and truck in proportion to its hours.

Sales tax you collect is not a cost or revenue line. If you collect it and send it to the state, keep it out of the job's price and profit. Sales tax you pay when buying materials is different: it is part of what the materials cost you. Georgia, for example, deems contractors the consumers of the materials they use in a construction project, so they pay tax at purchase (Georgia DOR). Florida treats a contractor the same way on lump-sum, cost-plus, fixed-fee, guaranteed-price and time-and-materials real property contracts (Florida Rule 12A-1.051), and Texas does on a lump-sum residential repair contract, while a separated Texas contract has you collect tax on the materials instead (Texas Comptroller Pub. 94-116). Rules differ by state and contract type; see do plumbers charge sales tax. This is general information, not tax advice; your state revenue department or a tax professional can tell you which rule covers your jobs.

The example job: a water service line, estimate vs actual

The job: replace a water service line from the meter to the house. One tech, a rented mini-excavator, a subcontractor to saw-cut and patch the sidewalk, a permit and a dump fee. The shop quoted a fixed price of $3,450. Every dollar figure for materials, rental, sub, permit and disposal is an example, not a market price; permit fees are set by each city or county.

The shop pays sales tax on materials at purchase, at an example combined rate of 7%. On the actual job, the dig took three extra hours, a second trip for fittings added $41 of material, and the rental ran a half day longer.

LineEstimateActual
Materials before tax$612.00$653.00
Sales tax paid at purchase (7%, example)$42.84$45.71
Labor hours1013
Labor at $66.07 per billable hour$660.70$858.91
Mini-excavator rental$425.00$575.00
Subcontractor: sidewalk cut and patch$380.00$380.00
Permit$75.00$75.00
Disposal$40.00$40.00
Direct cost$2,235.54$2,627.62
Price (no sales tax collected)$3,450.00$3,450.00
Gross profit$1,214.46$822.38
Gross margin35.20%23.84%
Overhead and truck ($46.61 × hours)$466.10$605.93
Total job cost (= break-even price)$2,701.64$3,233.55
Net job profit$748.36$216.45
Net margin21.69%6.27%
Net profit per labor hour$74.84$16.65
Fig. 1 Estimate vs actualDrawn to scale: one dollar scale, the whole job
Total job cost against the $3,450 fixed price, one dollar scale. Estimate: $2,701.64, leaving $748.36 of net profit (21.69%). Actual: $3,233.55 after three extra labor hours, more material and a longer rental, leaving $216.45 (6.27%).Price$3,450Estimate · 10 hnet profit $748.36 · 21.69%$2,701.64Actual · 13 hnet profit $216.45 · 6.27%$3,233.55Dollars, the whole job
Fig. 1 — The water service line job against its $3,450 fixed price. Three extra hours, more material and a longer rental push total cost from $2,701.64 to $3,233.55, and net profit falls from $748.36 to $216.45.

Back to contents

Reading the numbers

Gross profit is price minus direct cost. It is the job-level version of the gross profit on a tax return, receipts minus cost of goods sold (IRS Pub. 334). Gross margin divides it by the price: $1,214.46 ÷ $3,450.00 = 35.20% on the estimate.

Net job profit subtracts overhead and truck too. Total job cost is also the job's break-even price: the SBA defines break-even as the point where total cost and total revenue are equal (SBA). Below $2,701.64 the estimated job loses money; after the overruns, the line moved to $3,233.55.

Profit per labor hour is net job profit ÷ labor hours. It is the easiest number to compare across jobs of different sizes. A useful yardstick is the profit built into the example rate itself: $125.20 − $112.68 = $12.52 of net profit per billable hour. The estimate planned $74.84 an hour; the actual job still beat the yardstick at $16.65, but by a thin margin.

Where the $531.91 went. Three extra labor hours cost $198.21. The same hours carried $139.83 of overhead and truck. Materials and tax rose $43.87 and the rental $150.00. On a fixed price, every extra hour costs this shop $112.68 ($66.07 + $46.61), so the overrun in hours did more damage than the extra parts.

What price would the actual job have needed? For a 10% net margin, divide total job cost by 0.90 (the margin formula in markup vs margin for contractors). On the estimate that is $3,001.82, so the $3,450 quote had room. On the actual costs it is $3,592.83. If jobs like this keep running long, the fix belongs in the estimate: more standard hours, a rental allowance for a second day, or both.

Mistakes that make a job look better than it was

  1. Costing labor at the wage. At $30.67 an hour, the estimate's labor would be $306.70 instead of $660.70, and without the overhead line the job would appear to make $1,568.46 (45.46%) instead of $748.36. Use the loaded cost per billable hour.
  2. Leaving out tax you paid on materials. In a pay-at-purchase state, the tax is part of material cost. Here it was $45.71 on the actual job.
  3. Counting collected sales tax as revenue. It inflates price, profit and margin at once. For income tax, Pub. 334 says tax imposed on the buyer that you must collect and turn over is generally not included in income, while tax imposed on you as the seller and collected from the buyer must be included in gross receipts; ask your accountant which applies to you.
  4. Two techs, one truck. The per-hour method charges the truck share ($13.74 here) on every labor hour, because the example shop runs one truck per tech. When two techs ride in one truck, the second tech's share still pays for the truck left in the yard; drop it and that truck's cost goes unrecovered. The truck line should cover the trucks you actually run: if your shop has fewer trucks than techs, enter your total yearly truck cost divided by the number of techs as the truck line when you build the rate, instead of leaving the truck off some hours.
  5. Forgetting the callback. A return trip for a leak at a fitting belongs to the original job: its hours, at loaded cost plus overhead, come out of this job's profit, not a new ticket's. Warranty and callback cost prices one.
  6. Confusing job costing with your tax return. Pub. 334 says labor is usually part of cost of goods sold only in manufacturing or mining. Job costing is a management tool; how costs land on your Schedule C is a question for your accountant.

Back to contents

Next step

Pick one finished job, pull the receipts, the hours and the sub and permit invoices, and enter them in the job cost calculator with your own loaded labor cost and overhead per hour. If you don't have those two numbers yet, start with how to calculate your labor rate.

Sources

  1. Publication 334 (2025), Tax Guide for Small Business (For Individuals Who Use Schedule C)Internal Revenue Service
  2. Topic no. 751, Social Security and Medicare withholding ratesInternal Revenue Service
  3. Occupational Outlook Handbook: Plumbers, Pipefitters, and SteamfittersU.S. Bureau of Labor Statistics
  4. Plan your business: calculate your startup costs (break-even point)U.S. Small Business Administration
  5. Contractor FAQsGeorgia Department of Revenue
  6. Rule 12A-1.051, F.A.C., Sales to or by Contractors Who Repair, Alter, Improve and Construct Real PropertyFlorida Department of Revenue (Florida Administrative Code)
  7. Report: Only 65% of HVAC Technician Time is Billable Hours (June 16, 2026)ACHR News (reporting Field Promax data; Field Promax is a software vendor)
  8. HVAC Labor Rate CalculatorServiceTitan (software vendor)

Tools for the job

Tool listCross-trade + Office4 itemsSpecs read

As an Amazon Associate, Trade Price Book earns from qualifying purchases. Amazon links are marked “(paid link)”; prices aren’t shown here.

  1. Laser distance metersLeica Geosystems DISTO X4

    Leica DISTO X4

    • Pointfinder camera for targeting distant points in bright sunlight.

    Specs: Leica Geosystems product page, read

    Search on Amazon for Leica Geosystems DISTO X4(paid link)

  2. Laser distance metersBosch GLM400CL

    BLAZE Outdoor 400 Ft. Connected Lithium-Ion Laser Measure with Camera

    • Range up to 400 ft with accuracy up to ±1/16 in.

    Specs: Bosch product page, read

    View on Amazon for Bosch GLM400CL(paid link)

  3. Rugged tablets and mobile printersSamsung SM-X308U

    Galaxy Tab Active5 5G (U.S., unlocked)

    • 8.0 in. WUXGA display up to 120 Hz that works with gloves or when wet; Exynos 1380 processor.

    Specs: Samsung product page, read

    View on Amazon for Samsung SM-X308U(paid link)

  4. Rugged tablets and mobile printersBrother PJ-883

    PocketJet PJ-883 Wi-Fi & Bluetooth Mobile Printer

    • Full-page 8.5 in. wide thermal printing at 300 dpi, up to 3 in. per second.

    Specs: Brother product page, read

    View on Amazon for Brother PJ-883(paid link)

How tools are chosen for gear listsAll 12 cross-trade tools

Newsletter

Get an e-mail when Trade Price Book publishes something new

At most one e-mail a day, only about new guides and tools. No tracking pixels. How we handle your address