Employees
Go to HR → Employees.

Employee records with department, employment type and payroll status.
Adding an employee
Section titled “Adding an employee”Select Add New.
Personal — full name, national ID, date of birth, gender, telephone, email, next of kin.
Employment — staff number, department, job title, date of employment, contract type (permanent, contract, casual) and, for a contract, its end date.
Statutory — KRA PIN, NSSF number, SHIF number. These print on returns, and a missing or mistyped one is only discovered when a return is rejected. Check them at entry.
Bank — bank, branch and account number for salary payment.
Pay — basic salary and the earnings that apply.
Keeping records current
Section titled “Keeping records current”Open an employee from the list to edit them. The changes that matter most:
- Salary changes — record the effective date. Payroll uses the rate in force for the period being run, so a raise entered without a date can be applied to a month it should not touch.
- Bank details — verify a change of account against something other than the email or message that requested it. Salary diversion fraud works by getting a bank change accepted without a check.
- Contract end dates — keep them current so expiring contracts show up before they expire rather than after.
Employees who leave
Section titled “Employees who leave”Do not delete the record. From More actions, choose Terminate, Resign or Retire, then record the effective date and reason.
If you are an HR data-entry user, the change is submitted to a director first. The employee keeps their current status until it is approved; this is why a termination does not change their status immediately after you submit it. The effective date you entered travels with the request, so a director can approve a historical separation later without replacing that date with the approval date. You can verify the request in two places:
- The employee row says Awaiting approval: Terminated (or the status requested).
- HR → My approvals lists the request and the time you submitted it.
Directors and HR administrators see the same request under HR → Pending approvals, where they can approve or reject it. The card shows the requested effective date. Only approval changes the employee’s status, but payroll and terminal calculations use the preserved effective date, which may be earlier than the approval date.
Once approved, exiting:
- Removes them from the next payroll run.
- Keeps their payslip and statutory history, which the school must retain.
- Keeps their name on historic returns.
Deleting the record breaks the returns already filed. Run a final payroll first — the final salary, leave days owed, and any outstanding loan balance — before exiting them.
What’s new - 31 August 2026
Section titled “What’s new - 31 August 2026”Teacher and support-staff registration now checks existing HR employee names, including likely spelling errors, before creating another employee. Automatic linking requires a compatible name plus a reliable ID or a strong name-and-phone match; phone alone is never enough. Ambiguous manual registrations show masked candidates for confirmation, while ambiguous import rows fail for correction. Choosing to create a separate person requires a reason that is written to the HR audit trail. New teachers now receive the same pending HR linkage as support staff and teacher imports.
Termination, resignation and retirement requests now preserve the effective date chosen by the HR data-entry user. Approving a backdated separation changes the employee’s status at approval time while keeping the requested date for payroll, terminal dues and audit. The Pending approvals card also shows that date before a director decides. Separation requests submitted before this update without a stored effective date cannot be approved; reject and resubmit them so payroll does not use the approval date by mistake.
Managing suspension history
Section titled “Managing suspension history”Open More actions → Suspension history to review every suspension period.
- Active means the suspension is currently in force.
- Lifted is the stored history status. It means the suspension reached its end date or was ended early; its dates still affect payroll for the period it covered.
- Served is the employee-list label for someone who is active again after completing a suspension. It is not a separate database status — the underlying history row is normally Lifted.
- Voided means the record was entered in error. It remains visible for audit but is ignored by payroll.
HR administrators can Edit an exact history row or Void it with a required reason. Use Void for duplicates rather than deleting audit history. ShuleOne prevents a new suspension from overlapping an existing non-voided record; correct the existing row instead.
An approved or paid payroll locks suspension records covering that period. Cancel an approved run or reverse a paid run before changing them. A calculated but unapproved payroll shows a warning and must be recalculated after the correction.
What’s new - 27 August 2026
Section titled “What’s new - 27 August 2026”HR data-entry users can now see their own pending employee status changes under My approvals, and the employee list shows the status that is awaiting a director’s decision. This makes a queued termination or suspension visible without allowing the person who submitted it to approve it themselves.
Administrators can now edit or void individual suspension-history rows. Approved and paid payroll periods are protected from history changes, while calculated runs display a recalculation warning.
Statutory numbers
Section titled “Statutory numbers”| Number | Needed for |
|---|---|
| KRA PIN | PAYE, and the P9 at year end |
| NSSF number | NSSF returns |
| SHIF number | SHIF returns |
| Staff number | Matching to the registration record |
A blank statutory number does not stop payroll running; it stops the return being accepted. Audit the list for blanks before the first return of the year, rather than on the day it is due.
