Skip to help content
30-day free trial. No payment required. Start free
SikaBooks
Payroll · Guide 7

Approval & Posting

Approval Before a calculated run can be posted, it must be approved by an authorised user with the payroll.runs.approve permission. Requirements for approval: Run status must be ca...

Approval

Before a calculated run can be posted, it must be approved by an authorised user with the payroll.runs.approve permission.

Requirements for approval:

  • Run status must be calculated
  • All blockers must be resolved (zero blocker count)
  • Warnings are advisory only and do not block approval

To approve, click the Approve button on the run workspace. The system records the approver's name and timestamp.

The number of approval steps is configurable in Settings → Cycle. It currently drives planning and dashboard visibility only; sequential multi-approver enforcement is not yet automated.

Posting

Once approved, the run can be posted. Posting finalises the payroll and triggers several actions:

1. GL Journal Entries (if the Accounting module is enabled):

Entry Debit Credit
Salary expense Payroll Expense account
Net salary payable Salary Payable account
PAYE liability PAYE Payable account
SSNIT liability SSNIT Payable account
Tier 2 liability Tier 2 Payable account

The GL accounts used are configured in Settings → Accounting. The journal shape (summary, department, or detailed) determines how entries are grouped.

2. Disbursement Batch Creation:

The system automatically creates disbursement batches based on employee payment methods:

  • Bank batch — one batch for all bank-payment employees
  • Mobile money batches — one combined batch or separate batches per provider (MTN, Telecel, AirtelTigo), depending on the batch mode setting
  • Cash batch — one batch for all cash-payment employees (generates printable pay sheet)

3. Leave Accrual:

Each employee's annual leave balance is automatically accrued (annual entitlement ÷ 12). Mid-period joiners receive pro-rata accrual.

4. Loan Deductions:

Active loan balances are reduced by the amounts deducted in this run. Loans reaching zero balance are auto-completed.

Posting Errors

If GL posting fails (e.g., missing account mapping), the run shows a posting_status: error with a descriptive message. Fix the issue in Settings → Accounting and retry posting.