Get Labour Costs Onto the Right Job, Every Time
Labour is the cost line that quietly sinks construction jobs — because the hours never make it onto the right job. Here's how Construct365's timesheets module allocates labour cost accurately, with corrections you can defend.
Labour is the cost line that quietly sinks construction jobs. Not because the rates are wrong — because the hours never make it onto the right job. A gang spends Tuesday helping out on another site, the timesheet says nothing, and two jobs both end up with numbers nobody trusts.
That's the job the Payroll Allocation & Timesheets module does in The ERP Experiment: it gets every hour onto the right job and cost code, then pushes the labour cost straight into job costing.
Capture the hours where the work happened
A timesheet covers one worker over one pay period. Each line books a chunk of hours to a job and a cost code on a given day. A worker who spends Monday and Tuesday on the Leeds new-build, Wednesday split between two sites and Thursday on a refurb gets exactly that — four jobs' worth of lines on one timesheet, not a week lumped onto whichever job came to mind.
Post once, and labour lands on the job
When you post the timesheet, the module multiplies each line's hours by the worker's rate and writes an approved labour cost entry into the job costing ledger — one per line. From that moment the labour shows up in budget-vs-committed-vs-actual on each job, exactly like an invoice or a receipt. No spreadsheet, no re-keying, no month-end guessing.
The rate is snapshotted when you post, so if you give someone a pay rise next month, last month's posted labour cost doesn't silently change underneath you.
Hours in minutes, money in pence
Decimal hours and floating-point pounds drift — add up enough of them and the totals stop tying out. Under the hood the module keeps hours as whole minutes and money as whole pence, so the labour cost on every job reconciles exactly. You still work in normal hours and pounds; the integers do the reconciling.
Corrections you can defend
People book time to the wrong job. The fix is not to quietly edit a posted timesheet — that rewrites history and breaks trust in the numbers. Instead you raise a re-allocation: it moves the labour cost from the wrong job and cost code to the right one as a paired credit and debit, with a reason attached. The original posting stays put, the correction is logged with who moved what and why, and both jobs end up correct.
Posted timesheets are locked for exactly this reason — the only way to change allocated labour is through an auditable re-allocation.
One subscription
Payroll Allocation & Timesheets ships under the one ERP Experiment plan. Subscribe a single time and labour allocation joins every other module you already have.
👉 Explore the ERP hub or see how labour feeds job costing.
Frequently asked questions
Related resources
From Approved PO to Paid Supplier: the Construction Purchase Ledger
A purchase ledger only earns trust when every supplier invoice ties back to an approved order, posts a balanced double entry, and pays out cleanly through BACS. Here's how Construct365 closes that loop.
Read guideThe Subcontract Ledger and CIS Without the HMRC Headache
Subcontract orders, cumulative certificates, retention held automatically and CIS deducted at the rate HMRC verified — with a balanced ledger behind every certificate and a monthly return you can file. Here's how Construct365's Subcontract Ledger module works.
Read guideSurviving Month-end: Validating a Construction ERP on Real Projects
Month-end is where a construction ERP earns its keep — or falls apart. Here's how Construct365 rolls job costing, subcontractor billing and labour into a defensible WIP schedule, then locks the period with the exceptions surfaced, not buried.
Read guide