Job costing is the practice of tracking every dollar spent on a specific project so you can compare actual costs against your estimate and find out whether you actually made money. Most contractors think they know their margins. Job costing tells them the truth.
If you have been in remodeling for any length of time, you have probably finished a job, looked at your bank account, and wondered where the money went. The estimate looked fine. The customer paid. But somehow the profit evaporated. Job costing is how you find the leak.
Quick Answer
Job costing means assigning every cost (labor hours, material receipts, subcontractor invoices, and a share of overhead) to a specific job number, then comparing that total against what you billed. When your costs exceed your estimate, you lost money. When they come in under, you made more than expected. Doing this on every job builds the data you need to estimate accurately and price work profitably.
What Is Job Costing and Why Do Contractors Get It Wrong?
Job costing sounds simple: track what you spend on a job. In practice, most small contractors do it wrong or skip it entirely.
The most common mistake is treating the business checking account like a job costing system. You look at your balance after a job wraps and think you did okay. But that balance includes deposits from other jobs, credit card payments that haven’t cleared, and overhead expenses that hit at random times. You cannot tell from a bank balance whether a specific bathroom remodel made money.
Real job costing requires:
- A unique job number for every project
- Every labor hour coded to that job number
- Every material receipt assigned to that job
- Every subcontractor invoice matched to that job
- A calculated share of overhead allocated to that job
When you do all five consistently, you can run a job cost report after every project and see exactly where you stood versus your estimate.
The reason this matters is not just knowing what happened. It is improving your next estimate. If your tile work consistently runs 20% over budget, you either need to price it higher or figure out why your crew is slow. You cannot know without the data.
Try EstimationPro free to start tracking job costs against your estimates automatically.
What Are the Main Job Cost Categories?
Every remodeling job breaks into four cost buckets. Most contractors track the first two and ignore the last two, which is how profits disappear.
Labor
Labor is usually your biggest variable cost and the one that surprises contractors most. The mistake is tracking only what you pay employees on their checks. Real labor cost includes payroll taxes, workers comp insurance, and any benefits. Depending on your state and situation, true labor burden adds 25-40% on top of base wages.
Real numbers from remodeling work:
| Role | Base Hourly | With Burden (30%) | What to Bill |
|---|---|---|---|
| General laborer | $15-$35 | $20-$46 | $45-$75 |
| Carpenter | $20-$45 | $26-$59 | $55-$95 |
| Plumber (sub) | $50-$150 | N/A (sub) | Pass through + markup |
| Electrician (sub) | $50-$150 | N/A (sub) | Pass through + markup |
When you use the Labor Cost Calculator, plug in the burdened rate, not the base wage. That is the number that matters for job costing.
Materials
Materials tracking is straightforward in theory and messy in practice. The problem is split orders, partial deliveries, and job site borrowing.
If you pull lumber from one job to finish another, that material needs to transfer in your system. If you buy 20 sheets of drywall and use 16, the other 4 need to go somewhere: back to inventory, charged to another job, or noted as waste. Sloppy material tracking is where a lot of money goes missing.
Best practice: get a receipt or delivery ticket for every material purchase and code it to a job number the same day. Do not let them pile up.
Subcontractors
Subs are the easiest category to track because you get an invoice. The discipline is making sure every invoice hits the right job number and that you have built enough margin into your sub markup.
Typical markup on subcontractors runs 10-20%. Some GCs mark up subs more aggressively, especially when they are coordinating scheduling and carrying the liability. Others pass subs through at cost to stay competitive. Know your number and be consistent.
Overhead Allocation
This is the category most small contractors skip, and it is the one that kills profitability when ignored.
Overhead includes rent (or home office), truck payments, insurance, licenses, tools, software, accounting, advertising, and your own salary as an owner-operator. These costs exist whether you are on a job or not.
To allocate overhead to a job, you need to know your total annual overhead and your total annual billable revenue. Divide overhead by revenue to get your overhead rate as a percentage, then apply that percentage to each job’s labor cost or total cost.
Example: $120,000 annual overhead, $600,000 annual revenue. Overhead rate = 20%. A job with $30,000 in direct costs carries $6,000 in allocated overhead.
This is also where contractor markup comes in. A typical overhead and profit markup of 15-35% (commonly 25%) is meant to cover both overhead allocation and profit margin. But if you set your markup without knowing your actual overhead rate, you are guessing. See how markup works in more detail in our guide on Markup vs Margin.
How to Set Up a Simple Job Costing System
You do not need expensive software to start job costing. A spreadsheet works fine when you are doing fewer than a dozen jobs a year. Here is a workable structure:
Job Cost Tracking Sheet - Per Project
| Category | Estimated | Actual | Variance |
|---|---|---|---|
| Labor (burdened) | $8,500 | $9,200 | -$700 |
| Materials | $12,000 | $11,400 | +$600 |
| Subcontractors | $6,500 | $6,500 | $0 |
| Overhead allocation | $3,200 | $3,200 | $0 |
| Total Cost | $30,200 | $30,300 | -$100 |
| Contract Price | $38,500 | $38,500 | - |
| Gross Profit | $8,300 | $8,200 | -$100 |
| Margin % | 21.6% | 21.3% | - |
Running this sheet for every job takes maybe 30 minutes of admin work. That 30 minutes tells you whether your estimating model is working.
Worked Examples: Job Costing on Real Remodeling Projects
Example 1: Bathroom Remodel Gone Wrong
A contractor estimates a master bathroom remodel at $42,000, expecting to net 22% margin after costs.
The job runs into demo surprises (rotted subfloor, code-required ventilation upgrade). Labor runs 40 hours over estimate. Materials come in close.
Post-job cost report:
- Estimated labor: $9,600. Actual: $12,800. Over by $3,200.
- Estimated materials: $14,500. Actual: $14,900. Over by $400.
- Subs: on budget at $8,000.
- Overhead allocation: $4,200 (unchanged).
- Total actual cost: $39,900 vs. $36,300 estimated.
The contractor billed $42,000 and made $2,100 gross profit instead of $5,700. Margin dropped from 13.6% to 5%. Not a disaster, but not what he planned. The job cost report told him exactly why: labor ran long on demo. Next bathroom bid includes a $1,500 demo contingency and a change order clause for subfloor rot.
Without job costing, he just would have thought the job “felt tight.”
Example 2: Kitchen Remodel That Came In Better Than Expected
A second contractor bids a kitchen gut-and-rebuild at $68,000. She uses a Construction Cost Estimator to build her estimate from unit costs, and her numbers are tight.
Post-job cost report:
- Labor: $18,200 estimated, $17,600 actual. Saved $600.
- Materials: $22,000 estimated, $21,300 actual. Saved $700.
- Cabinets and counters (specialty sub): $14,000 on budget.
- Overhead: $6,800 allocated.
- Total actual cost: $59,700 vs. $61,000 estimated.
She netted $8,300 more than she planned. Why? Her cabinet sub came in $700 under bid and her crew finished a day early because she had organized delivery scheduling better than usual.
The job cost report captured this. Now she knows her labor model for kitchens is solid and her material estimating is slightly conservative (which is fine). She also knows that pre-scheduling deliveries saves a day, so she builds that into her process on every kitchen going forward.
Pro Tips for Contractors Starting With Job Costing
- Code time daily, not weekly. Memory fades fast. If a carpenter cannot remember whether he spent 4 or 6 hours on trim Friday, you lose accuracy. Daily time logs take two minutes.
- Use job numbers from day one. Even before a job starts, assign a number. Pre-job expenses (permits, design, estimating time) go against that number.
- Review the variance report while the job is in your head. Do not wait three months to close out a job. Run your post-job report within a week of final billing so you remember the decisions you made.
- Separate change orders in your tracking. A change order that adds $2,000 to the contract should also add estimated costs to your job cost sheet. Otherwise your variance looks wrong.
- Track overhead rate annually, update quarterly. Your overhead costs change. Review the number at least twice a year.
- Do not skip small jobs. A three-day tile repair job that runs over budget by $400 teaches you something. Scale does not matter. Consistency does.
Common Mistakes Contractors Make With Job Costing
Mistake 1: Only tracking direct costs. If overhead is not allocated, every job looks more profitable than it is. You think you are making 25% margin when you are actually making 10% after overhead.
Mistake 2: Not tracking owner labor. Owner-operators who do not pay themselves an hourly wage often forget to cost their own time. If you spent 60 hours on a job and you are worth $65/hour, that is $3,900 in cost that does not appear anywhere.
Mistake 3: Closing the books before all invoices arrive. Subcontractor invoices sometimes lag 30-60 days. If you run your job cost report before all invoices hit, your numbers are wrong. Hold job numbers open for 60 days after completion before finalizing.
Mistake 4: Using retail material prices in your estimate but actual (discounted) prices in job costing. This creates a false positive variance. Use your actual net cost (after contractor discounts) in both your estimate and your tracking.
Mistake 5: Ignoring the data. Some contractors diligently track job costs, see overruns, and never adjust their estimating. Job costing only helps if you close the loop: review the variance, find the cause, fix the estimate for next time.
Frequently Asked Questions
What is the difference between job costing and bookkeeping? Bookkeeping tracks all money in and out of your business by date. Job costing assigns every dollar to a specific project. Bookkeeping tells you if your business is profitable. Job costing tells you which jobs are profitable.
Do I need special software to do job costing? No. A spreadsheet works when you are managing a small number of jobs. Dedicated contractor software (QuickBooks for Contractors, Buildertrend, CoConstruct) adds automation and reporting as you scale, but the concepts are the same regardless of tool.
How do I handle materials I buy in bulk and use across multiple jobs? Track bulk purchases in an inventory account. When you draw material for a specific job, transfer the cost from inventory to that job at your actual cost per unit. This keeps each job’s material cost accurate without guessing.
What overhead rate should a remodeling contractor use? It varies by business size and cost structure, but most small-to-midsize remodeling contractors find overhead runs 15-30% of revenue. Calculate yours from your actual numbers, not industry averages.
How often should I review job cost reports? At minimum, run a report after every completed job. If a job runs longer than 30 days, review costs at the midpoint too. Catching an overrun at 50% complete gives you time to adjust, renegotiate, or at least prepare a change order. Catching it at 100% complete gives you nothing except a lesson.
Accurate job costing is what separates contractors who build a real business from ones who stay on a hamster wheel, busy but never building wealth. The data you collect on every job becomes your competitive edge on the next one.
For a full walkthrough of how to build estimates that give you meaningful numbers to track against, see how to estimate construction jobs. To understand the five cost buckets that every estimate and every job cost report should mirror, our guide on cost estimating for contractors covers materials, labor, subs, overhead, and profit with worked examples you can apply immediately. And if your markup math needs tightening, the Contractor Markup Calculator helps you convert between markup and margin so your bids actually hit your profit targets. For a deeper look at why overhead allocation matters so much, our guide on overhead and profit for contractors explains what overhead actually includes and how to recover it on every job.
Try EstimationPro free and start connecting your estimates to your actual job costs from the first project.
Get Free Estimating Tips
Enter your email and we'll send you pro tips, cost data, and useful resources for contractors.
We'll send helpful resources and occasional tips. Unsubscribe anytime.
EstimationPro AI For Contractors, By Contractors Create Detailed Estimates in Minutes, Not Hours
Upload photos, record voice notes, and get AI-powered estimates with line items, material lists, and regional pricing.