Omnix
All docs
Integrations

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.

P9 & P10 filing (PAYE) — docs · Omnix