
Close 2025 with Zero Penalties: The Complete HR Compliance Survival Guide
Stop year-end compliance chaos. Discover how digital HRMS eliminates manual errors and automates statutory filings.
The three deductions on a Ugandan payslip, what each is charged on, and the one that catches almost everyone out.
By StepUp HR Experts

A Ugandan payslip has fewer moving parts than a Kenyan one, which makes the mistakes easier to spot and, oddly, easier to make. There are three deductions to get right. Two are straightforward. The third is the one that catches almost everyone.
The National Social Security Fund takes 5% from the employee and 10% from the employer, both calculated on gross pay. The employer's 10% is a cost of employment, not a deduction — it never reduces the employee's net pay, and showing it as though it does is one of the more common presentation errors.
On a gross of UGX 700,000 that is 35,000 from the employee and 70,000 from the employer. Nothing is capped and nothing is tiered, which is a genuine simplification compared with the Kenyan arrangement.
This is where systems built for a neighbouring market go wrong. In Kenya, PAYE is charged on pay after allowable deductions. In Uganda it is not. The employee's NSSF contribution is not deductible against PAYE, so the chargeable amount is the gross.
URA's published monthly schedule for a resident individual runs:
With a further 10% charged on chargeable income above 10,000,000 a month.
On a gross of 700,000, that is 25,000 plus 30% of 290,000 — 112,000. Run the same figure through a system that quietly deducts NSSF before applying the bands and you will get 101,500 instead, and you will get it wrong every month without anything appearing to break.
LST is the one that catches people, and it catches them in a specific way.
It is an annual charge, set by band according to monthly gross income, and it is collected in four equal instalments between July and October — not spread across twelve months.
An employee grossing 700,000 a month falls in the 600,001 to 700,000 band, which carries an annual charge of 60,000. The payslip line in each of those four months is therefore 15,000, and in the remaining eight months it is nothing at all.
Divide by twelve instead of four and you will deduct 5,000 a month. The annual total is the same, which is exactly why the error survives an annual reconciliation. What it produces is twelve wrong payslips and a remittance schedule that does not match the collection period.
At a gross of UGX 700,000, in a month when LST is being collected:
The employee's deductions total 162,000, leaving 538,000 net. The employee costs the business 770,000 — the gross plus the employer's contribution.
In the eight months outside the LST collection window, the same employee nets 553,000. That variation is normal and expected, and it is worth telling staff about in advance. A payslip that changes by 15,000 without explanation generates a query from every affected employee in the same week.
Rates and bands change, and they change without a great deal of notice. Everything above reflects the published position at the time of writing, and it is the right starting point rather than the final word. Confirm the current figures against URA's own schedule before a live run, particularly after a budget.
The general principle holds regardless of the specific numbers: a payroll error does not announce itself. It produces a plausible figure, confidently, every month, until somebody checks.
You can work a Ugandan payslip through our payroll calculator, which applies the published bands and the LST instalment schedule, and shows the employer's contribution alongside the employee's.

Stop year-end compliance chaos. Discover how digital HRMS eliminates manual errors and automates statutory filings.

SHIF is not NHIF with new numbers. It is a different calculation on a different base, and a table left over from the old scheme is wrong for everybody.

Why NSSF is two separate contributions rather than one, where the upper earnings limit bites, and the configuration error that survives for years.