Job cost accounting is the financial foundation of every construction subcontractor. It is the system that answers the most basic question in the business: did this project make money?
Unlike standard business accounting, which tracks revenue and expenses across the entire company, job cost accounting tracks them per project. That distinction matters because a subcontractor’s overall profitability is the sum of individual job performance — and the numbers can vary dramatically from one project to the next.
This guide walks through how to set up, maintain, and use job cost accounting effectively, from cost code design through WIP reporting and AI-powered automation.
Standard accounting follows a calendar. Revenue and expenses are recorded monthly, quarterly, and annually. Financial statements show how the business performed during a given period.
Job cost accounting follows projects. Revenue is recognized based on project milestones and percent-complete calculations, not calendar dates. Costs are assigned to specific projects and cost categories, not just general expense accounts.
This project-centric approach is necessary because construction work is inherently variable. Two projects of the same size and scope can produce very different margins depending on labor productivity, material costs, change order volume, weather delays, and dozens of other factors. Without job-level tracking, a subcontractor has no way to know which projects are profitable, which are breaking even, and which are losing money.
Inaccurate job costing has compounding effects. When cost data from completed projects is unreliable, future estimates are built on flawed assumptions. Research from Construction Cost Accounting indicates that estimation mistakes lead to roughly 3% profit loss on successful bids — a significant number when net margins in construction average 5–6%.
Beyond bidding accuracy, poor job costing can mask problems on active projects until it is too late to correct them. A job that appears on-budget based on last month’s data may already be significantly over budget based on costs that have not been entered yet.
The cost code system is the backbone of job cost accounting. Every transaction gets coded to a job number and a cost code, which together tell you what was spent, on which project, for what purpose.
Effective cost code structures balance detail with usability. The standard framework in construction is CSI MasterFormat, which provides a standardized numbering system organized by trade divisions. Many subs use MasterFormat as a starting point and customize it for their specific trade.
A practical approach for most subcontractors:
The common mistake is building a system with too many cost codes that field teams find burdensome, or too few that produce reports without meaningful detail. For most specialty trade subs, 8–15 cost codes per job type provides sufficient granularity without overwhelming the data entry process.

Once the cost code structure is established, every estimate should be built using the same categories. This creates a direct comparison path between estimated and actual costs — the single most valuable feedback loop in construction finance.
When an estimator builds a bid using cost codes that match the job cost system, the project manager can track actual performance against the estimate in real time. Variances become visible at the cost code level: labor is 12% over on rough-in, materials are 5% under on fixtures, equipment is on track.
Without this alignment, estimate-to-actual comparisons require manual translation between the estimator’s categories and the accounting system’s categories — a process that often does not happen at all. Many subs discover that their estimating and accounting teams have been operating with incompatible cost structures for years.
The accuracy of job cost accounting depends on how quickly and reliably costs are recorded. Delayed cost entry — the practice of batching receipts and timesheets for entry at the end of the week or month — is one of the most common sources of job costing errors.
Modern approaches to cost capture include:
The goal is to minimize the gap between when a cost is incurred and when it appears in the job cost system. The smaller that gap, the more useful the data is for project management decisions.
AI-powered job cost tracking represents a significant shift from manual processes. Rather than relying on someone to code each transaction correctly, AI systems learn the patterns in your data and apply them automatically.
An AI agent can recognize that invoices from a specific vendor are always coded to materials, that a particular employee always works on the same project, or that equipment rental charges follow a predictable pattern. Over time, the system’s accuracy improves as it processes more of your transactions.
Platforms like Cru use AI agents specifically designed for construction job costing. The system auto-codes transactions, matches invoices to purchase orders, and flags budget variances in real time — surfacing problems when they are still small enough to address. The practical benefit is not just speed but consistency: AI does not forget to code a transaction, does not miskey a job number, and does not defer data entry to “later this week.”
The Work-in-Progress (WIP) report is the most important financial document for a construction subcontractor. It compares three things for each active project: the contract value, the costs incurred to date, and the estimated cost to complete.
From these three inputs, the WIP report calculates whether each project is overbilled or underbilled — meaning whether you have billed more or less than the value of work actually completed.
Bonding companies, banks, and financial advisors all rely on WIP reports to assess a subcontractor’s financial health. An increasing overbilling trend across multiple projects is a warning sign; it often indicates that cash from future work is being used to fund current operations.

Beyond the WIP schedule, job cost data enables profitability analysis at multiple levels:
These analyses are only as good as the underlying data. This is where real-time cost tracking pays its biggest dividend — the faster costs are recorded, the sooner problems surface, and the more time there is to correct course.
A useful practice is conducting a formal job cost review at 25%, 50%, and 75% completion. At each milestone, compare actual performance to the original estimate and update the cost-to-complete projection. This creates natural checkpoints for identifying trends before the project closes. For completed projects, a closeout review that captures actual production rates, material waste percentages, and overhead burden rates feeds valuable data back into the estimating process — over time, building a library of actual performance data that makes future bids more accurate.
Job costing tracks costs per individual project, with each project treated as a unique profit center. Process costing averages costs across large volumes of identical or similar units — it is used in manufacturing, not construction. Construction subcontractors always use job costing because every project has different scope, conditions, and performance characteristics.
At minimum, weekly. Project managers should review job cost reports against budget at least once a week to catch variances early. AI-powered systems enable continuous monitoring — automated alerts can notify you the moment a cost category exceeds its budget threshold, eliminating the need to wait for a scheduled review.
The most frequent errors include delayed cost entry (coding costs days or weeks after they are incurred), insufficient cost code granularity (too few categories to identify where money is going), failing to track change orders separately from base contract work, not allocating indirect costs and overhead to projects, and not using completed job data to improve future estimates. Each of these mistakes degrades the usefulness of job cost data for both project management and future bidding.
Ready to automate your job cost tracking? Explore Cru — AI-powered job cost accounting built specifically for construction subcontractors.