Payroll Hub
The Payroll Hub is payroll's single front door for a pay cycle — see what's waiting for approval, spot exceptions before they bite, build a pay run from approved timesheets, and finalise and export it.
Who can use it — You need "view payroll hub" permission just to open the page. Build Pay Run and the pay-run lifecycle actions (finalise, export, recalculate) need "manage pay runs". Two destructive overrides — Unfinalise Pay Run and Void an Export — need the separate, higher "override payroll" permission, so a payroll manager can run day-to-day work without holding the break-glass powers. Settings needs "update tenant settings". See Roles & Permissions.
Where to find it — Payroll & Billing → Payroll Hub in the sidebar.
Before you start — the Hub always shows one pay cycle at a time (the date-range selector at the top; step back/forward with the arrows or pick a period from the dropdown). Everything below — the counters, Pay Runs tab, Timesheets tab, and Exceptions tab — is scoped to that cycle unless you toggle Show all cycles. Timesheets must be approved (see Team Approvals) before they're eligible for a pay run.
How to use it
The top of the page is a set of four counter cards for the selected cycle:
- Timesheets Awaiting Approval — submitted but not yet approved. Click through to the Timesheets tab's Not Approved view.
- Exceptions and Warnings — issues that affect this cycle's payroll (see below). Turns red if any are hard blockers.
- Timesheets Ready for Processing — approved, not yet attached to a pay run.
- Employees Accounted For — how many active employees are covered by a pay run in this cycle vs. still outstanding; click through for the Cycle Coverage breakdown (who's missing, who's on approved leave).
Below that sits a Pay Runs / Timesheets / Exceptions tab strip:
- Pay Runs — a table of pay runs for the selected cycle (or all cycles), with sub-tabs for Draft, Finalized, Exported, and All. Click a row to open it.
- Timesheets — the approved-timesheet backlog for the cycle (Ready for Processing / Not Approved / In a Pay Run / All), where you can select timesheets and add them to a pay run directly, or recalculate overtime.
- Exceptions — the full exceptions list for the cycle (see below).
Building a pay run
Click Build Pay Run (top right). This opens a form:
- Name — auto-generated from the period (editable; your custom name is kept once you diverge from the auto-name).
- Period Start / Period End — defaults to the current cycle. The period must match your tenant's canonical pay-cycle boundaries and must not overlap an existing pay run — the form validates both.
- A live preview shows how many approved, unattached timesheets across how many employees will be swept in.
- If there are blockers for the period (see Exceptions below), they're listed and you must tick "I understand the blockers above and want to create this pay run anyway" to proceed.
- Create Pay Run. Every approved timesheet in the period that isn't already in a pay run is attached automatically.
You can also add specific timesheets to an existing draft pay run from the Timesheets tab (select rows → Add Timesheets) instead of sweeping in the whole period.
Reviewing a pay run
Opening a pay run (View) shows:
- Pay Run summary — name, period, status, Total Hours, Employee Count, and a Calculation chip showing whether OT figures are Up to date, Needs recalculation, or Snapshot locked (once finalised).
- Timesheet Coverage — which weekdays are covered for the employees in this run.
- Cycle Coverage — across every pay run in the cycle, who's still unaccounted for.
- Pay Summary — per-employee hour buckets by week and day.
- Reports (link row) — Validate Export Readiness, Reconciliation Summary, and (for managers) the Reconciliation Worksheet and its CSV — an internal cross-check, not the file you send to your payroll software.
While the run is a Draft, you can edit it, attach or remove timesheets (via the Timesheets relation manager below the summary), and Recalculate OT. If attached timesheets have changed since the last calculation, a warning banner tells you to recalculate before trusting any total or finalising.
If any workers were on a living-away (LAFA) project this period, a Review LAFA travel action appears. It lists each worker with a suggested travel amount pre-filled from the project — confirm whether they used their own vehicle (paid km) or car-pooled (travel time only), adjust the figures, and confirm. This must be done before finalising if it applies.
Finalising and exporting
Finalize Pay Run locks the run: it becomes read-only, all attached timesheets flip from Approved to Processed, and the figures are snapshotted so later edits to timesheets or rates never change what was sent. Finalising is disabled if the run has no timesheets or its calculation is stale. If export blockers remain, you can tick an acknowledgement to finalise anyway — this is recorded (who, when, which blockers) and shown as a banner on the pay run afterwards.
If your workspace has dual control turned on (Settings → Export tab), finalising parks the run in Pending Export Approval — the finaliser cannot also approve it. A different payroll manager opens the run and clicks Approve for Export to unlock export.
Export [Format] CSV downloads the payroll file (Xero, MYOB, or Generic, per your export format setting). It's disabled until the run is finalised and any export blockers are resolved — check Validate Export Readiness for the full list. Every export is recorded in the Export Audit section with a SHA-256 hash so you can verify the file a receiving system got matches what was sent.
Two privileged, audited overrides exist for correcting a mistake (need "override payroll"):
- Void an Export — marks an export ledger row as voided (never deleted) without touching the pay run's status. Use when a file was sent in error.
- Unfinalise Pay Run — reverts a finalised/exported run to Draft: voids its active exports, marks its snapshot lines superseded, and reverts its timesheets from Processed back to Approved. Requires a reason (min 10 characters), which is logged and sent to the original finaliser.
Exceptions and warnings
The Exceptions tab lists everything that could go wrong with this cycle's payroll, each tagged blocker, warning, or info, with a Fix link straight to the record that needs attention. Kinds you'll see include:
- Timesheet issues — awaiting approval, no work entries logged, more than 12 hours in a day, Sunday work, an approved timesheet with no recorded approver.
- Employee master-data gaps — no active pay level assignment, missing Xero employee ID / MYOB card ID / payroll employee code, missing tax file number, incomplete super or bank details.
- Missing weekday timesheet — a coverage gap for an employee who's already in this cycle's pay run.
- LAFA travel to review — a living-away worker whose boundary-day travel hasn't been confirmed yet (see above).
Blockers surface again as a checklist when you try to Build Pay Run or Finalize, and can be overridden with an acknowledgement — but they don't go away on their own; fix the underlying record (rate assignment, employee profile field, timesheet) to clear them.
Settings
Settings (top right, needs "update tenant settings") configures how the Hub and pay runs behave, in tabs:
- Approvals — the mandatory timesheet checklist, whether supervisors can approve their own timesheets, and which roles/users appear as timesheet and leave approvers.
- Pay Cycle — default shift start/finish/break times, default pay level (fallback for overtime thresholds only — every worker still needs their own pay level), pay cycle frequency and start day, whether bank details are collected in Subgrade, and the pay-run name template.
- Allowances — which allowance types workers can claim, and the productivity allowance mode and eligible projects.
- Rain Pay — effective-dated rain-pay entitlement caps (per-day, monthly hours, monthly days).
- Export — payroll export format (Xero/MYOB/Generic) and per-format earnings labels, plus export safeguards: dual control (needs at least two "manage pay runs" users to turn on), and whether a missing payroll employee code or bank details hard-block export.
Connected pages
- Team Approvals — where timesheets get approved before they're eligible for a pay run.
- New Timesheet — how workers log the hours that feed payroll.
- My Work Log — a worker's own submitted timesheets.
- Compensation — pay levels, rates, and allowance templates that drive what a pay run calculates.
- Budget Ledger — where processed payroll cost lands against projects.
Tips & common mistakes
- Can't build a pay run for a period? The period must line up with your tenant's canonical pay cycle boundaries and can't overlap an existing pay run — use the cycle selector rather than typing arbitrary dates.
- "Recalculate OT" banner won't go away? Something attached to the run changed since the last calculation — click Recalculate OT before trusting totals or finalising.
- Export button greyed out? The run must be finalised first, and any export blockers (missing pay level, bank details, employee codes) must be cleared — open Validate Export Readiness for the list.
- Finalised the wrong run, or sent an export by mistake? Don't try to delete anything — use Void an Export for a bad file, or Unfinalise Pay Run to fully revert (both need "override payroll" and are logged).
- Dual control won't turn on? You need at least two users holding "manage pay runs" — the finaliser can never approve their own export.
- LAFA review action missing? It only appears while the run is still Draft and has unconfirmed living-away travel; once finalised, it's gone — review travel before finalising.