Compensation
Compensation is where pay rates live: Pay Levels (the rate definitions), Allowances (reusable extra payments), and each employee's individual assignment to a level and any allowances. It's the source of truth behind timesheet labour costing and pay runs — get it right here and the rest follows automatically.
Who can use it — You need "view compensation" permission just to open the hub. Creating, editing, or superseding anything needs "manage compensation". On top of that, actual dollar figures are gated separately by "view pay level rates" (see "Before you start" below) — you can hold manage-compensation and still not see amounts. See Roles & Permissions for how these are granted.
Where to find it — Costs & Budget → Compensation in the sidebar.
Before you start — pay rates can be hidden from you
Subgrade separates "who can administer pay setup" from "who can see the dollar figures." If you don't hold "view pay level rates", you'll still see pay level names, allowance types, employee assignments, and effective dates — but every amount is replaced with ••• and a banner at the top of the page reads "Pay rate values are hidden." This lets a manager assign people to pay levels and allowances without necessarily being able to see confidential salary amounts. If you need the numbers, ask your administrator.
Two other things worth knowing before you start:
- Subcontractors never appear in any employee or pay-level picker on this page. They're paid via RCTIs through Subcontractors, not payroll — assigning them a pay level isn't possible.
- Nothing here is destructively edited once it's "live." A pay level or allowance template that has already produced posted budget-ledger entries locks its rate fields — you use a Supersede action instead (covered below), so historical pays are never silently rewritten.
How to use it
The page is five tabs, each with a count badge:
- Pay Levels — the rate definitions (hourly wage, salary, or day rate).
- Employee Rates — which pay level each employee is currently on.
- Allowances — reusable allowance templates (travel, meal, productivity, LAFA, general).
- Snapshot — what every employee's pay resolved to as of a chosen date.
- Timeline — a visual history of pay level and allowance periods per employee.
Pay Levels
A pay level defines Pay Basis — how the role is paid:
- Hourly wage — runs through the full overtime/penalty engine.
- Annual salary — a fixed amount per pay period, regardless of hours.
- Day rate — a flat amount per day worked, regardless of hours within the day.
Each level also carries a Name and an Effective From / Effective To date range (open-ended if no end date is set).
Rate fields (hidden entirely if you lack view-pay-level-rates):
- Hourly: Base Hourly Rate plus Casual Loading (%) (default 25%) — a live preview shows the effective casual base. Weekly Pay Examples further down let you punch in two example weekly hour totals and see the ordinary/overtime breakdown and total for both permanent and casual pay.
- Annual salary: Annual Salary — a preview shows the per-pay-period amount (weekly/fortnightly/monthly, per your tenant's pay cycle) and an implied hourly rate. A dismissible tip suggests using a combined "Management Salaries" overhead entry instead of individual salary rows if you want management pay to stay confidential — anyone with rate visibility can otherwise see it here.
- Day rate: Day Rate — a preview shows the implied hourly rate.
Statutory On-Costs apply to every rate type and load on top of base pay for budget costing: Tax/Super (%) (default 11.5%), Workers Comp (%) (default 2.0%), Leave Loading (%) (default 17.5%).
Penalty Multipliers & Thresholds apply only to hourly levels: Overtime 1.5×, Overtime 2.0×, Sunday, Night OT multipliers, plus an Ordinary Hours Cap (per day) and an OT 1.5× Cap (per day) that decide when ordinary time gives way to overtime, and when 1.5× escalates to 2.0×.
Allowances section — attach existing allowance templates that everyone on this level should inherit. A matching direct employee assignment (same allowance type + billing unit) overrides the inherited one.
The table shows each level's Rate, a fully-loaded Cost / Hour (base + on-costs + allowances, hover for the breakdown), and how many Employees are currently on it.
Changing rates on a live pay level
Once a pay level has produced posted budget-ledger entries, its rate fields lock (a banner explains why) — editing them directly would retroactively change historical pays. Use Supersede with new rates from the record's header instead: pick a forward effective date and enter the new figures. The current record is automatically capped the day before, a new record takes over from your chosen date, and every active employee assignment on the old level rolls forward to the new one automatically. History stays intact — past timesheets keep resolving at the old rate.
Deleting a pay level is blocked from posting new budget entries against it, but existing posted ledger rows are preserved.
Employee Rates
This tab lists every active employee with their current Pay Level, Employment Type (Permanent or Casual — casual adds the level's casual loading), and active Allowances (both directly assigned and inherited via their pay level). Use the row action Assign / change pay level, or Bulk Assign Pay Level in the header to put several employees on the same level at once.
Assigning a pay level uses auto-expire-and-replace: if the employee already has an active assignment, it's automatically closed the day before your new effective date and the new one takes over — their earlier rate history is preserved, not overwritten. A live collision preview in the bulk-assign form shows exactly whose current assignment will be replaced before you confirm.
Once an assignment is current, its employee, pay level, and employment type are locked — to change them use Bulk Supersede from the underlying assignment list (select the row, then Supersede). You can still set an Effective To date to close a current assignment early. Expired assignments can't be edited at all; create a new one with a future date instead. Bulk Extend / Close lets you set (or clear) the effective-to date across a whole selection at once — useful for contract-end sweeps.
Allowances
Allowance templates are reusable rate definitions for extra payments — General, Productivity, Meal, Travel, or LAFA — each with a Billing Unit (per hour/day/month/year). Optional Threshold Rule (minimum total hours or minimum overtime hours) decides whether a per-hour or per-day allowance fires on a given day at all.
Travel templates have extra fields: Applies to (Own car / Company vehicle / Any vehicle) scopes who gets it, based on the worker's commute vehicle on their employee record; a flat travel amount; an optional Rate per km (with a toggle for whether it stacks on the flat amount); and whether paid travel time is included at base rate. Most agreements use two travel templates — one for own car, one for company vehicle.
The template list shows Members — everyone who currently receives it, whether assigned directly or inheriting it via a pay level (travel templates only count workers whose vehicle actually matches).
Employee Allowances are the individual links between an employee and an allowance — either a flat, one-off row (the amount lives on the row itself) or a template-linked row (the amount is owned by the template, so updating the template updates everyone linked to it). A direct employee allowance overrides the matching pay-level default when the type and billing unit match. Two useful row actions:
- Graduate to another allowance (template-linked rows only) — moves an employee from one tier to another, e.g. Year 1 → Year 2 Productivity on their anniversary. Closes the old link the day before and starts the new one.
- Convert to template (flat rows only) — turns a one-off allowance into a template-linked one, either creating a new template or linking to a matching existing one.
Like pay levels, allowance amounts lock once a template has posted ledger references — use Supersede with new rate to bring in a new amount from a forward date; every active member cascades to the new template automatically. Bulk Supersede Amount does the same across a selection of employee allowance rows, preserving their bulk-group so grouped rows (e.g. everyone added together via a bulk create) stay grouped through a rate bump.
Snapshot
Pick an As of date and see every employee's resolved pay level, employment type, base rate, effective hourly rate, and allowance total exactly as it stood on that day — the audit view for "what was this person actually earning on 15 September." Useful when reconciling a historical pay period or checking a past budget figure.
Timeline
A per-employee, chronological band chart of pay level and allowance periods across a date range (defaults to the last 12 months through the next 6). Solid bands are current, striped bands are future-dated, and grey bands are expired — search by employee name to narrow it down.
How this feeds costing and pay runs
Every approved timesheet entry is costed against the employee's active pay level (plus any active allowances) for that date — base rate, on-costs, and penalty multipliers all apply automatically, and the result posts as a labour line to the project's Budget Ledger. The same resolved pay setup builds the lines that go into a Payroll Hub pay run, which are frozen as a permanent snapshot once that pay run is finalised.
If an employee has no active pay level assignment covering a timesheet date, that entry's labour cost is silently skipped from budget posting — it isn't costed and isn't blocked, so a missing assignment can leave a quiet gap in your project costs. Keep an eye on new starters and anyone between pay levels.
Connected pages
- Payroll Hub — where pay runs are built from the same pay levels and allowances.
- People — employee records; the profile a pay level or allowance is assigned to.
- New Timesheet — the entries that get costed against the active pay level.
- Budget Ledger — where labour costs from timesheets land.
- Overhead — the combined "Management Salaries" alternative for confidential pay.
- Roles & Permissions — how view/manage compensation and pay-rate-visibility permissions are granted.
Tips & common mistakes
- Seeing ••• instead of dollar amounts? You have compensation access but not pay-rate visibility — that's by design, not a bug. Ask your administrator if you need the actual figures.
- Can't edit a pay level or allowance's rate? If it's locked, the record has already posted to the budget ledger. Use Supersede (on the record) or Bulk Supersede (on a selection) rather than trying to force an edit — this keeps historical pays correct.
- A new employee's timesheets aren't costing. Check Employee Rates — if they have no active pay level assignment for that date, their labour cost is quietly skipped from the budget rather than erroring loudly.
- Don't put confidential management salaries here if you want them hidden — anyone with pay-rate visibility can see individual salary rows. Use a combined "Management Salaries" overhead entry instead.
- Casual loading only applies to hourly levels. Salary and day-rate levels ignore the employment-type field's loading effect entirely — casual vs permanent still matters for other entitlements, but not the rate itself.
- Travel allowances follow the vehicle, not the person directly — check the employee's commute vehicle on their profile if a travel allowance isn't showing up as expected.