Job Costing for Construction: How to Track Every Dollar and Actually Make Money
Job costing for construction means tracking every dollar of labor, materials, subcontractors, and equipment against a specific project budget in real time. You compare estimated costs to actual costs as work progresses, not after the job closes. Done right, it tells you which projects are profitable, which crews run over budget, and where your estimates keep missing before losses compound across multiple jobs.
What Goes Into a Job Cost: The Four Cost Categories
Every construction job cost system breaks costs into four buckets. Miss one and your numbers lie to you.
Labor. This is total employment cost, not just the wage on the check. Add employer payroll taxes (the employer share of FICA is 7.65% of gross wages under federal law), workers' comp premiums (rates vary by trade and state, with high-hazard classifications like framing typically carrying higher premiums than office work), general liability allocation, and any paid time off burden. A framer earning $28/hr often costs $38-42/hr fully burdened depending on your state and experience modifier. If you're job costing against raw wages, every labor line will look profitable until the overruns catch up with you.
Materials. This includes purchase price, delivery fees, fuel surcharges, and waste. A standard rule of thumb is to budget 5-10% material waste on rough framing, 3-5% on finish work. Track materials by PO or receipt tied to a job number, not just by vendor.
Subcontractors. Enter the contract amount as a cost the moment you award it, not when you pay the invoice. Also track change orders to subs in real time, because that's where subcontractor budgets can erode fast without warning.
Equipment and overhead. Own a skid steer? Charge an internal equipment rate to each job (ownership cost plus maintenance divided by annual hours). General overhead, meaning office rent, admin salaries, software, trucks not tied to a specific job, gets allocated as a percentage markup on top of direct costs. Most small GCs use 10-15% overhead markup, though the actual number should come from your own books.
Once you're disciplined about these four categories, set up cost codes. A simple numbering system (1000 series for labor, 2000 for materials, 3000 for subs, 4000 for equipment) lets you sort overruns by type instantly. Reviewing the top-rated construction estimating tools for contractors is worth doing here, since the better platforms pre-load CSI cost codes or let you build your own, which tightens the bridge between estimate and job cost from day one.
How Do You Set Up a Job Cost Budget Before Work Starts?
Your job cost budget is your estimate broken into the same cost codes you'll track in the field. If the estimate and the field tracking use different line items, you'll never get a clean variance report.
Here's the process:
- Build the estimate by cost code. Don't just total labor and materials. Break them out by phase (demo, foundation, framing, MEP rough, insulation, drywall, finish) and by cost type within each phase.
- Convert the estimate to a budget. Move every line into your job costing system with a budgeted dollar amount and budgeted hours. This becomes your baseline.
- Record the contract value separately. The budget is what you expect to spend. The contract is what the owner is paying. The difference is your projected gross profit. On a $180,000 contract with a $148,000 budgeted cost, your projected gross margin is $32,000, about 17.8%.
- Lock the budget before the first invoice hits. Changes after work starts should go through a formal change order process, not a quiet budget adjustment.
- Assign a job number immediately. Every PO, time card, and sub invoice needs that job number from day one. If your crew submits time cards without a job number, you're posting blind.
Small contractors often skip this setup because it feels like paperwork. The reality is that without it, there's no way to know if you're making money before the job closes.
Tracking Costs in Real Time: What the Weekly Rhythm Looks Like
Job costing isn't a month-end exercise. By the time you close the books, decisions that could have saved money are long gone.
Here's a practical weekly cadence:
Daily: Foremen submit time cards with job number and cost code. Materials received get matched to POs. Any delivery receipts go to the office same day.
Weekly: Pull a job cost report. Compare budgeted labor hours to actual hours by phase. Calculate percent complete honestly (not based on hours spent, but based on work actually done). Then calculate percent of budget spent. If you're 40% complete but have burned 55% of your labor budget, you have a problem and six weeks to fix it.
Formula for projected labor overrun: Divide actual hours to date by percent complete to get projected total hours. If you've used 220 hours and the job is 40% done, projected total is 220 / 0.40 = 550 hours against a 400-hour budget. That's 150 hours over. At a $40 burdened rate, you're looking at $6,000 in extra labor cost that didn't exist in your contract.
Sub invoices: Log them against the sub's contract amount when received, not when approved. This keeps your committed cost (the amount you're contractually obligated to pay) accurate.
For teams managing multiple jobs at once, a construction management platform built for small businesses typically ties time cards, POs, and invoices to job numbers automatically, which cuts the manual data entry that causes most tracking errors.
Common Job Costing Mistakes That Kill Contractor Margins
These are the patterns that show up repeatedly across the trades.
Using unburdened labor rates. Already covered above, but it can't be overstated. Tracking hours at the paycheck wage and not the full employment cost gives you a permanently optimistic picture. Budget and track at the fully burdened rate every time.
Not capturing small material purchases. A $400 Home Depot run that doesn't get coded to a job is a $400 untracked cost. Over a year across a dozen jobs, this adds up to thousands. Require receipts and job numbers for every purchase card transaction.
Ignoring committed costs. If you've signed a $22,000 sub contract and they've billed $8,000, your job cost report should show $22,000 in committed costs, not $8,000 in actual costs. Only showing paid invoices makes the job look more profitable than it is until the final invoice arrives.
Percent complete games. Overstating percent complete to make a job look on track is common. Use a physical measurement whenever possible: square feet framed, linear feet of pipe, number of fixtures installed. Three weeks on site is not evidence of 60% completion without the numbers to back it up.
Closing jobs too late. Finalizing the job cost at project closeout, months after work ended, means the lessons don't apply to anything still in the field. Close jobs within 30 days of substantial completion.
Not feeding results back to estimating. This is the biggest long-term mistake. If your drywall labor consistently runs 12% over estimate, that's not bad luck. Your labor rate or productivity assumption is wrong. Build a feedback loop: actual costs from completed jobs should directly inform the next estimate. Platforms that share a database between estimating and job costing, like those compared in this construction estimating software review, make that feedback loop automatic rather than something you have to maintain manually.
How to Read a Job Cost Report and Spot Problems Fast
A useful job cost report shows five columns for each cost code: Budgeted Amount, Actual Cost to Date, Committed Cost, Projected Final Cost, and Variance. Here's how to read it without getting lost.
Projected Final Cost is the number that matters most. Calculate it as: Actual Cost to Date divided by Percent Complete. If you've spent $62,000 and you're 55% done, projected final cost is $62,000 / 0.55 = $112,727.
Variance is Budgeted Amount minus Projected Final Cost. A negative variance is an overrun. Circle every cost code with more than a 5% negative variance. Those are the lines that need a conversation.
What to do when a line is over budget:
- Is it a productivity problem (labor taking longer than expected)? Check daily logs and talk to the foreman.
- Is it a scope change that wasn't change-ordered? Write the CO immediately.
- Is it a bad estimate? Document it so estimating gets corrected next time.
A job with a $200,000 contract, a $164,000 budget, and a $178,000 projected final cost still shows a gross profit of $22,000, but the original projected margin was $36,000. That $14,000 swing is worth understanding before the next bid goes out.
For crews spread across multiple sites, scheduling and time tracking tools that sync with job cost systems reduce the lag between field hours and office reports. Platforms covered in the construction scheduling software comparison often include time card features that feed directly into job cost exports.
Job Costing for Small Contractors: Where to Start When You're Doing This Manually
If you're still running job costs on spreadsheets, that's fine. A clean spreadsheet beats sloppy software. Here's a minimal working setup.
One tab per job. Columns: Cost Code, Description, Budgeted Hours, Budgeted Cost, Actual Hours, Actual Cost, Committed Cost, Projected Final, Variance.
One master tab. Each row is a job, with total budgeted GP, projected GP, and variance. This is your portfolio view. Check it every Friday.
Time card sheet. Employee name, date, job number, cost code, hours. Even a simple Google Form that foremen fill out on their phones eliminates most of the manual entry.
The point where manual tracking breaks down is around 5-8 simultaneous jobs or 10+ field employees. At that scale, the time spent maintaining spreadsheets, chasing receipts, and reconciling data exceeds the cost of a dedicated platform. The move to software is justified by the hours saved, not just the cleaner reports.
Whatever system you use, the core requirements stay constant: every cost gets a job number, every budget gets locked before work starts, and every completed job gets a post-mortem before the next similar job gets bid.
Frequently asked questions
What is the difference between job costing and regular accounting?
Regular accounting tracks company-wide revenue and expenses to produce financial statements. Job costing tracks revenue and costs at the individual project level, so you know which specific jobs made money and which didn't. Standard accounting tells you if the business is profitable; job costing tells you why.
How do you calculate cost to complete on a construction job?
Divide your actual costs to date by the percent complete to get the projected final cost. Subtract your original budget from that number to find the projected overrun or savings. For example, if you've spent $62,000 and the job is 55% complete, the projected final cost is $112,727. If the budget was $100,000, you're tracking roughly $12,727 over budget and still have work left to do.
What cost codes should a small contractor use for job costing?
A simple four-group system works well: 1000s for labor (broken out by phase or trade), 2000s for materials (by phase), 3000s for subcontractors (one code per sub trade), and 4000s for equipment and overhead. You can expand later, but starting with too many codes leads to miscoding errors that make the data useless.
How often should you update job cost reports?
Weekly is the practical minimum for active jobs. Monthly is too slow to catch a labor overrun before it compounds. Daily updates are ideal on large or fast-moving projects. The key metric to check every week is percent of budget spent versus percent of work complete, because that gap tells you where you're trending before the final invoice arrives.
Related guides and comparisons
Best Construction Estimating Software for Contractors in 2026
Compare Contractor Foreman, Houzz Pro, and JobTread. Honest pros, cons, and verified pricing to help contractors pick the right estimating software.
best ofBest Construction Management Software for Small Business (2026)
Comparing Contractor Foreman, Houzz Pro, and JobTread for small contractors in 2026. Honest pros, cons, and which one fits your business.
best ofBest Construction Scheduling Software: Contractor Foreman vs. JobTread vs. Connecteam
Compare Contractor Foreman, JobTread, and Connecteam. Honest pros, cons, and picks for contractors, builders, and field crews of every size.
We may earn a commission if you buy through links on this page. It never affects our verdict.