In this article
- The 2026 Kenyan payroll obligations Odoo must support
- PAYE: calculate taxable income in the right order
- SHIF: a payroll deduction with its own portal process
- NSSF: the February 2026 limits are the main trap
- Affordable Housing Levy: keep the two 1.5% entries apart
- How to configure Odoo Payroll for Kenyan compliance
- 1. Confirm employee master data before the first live run
- 2. Set up separate salary rules and accounts
- 3. Apply the PAYE base and relief logic
- 4. Update NSSF Year 4 ceilings and test boundary salaries
- 5. Run a parallel payroll and reconcile it
- 6. File on the portals and retain acknowledgement evidence
- Two payroll scenarios that expose common errors
- Illustrative example: a KSh 40,000 gross monthly salary
- Illustrative example: a retailer with twelve staff
- Controls CFOs and IT Directors should require
- Frequently Asked Questions
- Does Odoo submit PAYE directly to KRA iTax?
- What is the NSSF maximum contribution in Kenya for 2026?
- Is the Affordable Housing Levy an employee deduction only?
- Which Kenyan payroll payments are due by the 9th?
A payroll officer closing March payroll may have four different obligations due shortly after month-end. PAYE, SHIF and NSSF are each due by the 9th, while the Affordable Housing Levy follows the ninth working day rule. Missing that distinction can turn a correctly calculated payroll into a compliance exception.
Odoo payroll Kenya can centralise the calculations, employee records, payroll journals and statutory reports. It does not replace filing through KRA iTax or the SHA Employer Portal. The control that matters is whether the payroll export, portal acknowledgement and payment evidence agree for every period. As an Odoo partner Kenya, we help finance and HR teams design that controlled process around the official 2026 rules.
This guide reflects Kenyan requirements as of October 2026. Payroll legislation and portal processes change, so the rules, ceilings and salary structures should be reviewed before each year-end rollover.
The 2026 Kenyan payroll obligations Odoo must support
A Kenyan payroll setup needs separate treatment for PAYE, SHIF, NSSF and the Affordable Housing Levy. Combining them into one generic deduction makes it difficult to prove which liability was calculated, withheld, paid and filed.
| Obligation | 2026 rule | Filing or remittance point | Key control | | PAYE | Progressive rates from 10% to 35%, with KSh 2,400 monthly resident personal relief | KRA iTax by the 9th of the following month | Preserve the taxable-pay calculation and iTax acknowledgement | | SHIF | Employee contribution of 2.75% of gross salary or wage, minimum KSh 300 monthly | SHA Employer Portal by the 9th monthly | Maintain each employee’s SHIF number and portal evidence | | NSSF | 6% employee and 6% employer contribution on pensionable earnings | By the 9th of the following month | Use February 2026 Year 4 limits, then reconcile to remittance evidence | | Affordable Housing Levy | 1.5% employee deduction plus a matching 1.5% employer contribution on gross monthly salary | Ninth working day after month-end through iTax Agency Revenue, Housing Levy | Separate employee withholding from employer cost | The dates look close, which is why teams often treat them as one deadline. They are not the same. The Affordable Housing Levy deadline is the ninth working day, while PAYE, SHIF and NSSF use the 9th date specified for their respective obligations.
PAYE: calculate taxable income in the right order
KRA’s PAYE bands, effective from 1 July 2023, are:
| Monthly taxable income band | Rate | | First KSh 24,000 | 10% | | Next KSh 8,333 | 25% | | Next KSh 467,667 | 30% | | Next KSh 300,000 | 32.5% | | Income above KSh 800,000 | 35% | Resident employees receive KSh 2,400 in monthly personal relief. KRA’s October 2025 guidance also requires employers to apply qualifying deductions, reliefs and exemptions where employees have supplied supporting documentation. Employee SHIF and employee Affordable Housing Levy contributions are allowable deductions when calculating PAYE taxable income.
This order matters. A payroll configuration that computes PAYE before the permitted employee SHIF and AHL deductions can overstate tax, even if every percentage in the system is correct.
PAYE is filed and remitted through KRA iTax by the 9th of the following month. Late filing attracts the higher of 25% of tax due or KSh 10,000. Late payment attracts 5% plus 1% interest for each month the amount remains unpaid. These consequences justify a formal month-end approval step rather than relying on a payroll administrator’s export alone.
SHIF: a payroll deduction with its own portal process
SHIF is an employee-paid contribution of 2.75% of gross salary or wage, subject to a minimum of KSh 300 per month. The employer submits it through the SHA Employer Portal by the 9th of each month.
SHA states that late remittance attracts 2% of the unpaid amount for every unpaid month. That is why we recommend posting SHIF to a distinct liability account and reconciling it monthly. If SHIF sits inside a generic statutory deductions account, an operations team cannot quickly identify whether the portal total, payroll total and payment total agree.
Odoo’s Kenya Payroll localisation requires the employee’s SHIF number to be maintained. Missing statutory identifiers are a master-data problem, not a calculation problem, and should block an employee from final payroll approval until resolved.
NSSF: the February 2026 limits are the main trap
NSSF Year 4 took effect in February 2026. Employee and employer contributions are each 6% of pensionable earnings. The Tier I limit is KSh 9,000, and the upper earnings limit is KSh 108,000. The maximum monthly contribution is therefore KSh 6,480 for the employee and KSh 6,480 for the employer, or KSh 12,960 combined.
Using a pre-February 2026 ceiling is one of the most common configuration errors. It affects both the employee deduction and the employer’s payroll cost, so it creates a reconciliation problem even where the net-pay figure appears plausible.
NSSF is due by the 9th of the following month. Odoo’s Kenya localisation can produce NSSF reporting output, but the payroll team still needs evidence that the remittance was completed.
Affordable Housing Levy: keep the two 1.5% entries apart
The Affordable Housing Levy is 1.5% of gross monthly salary deducted from the employee, plus a matching 1.5% employer contribution. It is declared in Sheet M of the PAYE return on iTax and paid under Agency Revenue, Housing Levy.
The employee portion is a deduction. The employer portion is an additional employer cost. Treating the employer’s 1.5% as another employee deduction reduces net pay incorrectly and understates the organisation’s cost of employment.
The levy is due on the ninth working day after month-end. KRA applies a penalty of 3% of unpaid funds for every unpaid month. Build a working-day compliance calendar rather than setting a recurring calendar-date task for the 9th.
How to configure Odoo Payroll for Kenyan compliance
Odoo’s official Kenya Payroll documentation identifies the `l10n_ke_hr_payroll` and `l10n_ke_hr_payroll_account` modules. They support Kenyan salary rules, P9, NSSF and SHIF reports in XLSX format. Those reports are described as uploadable to the relevant portals, which is useful operationally but does not make an export a filing receipt.
Use the following implementation sequence.
1. Confirm employee master data before the first live run
Maintain each employee’s KRA PIN, NSSF number and SHIF number in Odoo. Check that payroll entities, employment terms and salary structures are assigned consistently before importing opening balances or running a parallel payroll.
The step teams skip is validating identifiers against the HR employee list before the first statutory export. Fixing an identifier after payroll is approved can require reversals, amended files and an audit trail that nobody wanted at month-end.
2. Set up separate salary rules and accounts
Configure distinct salary rules and accounting treatment for:
● PAYE liability
● Employee SHIF liability
● Employee NSSF liability
● Employer NSSF expense and liability
● Employee Affordable Housing Levy liability
● Employer Affordable Housing Levy expense and liability
This structure creates auditable visibility. Finance can reconcile each statutory balance to a specific return, portal upload and payment, rather than attempting to unpack a single deductions figure after the deadline.
3. Apply the PAYE base and relief logic
Set the PAYE bands, KSh 2,400 resident personal relief and permitted employee deductions supported by employee documentation. In particular, test that employee AHL and SHIF contributions are considered before PAYE is calculated, as required by KRA guidance issued in October 2025.
Do not use a manual tax override as a standing solution for a flawed salary rule. An override may correct one payslip while leaving every other employee exposed to the same configuration error.
4. Update NSSF Year 4 ceilings and test boundary salaries
Test employees below KSh 9,000, between KSh 9,000 and KSh 108,000, and above KSh 108,000 in pensionable earnings. The purpose is to prove both tiers and the KSh 6,480 maximum per party behave as intended.
If turnover is under a level where payroll is still handled by one owner and a small employee population, do not begin with extensive custom payroll development. Start with the localised rules, controlled master data and a documented statutory reconciliation. Customisation is justified when it resolves a defined approval, multi-entity or integration requirement.
5. Run a parallel payroll and reconcile it
Run at least one controlled parallel cycle against the existing approved payroll. Compare gross pay, employee deductions, employer costs, net pay and statutory liabilities employee by employee. Investigate variances before the live cutover, while the previous calculation method remains available as evidence.
6. File on the portals and retain acknowledgement evidence
Export the required files from Odoo, then submit and pay through KRA iTax and the SHA Employer Portal as applicable. Save the portal acknowledgement and payment evidence against the payroll period.
An Odoo export proves what the ERP calculated. A portal acknowledgement proves what the regulator accepted. A bank or payment record proves the liability was paid. A compliant process retains all three.
Two payroll scenarios that expose common errors
Illustrative example: a KSh 40,000 gross monthly salary
Take an employee with a gross monthly salary of KSh 40,000. SHIF is KSh 1,100 at 2.75%, while the employee Affordable Housing Levy is KSh 600 at 1.5%. NSSF is KSh 2,400 for the employee and KSh 2,400 for the employer, because 6% of KSh 40,000 falls within the Year 4 upper limit.
The employer also incurs KSh 600 in Affordable Housing Levy. Before other employer costs, the direct salary, employer NSSF and employer AHL total KSh 43,000. The payroll officer should then confirm that the employee SHIF and AHL deductions feed the PAYE taxable-income calculation before applying relief, rather than calculating PAYE on gross pay first.
What would we do differently if this payroll had been built on a spreadsheet? We would test the exact payslip in Odoo alongside the spreadsheet during parallel run, then retire the manual formula only when payroll, accounting entries and statutory outputs reconcile.
Illustrative example: a retailer with twelve staff
Take a retailer with twelve staff and a KSh 480,000 monthly gross payroll, or an average of KSh 40,000 per employee. At that salary level, employer NSSF is KSh 28,800 monthly and employer Affordable Housing Levy is KSh 7,200 monthly. That brings the direct gross-pay, employer-NSSF and employer-AHL cost to KSh 516,000 before other employer costs.
If the payroll team books the employer AHL into employee deductions, the reported payroll cost is understated by KSh 7,200 and employee net pay is wrong. The finance manager will usually spot this only when the bank schedule, general ledger and iTax declaration do not reconcile. The better control is a payroll review that compares employee deductions and employer expenses as separate totals before payment approval.
For teams that still rely on manual checks, run the numbers through a PAYE calculator during the parallel cycle. Use it as a reasonableness check, not as a substitute for the approved Odoo salary rules and portal filing process.
Controls CFOs and IT Directors should require
An ERP implementation should give payroll, finance and internal audit different views of the same controlled data. We recommend the following minimum controls:
| Control | Owner | Evidence retained | Why it matters | | Salary-rule change approval | HR and Finance | Approved change request and test results | Statutory rate changes should not enter production without review | | Employee statutory-data validation | HR | Exception list for missing PIN, NSSF or SHIF details | Exports depend on complete employee records | | Payroll-to-GL reconciliation | Finance | Payroll register and ledger reconciliation | Confirms liabilities and employer costs are posted correctly | | Portal filing reconciliation | Payroll and Finance | Export, acknowledgement and payment evidence | Separates calculation evidence from filing and payment proof | | Deadline calendar | Payroll owner | Period checklist | AHL uses the ninth working day, not a calendar 9th | For a multi-entity group, repeat the statutory reconciliation by legal entity. A consolidated payroll view is useful for management reporting, but each employing entity needs its own auditable obligation trail.
Frequently Asked Questions
Does Odoo submit PAYE directly to KRA iTax?
Odoo’s Kenya Payroll localisation supports payroll calculations and exports, including statutory reports. The official documentation describes exports as uploadable to the respective portals. Your team still needs to submit through KRA iTax, complete payment and retain acknowledgement evidence.
What is the NSSF maximum contribution in Kenya for 2026?
From February 2026, the maximum is KSh 6,480 monthly for the employee and KSh 6,480 for the employer. The combined maximum is KSh 12,960, based on the KSh 108,000 upper earnings limit.
Is the Affordable Housing Levy an employee deduction only?
No. The employee contributes 1.5% of gross monthly salary, and the employer contributes a matching 1.5%. The employer contribution is a payroll cost and should not reduce employee net pay.
Which Kenyan payroll payments are due by the 9th?
PAYE is due through KRA iTax by the 9th of the following month. SHIF is submitted through the SHA Employer Portal by the 9th monthly, and NSSF is remitted by the 9th of the following month. Affordable Housing Levy follows the ninth working day after month-end.
For an Odoo payroll implementation that gives Finance real-time visibility over payroll liabilities and portal evidence, Request a Consultation through our Odoo partner Kenya team.