Job costing · AU

Why CSV Timesheet Imports Fail Builders

Last updated 8 September 2026

CSV timesheet imports lose award logic, job codes and audit detail. See why builders get payroll errors and weak job costs.

Supervisor using a tablet beside construction workers and equipment on an Australian building site

CSV timesheet imports fail builders because a flat file carries rows, not site context. It cannot reliably decide which award rule, job code, allowance, break, overtime band or cost bucket applies when the source data is incomplete or inconsistent.

CSV itself is not the enemy. It is useful for moving clean, simple data between systems. The trouble starts when builders ask it to carry payroll decisions that were never recorded on site.

Mate, a row saying someone worked 10 hours is not enough. Payroll needs to know when they started, when they finished, whether a break was taken, where they worked and what type of work they did. Job costing needs even more detail.

A CSV moves data, it does not understand it

A typical timesheet export includes an employee name, date, total hours and maybe a job number. That looks fine until payroll asks basic questions:

  • Were the hours ordinary time, overtime or part of an RDO arrangement?
  • Did the shift cross midnight?
  • Was the employee entitled to fares, travel, meal or site allowances?
  • Did they work on one project or four cost codes?
  • Was the work covered by an award, enterprise agreement or individual arrangement?
  • Was a missed break approved, or was the timesheet simply incomplete?

The CSV cannot answer those questions. It only repeats what was entered.

That creates a dangerous habit. Payroll staff start making assumptions to get the pay run finished. Estimators and project managers then treat the imported figures as accurate job costs. One weak source file has now affected wages, super, project reporting and future quotes.

For a broader look at connecting labour to projects, visit the construction job costing hub.

Small formatting errors become payroll errors

CSV files are fragile because spreadsheet programs often change the data before it reaches payroll.

An employee number such as 00147 may become 147. A date such as 08/09/2026 may be read differently under another regional setting. A job code can lose a leading zero. A time field can be converted into a fraction of a day.

Time formats are a common trap. In decimal time, 2.5 hours means 2 hours and 30 minutes. But someone typing 2.50 to mean 2 hours and 50 minutes has actually understated the time by 20 minutes. Across a crew and a full project, those differences add up.

Names are unreliable identifiers too. Rob Smith, Robert Smith and R Smith may be the same person. If the import matches on names rather than a fixed employee ID, duplicate records or rejected lines are common.

Payroll hours and job-cost hours are not the same thing

Payroll asks, “What must this worker be paid?” Job costing asks, “What did this activity cost the project?” Those questions are related, but they are not identical.

A carpenter may record 9.5 hours on site. Payroll might need to split that time into ordinary hours and overtime. Job costing might need another split across framing, defects and site establishment.

Then there are costs that do not appear in the raw timesheet. Depending on your costing method, labour cost may include super, leave accruals, allowances, workers compensation, payroll tax and other employment costs. Importing gross hours alone can make a job look healthier than it really is.

The project pricing calculator can help you test labour rates and other project costs before they are built into a quote.

What gets lost in a flat file

Payroll or costing detail Basic CSV import Structured site-to-payroll record
Employee identity Often matched by name Fixed employee ID
Start, finish and breaks May contain total hours only Separate time events
Award or agreement rule Applied later or manually Linked to the employee and shift
Job allocation One job column is common Job, phase and cost code
Allowance evidence Free-text note or missing Allowance type, trigger and approval
Corrections File may be overwritten Original entry and change history retained
Supervisor approval Often outside the file Approval tied to the timesheet
Loaded labour cost Usually absent Calculated under a defined costing policy

A better record does not need to be complicated. It does need consistent IDs, clear fields and a history of who entered, changed and approved the time.

The compliance stakes are real

A bad import is not just an accounting nuisance. It can produce an underpayment or leave the business unable to explain how a payment was calculated.

Several numbers matter for Australian builders:

  • The super guarantee rate is 12% of ordinary time earnings, as at September 2026. If ordinary hours and overtime are classified incorrectly, the super calculation can also be wrong.
  • The National Employment Standards maximum is 38 hours per week for a full-time employee, plus reasonable additional hours, as at September 2026. A weekly total without daily detail may hide how those hours arose.
  • Fair Work employee records generally need to be kept for 7 years, as at September 2026. An emailed CSV that gets replaced each week is a poor record trail.
  • A pay slip must generally be given within 1 working day of payday, as at September 2026. Finding rejected import lines after pay day leaves little room to fix the run cleanly.
  • The federal criminal offence for intentional underpayment has applied since 1 January 2025, as at September 2026. Honest mistakes are not the same as intentional wage theft, but weak records make any dispute harder to resolve.

The point is not that every spreadsheet creates a breach. The point is that the builder still owns the result. “That is what the CSV said” does not explain why the employee was paid at a particular rate.

Why job reports stop matching payroll

Builders often import time into payroll and then send a separate CSV to accounting or project management. The two files may use different cut-off dates, employee names or job codes.

Corrections make the gap worse. Payroll may fix an employee’s overtime in the next pay run, while the original hours remain against the job. Finance then sees one labour figure, the project manager sees another, and the employee sees a third on the pay slip.

There is also a timing issue. A site may approve time on Monday for a pay period ending Sunday. If the job-cost report was run on Sunday night, it may exclude late entries and approved variations. Unless corrections flow back to the project, the cost report never catches up.

When a CSV import can still work

A CSV can be reasonable for a small, stable crew with simple work patterns. But it needs guardrails.

Before importing, check that:

  1. Every worker has a unique employee ID.
  2. Every project, phase and cost code comes from a controlled list.
  3. Dates and times use one agreed format.
  4. Start times, finish times and unpaid breaks are separate fields.
  5. Allowances use defined codes rather than free text.
  6. Rejected and duplicate rows are reviewed before payroll is finalised.
  7. Supervisor approval is recorded and retained.
  8. Payroll corrections are sent back to job costing.
  9. The original file and the accepted import are both kept.

Do not let someone edit the CSV until it “goes through” without recording what changed. A successful upload only proves that the file matched the import layout. It does not prove the pay or project allocation is correct.

Fix the process before replacing the file

The practical fix starts on site. Capture the information once, close to when the work happens, using controlled employee and job records. Then apply payroll rules and cost rules to that same approved record.

If CSV remains part of the process, treat it as a transport format, not the source of truth. Validate totals, unusual shifts, missing breaks, inactive jobs and unknown allowance codes before anything reaches payroll.

Finally, reconcile after the pay run. Paid hours should match approved hours after documented adjustments. Payroll labour should also reconcile to job-cost labour, with clear treatment for leave, super, allowances and overheads.

That is the difference between moving rows and knowing what the job actually cost.

More on job costing

The Pay Run newsletter

Join the list, payroll for builders, explained fortnightly.

One email. Unsubscribe anytime. We never share your details.

Questions

Are CSV timesheet imports always a bad idea?

No. They can work for a small crew with simple hours and well-controlled data. The risk rises when the file must carry multiple job codes, overtime rules, allowances, RDOs, award conditions or later corrections.

Why do imported hours differ from the employee’s pay slip?

The timesheet may show total worked hours, while payroll splits those hours into ordinary time, overtime, leave and allowances. Differences also occur when breaks, rounding rules or rejected import rows are handled after the file is created.

What fields should a construction timesheet include?

At minimum, record a fixed employee ID, work date, start and finish times, unpaid breaks, job, phase or cost code, allowance codes, notes for exceptions and supervisor approval. Keep the original entry and any later changes.

Can we use employee names to match CSV records?

It is safer not to. Names can be shortened, misspelled or shared by two workers. Use a unique employee ID that stays the same across time capture, payroll, accounting and job costing.

How do we check whether our CSV process is affecting job costs?

Reconcile approved site hours to paid hours for one pay period. Then compare payroll labour with labour posted to each project. Investigate missing workers, duplicate rows, overtime differences, unallocated time, allowances and corrections posted in later periods.

Construction payroll

Stop reading about it. Put it on your crew.

Published pricing, so you never need a call to get a number. We read your award or agreement and build it, and a walkthrough is there whenever you want one. We reply within one business day.

15 minutes, your EBA, no sales script.

No lock-in · Published pricing · We reply within one business day