Singapore CPF Payroll
Age-banded CPF, OW/AW ceilings and the CPF e-Submission file — for Odoo 18 & 19
Run Singapore Central Provident Fund (CPF) payroll directly in Odoo.
Built on the community hr app — no Enterprise hr_payroll
required. Every rate and ceiling is an editable company parameter, and the
contribution engine is pure Python and fully unit tested.
Age-banded CPF rates
Total, employer and employee contribution rates by age band (37% up to 55, then 34%, 25%, 16.5% and 12.5%) — the Singapore Citizen and 3rd-year-onward PR scale effective 1 Jan 2026.
OW & AW ceilings
Monthly Ordinary Wage ceiling and the annual Additional Wage ceiling (annual wage cap less year-to-date Ordinary Wages) are applied automatically to salaries and bonuses.
CPF e-Submission file
Generate the comma-separated CPF contribution file — employer CSN header, one detail line per employee and a totals trailer — ready to reconcile against your CPF EZPay submission.
NRIC / FIN validation
The published NRIC/FIN check-digit algorithm (S/T/F/G/M series) is enforced on every employee record so identity numbers are correct before you submit.
Authority & compliance
Authority: CPF Board / IRAS (Singapore). Statutory rates, ceilings and the NRIC algorithm ship as current defaults you can review and adjust as the CPF Board revises them each year.
Disclosure: this module computes CPF contributions and produces a contribution file for your records and upload; it does not itself transmit data to the CPF Board. Confirm the current rates and submission channel against official CPF Board / IRAS guidance before running live payroll.
Compatibility & support
Compatible with Odoo 18 and Odoo 19 (Community and Enterprise). Support: support@pokutsoft.com.
Screenshots
Cpf Payroll Run Contribution
Cpf Payroll Runs List
Update date: 2026-07-02