Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Employees
  3. EH HR Payroll - Singapore v 17.0
  4. Sales Conditions FAQ

EH HR Payroll - Singapore

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 17.0 Third Party 11
Download for v 17.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Versions 16.0 17.0 18.0 19.0
  • Description
  • Manifest
ERP Heritage · HR Platform
Singapore CPF on the EH payroll engine

Singapore Payroll CPF for Odoo 17

A ready Singapore salary structure that computes CPF employee and employer contributions with real age-band rates and the Ordinary and Additional Wage ceilings.

Free · LGPL-3Odoo 17 CommunityLGPL-3v1.0.0
CPF employee contribution
CPF employer contribution
Per-age-band rates
Ordinary Wage ceiling
Additional Wage ceiling

Why this module

Singapore Payroll CPF for Odoo 17

Correct by age

CPF that steps down with age

Five seeded age bands from 55 and below to above 70 set the employee and employer percentages. The payslip reads the employee birthday at the period end and picks the matching band, so a 62 year old is computed at 12.5 percent and 12.5 percent, not a single flat rate.

Honest ceilings

Ordinary and Additional Wage caps applied

Monthly Ordinary Wage is capped at the company ceiling. A bonus as Additional Wage is capped at the annual ceiling remaining, which is the annual cap less the year Ordinary Wages already subject to CPF. The split is computed, not approximated.

Verifiable

Numbers you can check against the source

Age-band rates and wage ceilings are seeded as cited CPF Board data, and the test suite asserts the real published figures rather than rates a test invents. You can read the source line and confirm the contribution before you run a single payslip.

Day in the life

A January payroll with a bonus and a senior on the team

You run the Singapore structure for the month. A 36 year old on 10,000 has Ordinary Wage capped to the 8,000 ceiling, so CPF lands at 1,600 employee and 1,360 employer. A 62 year old on 5,000 is computed at the above-60-to-65 band, 625 and 625. When a 20,000 bonus is paid as Additional Wage, only the ceiling remaining for the year is contributable, so CPF applies to the capped Ordinary Wage plus the remaining Additional Wage, not the full bonus. Employer CPF shows on the slip without reducing take-home, and net is gross minus the employee deduction.

Edge cases

The cases most modules quietly ignore.

In the shipped code today, each one a place where a cheaper module silently does the wrong thing.

Age at period end

The employee age is computed at the end of the pay period from the birthday, read with sudo because it is a group-restricted field, and the value is used only to pick the CPF band, never exposed to a salary rule.

Missing birthday

When no birthday is set the slip falls back to the 55-and-below band rather than failing, so a payslip always computes a defensible figure.

Additional Wage proration

The Additional Wage ceiling remaining is the annual cap less the year Ordinary Wages already subject to CPF. With no override supplied, the year Ordinary Wage is projected as twelve months of the capped monthly Ordinary Wage.

Configurable fallback

If no age-band table is configured, the helper falls back to a company-level flat employee and employer rate against the capped Ordinary Wage, so the structure never silently returns zero.

Negative and null wages

Ordinary and Additional Wage inputs are floored at zero before the ceilings are applied, so a blank or negative input cannot produce a negative contribution.

Employer not in net

Employer CPF is carried as an employer-contribution category, so it appears on the payslip but never reduces take-home pay, and net stays gross minus employee deductions.

Sandboxed rule eval

Salary rules run in the inherited restricted safe_eval sandbox with read-only payslip and employee proxies, so the CPF helpers see wages but no raw recordset reaches a formula.

What is inside

Built to do the job, end to end.

  • Models. eh.hr.cpf.rate holds the age bands with employee and employer percentages and resolves the band for an age. The eh.hr.payslip extension injects cpf_employee and cpf_employer into the rule sandbox and computes the age at period end. res.company carries the Ordinary and Additional Wage ceilings plus the fallback rates.
  • Seeded data. Five CPF age bands as cited CPF Board data, and a ready Singapore - Standard salary structure with BASIC, GROSS, CPF employee, CPF employer and NET rules wired to the engine categories.
  • Security. Three-tier access on the CPF rate table: HR admin full control, HR officer read and edit, employee self read only.
  • Tests. A transaction test suite asserting the published CPF Board figures: the 20 and 17 percent band below the ceiling, the Ordinary Wage cap, the senior age band, and the Additional Wage ceiling remaining on a bonus.

Honest about the edges

What this does not do, so nothing surprises you.

  • Covers CPF only. Singapore does not operate monthly PAYE withholding for resident employees, so there is no monthly income tax in this structure.
  • No annual income tax filing, IR8A, IR21 or Auto-Inclusion Scheme output.
  • No Skills Development Levy, Foreign Worker Levy, or CDAC, MBMF, SINDA and ECF community fund deductions.
  • No CPF electronic submission or CPF e-Submit file generation.
  • Rates are seeded for Singapore Citizens and Permanent Residents from the third year onward; the first and second-year graduated SPR rates are not seeded.
  • Wage ceilings and age-band rates are revised by the CPF Board and must be verified against the current figures each year.
  • Employer CPF is computed and shown on the slip but is not posted to accounting by this module.
  • Depends on the eh_hr_payroll engine and the standard hr module; it is a localization layer, not a standalone payroll.
Search

Singapore payroll Odoo 17, CPF Odoo, CPF employee employer contribution, Central Provident Fund payroll, Ordinary Wage ceiling CPF, Additional Wage ceiling CPF, CPF age band rates, Singapore salary structure Odoo, SG payslip Odoo, Odoo 17 Community payroll, hr payroll Singapore, CPF contribution calculation

Work with ERP Heritage

Need this fitted to the way you work?

ERP Heritage delivers end to end Odoo work: Odoo Implementation, Customization and Development, Integration, Migration, Consultation, Support and Training. We help teams put this module into production, shape it to their process, and keep it running.

Build and tailor
Odoo Implementation, Customization and Development, scoped to your workflow.
Connect and move
Odoo Integration and Migration across systems and Odoo versions.
Run and support
Odoo Support and Training so your team stays productive after go live.
Plan and advise
Odoo Consultation and ERP Consulting, from discovery to roadmap.

We work with businesses across Australia (Melbourne, Sydney, Brisbane, Perth, Adelaide, Canberra) and the Middle East (Dubai, Abu Dhabi, Riyadh, Jeddah, Doha, Kuwait City, Muscat). Start a conversation at erpheritage.com.au or email info@erpheritage.com.au.

Languages

Available in 19 languages

The interface ships translated out of the box. Switch language in Odoo and the fields, menus, and messages follow.

العربية简体中文繁體中文NederlandsFrançaisDeutschहिन्दीBahasa IndonesiaItaliano日本語한국어PolskiPortuguês (Brasil)РусскийEspañolSvenskaไทยTürkçeTiếng Việt
More from ERP Heritage

Modules teams pair with this one.

Premium ERP Heritage modules that extend the same stack, each built to the same engineering bar.

USD 69
Ireland - Payroll Account

Post Irish payslips to the general ledger on the Irish chart of accounts

USD 99
Project Gantt

Interactive drag and drop Gantt planner for Odoo 17 Community project tasks with a deterministic server side sche...

USD 59
Employment Hero Connector

Employment Hero Connector is the integration core of the ERP Heritage Employment Hero suite, providing per compan...

USD 9
Employment Hero UK

The United Kingdom country pack for the ERP Heritage Employment Hero integration

USD 59
Employment Hero HR

Sync Employment Hero employees, departments and payroll bank details into standard Odoo Community HR over the pla...

USD 19
Employment Hero Webhook

Inbound webhook receiver for the Employment Hero people and payroll platform on Odoo 17 Community

ERP Heritage

v1.0.0 · LGPL-3 · Odoo 17 Community

Developed by Odoo Implementation Australia • LinkedIn

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Employees (hr)
• Discuss (mail)
Community Apps Dependencies Show
• EH HR Payroll
• EH HR Compatibility
• EH HR Platform Core
• EH HR Workflow Engine
Lines of code 2438
Technical Name eh_hr_payroll_sg
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with