RunHank
ProductHow it works
Sign inGet a demo
ProductHow it worksSign in
Guide

Know what every job actually made

5 minute read

Most trade shops between two and twenty million in revenue find out how the year went in February, when the accountant closes the books. The company made money or it did not, and by then every decision that caused the result is months old. Job costing is the discipline of knowing the same thing one job at a time, while the job is still running. It is not accounting. It is a management habit built on three numbers per job: what you agreed to be paid, what the work directly cost, and the difference between them.

Direct cost versus overhead

The first move is a clean split between two kinds of cost.

Direct cost is anything that exists because a specific job exists: the hours your crew worked on it, the material bought for it, the subcontractor who did the sitework, the lift rented for the week, the miles driven to and from it. If the job vanished from the schedule, the cost would vanish with it.

Overhead is everything else: the shop lease, the office manager, the insurance policies, the estimating time, the software, the owner's own salary, the truck payments on vehicles that serve every job. Overhead exists whether or not you win any particular job.

The split matters for two reasons. First, a job can look profitable against direct cost and still lose money once it carries a fair share of overhead; you need to see both layers to know which is true. Second, overhead smeared carelessly across jobs hides which jobs are actually bad. When every job gets a made-up markup, a badly run job and a badly priced job look identical.

Read every job in two steps. Contract value minus direct cost is the gross margin, and it tells you whether the job was priced and executed well on its own terms. Then compare the gross margins you are producing each month against the overhead you have to cover each month. That second comparison tells you how many jobs, at what margin, keep the doors open.

The burdened labor rate

Labor is the largest direct cost in most trade work, and the wage on the pay stub is not what an hour costs you. The true cost of an hour carries the burden: employer payroll taxes, workers compensation insurance, health insurance, retirement match, paid time off, small tools, the phone, the training days.

Here is a worked example. The figures below are an illustration, not a customer result, and your own numbers will differ.

  • Base wage: $38.00 per hour
  • Employer payroll taxes at roughly 8 percent: $3.04
  • Workers compensation insurance: $2.50
  • Health insurance at $750 per month, spread over about 160 hours: $4.69
  • Paid time off and holidays, spread over worked hours: $2.30
  • Small tools, phone, training: $1.50

Burdened rate: roughly $52.00 per hour, about 37 percent above the wage.

The consequence is direct. A job that takes 40 crew hours costs about $2,080 in labor, not $1,520. If your pricing assumes the wage, the missing $560 comes out of what you thought was margin, on every job, all year. Compute the burden per person, or at least per role, because a lead electrician and a first-year apprentice do not carry the same burden. Set the rate once, review it when insurance renews, and cost every logged hour at the burdened figure.

Why margin during the job beats margin at year end

Year-end margin is a verdict. In-progress margin is a decision. The difference is worth more than any other change in this guide, for three reasons.

First, you can still act. If a job is halfway done and labor has already consumed 70 percent of the labor budget, you have options today: restaff, tighten the remaining scope, price the change order that everyone has been treating as a favor, or have the conversation with the customer while the work is still on site. In February, the only option is regret.

Second, you learn which work to take. Job-level margin, watched for a quarter, shows patterns that a company-level number never will: the service work carries the shop while the big flashy contract barely breaks even, or one general contractor's jobs always run 15 percent over on labor. Those patterns change what you bid on next.

Third, your estimates get honest. When actual cost lands against the budget on every job, the estimator gets a feedback loop. Estimates drift toward reality within a few months, because the gap is visible every week instead of never.

None of this works if cost arrives at month end. Hours need to land against jobs the week they are worked, and material receipts need to be captured when the money is spent, because a margin read built on six-week-old cost is a history lesson, not a steering wheel.

A starting routine

You do not need a system rebuild to start. You need five habits.

  1. Give every job a budget for direct cost before work starts, even a rough one. A rough budget beats no budget, because variance against something is information.
  2. Log crew hours to jobs weekly, costed at burdened rates.
  3. Capture material and subcontractor cost to the job when it is spent, not when the statement arrives.
  4. Review in-progress jobs once a week: cost to date against budget, against how complete the work actually is.
  5. Close every job with a one-line verdict: what it made, and why it came in over or under. Ten of those lines teach more than a year-end statement.
How RunHank helps

RunHank sits on top of QuickBooks and your field software and does this bookkeeping for you: it holds burdened rates per person, collects labor, material, and mileage against each job as they happen, and shows margin on every in-progress job on the owner dashboard. When a job has no cost data yet, it says so plainly instead of showing a flattering number.

Get a demo

Keep reading

GuideGet started with RunHankRead the guideGuideWorking receivables without automationRead the guideGuideThe arithmetic of getting paid fasterRead the guideOwner economicsWhat an operations hire really costsSee the math
Get paid faster

Put your back office
on autopilot.

See how RunHank gets your crews paid faster.

Get a demo Watch a 2-min tour
RunHank

The back office for commercial trade businesses, on top of QuickBooks and the field software you already run.

Platform
Owner dashboardJob costingInvoice approvalsCollectionsIntegrations
Trades
HVACPlumbingElectricalMechanicalRefrigeration
Resources
GuidesGet startedThe mathGet a demo
Company
AboutContact usSecurity
© 2026 Division1 Capital LLC. RunHank is a Division1 Capital product. All rights reserved.
PrivacyTermsSecurity