Malaysian payroll is not forgiving. The Employees Provident Fund (EPF) and the Social Security Organisation (SOCSO) are statutory deductions that your government watches closely. A miscalculation compounds every month—penalties, interest, and employee trust all evaporate together. Most payroll software claims to handle this. Many don't. Some automate the math but leave you blind to the rules. Some automate the wrong rules altogether. This guide walks you through exactly what your payroll system must do, where most platforms fail, and which gaps demand manual oversight. EPF contributions: the employer-employee split The Employees Provident Fund is Malaysia's mandatory retirement scheme. It is not optional, it is not negotiable, and the math is not as simple as a flat percentage. Employee contribution: 11% of gross monthly salary, up to a maximum of RM 20,000 per month. If an employee earns RM 25,000, you deduct 11% of RM 20,000, not RM 25,000. This cap matters. Employer contribution: 12% of the same EPF-eligible salary base (also capped at RM 20,000). So if that RM 25,000 earner is in your system, both your 12% and their 11% are calculated against RM 20,000, not the full salary. The critical detail most founders miss: EPF is calculated on gross salary before any statutory deductions. This is backward from how many non-Malaysian systems work. Your payroll software must deduct EPF first, then use the post-EPF amount to calculate SOCSO and income tax. Get the sequence wrong and your numbers spiral. When EPF contributions change Age matters. Employees aged 60 and above pay 8% (employee) instead of 11%, and employers pay 11% instead of 12%. Employees aged 55–59 can opt into a reduced rate (8% employee, 11% employer) if they are within three years of retirement. Your system must track employee birth dates and automatically shift these percentages on the birthday. Most spreadsheet-based systems do not. Automated payroll software should flag this automatically—check whether yours actually does. SOCSO and the employment injury scheme The Social Security Organisation (SOCSO) covers employment injury and invalidity benefits. Unlike EPF, SOCSO has no employee contribution. It is entirely employer-funded, and the rate is 0.4% of gross monthly salary (up to a maximum of RM 104 per month). The salary cap for SOCSO is RM 4,000 monthly—anything above that is not eligible for further SOCSO contribution. SOCSO is calculated on gross salary before EPF deduction. This sequencing again matters. Your payroll run must: Calculate EPF first (11% of capped salary, employer 12% of same base) Calculate SOCSO next (0.4% of gross, capped at RM 4,000 salary and RM 104 contribution per month) Calculate income tax (PAYE) on the remaining amount after EPF Apply any voluntary deductions (insurance, loans, advances) If your software calculates tax before EPF, it will overstate taxable income and under-withhold or over-withhold depending on the employee's tax band. Neither outcome is acceptable to Inland Revenue. Statutory deduction sequencing: the order that compliance demands Malaysian payroll is not flexible about the order in which you deduct. The correct sequence is: Gross salary — the starting point EPF deduction (11% employee, up to RM 20,000 cap; employer records separately as 12% liability) SOCSO deduction (employer-only 0.4%, to RM 4,000 salary cap) Income tax (PAYE) — calculated on salary after EPF, using the tax tables from Inland Revenue Voluntary deductions — insurance, loans, union fees (only after mandatory deductions) Net pay — what lands in the employee's bank account A payroll system that calculates tax first or bundles EPF into 'total deductions without ordering' will not survive an audit. The Malaysian tax authority and EPF board both expect this sequence. What payroll software automates—and what it doesn't Most modern payroll platforms designed for Malaysia's rules will automate: Gross-to-net calculation with correct sequencing EPF and SOCSO computation and withholding Age-based EPF rate adjustments (at 55, 60) Salary caps (EPF at RM 20,000, SOCSO at RM 4,000) PAYE tax withholding using current Inland Revenue tax tables Monthly EPF and SOCSO filing data (ready for submission to the funds) Payslip generation with itemized deductions What remains manual or requires close oversight: Contract terms and allowances: Your software must be told which allowances are taxable, which are EPF-exempt (for example, some housing allowances), and which are SOCSO-exempt. A widget-and-button approach will not flag when you have misclassified a component. Voluntary deductions: If an employee has a personal loan, education insurance, or union fees, these must be entered manually and deducted in the correct order. A weak system will apply them before tax or in the wrong sequence. Overpayment or underpayment corrections: If the prior month's payroll had an error, the correction must be coded correctly (as adjustment or reversal) so that EPF and S