What Is Job Costing in Construction? The Foundation of Construction Accounting
Job costing is the accounting practice of tracking every cost incurred on a specific project — every labor hour, every piece of material, every piece of equipment time, every subcontractor payment — against that project's budget. It is the core difference between construction accounting and the accounting most other industries use.
A manufacturing company can reasonably track profitability at the company level because its products and processes are repetitive; the cost of making 10,000 widgets is knowable in aggregate. A construction company cannot. Each project is essentially a bespoke manufacturing run, and the only way to know whether any individual project made or lost money is to accumulate every cost against that specific project as the work happens. Without job costing, a construction company flying blind on profitability is not an exaggeration — it is the literal operational reality.
A job cost ledger organizes costs along three dimensions: by project (which job), by cost code (what kind of work), and by cost type (labor, material, equipment, subcontractor, other). Every transaction posted to the general ledger that relates to a specific project must also carry these three dimensions, so that the transaction both hits the company's P&L and rolls up to the job cost report.
The three dimensions every job cost entry carries
- Job number — which project the cost belongs to (matches the project setup in the accounting system)
- Cost code — the specific scope item within the project (e.g. '03-30-00 Cast-in-Place Concrete' from CSI MasterFormat)
- Cost type — labor, material, equipment, subcontractor, or other indirect category
The intersection of job × cost code × cost type is the atomic unit of job costing. A single job cost line might read: Job 2026-042, Cost Code 03-30-00, Material: $12,485.60 (concrete delivery from Vendor X on invoice 5621). Every AP entry posts to this kind of three-dimensional structure.
Job costing distinguishes direct costs (traceable to specific projects) from indirect costs (overhead that benefits multiple projects). Direct costs are easy — they're the labor hours the electrician spent on this job, the materials delivered to this job, the subs working on this job. Indirect costs require allocation — the supervisor who oversees three jobs, the office rent, the insurance policies, the project management software.
Most construction accounting systems handle indirect cost allocation through a markup or burden rate applied to direct costs. Labor burden (employer payroll taxes, workers' comp, health insurance, etc.) typically runs 25-45% of direct labor cost. General overhead allocation rates vary widely — 5-15% of direct costs is typical for mid-market GCs. The specific rates come from the company's historical analysis and are adjusted annually.
Burden rates that are wrong consistently produce wrong profitability analysis. A company using a 25% labor burden when the actual fully-loaded rate is 38% systematically under-reports job costs and over-reports profitability. Recalibrating burden rates annually using actual historical data is one of the higher-ROI accounting disciplines.
Job costing only produces useful information when costs are compared against a budget. At project start, the estimate that won the bid is translated into a job cost budget organized by the same cost code structure that will be used to track actuals. As costs accumulate, the job cost report shows for each cost code: budget, actual to date, variance, and projected cost at completion.
The projected cost at completion is the number that drives decision-making. It combines actual costs already incurred with estimates of remaining costs to complete the work. When projected cost at completion exceeds budget for a specific cost code, the PM and estimator investigate: is this a real cost overrun, a forecasting error, or a scope change that hasn't been booked yet?
A typical job cost report is a matrix with cost codes down the side and columns for budget, actuals, committed (POs and subcontracts outstanding), remaining to complete, projected at completion, and variance. On a 200-cost-code project, the report can be dozens of pages long. Reading it well is a specific skill.
What an experienced PM looks at on a job cost report
- Cost codes with variance > 10% — real or reporting error?
- Cost codes significantly under-budget with scope incomplete — is work left to bill that hasn't been forecasted?
- Unusual movement week over week — which specific transactions drove the change?
- Cost codes with committed exceeding budget — POs and subs already issued that will exceed allocation
- Costs posted to the wrong cost code — miscoding is common and produces misleading variances
Get AP insights in your inbox
Get our weekly roundup of AP automation tips and industry news. No spam, ever.
No spam. Unsubscribe anytime.
Every AP invoice related to a specific project needs to be coded to the right job and cost code. This is the single most important connection between AP and construction accounting. An invoice miscoded to 'General Overhead' when it should hit a specific job misstates that job's profitability and misstates overall overhead; it systematically distorts the picture on both sides.
AP systems in construction typically support coding at the invoice level: each invoice line can be allocated to a specific job + cost code + cost type combination. For material invoices this allocation is usually clear from the PO. For subcontractor pay applications, each line on the G703 maps to a specific cost code. For shared-service invoices (office supplies, software, insurance), the allocation is typically to overhead rather than to a specific job.
Job costing data feeds directly into work-in-progress (WIP) reporting and percentage-of-completion revenue recognition. The basic relationship: the percent complete on a project is typically calculated as actual costs incurred to date divided by total estimated costs at completion. That ratio gets applied to the contract revenue to determine how much revenue has been earned, which in turn determines whether the contract is over-billed or under-billed at any given date.
If the job cost data is wrong — costs coded to the wrong jobs, estimates that haven't been updated, burden rates that are stale — the WIP report is wrong and the financial statements rely on inaccurate profitability estimates. This is why job cost accuracy is not just an operational concern but an audit-relevant one.
Recurring job costing errors
- Miscoding — invoices posted to the wrong job or cost code, distorting both
- Burden rates that aren't recalibrated — overhead allocation drifts from reality over time
- Missing estimate updates — the original budget doesn't reflect approved change orders, so variance analysis is against the wrong baseline
- Labor time not captured — field labor hours get reported late or roughly, distorting the direct labor line
- Equipment usage not billed internally — company-owned equipment used on a project should be billed at an internal rate, but often isn't
- Retroactive recoding at month-end — correcting errors in previous periods complicates trending and audit trail
Job costing has always been data-intensive. The manual version requires AP clerks to code every invoice line by line, PMs to allocate labor time across cost codes, and accounting to run allocation routines monthly. The operational cost of that manual process is one of the main reasons construction accounting is considered hard.
Modern AP automation that understands construction cost structure extracts job and cost code from the invoice (often from the PO reference or the sub's pay application G703), applies the correct coding automatically, and flags exceptions when the AI isn't confident. Labor time capture integrates with the field's time clock or mobile apps, allocating hours directly to cost codes. The controller's role shifts from data entry oversight to exception resolution — which is where their judgment actually adds value.
Job costing is the accounting discipline that distinguishes construction from almost every other industry. Done well, it produces real-time profitability analysis for every active project, drives accurate WIP and revenue recognition, and gives PMs the information they need to manage to budget. Done poorly, it produces financial statements that look correct at the aggregate level while hiding project-level losses until the company runs out of cash. The quality of the job costing is the quality of the construction accounting — everything else is downstream.
Written by
Marcus Reyes
Construction Industry Lead
Spent twelve years running AP at a $120M general contractor before joining Covinly. Lives in the world of AIA G702/G703, retainage schedules, and lien waiver deadlines. Writes about the construction-specific workflows that generic AP tools get wrong.
View all posts