Payroll you never
have to second-guess.
VerityPay runs PAYE, UIF, SDL and BCEA leave on the live SARS tables, then writes the bank file and the EMP201 for you. Every payslip reconciles. Every run is audit-ready.
- 200+
- SA teams on VerityPay
- R2.4bn
- paid to employees
- 15 min
- to first payroll run
- PAYE
- R4 263.06
- annualised method
- UIF
- R177.12
- capped at R177.12
- SDL
- R280.00
- employer, 1%
- TAKE-HOME
- R23 559.82
- paid to the cent
Basic salary only. Medical credits, pensions, allowances, ETI and directives are handled in-product.
See exactly what you are buying.
Four modules, one engine. Here is what month-end looks like when payroll simply runs.
The payroll run
Gross-to-net for the whole organisation in a single pass. Earnings, deductions, employer contributions and net pay, held against an immutable snapshot the moment a run completes.
- Two-person approval
- Sealed run history
- Corrections become new runs
The payroll run
Gross-to-net for the whole organisation in a single pass. Earnings, deductions, employer contributions and net pay, held against an immutable snapshot the moment a run completes.

The tax engine
PAYE on the SARS annualised method, UIF capped at R177.12, SDL above the R500 000 threshold, ETI bands and medical credits. The same figures flow straight into your monthly EMP201.

Leave that runs itself
Annual leave accrues monthly, sick leave runs on three-year cycles, family responsibility resets each year. On termination, the outstanding balance is paid out and coded 3606 on the IRP5 automatically.

The employee portal
Every employee gets a mobile self-service portal. Branded PDF payslips land the moment a run completes, plus leave applications and employment letters on demand, with HR out of the loop.

One number, five moves.
ANNUAL EQUIVALENT
AnnualiseR336 000R28 000 x 12
The month is projected to a full year. SARS taxes annual income, so the engine starts there.
MARGINAL RATE
Find the bracket26%bracket 2 of 7
Seven brackets in the 2025/26 tables. R336 000 lands in bracket 2.
SARS income tax brackets 2025/26 TAXABLE INCOME BASE RATE R0 to R237 100 R0 18% R237 101 to R370 500 R42 678 26% R370 501 to R512 800 R77 362 31% R512 801 to R673 000 R121 475 36% R673 001 to R857 900 R179 147 39% R857 901 to R1 817 000 R251 258 41% R1 817 001 and above R644 489 45% RAW ANNUAL TAX
Base plus rateR68 391.74R42 678 + 26% of R98 899
The bracket carries a fixed base amount, then the marginal rate applies to every rand above the bracket floor.
AFTER REBATES
Subtract rebatesR51 156.74less R17 235 rebate
Every taxpayer under 65 gets the primary rebate. The engine applies secondary and tertiary rebates automatically from age.
MONTHLY PAYE
Divide by twelveR4 263.06R51 156.74 / 12
Back to a monthly amount, rounded to the cent. This exact figure lands on the payslip and in the EMP201.
Everything month-end needs, on one ledger.
Seven modules, one source of truth. Each line below is part of the same engine, not a bolt-on.
Earnings, deductions, employer contributions and net pay for every employee, computed in a single pass and held against an immutable snapshot.
- Two-person approval on every run
- Completed runs never change
- Corrections become new runs
The annualised method you saw above, plus UIF caps, SDL thresholds, ETI bands, medical credits and lump-sum directives. Updated every tax year.
- Annualised PAYE with age rebates
- Three gross definitions tracked separately
- Termination directives built in
Annual leave accrues monthly, sick leave runs on three-year cycles, family responsibility resets each year. Termination payouts land on the IRP5 with the right code.
- 15 working days annual, accrued monthly
- 30-day sick cycle tracking
- Payouts coded 3606 automatically
Approved runs export straight to your bank as formatted EFT batches. Account numbers stay encrypted until the moment the file is written.
- Standard SA EFT formats
- Account numbers AES-256 encrypted
- One file per run, fully reconciled
Monthly EMP201 figures come straight off the run ledger. At filing season, IRP5 and IT3(a) certificates generate from the same immutable history.
- EMP201 export per period
- IRP5 / IT3(a) generation
- Audit trail back to every cent
Every employee gets a mobile self-service portal: branded PDF payslips the moment a run completes, leave applications, employment letters on demand.
- PDF payslips on completion
- Leave requests and balances
- Employment letters on demand
Accountants and bureaus switch between client organisations with hard data isolation between every one. Each org keeps its own approvals, history and filings.
- Hard per-client isolation
- Cross-client run calendar
- Per-org approval chains
Compliance is arithmetic.
Every constant in the engine comes straight from the SARS and BCEA tables. When the tables change, the engine changes with them, and historic runs keep the rules they were filed under.
PRIMARY REBATE
R17 235
every taxpayer, per year
UIF MONTHLY CAP
R177.12
1% each side, ceiling R17 712
SDL THRESHOLD
R500 000
annual payroll, employer pays 1% above it
TAX THRESHOLD
R95 750
under 65, no PAYE below this
MARGINAL RATES
18 to 45%
7 brackets, 2025/26 tables
MEDICAL CREDIT
R364
main member, per month
Built like an audit trail.
Payroll software holds salaries, identity numbers and bank accounts. These three controls are structural: they cannot be switched off, by us or by you.
CTRL-01
Two-person approval
The person who calculates a run can never be the person who approves it. The engine enforces the separation, not a policy document.
CTRL-02
Immutable history
A completed run is sealed. Corrections are new runs with their own approvals, so the trail SARS sees is the trail that happened.
CTRL-03
Encrypted identity
ID numbers and bank accounts are AES-256 encrypted at field level before they reach the database. Tenant isolation is enforced on every query.
The people who close month-end.
SA PAYROLL TEAMS ON VERITYPAY

“VerityPay calculates our PAYE correctly every single month. I never second-guess the numbers before submitting our EMP201. It just works.”
Asked,
answered.
Anything else, ask a human: talk to us.
With the SARS annualised method: monthly gross is multiplied by 12, the bracket is found, base plus marginal rate is applied, age rebates are subtracted, and the result is divided back to a monthly amount. You can watch it happen at the top of this page. Brackets and rebates update every tax year.
Yes. UIF is 1% employee and 1% employer, capped at R177.12 per month against a ceiling salary of R17 712. SDL is employer-only at 1% for payrolls above R500 000 a year. Bonuses and overtime are excluded from UIF but included for SDL, and the engine tracks those gross definitions separately so neither is ever wrong.
VerityPay tracks annual leave (15 working days a year, accrued monthly), sick leave (30 days per three-year cycle) and family responsibility leave (3 days a year, no carry-over), all per BCEA. On termination, outstanding annual leave is paid out automatically and coded 3606 on the IRP5.
Completed runs are immutable, which protects your audit trail. To fix an error you create a correction run. Both the original and the correction are retained in full for SARS audit purposes.
Yes. Every employee gets a secure self-service portal with branded PDF payslips available the moment a run completes, plus leave applications and employment letters, with no action needed from HR.