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 - Malaysia v 16.0
  4. Sales Conditions FAQ

EH HR Payroll - Malaysia

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 16.0 Third Party 18
Download for v 16.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
Malaysia statutory payroll on the EH engine

EH HR Payroll Malaysia

EPF, SOCSO, EIS and PCB computed on a sandboxed salary-rule engine, with every band and bracket editable as data you keep current.

Free · LGPL-3Odoo 16 CommunityEPF / KWSPv1.0.0
EPF wage-banded employer rate
SOCSO Category 1 band table
EIS band table
PCB / MTD progressive formula
RM6,000 contribution ceiling

Why this module

EH HR Payroll Malaysia

Statutory, not guessed

Real EPF banding and capped contributions

EPF employer steps 13 percent at or below RM5,000 to 12 percent above, employee 11 percent. SOCSO and EIS are fixed-amount band tables capped at the RM6,000 monthly ceiling, so a high wage pays the top band, not a percentage of the wage.

You stay current

Bands and brackets are editable data

The SOCSO and EIS Jadual Caruman tables and the LHDN tax brackets are seeded as records you can edit from admin screens. The lookup and tax methods are fixed; the figures are yours to confirm against the current schedules.

Auditable by design

Computed on a closed rule sandbox

Every line is produced by the EH salary-rule engine, which exposes only read-only proxies to rules, no raw recordsets. Shipped tests pin the published EPF, SOCSO, EIS and MTD figures so the math stays honest across upgrades.

Day in the life

A monthly RM5,000 run, end to end

Create a payslip on the Malaysia Standard structure and compute it. The engine runs the rules in sequence: BASIC and GROSS, then EPF employee at 11 percent (RM550) and employer at the low band 13 percent (RM650), SOCSO and EIS as the seeded fixed amounts for that wage band, and PCB by the simplified MTD formula. Employee EPF, SOCSO, EIS and PCB reduce net; the employer EPF is a company contribution that does not. Net falls out as gross minus the employee deductions, and each amount traces back to a band row or bracket you can open and inspect.

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.

Wage above the ceiling

A wage over RM6,000 returns the top SOCSO and EIS band's fixed amount, not a percentage of the higher wage. If the wage falls in no band, the lookup falls back to the highest seeded band so a contribution is always returned.

EPF employer step-down

The employer EPF rate steps from 13 percent at or below the RM5,000 threshold to 12 percent above it, so the employer contribution can be lower in absolute terms just above the threshold. Both rates and the threshold are company settings.

Zero or negative wage

A wage of zero or below returns an empty band and a zero contribution, and the MTD formula returns zero rather than erroring, so blank or malformed slips compute cleanly.

Below the tax floor

When annualised income minus the standard individual relief and the capped EPF relief is at or below zero, PCB is zero. Low earners produce a clean nil deduction instead of a negative tax.

Pay-period inference

MTD annualises the period wage using the engine's inferred pay periods (12 monthly, 26 fortnightly, 52 weekly) from the period span, then divides the annual tax back down, so a non-monthly period is annualised consistently.

Role-scoped maintenance

The band and bracket tables are editable by HR admin and officer roles and read-only to employee self-service, so the statutory data can be curated without exposing edit rights to everyone.

What is inside

Built to do the job, end to end.

  • Malaysia Standard salary structure. A MY_STANDARD structure with eleven sequenced rules: BASIC, GROSS, EPF employee and employer, SOCSO employee and employer, EIS employee and employer, PCB, and NET. Each rule calls a named helper so the math lives in audited Python, not in formula strings.
  • SOCSO and EIS band tables. Sixty-three seeded contribution bands each for SOCSO Category 1 and EIS, generated from the statutory rates and capped at the RM6,000 ceiling, with editable list views and a band lookup that selects the row containing the wage.
  • LHDN tax brackets and MTD formula. A ten-row resident progressive bracket schedule and a simplified MTD method that annualises, deducts the RM9,000 individual relief and the EPF relief capped at RM4,000, taxes progressively, and divides by pay periods.
  • Company EPF settings. Employee rate, the two employer rates, and the wage threshold are fields on the company, defaulted to the current statutory figures so the wage-banded employer logic is configurable per company.
  • Security and admin screens. Access rules for HR admin, officer and employee-self roles across all three tables, plus menu items under the Payroll root for maintaining SOCSO bands, EIS bands and income tax brackets.
  • Shipped test suite. Eight tests pin the published EPF banding, the SOCSO and EIS fixed-amount caps above the ceiling, the LHDN progressive figures, and a full structure run where employer EPF is excluded from net.

Honest about the edges

What this does not do, so nothing surprises you.

  • The SOCSO and EIS amounts are generated from the statutory rates rounded to the nearest 5 sen and must be verified against the current PERKESO Jadual Caruman before use; the seeded figures are yours to keep current.
  • PCB uses the simplified computerised formula with only the standard individual relief and the EPF relief, not the full official MTD schedule. Reliefs for spouse, children, lifestyle and similar are out of scope.
  • SOCSO and EIS are modelled for Category 1 (employees below age 60); other categories are not seeded.
  • This module computes statutory deductions and net pay. It does not produce statutory e-filing, EA forms, Borang E, or bank contribution file exports.
  • It runs on the EH payroll engine, not on Odoo Enterprise hr_payroll, and targets Odoo 16 Community.
  • The tax bracket and relief figures should be confirmed against the current LHDN schedule for the assessment year before running live payroll.
Search

Malaysia payroll Odoo 16, EPF KWSP Odoo, SOCSO PERKESO payroll, EIS SIP contribution, PCB MTD Potongan Cukai Bulanan, LHDN income tax Odoo, Jadual Caruman, Malaysia salary structure Odoo, EPF employer rate 13 12 percent, Malaysia statutory deductions, RM6000 SOCSO ceiling, Odoo Community payroll Malaysia

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 39
Employment Hero Planning

Sync Employment Hero rosters into Odoo Planning shifts

USD 39
Employment Hero Sync Engine

A reusable two way synchronisation engine that keeps Odoo in step with the people and payroll platform, idempoten...

USD 99
Ireland - Payroll ROS

Real-time PAYE Modernisation for Irish payroll

USD 199
Project Gantt Pro

PMO grade upgrade for the Project Gantt planner

USD 9
Employment Hero Australia

The Australia country pack for the ERP Heritage Employment Hero integration

USD 19
Employment Hero Documents

Sync certifications, qualifications and employee document metadata from the Employment Hero people platform into...

ERP Heritage

v1.0.0 · LGPL-3 · Odoo 16 Community

Developed by ERP Heritage - Top Odoo Partner • 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 3510
Technical Name eh_hr_payroll_my
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