Kenya KRA P10 PAYE Return & P9A Tax Cards
Generate iTax-ready P10 monthly PAYE returns and P9A employee tax deduction cards - straight from Odoo
This module turns your Odoo employee data into the exact files the Kenya Revenue Authority (KRA) expects on iTax. Capture each employee's monthly pay components, let the module re-compute PAYE on the official KRA tax bands, and export an iTax-ready P10 monthly return and annual P9A tax deduction cards as CSV or Excel. You file them on iTax with your own login - no employee data ever leaves Odoo.
What it produces
P10 Monthly PAYE Return
A complete Sheet B (Employees Details) file - one row per employee with PIN, residential status, gross pay, allowable deductions, chargeable pay, tax payable, reliefs and net PAYE - plus a Sheet A summary carrying the return totals and the 9th-of-next-month payment due date.
P9A Tax Deduction Cards
The annual certificate each employee uses to file their personal income tax. Built automatically from the twelve monthly P10 lines: the full lettered card (columns A–M), twelve calendar rows and a year total. Generate one employee or every employee at once (bundled as a ZIP).
Key features
Official KRA tax computation
Progressive PAYE on the monthly bands in force since 1 July 2023 and retained for 2024/2025/2026: 10%, 25%, 30%, 32.5% and 35%. The bands are an editable model, so you adjust them when the law changes — nothing is locked in code.
Reliefs and allowable deductions
Personal relief of KES 2,400 per month and insurance relief at 15% of premiums (capped at KES 5,000 per month). SHIF, the Affordable Housing Levy, pension and owner-occupier interest are subtracted from chargeable pay as allowable deductions, in line with the Tax Laws (Amendment) Act 2024.
KRA PIN validation
Employer and employee KRA PINs are validated against the official format (A or P, nine digits, a check letter) so iTax does not reject your upload.
Primary vs secondary employment
Mark secondary employment so the personal relief is applied only on the primary job, exactly as KRA requires.
CSV and Excel exports
Every return and tax card exports as CSV (always available) or styled Excel for pasting into the iTax template.
Your data stays in Odoo
The module only builds the files. You upload them to iTax with your own KRA credentials. We are not a KRA agent and nothing is transmitted on your behalf.
PAYE bands used (monthly, KES)
| Monthly chargeable pay (KES) | Rate |
|---|---|
| 0 – 24,000 | 10% |
| 24,000 – 32,333 | 25% |
| 32,333 – 500,000 | 30% |
| 500,000 – 800,000 | 32.5% |
| Above 800,000 | 35% |
Personal relief: KES 2,400 / month. Insurance relief: 15% of qualifying premiums, capped at KES 5,000 / month. All rates are editable defaults — confirm them against the latest official KRA guidance before filing live returns.
How it works
- Set your employer KRA PIN and confirm the PAYE bands and reliefs.
- Record each employee's KRA PIN, residential status and employment type.
- Create a P10 return for the month, populate the employees and enter their pay components.
- Compute — the module derives chargeable pay, tax payable, reliefs and net PAYE.
- Export the iTax-ready P10 file and upload it on iTax by the 9th of the next month.
- At year end, generate the P9A tax cards for one or all employees in a single click.
Compatibility & disclosure
Built on the Odoo community hr module — no Enterprise dependency.
Compatible with Odoo 18 and 19. This module computes statutory figures locally and
produces the P10 and P9A files; it does not transmit any data to KRA or any third party.
Always confirm rates, bands and reliefs against the latest official KRA / iTax guidance
before filing live returns.
Screenshots
P10 Returns
P9A Tax Cards
Paye Bands
Update date: 2026-07-02