P9 & P10 filing (PAYE)
How to run payroll, generate P9 yearly certificates, file P10 monthly batches with iTax. Filing calendar, common gotchas.
PAYE is Kenya's pay-as-you-earn tax. As an employer you do two things every year:
1. Every month: file a P10 batch with KRA listing every employee's pay + deductions, and pay the PAYE total. 2. Every year (by 28 February): issue every employee a P9 certificate showing their year's earnings + tax paid.
Omnix handles both as one-click PDFs.
Run the monthly payroll
Open HR → Payroll → New run. Pick the period (auto-defaults to the current month). For each employee Omnix computes:
- Gross pay: basic salary + benefits + overtime − unpaid leave
- PAYE: banded by the current Finance Act (auto-updated)
- NSSF: Tier 1 + Tier 2
- SHIF: 2.75% of gross
- Housing Levy: 1.5% of gross
- Reliefs: personal (KES 2,400/month) + insurance + disability + mortgage + pension contributions
- Net pay: gross − all deductions + reliefs
Review. Approve. Once approved the figures lock — nothing changes after this point.
Pay everyone
Click M-Pesa Salary Export. Omnix generates a CSV in the exact column shape Safaricom's Business M-Pesa portal expects (phone, amount, reference). Upload it, approve from your phone, salaries land.
File P10 with KRA
Click the P10 button. Omnix prints a single PDF batch with every employee's row: employee #, name, KRA PIN, gross, PAYE, NSSF, SHIF, Housing Levy. Totals at the bottom.
Open iTax → File Returns → PAYE → P10. Copy the totals across. Submit. Pay the PAYE total via M-Pesa or bank.
Issue P9 certificates (year-end)
By 28 February of the following year. HR → Payroll → P9 certificates → Generate. One PDF per employee with their year's monthly summary. Distribute via the dashboard (employees can sign in and download themselves) or print + hand out.
Filing calendar
| Date | Action | |---|---| | 9th of each month | File last month's P10 + pay PAYE total | | 28 February | Issue P9s for the previous tax year |
Mid-month hires + terminations
Omnix prorates basic salary by working days. Final-month adjustments (severance, gratuity) live as line items on the run. The P9 reflects only the months the employee was active.
See also
- [Payroll pack landing page](/payroll-pack) — full overview
- [Sample P10 PDF](/samples/p10-sample.pdf)
- [Sample P9 PDF](/samples/p9-sample.pdf)
Was this helpful?
If something is wrong or missing, WhatsApp the owner. We update the docs every time a real question comes in.
More in Integrations
KRA eTIMS setup
Connect Omnix to KRA eTIMS so every sale is auto-signed, and generate your VAT3 return.
M-Pesa (Daraja & Paystack)
Accept M-Pesa via STK push, Paybill/Till, or Paystack. Step-by-step on getting every key and entering it.
Get your Paystack keys
Sign up for Paystack in Kenya, complete onboarding on their site, and copy your API keys into Omnix.