South Africa EMP201 & EMP501
SARS monthly EMP201 declaration and bi-annual EMP501 reconciliation with IRP5 / IT3(a) certificates as an e@syFile import file
Turn your Odoo payroll into the SARS statutory submissions. This module extends South Africa Payroll with the monthly EMP201 employer declaration, the EMP501 employer reconciliation and the e@syFile import file for the IRP5/IT3(a) employee tax certificates — every amount tagged with its BRS source code.
EMP201 monthly declaration
A tracked declaration per company and tax period links your payroll runs and aggregates PAYE, UIF and SDL, applies the ETI set-off (including ETI brought forward) and gives the total payable — with BRS source codes (4102, 4141, 4142, 7004) on every line.
Self-checking Payment Reference
A 19-digit SARS Payment Reference Number is built from your PAYE reference and the tax period using the Luhn check algorithm, so the amount can be captured on eFiling without a transposition slipping through.
EMP501 reconciliation
An interim (March–August) or annual (March–February) wizard rebuilds the employee certificate totals, sums the EMP201 PAYE declared and the payments made, and reports the differences so a mismatch is caught before you submit.
e@syFile import CSV
The IRP5 / IT3(a) certificates are written as a source-code-tagged code,value import file for e@syFile Employer, with the IRP5-vs-IT3(a) nature decided automatically by whether PAYE was deducted.
Real SARS reference validation
The 10-digit PAYE reference (7xxxxxxxxx) is validated with its SARS mod-10 check digit, and the companion UIF (U…) and SDL (L…) references are derived automatically. Employee SA ID numbers are Luhn-validated for the certificate.
Bring-your-own-key
Everything is computed and exported locally. You file the EMP201, EMP501 and certificates through SARS eFiling / e@syFile with your own credentials — no employee data leaves your Odoo database.
Built on South Africa Payroll
This module depends on South Africa Payroll for the PAYE / UIF / SDL / ETI engine and reads its computed payroll runs directly — install both to file your monthly EMP201 and your bi-annual EMP501. The pure-Python engine (BRS codes, reference checks, PRN/Luhn, EMP201 totals, reconciliation and e@syFile builders) is fully unit tested.
Compatible with Odoo 18 and Odoo 19.
Disclosure
This module builds EMP201, EMP501 and e@syFile files from your own payroll data; it does not transmit anything to SARS or any third party. The shipped BRS source codes and SARS reference algorithms carry the current statutory layout; confirm them against the latest SARS guidance before filing.
Screenshots
Emp201 June 2025 Confirmed P
Emp201 July 2025 Totals Comp
Emp201 Monthly Declarations
Update date: 2026-07-02