Product

All featuresECHOEstimates & quotesProjects & schedulePhone & texts

Company

IndustriesPricingResourcesSign in

Resources/Blog

ECHOPS blog

Job Costing for Contractors: What It Is and How to Do It

Job costing compares what each job really cost with what you estimated and charged. Cost codes, labor burden, change orders and a worked example.

Pricing · 9 min read · October 17, 2026

Job costing is tracking what each job actually costs, category by category, and comparing it with what you estimated and what you charged. For a contractor, that means recording labor (with burden), materials, subcontractors, equipment and permits against each job, then checking the profit before the job closes and again after. It’s how you learn which jobs make money and why, instead of waiting for the year-end numbers.

Below: the cost categories, cost codes, a worked bathroom example with a change order, and how to review profit per job.

What is job costing?

Job costing is keeping your books by job. Every cost that belongs to one job is recorded against that job, so you can see three numbers side by side: what you estimated it would cost, what it has cost so far and what the client is paying.

Accountants call it job order costing. Construction job costing is the same idea with more moving parts: crews, subs, deliveries, change orders and jobs that run for weeks or months. It answers questions your profit and loss statement can’t:

  • Which jobs made the margin you priced, and which didn’t?
  • Are your labor-hour estimates right for each kind of job?
  • Is a job in trouble now, while you can still do something about it?

Why construction job costing matters

A company can be busy all year and still not make money. When every job lands in one pile, a few losing jobs hide behind the good ones, and the same estimating mistake repeats on every job of that kind. Construction job costing splits the pile, so you can see where profit is made and where it leaks.

It also makes your next estimate better. If your last five tile showers each took more labor hours than you priced, that isn’t bad luck. It’s a number to fix in the estimate.

The cost categories every job needs

Start with five or six cost categories, and use the same ones in your estimates and your job costs, or you can’t compare the two.

Labor, with burden

Labor is the easiest category to get wrong, because the wage is only part of what an hour costs. Job cost labor should be hours on the job times a burdened hourly cost: the wage plus the employer costs that ride on it.

  • Social Security and Medicare. Employers pay 6.2% for Social Security (on wages up to $184,500 in 2026) and 1.45% for Medicare, 7.65% together.
  • Unemployment taxes. The federal unemployment (FUTA) rate is 6.0% on the first $7,000 of each employee’s wages, with a credit of up to 5.4% for state unemployment tax, which leaves 0.6%. State unemployment rates vary.
  • Workers’ compensation. Typically priced as a rate per $100 of payroll for each job classification code, so it differs by trade and state.
  • Benefits. Health insurance, retirement contributions, paid time off and anything else you pay for.

These are federal figures. State rates vary, so check yours with your accountant; this isn’t tax advice.

For scale: in June 2026, the Bureau of Labor Statistics found that private construction employers spent an average of $36.13 per hour worked on wages and salaries and $15.84 on benefits. Put another way, benefits added roughly 44 cents to every dollar of wages.

An example with round numbers: say your lead carpenter earns $36 an hour, and taxes, workers’ comp, insurance and benefits add $14. Every hour that carpenter spends on a job costs you $50, and that’s the number that belongs in the job cost. Our guide on how to calculate your labor rate and the free labor rate calculator walk through burden step by step. Your billing rate is higher, because it also covers unbilled hours, overhead and profit.

Materials

Everything that goes into the job, at what you paid, plus delivery and sales tax. Record returns and credits against the same job, or a returned vanity will make the job look more expensive than it was.

Subcontractors

Track two numbers for every sub: the committed amount (the signed quote or subcontract) and what you’ve paid so far. Committed cost shows an overrun the day you sign it, not the day the last invoice arrives.

Equipment, permits and other job costs

Dumpsters, lifts, scaffolding, permits, inspection fees, dump fees, floor protection and final cleaning. Most are small, which is exactly why they slip through. Give them their own lines. If you own equipment, charge jobs an internal day rate so its cost shows up where it’s used.

Overhead: allocated, not charged

Overhead is everything not tied to one job: the office, trucks, insurance, software, marketing and the owner’s time spent selling. It isn’t a job cost, but every job has to carry a share. Two common ways to assign it, with example numbers:

  • Percent of revenue. Last year’s overhead ÷ last year’s revenue. $200,000 ÷ $1,000,000 = 20%, so a $30,000 job carries $6,000.
  • Per field labor hour. Overhead ÷ total field labor hours. $200,000 ÷ 10,000 hours = $20 an hour, so a job that used 200 hours carries $4,000.

Pick one method and use it on every job, so you see each job’s net profit, not just its gross profit.

How to set up cost codes

Cost codes sort costs within those categories: demolition, framing, plumbing rough-in, tile, electrical trim. Good cost codes match how you estimate and how the work gets built.

  • Start small. If crews and office staff have to guess which of dozens of codes a receipt belongs to, they’ll guess wrong.
  • Mirror your estimate. Every estimate line should roll up to one cost code, so budget and actual line up.
  • Borrow a standard if it helps. Commercial work often follows CSI MasterFormat, the Construction Specifications Institute’s numbering system, with divisions such as 06 Wood, Plastics, and Composites, 09 Finishes and 22 Plumbing. The NAHB Chart of Accounts for builders and remodelers keeps direct construction costs apart from indirect ones like supervision, vehicles and warranty.
  • Split labor from materials within a code where you can, so you know whether tile ran over on hours or on material.

The free construction budget template is a good starting set: 18 cost categories with budgeted, committed and actual columns, a change order log and variance worked out in Excel.

How to calculate job costing: estimate vs. actual

The math is simple; the discipline is recording every cost against the right job.

  • Job cost = labor (burdened) + materials + subcontractors + equipment + permits and other job costs
  • Gross profit = contract price, including approved change orders − job cost
  • Gross margin = gross profit ÷ contract price
  • Variance = budgeted cost − actual cost, for each category (a minus means over budget)
  • Net profit = gross profit − the job’s share of overhead

Here’s a worked example with round, made-up numbers. A hall bathroom remodel is estimated like this:

  • Labor: 120 hours × $50 = $6,000
  • Materials: $6,500
  • Subcontractors (plumber and electrician): $4,500
  • Equipment and disposal: $600
  • Permits: $400
  • Total budgeted cost: $18,000

The contract price is $27,000: a 50% markup on cost, which is a 33.3% gross margin and $9,000 of planned gross profit. Partway through, the client adds a heated floor on a $2,000 change order with $1,200 of cost ($700 in materials, $500 for the electrician). The revised contract is $29,000, the revised budget is $19,200 and planned gross profit is now $9,800, a 33.8% margin.

When the job closes, the actual costs are:

  • Labor: 160 hours × $50 = $8,000 (budget $6,000, variance −$2,000)
  • Materials: $7,300 (budget $7,200, variance −$100)
  • Subcontractors: $5,000 (budget $5,000, on budget)
  • Equipment and disposal: $750 (budget $600, variance −$150)
  • Permits: $400 (on budget)
  • Total actual cost: $21,450 (variance −$2,250)

Gross profit is $29,000 − $21,450 = $7,550, a 26.0% margin instead of 33.8%. If this company’s overhead runs 20% of revenue, the job carries $5,800 of overhead, and net profit falls from a planned $4,000 to $1,750. The job “made money,” but more than half the planned net profit is gone, and most of it went to 40 labor hours nobody priced.

Without job costing, all you’d know is that the year felt busy and the bank balance felt thin. With it, you know which number to fix on the next bathroom estimate. To check the pricing side, use the markup calculator, and see markup vs. margin for why a 50% markup is only a 33.3% margin.

How change orders fit into job costing

Change orders are where job costs most often go sideways, because extra work gets done before anyone writes it down.

  • Price it and sign it first. Every change gets a signed change order with its price and schedule impact before the work starts. See how to write a change order.
  • Add both sides. An approved change order raises the contract price and the budget. Pending or rejected ones change neither.
  • Keep change order costs visible. Code them apart from the original scope, or a profitable change can hide an overrun in the original work.
  • Bill it. A signed change order that never reaches an invoice is cost with no revenue.

How to review profit per job

Job cost numbers only help if someone looks at them in time.

  1. Check at milestones. Look at committed and actual costs at each payment draw and before the final invoice goes out, while an overrun can still be managed.
  2. Close out every job. Once the last bills are in, compare budget and actual by category and write one line on why each big variance happened.
  3. Sort variances by cause. The estimate was wrong, the field slipped (rework, waste, extra trips) or the scope changed without a change order. Each has a different fix.
  4. Look across jobs. Group margins by kind of job, salesperson and lead source. Patterns that never show on one job jump out across ten.
  5. Feed it back. Update your price book, labor hours per task and markups. Job costing that never changes an estimate is just bookkeeping.

Common job costing mistakes

  • Costing labor at the wage. Leaving out payroll taxes, workers’ comp and benefits makes every job look better than it is.
  • Cost codes that don’t match the estimate. If the estimate says “tile” and the books say “materials,” you can’t compare anything.
  • Coding costs late. A month-old receipt gets coded to whatever job seems close.
  • Tracking only what’s been paid. Committed costs from signed subs and purchase orders warn you weeks earlier.
  • Ignoring overhead. A job with a healthy gross margin can still lose money once its share of overhead is counted.

FAQ

What is job costing in construction?

It’s tracking the labor, materials, subcontractors, equipment and other costs of each construction job separately, then comparing them with the estimate and the contract price. It shows which jobs made money, which didn’t and why.

What’s the difference between job costing and job order costing?

Very little. Job order costing is the accounting term for assigning costs to each custom order or job. Contractors usually just call it job costing. The alternative, process costing, averages costs across identical units, which doesn’t fit custom construction work.

Does QuickBooks do job costing?

According to Intuit, QuickBooks Online has a Projects feature in its Plus and Advanced plans and in Intuit Enterprise Suite for tracking income and costs by project, and Advanced adds project estimates you can compare with actuals. Check Intuit’s current plans, since features change.

Should overhead be included in job costing?

Not as a job cost, but yes as an allocation. Record direct costs against each job, then give each job a share of overhead, by percent of revenue or per field labor hour, to see its net profit.

How often should I review job costs?

At every payment draw, whenever you sign a sub or a large purchase order, and at close-out. On busy jobs, a quick weekly look at labor hours keeps small overruns small.

How ECHOPS helps

In ECHOPS, the profit per job report puts each job’s contract and signed change orders against its materials, sub labor, your crew’s logged hours at each person’s rate and job expenses, shows the margin and flags jobs missing a contract amount, a materials order or a labor sheet. Each project also has a Budget tab: the budget from its signed quotes against what it has cost so far, by materials, subs, crew, fees and other, with signed change orders added and overruns flagged. Expenses come in with receipts the AI reads, and with QuickBooks Online connected, each job’s invoices, payments and costs land on that job in your books. Every report downloads as a CSV for your accountant. Change orders are signed online, and each one bills itself on an invoice of its own. Crew hours count once each person’s rate is set: Labor → Crews & rates, or Payroll on Company. One limit to know: the report doesn’t add an overhead share, so add that when you review a job.

Sources

  1. IRS, Topic no. 751, Social Security and Medicare withholding rates
  2. IRS, Topic no. 759, Form 940 and the FUTA tax
  3. Tennessee Department of Labor, How rates for insurance premiums are set
  4. U.S. Bureau of Labor Statistics, Employer Costs for Employee Compensation, June 2026, Table 4
  5. Whole Building Design Guide, CSI MasterFormat division numbers and titles
  6. National Association of Home Builders, NAHB Chart of Accounts (2016), PDF
  7. Intuit, Create projects in QuickBooks Online or Intuit Enterprise Suite

Posts are general information, not legal, tax or financial advice.

Keep reading

More from ECHOPS

Your next job,
from one place

Try ECHOPS free for 14 days with your own leads and jobs. No credit card, and your workspace is ready in minutes.

Special price: your first 2 months from $49/mo. Limited spots, so sign up today.