Skip to content

Payroll runs

Goal

Create a payroll run and move it from draft through calculate, approve, post accrual, and pay — including imports from HR inputs.

Who it is for

Operators with payroll.run (create/calculate), payroll.approve, payroll.post (post/pay), viewers with payroll.view.

Preconditions

  • Module payroll_integration; at least one registered payroll provider (country pack).
  • Open pay calendar period when required; payslip template when generation requires it.
  • Active employees on lines; bank account available before Pay.
  • Off-cycle runs only if tenant setting allows.

Steps

  1. Open Payroll → Payroll (nav label Payroll).
  2. If the banner says no provider, apply a country pack first — New run stays disabled.
  3. New run: reference, run type (regular / off-cycle / correction / final settlement), pay calendar period (or manual period dates), employee lines with optional gross.
  4. While draft:
    • Fill from compensation, Import approved timesheets, Import HR events, Import benefit deductions as needed.
    • Calculate (payroll.run) → status calculated.
  5. Approve (payroll.approve) → approved.
  6. Post accrual (payroll.post) → posted (GL accrual journal).
  7. Generate payslips when templates exist; employees/ESS can download.
  8. Pay with a company bank accountpaid; then you may Close the run.
  9. Optional: Lock, resolve exceptions, Reverse accrual (not after paid).

Result

Employees are accrued and paid per provider rules; remittances may appear under Payroll Payments; analytics KPIs update.

Hard stops

  • payroll.no_provider, no_lines, unknown_employee, employee_inactive
  • not_draft / not_calculated / not_approved / not_posted / already_paid
  • unknown_bank_account, off_cycle_disabled, pay_calendar_required, payslip_template_required
  • cannot_reverse_paid_run, run_not_paid (close)

BlueMatrix Help — product documentation for tenants