Overview
Vendra's payroll module handles the complete employee compensation cycle — from creating employee records and contracts through to computing payslips, validating payroll batches, and posting the journal entries to accounting. The module is tightly integrated with the Accounting module: when you validate a payslip batch, all the debit and credit entries for gross pay, statutory deductions, and net pay flow automatically into the general ledger.
For Kenyan businesses, the payroll module is pre-configured with the statutory deductions required by Kenyan law — PAYE (Pay As You Earn income tax based on KRA tax bands), NHIF (National Hospital Insurance Fund), and NSSF (National Social Security Fund). Salary structures are configurable, so businesses in other countries can define their own deduction rules using the same framework.
Adding Employees
Go to Employees → Employees and click New to create an employee record. The form has several tabs — the most important fields to complete are:
- Full name, job position, and department — These appear on payslips, the organizational chart, and reports.
- Manager — Sets the reporting line used for leave approvals and expense approvals.
- Work email and phone — Used for system notifications and payslip delivery.
- Working schedule — Assigns a time schedule (Full Time 40h, Part Time, or custom) that determines how leave days are calculated.
- Private Information tab — National ID, KRA PIN number, bank account details for salary payment, and next of kin contacts. This information is kept confidential and only visible to HR managers and payroll administrators.
- HR Settings tab — POS PIN for cashiers, linked user account for system access, and employee ID number.
Contracts and Salary Structures
A contract connects an employee to a specific pay structure and sets their base wage. From the employee record, click the Contracts button in the top toolbar to create or view contracts. A contract record contains:
- Contract dates — Start date and optionally an end date for fixed-term contracts. Open-ended contracts leave the end date blank.
- Job position — Can differ from the HR job position for payroll categorization purposes.
- Wage — The basic gross monthly salary. This is the value that salary rules reference when calculating payslip lines.
- Wage type — Monthly (fixed salary) or Hourly (paid per hour worked, integrated with attendance records).
- Salary Structure Type — Determines which salary structure applies. The default is Employee — Monthly Pay, which uses the pre-configured Kenyan payroll structure.
Only one contract can be active per employee at a time. To change an employee's salary, create a new contract with the updated wage and the effective start date. The previous contract is automatically closed.
Salary Rules
Salary rules define each line on the payslip — what to calculate and how. Go to Payroll → Configuration → Salary Structures, open your salary structure, and review the rules. The default Kenyan structure includes:
Basic Salary
The employee's gross monthly wage as set on the contract. All other allowances and deductions are typically calculated as percentages of or fixed additions to this figure.
House Allowance
A configurable percentage or fixed amount added to the basic salary. Can be adjusted per employee category or left as a company-wide default. Counts as taxable income.
PAYE
Pay As You Earn income tax, calculated using the KRA tax bands on gross taxable income. The formula uses Python code that applies the progressive band rates defined in the rule's formula field.
NHIF & NSSF
NHIF (National Hospital Insurance Fund) contribution based on the current NHIF table. NSSF contribution at the current statutory rates. Both are deductions that reduce net pay and are remitted to the respective bodies.
Gross Pay
An intermediate computed line showing total earnings (basic + all allowances) before deductions. Typically used as the reference base for PAYE calculation.
Net Pay
The final amount to be paid to the employee after all deductions. Gross Pay minus PAYE, NHIF, NSSF, and any other deductions.
Each salary rule has a Salary Rule Category (Allowances, Deductions, Gross, Net) that controls how it is grouped on the payslip and in reports. Rules can use fixed amounts, percentages, or Python formulas that reference other rules or the contract wage.
Leave Management
Before processing payroll, configure leave management so that unpaid leave or leave without pay can be reflected in payslips correctly. Go to Time Off → Configuration → Activity Types to define leave types: Annual Leave, Sick Leave, Maternity/Paternity Leave, Unpaid Leave, and any custom types needed.
For each leave type, configure the validation mode (no validation needed, approved by time off officer, or approved by manager), whether leaves are limited or unlimited, and whether the allowance must be allocated before employees can request it. The payroll_hr_public_holidays module adds public holiday dates automatically so that leave calculations exclude public holidays.
Employees request leave from Time Off → My Time Off → New Time Off. The request goes to their manager for approval. Approved leave feeds into the payslip calculation — if the leave type deducts from pay (e.g., unpaid leave), the payslip rules reduce the payable amount accordingly for the days absent.
Processing Payroll
At the end of each pay period, process payroll using a batch. Go to Payroll → Payslips Batches and click New.
- Enter a name for the batch (e.g., "June 2026 Payroll") and set the pay period start and end dates.
- Click Generate Payslips. Select the employees or departments to include. Vendra creates a draft payslip for each employee.
- The batch moves to the Verify stage. Open individual payslips to review the computed amounts — check that the gross pay, deductions, and net pay are correct.
- If any payslip has an anomaly (e.g., an employee on half-month due to joining mid-month), manually adjust the number of working days on that payslip before computing.
- Once satisfied, click Validate on each payslip or use Validate All on the batch. Payslip status changes to Done.
Validating and Paying
Validating the payslip batch creates the accounting entries. The journal entry debits the salary expense accounts (one per salary rule category) and credits the payables — net pay payable, PAYE payable, NHIF payable, and NSSF payable. This entry posts automatically to the accounting general ledger.
To process the actual bank transfers for net pay, go to Accounting → Vendors → Payments and create a payment for each employee, or use the batch payment export feature to generate a bank transfer file in the format your bank accepts. Once salaries are paid, register the payments against the payable entries to clear them from the outstanding payables balance.
For statutory remittances — PAYE to KRA, NHIF to NHIF, NSSF to NSSF — create vendor bills for each authority from Accounting → Vendors → Bills and match them to the corresponding payable accounts created by payroll. Register payment when you remit the funds.
Expense Reports
The Expenses module allows employees to submit business expenses for reimbursement. Employees go to Expenses → My Expenses → New, select the expense category (Travel, Meals, Accommodation, Office Supplies), enter the amount, date, and description, attach a photo or PDF receipt, and submit to their manager for approval.
Managers review expense reports in Expenses → Expense Reports → Under Validation and click Approve (or Refuse with a reason). Once approved, the finance team posts the expense report to accounting: the journal entry debits the relevant expense account and credits the employee payable. Register payment to reimburse the employee and clear the payable.
Payroll Reports
Go to Payroll → Reporting for payroll-specific analytics. The Payslip Details report shows each payslip line broken down by rule — useful for verifying calculations and preparing statutory deduction schedules. The Salary Analysis report shows total payroll cost by department, position, or employee over time — essential for budget versus actual comparisons. Contribution Registers consolidate the PAYE, NHIF, and NSSF amounts payable to each government body per period, formatted for submission to the respective authorities.