Skip to content
XetuuXetuu

Payslip Batches

Run payroll for a period: create payslips for the selected employees, compute, confirm (posts to the ledger) and mark paid.

Overview

A payroll run is created in Draft with one payslip per employee who has an active payroll contract. Employees who already have a payslip overlapping the period are refused, so nobody is paid twice for the same dates. Employees without an active contract are skipped and reported.

Confirm posts one journal entry per payslip (salary expense against statutory payables and net payable). Because confirm moves money in the books, the person who created the run cannot confirm it unless they are the only person holding the payroll permission. Mark as Paid is only available on a confirmed run.

Payslip Batches in the HR module.

When to use payslip batches

  • Month-end payroll, off-cycle or casual-worker runs.

Prerequisites

Step by step

Payroll → Payslip Batches → New. Name it, choose the payroll company and period, pick the employees.
Screenshot for this step has not been captured yet — run npm run docs:flow.

Field reference

FieldDescriptionRequiredData typeBusiness meaning
PeriodPay period.YesDatesUp to about three months; overlapping payslips are refused.
EmployeesWho is paid.At least oneSelectionOnly employees with an active contract can get a payslip.

Lifecycle

DRAFTCOMPUTINGCOMPUTEDCONFIRMEDPAIDCANCELLED

The state cannot be edited by hand. The only direct change is Cancel on a run that has not been confirmed; its draft payslips are removed.

Accounting impact

  • Confirm: debit Salaries and Wages for gross pay; credit NSSF, SHIF, Housing Levy and PAYE payable for the employee deductions; credit Payroll Payable for net pay. Foreign-currency payroll companies are converted at the active exchange rate and refused when none exists.
  • Reset a confirmed payslip to draft: a second, opposite entry is posted and linked to the first — the original stays posted. A draft entry (auto-post off) is simply cancelled. A locked period blocks the reversal.
  • Employer-side contributions are not posted to the ledger yet.

Permissions

These permission keys control access (granted to roles in Administration → Roles & Permissions):

  • hr.payroll-runs.read
  • hr.payroll-runs.create
  • hr.payroll-runs.update
  • hr.payslips.read
  • hr.payslips.update

Automation

  • Payslips are e-mailed to employees when the payroll company has “Email payslips” on.