Labour is typically the largest controllable cost on a construction project. Yet most growing contractors still struggle with the same question: how do you allocate labour costs accurately to projects and cost codes without exposing what individual employees are paid?

It's a tension that sits across finance, operations, payroll, and HR. Project managers want accurate job costs. Finance wants payroll reconciliation. HR wants salary confidentiality. Executives want to know whether project profitability is being measured correctly. These objectives are not mutually exclusive, and resolving them cleanly is a sign of a mature construction finance function.

These objectives are not mutually exclusive. Resolving them cleanly is a sign of a mature construction finance function.

The approach used by larger, more experienced contractors is a labour clearing and recovery model. Here is how it works and why it matters.

The problem with costing actual salaries to projects

Many growing contractors start by pushing actual employee payroll costs directly into job costing. At first glance this looks logical.

Labour classAnnual salaryActual cost per hour
Site Supervisor$160,000$96.15
Project Engineer$135,000$81.25
Carpenter$95,000$57.20

The problems compound quickly. Salary information becomes visible to operational staff. Job costs shift every time a pay review occurs, making period comparisons unreliable. Forecasting becomes difficult because the underlying rate changes. And if executive or management salaries flow through the same process, you have a salary disclosure problem disguised as a costing model.

Most larger contractors move away from this approach. The better model uses standard labour recovery rates.

Standard labour recovery rates: what they are and how they work

Employees still record their hours against projects, cost codes, activities, and work packages. But instead of applying their actual salary, the system applies a predetermined rate by labour class.

Labour classRecovery rate
Site Supervisor$115/hr
Project Engineer$100/hr
Carpenter$82/hr
Labourer$58/hr

These rates are not arbitrary. They are built to recover base wages, superannuation, payroll tax, workers compensation, leave entitlements, and any other labour-related overhead that the business needs to recover across its project portfolio. Project managers see the labour cost allocated to their project. They do not see what any individual employee is paid. Finance retains complete control over the payroll.

Related tool

How mature is your construction finance function?

Take the Construction Free Finance Assessment to find out where your labour costing, WIP and reporting sits relative to best practice.

Get my maturity score → CFO guide to job costing

The missing piece: labour clearing accounts

The question that comes up in almost every ERP implementation is: if we are not costing actual payroll to projects, how do we prove that total labour costs still reconcile?

The answer is a labour clearing account. It acts as a temporary holding account, a reconciliation bridge, between the payroll system and project costing. Every dollar of payroll enters the clearing account. Every dollar recovered to projects exits it. Any remaining balance represents under-recovered labour that needs to be explained.

A worked example

A commercial construction business has the following weekly payroll:

Cost typeAmount
Wages$420,000
Superannuation$40,000
Payroll tax$20,000
Leave accruals and on-costs$20,000
Total labour cost$500,000
Step 1 - Payroll is processed

The labour cost is recognised and posted to the clearing account. No project allocation has happened yet.

AccountDebitCredit
Labour Clearing$500,000
Payroll Liabilities$500,000
Step 2 - Payroll is paid

Cash leaves the bank. The clearing account is not affected. Payroll and project costing remain separate processes.

AccountDebitCredit
Payroll Liabilities$500,000
Bank$500,000
Step 3 - Labour is allocated to projects

Approved timesheets drive the recovery. Standard rates are applied. Project WIP and job costs are updated.

ProjectLabour recovered
Project A$220,000
Project B$180,000
Project C$70,000
Total recovered$470,000
AccountDebitCredit
Project WIP / Job Costs$470,000
Labour Clearing$470,000
Step 4 - Identify the variance

The clearing account now shows a $30,000 balance. This is the under-recovered labour, and it needs to be explained and cleared.

Payroll cost entered$500,000
Labour recovered to projects($470,000)
Remaining balance$30,000

This $30,000 may represent annual leave, sick leave, training time, toolbox meetings, mobilisation, internal administration, or idle labour. The clearing account makes it visible. Without it, this cost would either be invisible or misallocated.

Step 5 - Clear the variance at month-end
AccountDebitCredit
Labour Recovery Variance Expense$30,000
Labour Clearing$30,000

The clearing account returns to zero. Every payroll dollar is now accounted for: either recovered to a project, or categorised as non-productive labour and expensed.

Why CFOs choose this model

Payroll confidentiality

Project managers see labour costs allocated to their jobs. They do not see what any individual is paid. Salary data stays where it belongs.

Accurate job costing

Every hour is allocated to the correct project, stage, cost code, and activity. The result is job cost reporting you can actually rely on.

Consistent forecasting

Because rates are standardised, project forecasts stay stable and comparable across the life of the project, regardless of pay reviews or staff changes.

Complete reconciliation

Finance can prove exactly where every payroll dollar went: into a project, or into non-productive labour. Nothing disappears. Nothing is assumed.

What this requires from your finance system

To run this model properly, your ERP needs to support it natively. The payroll system manages employee records, salary calculations, awards, leave, and compliance. A time capture system records hours against projects, cost codes, and activities. The ERP applies standard recovery rates, runs the clearing account, produces the WIP schedule, and generates the variance analysis.

Sage Intacct handles all three layers for construction businesses. Labour class rates are configured in the system. Timesheet data flows into project costing at those rates automatically. The clearing account and variance analysis are part of the standard month-end process, not a workaround built in a spreadsheet.

The clearing account balance at month-end is one of the clearest signals of how well a construction business is managing its workforce. A consistently high variance means labour is not being captured against projects accurately, or that non-productive time is not being managed. A business that can explain its clearing account balance every month has a materially better understanding of its project economics than one that cannot.

The bottom line

The measure of a mature construction finance function is not whether payroll can be allocated to jobs. It is whether every labour dollar can be traced from the payroll run, through the clearing account, into project WIP, and out to project profitability. Standard labour recovery rates make that possible. Actual salary costing makes it almost impossible.

See also: A CFO guide to construction job costing, The hidden cost of spreadsheet WIP reporting, and Sage Intacct for general contractors.

Standard labour recovery rates: the methodology

A standard labour recovery rate packages all employment costs into a single hourly rate that can be applied to jobs. The rate includes base salary, superannuation, workers compensation premium, annual leave and personal leave provisions, payroll tax (if applicable), and any tools or vehicle allowances. It may also include a share of overhead (supervisory cost, training) if you use a fully-absorbed costing methodology.

The rate is calculated annually and revised as employment costs change. When a tradesperson or labourer charges hours to a job, the system applies the standard rate rather than the actual payroll figure. The difference between the standard rate charged to jobs and the actual payroll cost posts to a labour variance account in your general ledger.

This approach has two advantages. First, it protects payroll confidentiality - project managers see a cost rate, not a salary. Second, it smooths cost allocation across the year: actual payroll costs vary with pay periods, leave payouts, and backpay adjustments, while the standard rate provides a consistent job cost regardless of when the payroll event occurs.

Clearing accounts and variance management

The mechanics work through a labour clearing account. Actual payroll costs debit the clearing account when payroll is processed. Standard recovery amounts credit the clearing account as hours are charged to jobs. At month-end, the clearing account balance represents the variance between what was charged to jobs (at standard) and what was actually paid.

A positive variance (more charged to jobs than paid) means your recovery rate is too high - you are over-recovering overhead. A negative variance means you are under-recovering. Either outcome should prompt a review of the rate, and persistent variance accumulation (outside of normal seasonal patterns) usually indicates that rates need updating or that time recording is unreliable.

For most construction businesses, setting up a clearing account and standard rate structure requires a chart of accounts redesign and payroll configuration in the accounting system. In Sage Intacct, the statistical journal entry functionality handles the allocation automatically once the rate table and clearing account are configured. The same function is used to allocate plant and equipment costs, overhead, and other indirect costs to jobs.

The payroll data problem

A separate but related issue is the disconnect between payroll systems and the accounting system. Many construction businesses run payroll through Employment Hero, KeyPay, or MYOB Payroll, and the payroll data arrives in the accounting system as a single lump-sum journal entry. Project-level labour cost allocation then happens separately, if at all.

Sage Intacct integrates directly with Employment Hero and other payroll providers, allowing timesheet data to flow from payroll into job cost reports. Combined with standard labour rates, this eliminates the manual step of distributing payroll costs across jobs. See our guide to Sage Intacct for specialty contractors, where labour costing is typically the most complex implementation requirement.