Job Costing in Construction: How to Track Every Dollar (and Keep More of It)
After working with hundreds of contractors who thought they were profitable (until they weren't), one thing is clear: Job costing in construction is the difference between growing a business and slowly bleeding money.
If you take anything away from this guide, it’s this: first, always track labor with full burden (not base wages), and second, review job costs while the project is still active, not after it’s finished. Those two habits alone prevent most margin leaks in paving and construction.
What Is Job Costing in Construction?
Job costing in construction is an accounting method that ties every expense to a specific project. Labor hours, material purchases, equipment use, subcontractor invoices, and overhead costs all get assigned to individual jobs rather than lumped into a general ledger.
The goal is simple: know exactly what each job costs so you can compare it to what you bid and figure out whether you actually made money.
This matters more than most contractors realize. A QuickBooks survey of 600+ construction business owners found that 1 in 4 construction companies would go out of business after just two or three inaccurate estimates. That's not a slow decline. That's a few bad bids away from closing the doors.
And here's where it gets tricky. Gross profit margins in construction average around 14.8% for general contractors and 16% for specialty contractors, according to CFMA's 2024 Financial Benchmarker.
Net margins? Most contractors keep between 5% and 8% after overhead, insurance, taxes, and all the costs that eat into the profit you thought you had. When your margins are that thin, you can't afford to guess.
Job costing in construction gives you the numbers to stop guessing.
Why Job Costing Matters More Than You Think
Job costing matters because it shows you exactly where profit is made or lost on each job, instead of leaving you guessing based on total revenue.
Without job costing in construction, you might finish a $300,000 paving project thinking you made great money, only to discover that overtime hours, a material price spike, and an underestimated subcontractor bill ate your entire margin.
You'd never know which part of the job went wrong because you weren't tracking costs at the project level. Here's what proper job costing actually tells you:
- Which jobs make money and which ones don't (so you can stop bidding on the wrong work)
- Where your estimates are off (labor, materials, equipment?), so you can fix them
- How your crews perform on different project types
- Whether your overhead allocation makes sense or is quietly ruining profitability
The CFMA 2024 Financial Benchmarker showed that best-in-class construction companies achieved 11.9% net income before tax, nearly double the industry average of 6.3%. The difference isn't luck. It's knowing your numbers through disciplined job costing.
The Cost Categories You Need to Track
You need to track direct costs and indirect costs. Both affect your bottom line and construction job costing, but they show up differently on your books.
Direct costs
Direct costs tie directly to a specific project. You can point at an invoice or a timesheet and say, “That's for the Main Street parking lot job.”
Labor is usually the biggest variable. For most contractors, labor and materials combined account for 50–80% of total project costs, with labor alone often representing 20–35% of the total.
That includes base wages, but also the time your crew spends on setup, travel between sites, and cleanup. If an estimator bills at $35/hour but their fully loaded cost is closer to $52/hour once you factor in taxes, workers' comp, and benefits, you need that $52 number in your job cost tracking.
Materials include everything purchased for the job. Asphalt, concrete, aggregate, sealant, rebar, forms, and anything else that physically goes into the project. Material costs can shift fast.
Through 2025, steel prices climbed 13% year-over-year, and aluminum jumped 23%, with the effective tariff rate on construction materials hitting a 40-year high of 25–30%. If you bid on a project in January and don't start until April, those numbers might not hold.
Using a structured paving estimate template helps standardize material takeoffs so you’re not guessing quantities from job to job.
Equipment covers both owned and rented machinery. Pavers, rollers, loaders, dump trucks, hot boxes, and smaller tools all cost money to operate.
Track fuel, maintenance, and rental fees per job. If a piece of equipment sits idle on a job site for three days, that's a cost whether you're renting or depreciating a purchase. It has to show up somewhere.
Subcontractors are any outside crews you bring in. Striping crews, concrete finishers, excavation teams. Their invoices belong to the jobs they worked on, not some generic "subcontractor" line.
Tip: Clear scopes and pricing upfront, often outlined in an asphalt paving proposal template, make it easier to track subcontractor costs accurately.
Indirect costs (overhead)
Indirect costs keep the business running but don't belong to one specific job. Office rent, insurance premiums, accounting fees, your estimator's salary when they're not billing to a project, vehicle costs, and platform subscriptions all fall here.
The trick is allocating overhead to each job in a way that reflects reality. Most contractors use a percentage-based method. If your annual overhead is $600,000 and you expect $5 million in revenue, your overhead rate is 12%. A $100,000 job absorbs $12,000 in overhead.
That overhead number matters more than most people think. The JMCO 2025 Performance Benchmarks report recommends keeping overhead between 8–15% of revenue. If yours is creeping past 15%, you're either growing too fast or spending too much on non-revenue activities.
Labor burden: The hidden cost that wrecks estimates
This deserves its own callout because it trips up so many contractors.
Labor burden includes everything you pay on top of base wages: employer payroll taxes (FICA, FUTA, SUTA), workers' compensation insurance, health benefits, retirement contributions, paid time off, and training costs. Build training time for OSHA requirements and asphalt safety into your burden calculation.
According to Autodesk's analysis of construction labor burden, employers can pay an average of 40% on top of the standard hourly wage, and for some contractors, that cost can shoot up to 70%. BLS data backs this up: the average construction employee costs about $100,880 in total compensation, with $30,930 in burden costs alone, which works out to roughly 44% of base pay.
If you're estimating labor at base wage rates without burden, every single bid is wrong. You're underbidding by potentially thousands of dollars per project.
Remember: Understanding market rates, like the current paver operator salary, helps you estimate labor more accurately and avoid underbidding. Investing in proper crew training, like parking lot striping training, also reduces costly rework and improves labor efficiency.
How to Set Up a Job Costing System That Works
You don't need a degree in accounting to set up job costing in construction. But you do need a consistent process that everyone on your team follows. Here’s a summary table:
1. Create a cost code structure
Cost codes are the backbone of job costing. They organize expenses into categories so you can compare apples with apples across projects.
A typical structure includes codes for categories like labor (broken down by task type), materials (by type), equipment, subcontractors, and overhead.
Keep it detailed enough to be useful but simple enough that your team actually uses it. If your foremen in the field won't enter a cost code because the system has 200 options and they can't find the right one, the whole thing falls apart.
Pro tip: Build your cost codes around how you actually estimate jobs. If your bids break down labor into mobilization, paving, striping, and cleanup, your cost codes should match. That way, you can compare estimated vs. actual costs category by category.
2. Track time at the job level (not just the day)
This is where most small and mid-size contractors lose visibility. Crew members show up, work across two job sites, and submit one timesheet at the end of the week with a rough guess of how many hours went where.
That's fiction. That's not job costing.
Good time tracking means recording hours per job, per cost code, ideally daily. Digital time tracking apps make this easier than it used to be. A paving scheduling platform helps you keep time entries tied to the right job when crews bounce between sites.
The payoff is worth the effort: when you can see that your crew spent 120 hours on a job you estimated at 90 hours, you know immediately that something went wrong and can adjust your next bid.
3. Assign every purchase to a job
Materials get purchased by multiple people on your team. The project manager orders asphalt. A crew lead grabs supplies from a hardware store. Someone fills up the fuel tank.
Every one of those receipts needs a job number attached. Without that discipline, materials end up in a generic bucket, and you lose the ability to see what any specific project actually costs.
4. Review costs during the job, not just after
Job costing in construction isn't a post-mortem exercise. The most profitable contractors review costs weekly (or even daily on large projects), so they can catch overruns before they spiral.
Strong paving project management makes weekly cost reviews part of the job rather than an afterthought.
If you're three weeks into a six-week job and you've already burned through 70% of your labor budget, you have a problem. But you can only see that problem if you're comparing actual costs to estimated costs as the project unfolds.
The Formulas That Make Job Costing Useful
Numbers on a page don't mean much until you turn them into ratios and comparisons. Here are the formulas that actually matter for job costing in construction.
Gross profit margin
Gross Profit Margin = (Revenue – Direct Costs) / Revenue x 100
If you bid a job at $200,000 and your direct costs (labor, materials, equipment, subs) totaled $160,000, your gross margin is 20%. That's the money available to cover overhead and produce profit.
For context, CFMA's 2024 data showed best-in-class contractors hitting 21.8% gross profit margins. The JMCO 2025 benchmarks put the healthy range at 12–16% for general contractors and 15–25% for specialty contractors.
Net profit margin
Net Profit Margin = (Revenue – All Costs Including Overhead) / Revenue x 100
Using the same example: $200,000 revenue, $160,000 in direct costs, and $24,000 in allocated overhead. Net profit is $16,000, or 8%.
Most contractors should target 8–10% net margins. The industry average sits at around 5–6% as of 2025, but best-in-class firms consistently reach ~11%.
Cost variance
Cost Variance = Estimated Cost – Actual Cost
A positive number means you came in under budget. A negative number means you went over. Track this per cost code to find exactly where your estimates are off.
If your labor variance is consistently negative but your material variance is positive, you know your labor estimates need work, not your material takeoffs.
Estimated vs. actual completion
Percent Complete = Actual Costs to Date / Total Estimated Costs x 100
This tells you how far along a job is from a cost perspective. If you're 50% through the estimated costs but only 30% through the physical work, something is off, and you need to investigate before the job finishes over budget.
5 Job Costing Mistakes That Drain Your Margins
The most common job costing mistakes come from underestimating labor, failing to track costs in real time, and losing visibility through poor categorization. Here’s a closer look at each mistake:
1. Estimating labor without burden
If you're using base wages in your estimates, add 40–50% for burden. Otherwise, every bid starts underwater.
2. Ignoring change orders
A client asks for an extra 500 square feet of paving. Your crew does the work, but nobody creates a change order. That's revenue you earned and costs you incurred that never show up in the job cost report.
Track every change, no matter how small. Your actual costs will reflect the extra work, whether you invoice for it or not. Your asphalt paving contract should spell out how you approve and price change orders.
3. Lumping costs into "miscellaneous"
If more than 5% of your job costs sit in a miscellaneous category, your data is unreliable. That catch-all bucket hides real information about where money goes. Every dollar should have a proper cost code.
4. Waiting until the job is done to review costs
Post-project reviews are valuable, but they can't fix a job that's already lost money. Check costs weekly. Compare actuals to estimates. Catch problems early enough to do something about them.
5. Not tracking equipment costs per job
A roller sitting on your job site for a week has a cost, whether you own it or rent it. If owned equipment isn't depreciated and allocated to specific jobs, your job cost reports make those projects look more profitable than they are.
Job Costing for Paving and Concrete Contractors
Job costing for paving and concrete contractors requires tighter tracking because of seasonal work, volatile material prices, and variable crew performance across project types. Let’s detail some factors to keep in mind:
- Seasonality affects everything: Most paving contractors operate on a 9-month paving season. You can't lay asphalt when it's too cold or too wet. That means your overhead gets spread across fewer months of revenue.
- Material price volatility hits hard: Asphalt prices are tied to oil markets, and they can shift fast. A bid you sent in March might not reflect material costs by the time you start the job in June.
- Crew efficiency varies by job type. A commercial parking lot repave is a different animal than a residential driveway or a municipal road project.
- Subcontractor coordination adds cost. Paving contractors often sub out work to each other, especially for specialized services like crack sealing, sealcoating, or curb and gutter work. Each sub's costs need to be captured at the job level.
The contractors who track all of this don't just survive. They're the ones quoting confidently, winning profitable work, and growing their businesses year over year.
How to Use Job Costing Data to Win Better Bids
You use job costing data to win better bids by replacing guesswork with real historical costs, improving accuracy, and protecting your margins. Here's how to put it to work:
- Compare estimated vs. actual costs for every completed project. Look for patterns. If your labor estimates run 15% low on municipal work but are dead-on for commercial parking lots, you know where to adjust.
- Build your estimates from real cost data, not gut feelings. Use your actual cost-per-square-foot, cost-per-ton, and labor-hours-per-unit from past projects as your baseline. Then adjust for current material prices and labor rates.
- Identify your most profitable project types. Job costing in construction doesn't just tell you how much a job costs. It tells you which kinds of work generate the best returns. If commercial overlay projects consistently deliver 22% gross margins and residential driveways hover at 12%, that should shape which bids you chase.
- Know your breakeven point. Once you know your overhead rate and average labor burden, you can calculate exactly how much revenue you need per project to cover costs. Anything above that is profit. Anything below it is a loss, no matter how busy your crews are.
Manage Estimates, Crews, and Job Costs in One Place
Costs can slip through the cracks, labor hours get estimated instead of recorded, and by the time you realize a job lost money, it's too late to do anything about it. That's the problem OneCrew was built to solve. Here's what you can do with it:
- Estimate from PDFs or satellite maps with built-in calculators and configurable cost automations: Set up your labor rates, material costs, equipment charges, and subcontractor pricing once, and the system applies them consistently across every bid.
- Schedule crews and assign roles to specific job phases with clear accountability: Know exactly who's doing what, where, and when across every active project.
- Track leads and customer relationships from first call through repeat business: Every inquiry, conversation, quote, and project history lives in one system.
- Build and send proposals that clients can review, approve, and sign through a customer portal: Turn your estimates into polished, branded proposals without jumping to a separate tool.
- Keep field crews connected to job details, schedules, and real-time updates: Field management tools put site information, material specs, and daily assignments on your crews' phones.
- Invoice and collect payment without double-entry or chasing paperwork: Generate invoices from completed work orders and collect payment through the customer portal.
You don't need five different apps to run your paving business. Book a free demo and see how OneCrew helps you take control of your estimates, your crews, and your profitability from start to finish.
FAQs
1. What is job costing in construction?
Job costing in construction is an accounting method that assigns all costs (labor, materials, equipment, overhead) to individual projects. It shows exactly how much each job costs and whether it was profitable.
2. How is job costing different from process costing?
Job costing tracks costs per project. Process costing averages costs across large volumes of identical output, like a manufacturing assembly line. Construction uses job costing because every project has different specs, timelines, and cost structures.
3. What are the main cost categories in construction job costing?
The main categories are labor (including burden), materials, equipment, subcontractors, and overhead. Direct costs tie to a specific job. Indirect costs like office rent and insurance get allocated across all active projects.
4. How often should I review job costs?
Review job costs at least weekly on active projects. Waiting until a project finishes means you've lost the chance to correct overruns. The most profitable contractors compare actuals to estimates multiple times per week.
5. What's a healthy profit margin for a construction contractor?
Gross margins in construction range from 12–16% for general contractors and 15–25% for specialty contractors, according to JMCO. Net margins average around 5–6% industry-wide, though well-run contractors target 8–10%. Best-in-class firms reach 11.9% according to CFMA.

