Skip to main content
An income-tax slab is the set of PAYE bands the system uses to compute each employee’s income tax during a payroll run. A slab is a progressive ladder — the first band is taxed at one rate, the next band at another, and so on — plus an effective-from date so you can keep a history as the law changes (e.g. “Uganda PAYE 2026”). You build the slab once; payroll then applies it automatically, so PAYE is never typed in by hand. This page covers creating and editing a slab, the band/bracket ladder, optional exemptions and surcharges, the live preview, and how a slab gets picked for an employee. You’ll find this at: /settings/erp/finance/payroll-tax-slabs (list) — the old /payroll/setup/tax-slabs redirects here. Create at /payroll/setup/tax-slabs/new, edit at /payroll/setup/tax-slabs/:id.
📷 Screenshot: the Income Tax Slab builder showing the bracket ladder and the computation preview — to be added.
Multi-business: a slab belongs to the selected business. Confirm the business switcher first.

The slab list

The list shows each slab’s Name, Effective from, Effective to (or ”—” for open-ended), Currency, Country, the number of brackets, and a Status badge (Active or Disabled). You can filter to Active-only or show All. Each row has Edit and Delete.

Creating a slab

Choose New (or open an existing one). The builder has four sections.

1. Basics

2. Tax brackets (the ladder)

Add the bands. Each row has: The ladder must be contiguous (each band starts where the previous one ended), start at 0, and have exactly one open-ended band, which must be last. Use Add bracket to append a row. Example (illustrative — not legal advice):

3. Other charges (optional surcharges)

Optional extra charges applied on the base tax, within an income window:

4. Review & preview

The builder summarises the bands and lets you enter a sample annual taxable income to see the full computation — exemption, taxable amount, tax per band, base tax, any surcharges, and the total. Use it to sanity-check the ladder before saving.

How a slab is computed

PAYE is progressive: each band only taxes the income that falls inside it.
  1. If exemption is on, subtract the standard exemption from annual taxable income.
  2. For each band, tax = (income within that band) × the band’s rate; sum across bands → base tax.
  3. Add any applicable surcharges (base tax × surcharge rate, where the income is in the surcharge’s window).
  4. Total tax = base tax + surcharges.

How a slab gets picked for an employee

During a run, for each employee the system chooses a slab in this order:
  1. Override on the assignment — if the employee’s salary structure assignment names an income-tax slab, that one is used (see Salary structures → Assigning a structure).
  2. Default effective slab — otherwise the system finds the slab for the business whose effective-from date is on or before the run date and whose effective-to is blank or after it.
The chosen slab feeds the statutory PAYE component — that is why PAYE has no amount box on the structure: it comes from here.

Editing, disabling and deleting

A slab is editable at any time; saving an update replaces its brackets and surcharges wholesale. To retire a slab without affecting past runs, turn Disabled on (already-computed runs keep their figures). Delete soft-removes it.
⚠️ Current state: income-tax slabs use a simple Active / Disabled model rather than the draft → submitted → cancelled lifecycle that salary structures use. There is no approval workflow on a slab today, so edits take effect for new computations immediately. Treat changes carefully — ideally create a new effective-dated version rather than editing a live one mid-cycle.

Permissions