Skip to main content
Business Finance

Job Costing for Contractors: Method and Example

Job costing for contractors explained: track labor, materials, subs and overhead per job, apply burden rates, and compare estimate vs actual with an example.

By Invoice Creator Editorial Team 8 min read

Job costing means assigning every dollar of labor, materials, equipment, subcontractor work and overhead to the specific job that caused it, then comparing that total with what you billed. For a contractor, it is the only reliable way to know which jobs actually make money, which estimates are too low, and what to charge on the next bid. Done weekly, it also warns you about an overrun while you can still raise a change order.

Many small contracting businesses look profitable at year end yet run short of cash in the middle of a busy season. The usual cause is that a few jobs quietly lost money and were subsidized by the good ones. This guide walks through a practical job costing method, the cost categories to track, how to calculate labor burden and overhead rates, and a full worked example of a bathroom remodel from estimate to final invoice.

What is job costing and who needs it?

Job costing (also called job order costing) is a cost accounting method that collects costs by job rather than by period. Each job gets a number, and every timesheet, receipt and supplier bill is coded to that number. At the end, the job has its own small profit and loss statement.

It fits any business where each piece of work is different:

  • General contractors, remodelers, roofers, electricians, plumbers and HVAC companies
  • Landscapers and hardscape installers quoting per project
  • Custom fabricators, cabinet shops and sign makers
  • Agencies, architects and engineers working on fixed-fee projects
  • Event, audio-visual and production companies

If your work is billed hourly with materials passed through, job costing still matters, because it shows your true margin per hour after burden and overhead. Our guide to fixed price vs time and materials explains when each billing model shifts the risk to you.

The cost categories to track on every job

Use the same cost codes on your estimate and in your bookkeeping so you can compare like with like. A simple structure for a small contractor looks like this:

Cost categoryWhat goes in itSource document
Direct laborHours worked on the job by your crew, at wage rateTimesheets or time-tracking app
Labor burdenEmployer payroll taxes, workers' comp, benefits, PTO tied to those hoursPayroll reports, insurance policies
MaterialsLumber, fixtures, wire, pipe, tile, concrete, consumables bought for the jobSupplier invoices and receipts
SubcontractorsPlumbers, electricians, drywall, painters you hireSubcontractor invoices
EquipmentRentals, or an hourly charge for owned equipmentRental invoices, internal rate sheet
Permits and feesBuilding permits, inspections, dumpster, disposalReceipts
Overhead (applied)Share of office, vehicles, insurance, software, owner admin timePredetermined overhead rate

The first six categories are direct costs. Overhead is indirect and has to be allocated, which is where most small businesses go wrong. Our explainer on calculating an overhead rate covers the basic math, and separating fixed from variable costs first makes the allocation cleaner.

How to calculate labor burden

A carpenter paid $32 an hour costs you far more than $32 an hour. Labor burden captures the employer costs that ride on top of wages. A typical calculation:

  1. Add up annual employer costs per employee: employer Social Security and Medicare, federal and state unemployment taxes, workers' compensation premium, health insurance contribution, retirement match, paid holidays and vacation.
  2. Estimate productive hours: paid hours minus holidays, vacation, training, shop time and travel that you cannot bill to a job.
  3. Divide total burden by productive hours to get burden per hour.
  4. Add burden to the wage to get a fully burdened labor rate.

Workers' comp rates vary sharply by trade and state, so roofing crews often carry much higher burden than finish carpenters. Recalculate when your insurance renews or payroll tax rates change.

How to apply overhead to jobs

Overhead is applied using a predetermined rate set at the start of the year:

Overhead rate = Budgeted annual overhead / Budgeted allocation base

The allocation base should be whatever drives your overhead. For labor-heavy trades it is usually direct labor hours or direct labor cost. For material-heavy work, some contractors use total direct cost. If your overhead is driven by very different activities, such as design meetings for some clients and simple installs for others, a single rate may distort job profit; activity-based costing is the more precise alternative.

Worked example: job costing a bathroom remodel

The figures below are illustrative. A remodeler estimates a hall bathroom remodel, job number 2026-047, and quotes a fixed price.

The business has budgeted overhead of $186,000 for the year and expects 6,200 direct labor hours, so the overhead rate is $30 per direct labor hour. The crew's fully burdened labor rate is $44 per hour ($32 wage plus $12 burden).

Cost codeEstimateActualVariance
Direct labor (estimate 120 hrs, actual 138 hrs at $44)$5,280$6,072-$792
Materials and fixtures$4,900$5,140-$240
Plumbing subcontractor$2,600$2,600$0
Electrical subcontractor$950$1,180-$230
Dumpster and permit$620$620$0
Overhead applied ($30 x hours)$3,600$4,140-$540
Total job cost$17,950$19,752-$1,802
Contract price$22,500$22,500
Job profit$4,550 (20.2%)$2,748 (12.2%)

The job still made money, but margin fell by eight points. The review shows why: 18 extra labor hours came from rotted subfloor discovered after demolition, and the electrician added a GFCI circuit the inspector required. Both were legitimate scope changes. Had the remodeler issued a change order for the subfloor (roughly $1,100 at the quoted rate), the margin would have recovered to about 16%. Our guide to scope creep and change orders shows how to document and bill that kind of extra work.

The lesson for the next bid is also clear: on pre-1980 houses, this remodeler now adds a subfloor allowance to the estimate.

Step by step: setting up job costing in a small business

  1. Create a job numbering system. Year plus sequence (2026-047) is easy to read on timesheets and receipts. Put the job number on every estimate, purchase order and invoice.
  2. Build estimates by cost code. Use the same categories you will track. Our estimate template is a good starting layout.
  3. Set burden and overhead rates at the start of the year from your budget.
  4. Code every cost as it happens. Crews log hours by job; suppliers get the job number on the purchase order so it prints on their invoice.
  5. Review cost to date weekly against percent complete. If the job is 50% done and has used 70% of its labor budget, act now.
  6. Bill changes promptly. Change orders signed before the work, invoiced with the next progress bill.
  7. Close out each job with a one-page estimate-versus-actual report and a note on what to change in the next estimate.

Job costing and invoicing: keeping both in sync

Job costing is only half the picture; the other half is billing what you earned on time. Longer jobs are usually billed in stages through progress billing, and commercial contracts often hold back retainage until completion. Each progress invoice should reference the job number and the schedule of values so your revenue lines up with the costs you are tracking.

Some practical habits:

  • Show the job number and site address on every invoice.
  • For time and materials work, attach the hours and material receipts that came from your job cost records. See our time and materials invoice guide.
  • Bill change orders as separate line items so the client can match them to signed approvals.
  • Compare billed to date with cost to date each month. If cost is running ahead of billing, you are financing the client.

You can create job-numbered invoices quickly with the free invoice generator, adding the job number to the reference field.

Job costing and tax accounting for contractors

Job costing is a management tool first, but it also supports tax reporting. Under federal tax rules, long-term construction contracts are generally reported under the percentage-of-completion method, with an exception for smaller contractors whose average annual gross receipts pass the section 448(c) gross receipts test and whose contract is expected to be completed within two years. That threshold is indexed for inflation and is widely reported as $32 million for 2026 tax years. Which method applies to you is a question for your tax preparer; this is general information, not tax advice. Either way, clean job cost records make the calculation possible.

Common job costing mistakes

  • Using wages instead of burdened labor. Your profit can look 25% to 45% better than reality on labor-heavy jobs.
  • Leaving overhead out. A job that covers direct costs but not its share of overhead is a losing job.
  • Coding materials to the wrong job because one supplier run served three sites. Split the receipt on the day.
  • Ignoring unbilled change work. Extra work done on a handshake rarely gets paid.
  • Only reviewing at the end. Weekly reviews catch overruns while you can still fix them.
  • Not feeding results back into estimates. Job costing is wasted if the next bid uses the same assumptions.

What to do if a job is running over budget

First, find the cause: quantity (more hours or materials than planned), price (supplier costs rose), or scope (the client asked for more). Scope overruns should become change orders. Quantity overruns may need a crew or sequencing change. Price overruns on long jobs may be covered by an escalation clause if your contract has one. Then update the forecast to completion so you know the final margin and can plan cash. Our budget vs actual variance report uses the same approach at the company level.

Job costing turns your estimates into a feedback loop: estimate, track, compare, adjust. Pair it with prompt, clearly referenced billing and you will know exactly which work deserves more of your time. When a job is ready to bill, create a professional invoice with the job number and line items in our free invoice generator, with no sign-up needed, and download it as a PDF in minutes.

Frequently asked questions

What is job costing in simple terms?

Job costing is tracking every cost that belongs to one specific project, such as a kitchen remodel or a roof replacement, so you can see whether that job made or lost money. You record direct labor hours, materials, equipment, subcontractors and permits against a job number, then add a share of overhead. Comparing the total with what you invoiced shows the real profit on that job, rather than an average across the whole business.

What is the difference between job costing and process costing?

Job costing is used when each project or order is different, so costs are collected per job. Contractors, agencies, print shops and custom manufacturers use it. Process costing is used when identical units flow through the same steps, such as bottling or cement production, so costs are averaged across all units made in a period. If your quotes are different every time, you need job costing; if you sell thousands of identical units, process costing fits better.

How do I calculate labor burden for job costing?

Start with the hourly wage, then add the employer costs that come with each paid hour: employer payroll taxes, workers' compensation, general liability tied to payroll, health benefits, paid time off and retirement contributions. Divide the annual total of those extra costs by productive hours worked to get a burden per hour. Many small contractors find burden adds 25% to 45% on top of wages, but calculate your own figure from your payroll and insurance records.

Should overhead be included in job costs?

Yes, for pricing and profitability decisions. Direct costs alone make every job look more profitable than it is, because rent, trucks, office staff, software and insurance still have to be paid. Apply overhead with a predetermined rate, for example a percentage of direct labor cost or a dollar amount per labor hour, and review the rate each quarter against actual overhead so it does not drift away from reality.

Can I do job costing in a spreadsheet?

Yes. A simple spreadsheet with one tab per job, or one row per cost line tagged with a job number, works well for a business running a handful of jobs at a time. List the estimate by cost code, log actual costs weekly from timesheets, receipts and subcontractor invoices, and calculate variance. Once you run many jobs at once or need progress billing and retainage, accounting or construction software with job tracking saves time.

How often should I update job costs?

Weekly for most active jobs. Post timesheets, material receipts and subcontractor bills against the job at least once a week, and compare cost to date with percent complete. Waiting until the job is finished means you only learn about an overrun when it is too late to fix it with a change order or a crew adjustment. On short jobs lasting a few days, a single close-out review may be enough.

IC

Invoice Creator Editorial Team

Guides on invoicing, cash flow and small-business finance from Invoice Creator, operated by Next Software Development Company. Content is reviewed for accuracy against the fields our own invoice generator produces.

Try the invoice generator

Related reading