Common issues and their fixes
PAYE looks wrong, payslip figures differ, run not found, employee missing from a run.
PAYE looks too high or too low
Almost always annualisation. A once-off payment taxed as if it recurs every month inflates PAYE — check that the item is flagged as an annual payment. Also check the employee's age (rebates), medical credits, and whether year-to-date figures were imported correctly during migration.
The hourly rate on the payslip differs from the employee record
The system uses a strict order: an explicitly captured hourly rate wins; then a rate derived from the employee's own average hours; only then a BCEA-style fallback. If the payslip differs, the run's snapshot was taken before you captured the rate — recalculate the draft run, or process the correction in the next period if the run is finalised.
Preview differs from the final payslip
It no longer does. Preview renders the actual generated PDF. If you are looking at an older cached document, regenerate it.
"Run not found"
Your user is not a member of the company that owns the run, or the run belongs to a different company than the one currently selected. Switch companies in the top bar.
An employee is missing from the run
Check their start date (after the period end), termination date (before the period start), status (must be active) and pay frequency (must match the run).
An employee has zero net pay
Deductions equal or exceed gross. Check for a duplicated recurring deduction or a loan instalment larger than intended.
The bank file is rejected
Almost always account number length, branch code, or an account holder name longer than the bank's field allows. The export validation flags these before you download.
Emails are not arriving
Check the email health panel for bounces and suppressions. A hard bounce suppresses the address until it is cleared. If a whole domain is affected, the receiving mail server is usually rejecting messages — that has to be fixed on the receiving side.
