Skip to content

Payroll

HR → Earnings defines what makes up gross pay.

The earnings catalogue

Earning types show their method, default, tax treatment and active status.

An earning is a fixed amount or a percentage of basic, and is marked as taxable or not. Typical earnings are basic pay, house allowance, responsibility allowance, commuter allowance and acting allowance.

The taxable flag matters: getting it wrong understates or overstates PAYE for every employee who receives that earning, and the error compounds monthly until it is found.

HR → Deductions defines what comes off.

The deductions catalogue

Deduction types show their calculation method and current status.

These are the school’s own deductions — welfare, sacco, union dues, salary advances. Statutory deductions are handled separately below. A deduction is a fixed amount or a percentage, and can be capped.

Two special cases have their own screens because they need schedules rather than a flat amount: loans and staff fee deductions.

Rates are held under HR → Payroll → Statutory, and the platform-wide rates under Platform → Statutory.

PAYE is calculated on the taxable earnings from the bands and reliefs configured here.

Go to HR → Payroll and select New Payroll Run.

Payroll runs and their status

The payroll list shows the period, headcount, gross, deductions, net pay and approval state.

  1. Choose the period. One run per pay period.
  2. Choose who is included. By default, every active employee. Exclude anyone who should not be paid this period.
  3. Generate. ShuleOne calculates gross, statutory deductions, other deductions, loan repayments and net pay for each employee.
  4. Review. This is the step that matters — see below.
  5. Approve. The run goes through the approval route in HR settings.
  6. Pay, then generate payslips and returns.

Each state-changing action is processed once. If two people—or two browser requests—try to generate, approve, pay, cancel or reverse the same run together, ShuleOne finishes the first request before evaluating the next one against the updated status. Do not repeat-click while a button is processing; if another request completed first, refresh the run to see its new state.

Approval also commits each staff school-fee deduction as one Internal Transfer receipt on the linked student’s fee account. If Approve is clicked again while the first request is still processing, ShuleOne waits for the first approval and does not create another receipt. A deduction that failed to reach Finance remains on the fee deduction reconciliation list for an authorised retry; do not post it manually as a second receipt.

When an employee is suspended, record the exact From and To dates and choose the pay percentage for that window. Payroll pays the days outside the window normally and applies the selected percentage only to the suspension days.

If an administrator corrects a served suspension, ShuleOne keeps both history entries for audit. Overlapping entries do not dock the same calendar day twice: the lowest recorded percentage applies to that day. The employee list also shows that effective percentage on the Served suspension marker.

Never approve a run without reading it. Check:

  • The total. Compare gross and net against last month. An unexplained jump is a data error until proved otherwise.
  • The headcount. Does it match the staff you expect to pay? Leavers still included, joiners missing?
  • Zero and negative net pay. Usually deductions exceeding gross — often a loan repayment plus an advance in the same month.
  • New starters and leavers. Part-month pay calculated correctly.
  • Anyone whose pay changed. Confirm each change was intended.

An approved run should not be corrected by editing figures. Reverse it and run again.

Once approved, payslips are available per employee from HR → Payslips, and can be printed or emailed. They show earnings, deductions, statutory contributions, net pay and year-to-date figures.

If more than one underlying instruction contributes to the same deduction label—for example two school-fee instructions for one student—the payslip prints each source line. The visible deduction lines therefore add up to Total Deductions and reconcile to net pay. Repeated lines are a signal to inspect the employee’s active instructions, not a display shortcut hiding part of the amount deducted.

HR → Payroll → Statutory Remittances produces the returns and schedules for PAYE, NSSF, SHIF and the housing levy for a period, in the formats the authorities accept.

Outstanding statutory remittances

The remittance workspace separates outstanding items from payment history.

Generate them from the approved run rather than assembling them by hand, so what is filed matches what was paid. File and pay by the statutory deadline — ShuleOne produces the return, it does not submit it for you.

At year end, produce each employee’s P9.

Payroll calculation, approval, payment, cancellation and reversal now serialise overlapping requests. Loan repayments, welfare contributions, statutory remittances, salary-to-fees postings and their ledger journals also have once-only safeguards. This prevents a double-click or overlapping request from changing balances, creating loan schedule rows or crediting a staff student’s fee account twice. Existing duplicate receipts still need an authorised Finance reversal after the bursar confirms the valid receipt against the employee’s payslip deduction.

Payslip PDFs now retain distinct deduction source lines that share the same display code. This keeps the printed line total consistent with total deductions and net pay while still suppressing exact legacy copies of one source row.

Payroll now collapses overlapping suspension history to one effective rate per calendar day. A lower-rate correction, such as changing a served window from 50% to 0%, takes priority without deleting the original audit record or deducting the same day twice.