Job costing is not a feature of a construction accounting system. It is the reason a construction accounting system exists. Every other financial function - WIP reporting, cash flow forecasting, board reporting, project profitability analysis - depends on the quality of the underlying job cost data. Get job costing wrong and every downstream output is unreliable. Get it right and the finance function becomes a genuine commercial tool for running the business.
Get job costing wrong and every downstream output is unreliable. Get it right and the finance function becomes a genuine commercial tool.
What job costing is actually measuring
Job costing tracks every cost incurred on a project against the budget established for that project. Labour, materials, subcontractors, plant, preliminaries, and allocated overhead - each cost is captured against the specific project and cost code it relates to, in the period it is incurred.
The output is not just a cost total. It is the input to every forward-looking financial calculation the business makes: percentage of completion, estimated cost to complete, forecast final margin, WIP position, and subcontractor liability. If any of those inputs are wrong - because costs are coded incorrectly, not captured in time, or estimated rather than actuals - the outputs are wrong too.
Under AASB 15 (Revenue from Contracts with Customers), construction contracts are recognised over time using an input method: costs incurred to date as a proportion of estimated total cost. This means your job cost data is not just a management reporting tool. It is the direct input into your statutory revenue recognition calculation. A contract asset (revenue recognised in excess of amounts billed) or contract liability (amounts billed in excess of revenue recognised) flows straight onto the balance sheet from these figures. Inaccurate job costing produces inaccurate financial statements, not just inaccurate project reports.
Where most construction businesses fall short
The most common failure mode is cost coding at a level that is too high to be useful. Coding all labour to a single cost code on a project, rather than to the specific work package it relates to, produces a total cost figure but no visibility of where within the project costs are running ahead of budget. By the time the overrun is large enough to surface at the project level, it is usually too late to manage it.
The second most common failure is timing. Costs that are incurred in one period but not captured in the system until the next period produce a WIP schedule that is structurally inaccurate. Percentage of completion calculations based on incomplete cost data will overstate gross profit. Over time, this creates the pattern that construction insolvency practitioners see most often: a business that reported consistently profitable months right up until the project completed and the true position became undeniable.
Is your job costing working properly?
Get your personalised Construction Free Finance Assessment in 15 minutes.
What good job costing requires
Good job costing requires three things that most entry-level accounting systems cannot provide. First, a project structure that mirrors how the work is contracted and managed, with cost codes that correspond to actual work packages, not generic categories. Second, real-time cost capture - not a month-end import, but a live feed from purchase orders, timesheets, subcontractor claims, and goods received. Third, a WIP calculation that runs from the cost data in the system, not from a separate spreadsheet that someone assembles after the fact.
Sage Intacct provides all three as standard functions for construction businesses. Cost codes are configured to the chart of accounts structure the business needs. Costs are captured as they are committed and incurred. WIP is a system output, not a manual process.
The commercial difference good job costing makes
A construction business with accurate, real-time job costing can identify a cost overrun while the project is still running and there is still time to respond. It can price variations accurately because it knows what each work type actually costs. It can negotiate subcontractor claims from a position of data rather than estimation. It can see, in real time, which projects are consuming cash and which are generating it, based on committed costs, AP obligations, and outstanding AR.
These are not incremental improvements to financial reporting. They are the conditions under which a construction business can grow profitably rather than just growing. Most construction businesses at the $10M to $50M turnover mark do not have them - not because they are difficult to achieve, but because the systems they are running were not built to provide them.
See also:
The job cost report: what it should show
A job cost report in a well-configured construction accounting system shows, for each active project: original contract value, approved variations, revised contract value, total estimated cost to complete, costs incurred to date by cost category (labour, materials, subcontractors, plant, preliminaries), the variance between budget and actual, and the calculated percentage of completion.
That single report answers the questions a CFO needs answered: Is this job profitable? Is it tracking to budget? Are there cost categories running ahead of expectations? Is the revenue being recognised correctly?
In practice, most construction finance teams cannot produce this report reliably from their current system without manual assembly from multiple sources. Cost data is in the accounting system. Budget is in a spreadsheet. Variation approvals are in emails. Estimated cost to complete is held by the project manager. The job cost report becomes a compilation exercise rather than a system output.
Overhead allocation: the frequently wrong number
Direct costs - labour, materials, subcontractors - are tracked at the job level in most systems. Overhead - site supervision that spans multiple jobs, equipment that is deployed across projects, yard costs - is often left unallocated or allocated in a way that has not been revisited since the chart of accounts was set up.
The result is job cost reports that understate the true cost of delivering projects, producing margin percentages that look better than reality. The problem surfaces at year-end when the overhead pool does not reconcile to the amounts allocated across jobs, or when individual jobs close out at margins that were never achievable given the overhead structure.
A well-designed job costing structure allocates overhead systematically - by labour hours, by direct cost, or by a formula that reflects how overhead is actually consumed by different job types. Sage Intacct's statistical journal entries and allocation engines handle this automatically once the methodology is configured, producing job cost reports that include a share of overhead on every project.
The commercial case for better job costing
Better job costing data improves tender accuracy. Businesses that know their true cost by project type, size, and location can price new work with greater confidence. Businesses that cannot see real job costs bid on gut feel, and the margin erosion shows up in the results.
It also improves the conversation with project managers. When cost data is accurate and current, the discussion shifts from arguing about whether numbers are right to understanding why costs are moving and what can be done. Project managers who see their job costs in real time make different decisions than project managers who wait for the monthly finance report.
For a detailed look at how Sage Intacct handles construction job costing including multi-cost-centre projects and overhead allocation, see our full platform guide.