Country Payroll & Statutory Compliance
6. South Africa — PAYE, UIF, SDL and SARS Returns
The South African engine previews three statutory deductions together — PAYE, UIF and SDL — using the za_calc.go calculator. This mirrors the way the India engine previews several deductions in a single pass, capturing the combined effect of income tax, unemployment insurance and the skills development levy on each payslip.
The engine generates the standard South African revenue documents:
- EMP201 — the monthly employer declaration.
- EMP501 — the bi-annual reconciliation.
- IRP5 — the employee tax certificate.
These three documents form a coherent reporting cycle: the EMP201 is filed each month, the EMP501 reconciles the declarations across the half-year, and the IRP5 certifies an individual employee's tax position. Together they reflect the monthly-plus-reconciliation cadence that South African employers must follow.
The engine also enforces an identity-data prerequisite: it requires a South African ID number or a passport, stored in the payroll_config.za_personal field. This is the same principle seen across the country engines — statutory outputs embed national identity data, so the relevant identifier must be captured before correct certificates and returns can be produced. For completeness, note that some country engines, such as Canada and Singapore, are not implemented; the six engines covered in this topic are the jurisdictions that ship.