Job costing · AU
Cost codes that work for payroll and the ERP
Last updated 12 October 2026
By Project Payroll team
Build construction cost codes that capture site labour correctly, support payroll rules and post cleanly into your ERP.

Cost codes work for both payroll and the ERP when they describe the work, not the pay rule. Keep project, activity and cost type separate, then map approved payroll results into the ERP with controlled, dated rules.
That sounds simple. On site, it can go sideways quickly. A worker picks “concrete”, payroll needs to know whether the hours were ordinary time or overtime, and finance wants labour split between the slab, columns and a variation.
The fix is not a longer list of codes. It is a clear structure and a firm answer to one question: what is each code meant to describe?
Do not make one code do three jobs
A construction payroll normally deals with three different code sets:
- Job cost codes say where the work happened and what was built.
- Pay codes tell payroll how an amount is calculated and reported.
- ERP accounts classify the final financial entry.
They need to connect, but they should not be identical.
For example, “Saturday overtime” is a pay code, not a construction activity. “Place level 3 slab” is a job activity, not a general ledger account. Combining both into something like L3-SLAB-SAT-OT2 creates hundreds of codes and makes reporting unreliable.
Keep the site choice short. Let payroll calculate the entitlement from the employee, agreement, roster, day, start and finish times, and other required facts.
| Item | What it should describe | Example | Usually selected by |
|---|---|---|---|
| Project | The contract or internal job | P104 Hospital extension | Site or payroll system |
| Phase | A major work package | 03 Concrete | Supervisor or worker |
| Activity | The work performed | 320 Place slab | Supervisor or worker |
| Cost type | The resource used | Labour | System default |
| Pay code | How payroll calculates the payment | Overtime, travel allowance | Payroll rules |
| ERP account | Financial reporting category | Direct labour expense | Posting map |
| Variation | Approved scope change | V02 Plant room redesign | Supervisor, with approval |
This separation gives the site a usable list while payroll and finance still get the detail they need.
Build a practical coding hierarchy
A workable record might be:
P104 | 03 Concrete | 320 Place slab | LAB | V02
Each segment has one purpose. Do not hide the variation inside the activity description. Do not put an employee classification into the job code. Do not ask a foreman to select the general ledger account.
Use stable IDs behind readable labels. You might rename “Place slab” to “Place and finish slab”, but its ID should remain the same. Otherwise, historical reports can split one activity into two merely because somebody improved the wording.
Codes also need effective dates. If a new variation opens on 12 October, it should not be available for work performed before approval unless an authorised person makes a correction. Closed jobs should remain visible for historical reporting but unavailable for new time entries.
Our broader job costing guide covers how labour, materials and plant fit into the full job result.
Capture facts first, calculate pay second
The timesheet should capture facts that payroll cannot safely guess. These usually include:
- employee and work date
- project and activity
- start, finish and break times
- work location where it affects an entitlement
- shift or roster details
- approved variation
- allowance triggers, such as using a personal tool or working away
- supervisor approval and any correction note
Payroll should then apply the relevant modern award, enterprise agreement, employment contract and company policy. A cost code must never decide that a worker gets overtime or an allowance by itself.
This matters because the same crew can perform the same activity under different pay conditions. One employee may be on ordinary time while another has crossed an overtime threshold. Their job code can stay the same even though their pay codes differ.
There are a few useful compliance markers to keep in mind. The super guarantee rate is 12 per cent of ordinary time earnings, as at October 2026. The National Employment Standards set a maximum of 38 hours a week for a full-time employee, plus reasonable additional hours, as at October 2026. Employee records covered by the Fair Work rules generally need to be kept for 7 years, as at October 2026.
Those numbers do not replace the applicable award or enterprise agreement. They show why you need the underlying time, employee and pay-rule records, not just a dollar value posted to a job.
Decide how payroll on-costs reach the job
Direct wages are only part of labour cost. Your costing policy should say how you treat:
- superannuation
- payroll tax
- workers compensation premiums
- leave accruals
- rostered day off accruals
- redundancy or portable entitlement costs
- site and industry allowances
- payroll-related insurance or statutory charges
Some costs can follow the same activity as the wages. Others are better held in a labour burden pool and allocated using an agreed method.
Super is a good example. The job cost should follow the payroll result based on ordinary time earnings rules. It should not simply add 12 per cent to every payroll line, because not every payment has the same super treatment.
Overtime also needs a written rule. You might charge the full overtime cost to the job that caused the extra hours. Alternatively, you might charge the base component to the job and send the premium to an indirect cost code. Either approach can work if it matches the contract, management reporting and accounting policy. Quietly changing methods between projects will make comparisons useless.
Leave is commonly posted to an indirect labour or leave account rather than the last project worked. Rostered day off accruals may be distributed across the jobs where they were earned. Pick a method, document it and apply it consistently.
Map payroll to the ERP after calculation
The ERP posting should use a controlled crosswalk. It can consider the project, activity, cost type, payroll earning type and legal employing entity.
For example:
Project P104 + Activity 320 + Ordinary wages = Direct labour account
Project P104 + Activity 320 + Overtime premium = Overtime burden account
Annual leave + no project = Leave expense account
Store an effective date with every mapping change. If finance changes an account on 1 October, a September payroll correction may still need the September mapping.
Avoid manual journal rebuilding where possible. Payroll should produce a balanced posting file or integration record, plus a clear exception list. Rejected codes should come back for correction rather than disappearing into a general labour account.
Put a few hard controls around the list
Start with these controls:
- Only approved projects and activities can be selected.
- Workers see codes relevant to their crew or current site.
- Variations require separate approval.
- Free-text descriptions cannot replace a valid activity.
- Closed codes reject new entries.
- Corrections retain the original entry and approval history.
- Payroll exceptions are cleared before posting.
- Gross payroll, job cost and ERP totals are reconciled each pay run.
Also compare hours, not just dollars. Total approved hours should reconcile from the timesheet through payroll and into the job ledger. Dollar differences can be valid because of allowances, overtime and on-costs. Missing hours usually point to a coding or interface problem.
Finally, test the design with real site cases before loading every project. Use an ordinary weekday, overtime crossing midnight, a public holiday, leave, a variation, an allowance and a correction to a closed period. If the codes remain understandable in those cases, you are close.
Once you know the number of employing entities, workers and projects involved, use the Crew Time pricing calculator to check the likely system cost.
The Pay Run newsletter
Join the list, payroll for builders, explained fortnightly.
One email. Unsubscribe anytime. We never share your details.
Questions
Should workers select overtime on their timesheets?
Usually, workers should record start, finish and break times, plus the job activity. Payroll should calculate overtime under the applicable award, enterprise agreement, contract and roster. A separate overtime selection may be useful for exceptions, but it should not replace payroll rules.
How many job cost codes should a construction project have?
There is no fixed number. Use enough activities to support project control and contract reporting, but not so many that site staff guess. A smaller list of clear activities, supported by separate phase and variation fields, is usually more reliable than hundreds of combined codes.
Should superannuation be added to every labour cost line?
Not automatically. The super guarantee rate is 12 per cent as at October 2026, but it applies to ordinary time earnings under the relevant rules. Cost the actual payroll super result or use a controlled accrual that is reconciled to payroll.
Where should annual leave be costed?
Many builders post annual leave to an indirect labour or leave account rather than a current project. Another method may be appropriate if leave accruals were already allocated across jobs. The important point is to document the policy and avoid double counting.
What happens when a cost code is closed too early?
Do not reopen it without control or send the hours to a general code. Route the entry to an exception queue, confirm the work date and approval, then allow an authorised correction. Keep the original entry and the reason for the change.
Construction payroll
Stop reading about it. Put it on your crew.
Crew Time sends approved site timesheets to Employment Hero. Ask about construction setup and award or EBA rebuild consulting, or book a walkthrough.
15 minutes, your EBA, no sales script.
No lock-in · Published pricing · We reply within one business day