peoplBook a walkthroughTalk to us

Reference

Statutory schedules

Every rate PEOPLE computes from, the instrument that sets it, the document it was read out of and the date that document was read. Where a figure has a source but has never been checked against a real payroll, this page says so.

How to read this

PEOPLE stores statutory rules as effective-dated rows with provenance attached, and changes are inserts rather than edits — so a payslip recomputed in three years uses the rates that were in force when it was paid, not today's. Nothing below is a simplification of the rule data; it is the rule data.

Two words are used precisely, and the difference between them is the whole point of the page:

  • Cited — the figure comes from a named instrument and a retrievable document, and the date that document was read is recorded.
  • Reconciled — additionally checked against money a real person was really paid.

Most of the pack is cited and not yet reconciled. That is the true position and it is stated here rather than in a footnote, because a supplier who only ever tells you the good half of that is a supplier you cannot calibrate.

No filing or remittance deadline appears on this page. Not one is sourced in the repo, so publishing one would mean inventing a date an employer might act on. Ask your own filings calendar, not us.

The seven schemes

Every scheme the Malaysian pack implements, in the order the pack declares them. The engine itself knows none of these names — it takes wage bases and facts and receives explained contribution lines back, which is what lets a second country ship without touching it.

SchemeInstrumentIn force fromStatus
EPFEmployees Provident Fund Act 1991 (Act 452)1 October 2025Reconciled
SOCSOEmployees' Social Security Act 1969 (Act 4)1 June 2026Cited
SKBBKEmployees' Social Security Act 1969 (Act 4), as amended by Act A17881 June 2026Cited
EISEmployment Insurance System Act 2017 (Act 800)1 October 2024Cited
PCBIncome Tax (Deduction from Remuneration) Rules 1994, rule 31 January 2026Cited
HRD Corp levyPembangunan Sumber Manusia Berhad Act 2001, sections 13 to 151 October 2018Cited
ZakatThe employee's own declaration to the employerThe remittance month itselfCited
Declared at packages/pack-my/src/pack.ts. Status is the pack's own verified flag on the lines each scheme computes.

EPF — Employees Provident Fund (KWSP)

Rates and the banding rule quoted from the KWSP page.

InstrumentEmployees Provident Fund Act 1991 (Act 452)
ProvisionThird Schedule, Parts A, C, E and F
SourceKWSP, Employer — Mandatory Contribution
Source dated1 October 2025
In force from1 October 2025
EvidenceFour KWSP worked examples and ten points from executed payroll.
Rule datapackages/pack-my/rules/epf-rules.csv
StatusReconciled

SOCSO — Employees' Social Security (PERKESO)

PDF text layer, not OCR. Reconciled against 16 executed payroll points.

InstrumentEmployees' Social Security Act 1969 (Act 4)
ProvisionThird Schedule
SourcePERKESO, Act 4 — New Contribution Rate Including SKBBK
Source dated1 June 2026
In force from1 June 2026
Evidence14 of the 65 bands have been observed in an executed payroll, all of them Category 1. No Category 2 row has been.
Rule datapackages/pack-my/rules/socso-act4.csv
StatusCited

SKBBK — Non-Employment Injury Security Scheme (Skim LINDUNG 24 Jam)

Printed in the same schedule as Act 4 and remitted with it.

InstrumentEmployees' Social Security Act 1969 (Act 4), as amended by Act A1788
ProvisionThird Schedule, Non-Employment Injury Security Scheme
SourcePERKESO, Act 4 — New Contribution Rate Including SKBBK
Source dated1 June 2026
In force from1 June 2026
EvidencePhase 1 amounts only. The later phases are not published yet.
Rule datapackages/pack-my/rules/socso-act4.csv
StatusCited

EIS — Employment Insurance System (SIP)

OCR at 400 dpi — the source PDF is a scan with no text layer. A human has still to eyeball it before go-live.

InstrumentEmployment Insurance System Act 2017 (Act 800)
ProvisionSecond Schedule
SourcePERKESO, Rate Contribution ACT 800
Source dated1 October 2024
In force from1 October 2024
Evidence60 of 61 testable rows agree with the published progression and 8 of 8 with executed payroll figures. The statutory age bounds are not sourced anywhere in the repo and are therefore not applied.
Rule datapackages/pack-my/rules/eis-act800.csv
StatusCited

PCB — Monthly Tax Deduction (MTD / PCB)

Text extracted from the PDF and transcribed by hand.

InstrumentIncome Tax (Deduction from Remuneration) Rules 1994, rule 3
ProvisionSpecification for Monthly Tax Deduction (MTD) Calculations Using Computerized Calculation for 2026
SourceLHDN (Inland Revenue Board of Malaysia)
Source dated1 January 2026
In force from1 January 2026
EvidenceLHDN's own worked example (Exhibit 5) reproduces from these values. No real PCB deduction has been observed.
Rule datapackages/pack-my/rules/pcb-table1-2026.csv
StatusCited

HRD Corp levy — Human Resources Development levy

OCR at 350 dpi — the circular is a scanned PDF.

InstrumentPembangunan Sumber Manusia Berhad Act 2001, sections 13 to 15
ProvisionEmployers' Circular No. 5/2018, Attachment A
SourceHRD Corp
Source dated20 September 2018
In force from1 October 2018
EvidenceTested against the circular's own worked example. The levy was zero in all 38 executed runs, because the test company has no HRD Corp registration, so no executed figure validates these rows.
Rule datapackages/pack-my/rules/hrdf-rules.csv
StatusCited

Zakat — Zakat withheld from salary

There is no rate and no schedule. The employee states an amount and the employer withholds exactly that.

InstrumentThe employee's own declaration to the employer
ProvisionLHDN MTD specification sections D(b)(1), D(b)(2) and E(4), which is what sets the effect on the tax
SourceLHDN MTD specification 2026 (PDF)
Source dated1 January 2026
In force fromThe remittance month itself
EvidenceNo executed payroll in the repo carries a zakat deduction.
Rule datapackages/pack-my/src/zakat.ts
StatusCited

EPF contribution rates

From the Third Schedule, in force 1 October 2025. Which part applies depends on citizenship, age, and — for a non-citizen — whether they became a member before 1 August 1998.

PartWhoAgeWagesEmployeeEmployer
AMalaysian citizen14–59Up to RM 5,000.0011.00%13.00%
AMalaysian citizen14–59Above RM 5,000.0011.00%12.00%
EMalaysian citizen60–75Any0.00%4.00%
CNon-citizen, member before 1 Aug 199814–75Up to RM 5,000.005.50%6.50%
CNon-citizen, member before 1 Aug 199814–75Above RM 5,000.005.50%6.00%
FNon-citizen, member from 1 Aug 199814–75Any2.00%2.00%
packages/pack-my/rules/epf-rules.csv. Below RM 20,000 the wage is banded before the rate is applied — RM 20 steps up to RM 5,000 and RM 100 steps above it — and each share is rounded up to the next whole ringgit. Above RM 20,000 the exact percentage applies. There is no wage ceiling. Outside ages 14 to 75 no row matches and the run blocks rather than contributing zero.

SOCSO, SKBBK and EIS bands

These three are amounts printed in a schedule, not rates applied to a wage — 65 rows each, sharing identical band boundaries. A build-failing test asserts that identity, so an edit to one table that forgets the other cannot ship. The band step is not uniform: RM 30, then 50, 70, 100, 140, 200, and RM 100 flat from there.

Both schedules are subject to a RM 6,000 wage ceiling, and the ceiling is a row in the data rather than a constant in the code. Category 1 covers Employment Injury and Invalidity; Category 2 covers Employment Injury only, for employees outside the Invalidity Scheme. SKBBK is employee-borne in both.

Wages overUp toCat 1 employeeCat 1 SKBBKCat 1 employerCat 2 employerEIS each
RM 30.00RM 0.10RM 0.20RM 0.40RM 0.30RM 0.05
RM 900.00RM 1,000.00RM 4.75RM 7.15RM 16.65RM 11.90RM 1.90
RM 2,900.00RM 3,000.00RM 14.75RM 22.15RM 51.65RM 36.90RM 5.90
RM 4,900.00RM 5,000.00RM 24.75RM 37.15RM 86.65RM 61.90RM 9.90
RM 5,900.00RM 6,000.00RM 29.75RM 44.65RM 104.15RM 74.40RM 11.90
Five of the 65 rows, to show the shape. packages/pack-my/rules/socso-act4.csv and packages/pack-my/rules/eis-act800.csv hold all of them. Lower bound exclusive, upper bound inclusive. EIS employee and employer contribute the same amount on every finite row. Above RM 6,000 the wage is capped and the last row applies.

SKBBK is phased. The amounts above are phase one, at 0.75%. The source states 1.00% from 1 June 2028 and 1.25% from 1 June 2031; those amount tables are not published yet and are not in the pack, so PEOPLE cannot compute a period after the phase changes and will refuse rather than apply a rate it does not hold.

PCB — value of P, M, R and B

LHDN's Table 1, from the 2026 computerised-calculation specification. Chargeable income at or below RM 5,000 attracts no tax, which is why the table begins at RM 5,001 — a P below the first band is a sourced zero, not missing data.

P fromP toMRB, cat 1 & 3B, cat 2
5,00120,0005,0001%−400−800
20,00135,00020,0003%−250−650
35,00150,00035,0006%600600
50,00170,00050,00011%1,5001,500
70,001100,00070,00019%3,7003,700
100,001400,000100,00025%9,4009,400
400,001600,000400,00026%84,40084,400
600,0012,000,000600,00028%136,400136,400
2,000,001and above2,000,00030%528,400528,400
packages/pack-my/rules/pcb-table1-2026.csv, ringgit. B is negative in the first two bands because the individual rebate — and for category 2 the spouse rebate as well — is already netted off it. Above P = 35,000 no rebate is due and the two columns agree.

PCB reliefs, caps and rates

The compulsory items under section 14(i) are granted automatically, without the employee claiming anything. The optional items under section 14(ii) reach the calculation only on a Form TP1 election — which is the whole answer to why a SOCSO deduction does not automatically produce a SOCSO relief.

ItemAmountProvision
IndividualRM 9,000s14(i)(a), automatic
Spouse with no incomeRM 4,000s14(i)(b), category 2
Per qualifying childRM 2,000s14(i)(c)
Disabled individualRM 7,000s14(i)(e)
Disabled spouseRM 6,000s14(i)(f)
EPF, annual capRM 4,000s14(i)(d)(i)
Child multiplier, basic×1Under 18, or 18+ in full-time education
Child multiplier, diploma and above×418+ studying at diploma level or higher
Child multiplier, disabled×4Certified by the Department of Social Welfare
Child multiplier, disabled and studying×8Both of the above
Non-resident rate30%Section D(a), flat on remuneration
No-deduction thresholdRM 10Section E(3)
packages/pack-my/rules/pcb-reliefs-2026.csv holds fifteen rows; twelve are read by the calculation. The three that are not — the Returning Expert Programme rate, the life-insurance cap and the RM 350 SOCSO relief — belong to paths this pack does not compute, and are transcribed because the specification prints them.

HRD Corp levy

RegistrationEmployees at registrationLevy
Compulsory10 and above1.00%
Optional5 to 90.50%
packages/pack-my/rules/hrdf-rules.csv. The rate follows the employer's registration category, not current headcount — an employer registered as compulsory stays at 1% even after dropping below ten employees, which the circular states explicitly. The base is basic salary plus fixed allowances, gross of EPF, SOCSO, zakat and PCB, and excludes bonus, commission, overtime and non-fixed allowances. Non-citizens are outside the levy.

What the pack does not decide: whether an employer is liable at all. The First Schedule industry list, the part-time worker exemption and time-boxed sectoral exemptions are not modelled, and PEOPLE reads the employer's own registration rather than inferring it.

What PEOPLE refuses to compute

A payroll that guesses is worse than one that stops, so the pack refuses in several named situations rather than producing a plausible figure:

  • Any month before a schedule commenced. Earlier schedules were not retrieved, and rates have moved historically, so a period before 1 October 2025 for EPF, 1 June 2026 for SOCSO and SKBBK, 1 October 2024 for EIS, 1 January 2026 for PCB or 1 October 2018 for the levy resolves no rows and blocks.
  • An employee outside the ages a schedule covers. No row matches, so no contribution is claimed. A zero-rate row would assert that the scheme applies and happens to come to nothing, which is a different statement.
  • A missing fact. The blocker names the employee and what is absent. There is no path by which an unknown becomes a zero.
  • A year-to-date window with an unaccounted month. The ledger is derived from an opening balance plus this system's own stored runs, so a month that is neither imported, run here, nor outside the employment is a refusal naming it — never a total computed as though the month were empty.
  • A payment file for a bank whose layout we do not hold. There is no single Malaysian bank file: each bank publishes its own host-to-host format. One is held as verified-primary; the rest are not, and PEOPLE will not write a file for a layout it is guessing at.

Checking this page

Every figure above cites the file it lives in. If you find one that disagrees with its source, that is a bug worth more to us than a sales enquiry —tell us and we will fix the rule data, not the page.

None of the retrieval dates recorded in the pack represents anyone here re-opening the source; several were carried forward from an earlier build, and the pack says so at each site. Re-reading each authority against its published document is outstanding work, and until it is done the status badges above are the honest summary.