Statutory Payroll to Double-Entry GL Journal Entries: The Complete Accountant's Manual
A Malaysia-focused accountant's manual for converting gross salary, EPF, SOCSO, EIS, PCB, HRDF, and LLP partner drawings into balanced payroll journal entries.
TL;DR (Key Takeaways)
- •Accrue employee gross pay, not net pay: debit 5100 for employee gross, debit 5200 for employer EPF/SOCSO/EIS, debit 5210 for HRDF, and credit 2500 for the total.
- •Employee EPF, SOCSO, EIS, and PCB are deductions from gross salary, not extra employer expenses; they remain inside the credit to accrued expenses until remitted.
- •For a RM4,000 employee example, GetPay's calculator produces RM3,482.35 net pay and RM4,637.05 total payroll accrual after employer contributions and HRDF.
- •GetPay posts LLP partner and director-owner drawings to debit 2200 with zero payroll statutory amounts, then clears 2500 against the bank as each payroll payment appears on the bank statement.
Start with the balanced payroll accrual, not net pay
The core Malaysian payroll double-entry journal is an accrual posted when employees earn the month's remuneration:
| GL account | Debit (RM) | Credit (RM) | What the line represents |
|---|---|---|---|
| 5100 Salary, Allowance & Wage | Employee gross | — | Gross remuneration of EMPLOYEE rows |
| 5200 EPF & Socso | Employer EPF + SOCSO + EIS | — | Employer statutory cost, excluding HRDF |
| 5210 HRDF Levy | HRDF | — | Employer HRD levy calculated for the run |
| 2200 Directors Account | Partner/director-owner gross | — | Drawings for PARTNER and DIRECTOR_OWNER rows |
| 2500 Accrued Expenses | — | Total of all debit lines | Complete obligation to employees and agencies |
This is the posting structure GetPay generates for a payroll run in posted-ledger mode. It aggregates the run into one multi-line journal entry rather than posting a separate expense journal for every payslip.
The governing equation is:
Debit 5100 employee gross
+ Debit 5200 employer EPF, SOCSO and EIS
+ Debit 5210 HRDF
+ Debit 2200 partner and director-owner drawings
= Credit 2500 total payroll accrual
Do not debit only the amount transferred to employees. Net salary is a payment split, not the measure of salary expense. If an employee earned RM4,000 gross and received RM3,482.35 after deductions, the expense line remains RM4,000.
Which payroll amounts are debits, credits, expenses, or deductions?
The cleanest way to map payroll is to separate employee deductions from employer costs.
An employee deduction is money already included in gross remuneration but withheld for another payee. Employee EPF, employee SOCSO, employee EIS, and PCB reduce the employee's take-home pay. They do not create a second payroll expense. Posting them as additional debits would overstate both expenses and the payroll liability.
An employer contribution is a cost paid on top of employee gross. Employer EPF, employer SOCSO, and employer EIS therefore increase the debit to 5200. HRDF increases the debit to 5210.
GetPay's calculateStatutory(grossSalary, age, employees) returns these fields:
epf.employeeandepf.employer;socso.employeeandsocso.employer;eis.employeeandeis.employer;pcb;hrdf;total_employee_deductions;total_employer_contributions; andnet_salary.
For GL posting, epf.employee, socso.employee, eis.employee, and pcb explain the difference between gross and net. The expense journal uses employee gross plus the employer-side fields. This distinction is the bridge between payroll mathematics and double-entry accounting.
How does GetPay calculate the statutory components?
GetPay's current calculator uses age-sensitive EPF logic, SOCSO and EIS bracket tables, a simplified PCB estimate, and an employee-count condition for HRDF.
The calculator's EPF branches are:
- below age 55: employee 11%; employer 13% when salary is RM5,000 or below, otherwise 12%;
- age 55 to 59: employee 5.5%; employer 6.5%; and
- age 60 and above: employee 0%; employer 6%.
These branches describe GetPay's current software behaviour, not a replacement for the latest KWSP Third Schedule. Verify production contribution amounts against current KWSP guidance, especially when age, citizenship, registration date, or the applicable contribution schedule changes. The calculator rounds each percentage-derived EPF amount to the nearest ringgit. SOCSO uses the first-category bracket below age 60 and the employer-only second-category amount from age 60. EIS returns zero from age 57 in the current implementation. SOCSO and EIS values come from GetPay's bracket tables rather than a flat multiplication.
PCB in the current calculator is explicitly a simplified estimate. It annualises monthly salary, applies the relief assumptions coded in the calculator, works through its stored tax brackets, converts the result back to a monthly amount, and returns zero below its RM10 minimum threshold. Do not present that estimate as a substitute for LHDN's current computerised calculation method, employee-specific relief data, or an official payroll filing. Reconcile production payroll against LHDN's published guidance.
HRDF is calculated as 1% of gross when the employees argument is at least 10; otherwise this calculator returns zero. Actual HRD Corp registration and levy applicability depend on the employer's circumstances. The GL rule is stable even when the amount is zero: post the amount returned for the run, and do not invent a levy outside the payroll record.
What does a complete RM4,000 employee example look like?
Assume one employee with:
- gross salary of RM4,000.00;
- age 35;
- an
EMPLOYEEclassification; and - an
employeesinput of 10 for the HRDF calculation.
Using GetPay's current calculator and the RM4,000 rows in its SOCSO and EIS bracket data:
| Component | Employee deduction (RM) | Employer cost (RM) |
|---|---|---|
| EPF | 440.00 | 520.00 |
| SOCSO | 19.75 | 69.15 |
| EIS | 7.90 | 7.90 |
| PCB simplified estimate | 50.00 | — |
| HRDF | — | 40.00 |
| Total | 517.65 | 637.05 |
The payslip arithmetic is:
Gross salary RM4,000.00
Less employee EPF 440.00
Less employee SOCSO 19.75
Less employee EIS 7.90
Less PCB 50.00
Net salary RM3,482.35
The employer-side EPF, SOCSO, and EIS total RM597.05. HRDF is kept separate at RM40.00. The earned payroll journal is:
| GL account | Debit (RM) | Credit (RM) |
|---|---|---|
| 5100 Salary, Allowance & Wage | 4,000.00 | — |
| 5200 EPF & Socso | 597.05 | — |
| 5210 HRDF Levy | 40.00 | — |
| 2500 Accrued Expenses | — | 4,637.05 |
| Total | 4,637.05 | 4,637.05 |
Why is the credit RM4,637.05 rather than RM3,482.35? Because 2500 must cover every cash outflow needed to settle this payroll:
| Settlement payee | Amount (RM) |
|---|---|
| Employee net salary | 3,482.35 |
| EPF: employee 440.00 + employer 520.00 | 960.00 |
| SOCSO: employee 19.75 + employer 69.15 | 88.90 |
| EIS: employee 7.90 + employer 7.90 | 15.80 |
| LHDN PCB | 50.00 |
| HRDF | 40.00 |
| Total cash required | 4,637.05 |
The two totals agree to the sen. Employee deductions have changed who receives the cash; they have not changed the RM4,000 employee gross expense.
How should an LLP partner or director-owner be posted?
GetPay distinguishes EMPLOYEE, PARTNER, and DIRECTOR_OWNER in employees.employee_type. That is an accounting and legal classification, not a label to choose for a lower payroll bill.
For PARTNER and DIRECTOR_OWNER rows, GetPay sets gross equal to net, leaves all statutory payroll columns at zero, and does not require date of birth. The payroll journal debits 2200 Directors Account for the gross drawing rather than debiting 5100 salary expense.
If the RM4,000 employee example is in the same run as an LLP partner drawing RM6,000, the combined accrual becomes:
| GL account | Debit (RM) | Credit (RM) |
|---|---|---|
| 5100 Salary, Allowance & Wage | 4,000.00 | — |
| 5200 EPF & Socso | 597.05 | — |
| 5210 HRDF Levy | 40.00 | — |
| 2200 Directors Account | 6,000.00 | — |
| 2500 Accrued Expenses | — | 10,637.05 |
| Total | 10,637.05 | 10,637.05 |
The partner's RM6,000 does not enter salary expense or the statutory calculations in this model. Before using that treatment, confirm that the person truly acts as a partner or director-owner under the entity's governing arrangements. An employee must not be reclassified merely to produce zero statutory deductions.
How is the payroll liability settled when the bank clears?
The accrual records what was earned. Settlement records what left the bank. GetPay connects these events through 2500 Accrued Expenses.
When an imported bank row is a debit and passes both settlement gates, GetPay posts:
Dr 2500 Accrued Expenses
Cr mapped bank account
The first gate is a salary-related category: SALARY, OWNER, EPF, SOCSO_EIS, HRDF, or PCB_TAX. The second gate requires a payroll-related keyword in the description, including terms such as salary, gaji, allowance, drawing, EPF, KWSP, SOCSO, PERKESO, EIS, SIP, PCB, LHDN, HRDF, PSMB, or pembangunan. This two-gate design stops an OWNER category from automatically clearing payroll for an unrelated owner transaction.
For example, if the employee's RM3,482.35 net salary leaves a mapped Public Bank account, the settlement journal is:
| GL account | Debit (RM) | Credit (RM) |
|---|---|---|
| 2500 Accrued Expenses | 3,482.35 | — |
| 1110 Public Bank | — | 3,482.35 |
GetPay creates the same two-line shape for each qualifying EPF, SOCSO/EIS, PCB, HRDF, and partner-drawing bank debit. Each bank transaction remains individually traceable. Once all RM4,637.05 of the employee example has cleared, the related balance in 2500 is zero. If only net salary has cleared, RM1,154.70 remains accrued for the statutory and HRDF payments.
Which payroll posting mistakes break the trial balance or P&L?
Posting net pay to 5100
Debiting RM3,482.35 instead of RM4,000 understates salary expense by RM517.65. That missing amount is not a saving; it is cash withheld from the employee for EPF, SOCSO, EIS, and PCB.
Expensing employee deductions twice
Debiting gross salary and then separately debiting employee EPF or PCB overstates expense. Only employer contributions sit on top of gross in this journal model.
Crediting the bank during the earned entry
Payroll may be earned at month-end and paid later. Crediting the bank before the payment appears erases the timing difference and makes bank reconciliation harder. Credit 2500 on accrual; credit the bank on settlement.
Putting partner drawings through salary expense
For an LLP payroll row genuinely classified as PARTNER or DIRECTOR_OWNER, GetPay uses debit 2200 and zero statutory amounts. Sending that drawing through 5100 changes the P&L and contradicts the selected payroll classification.
Clearing 2500 from category alone
A broad category can contain non-payroll transactions. GetPay requires both the category and description keyword before automatically posting the settlement. A manual process should use equally specific evidence: bank date, payee, reference, category, and the underlying payroll run.
Month-end payroll reconciliation checklist
If your team needs help reviewing payroll classifications or statutory postings, browse Malaysian payroll and HR providers in the GetPay directory.
- Tie the sum of
EMPLOYEE.grossto debit 5100. - Tie employer EPF + employer SOCSO + employer EIS to debit 5200.
- Tie HRDF to debit 5210 without mixing it into 5200.
- Tie
PARTNERandDIRECTOR_OWNERgross to debit 2200. - Confirm total debits equal the credit to 2500 before posting.
- Reconcile gross less
total_employee_deductionstonet_salary. - Prove that net salary plus all employee deductions plus employer contributions equals the amount credited to 2500.
- Match every debit to 2500 against a real salary, owner, EPF, SOCSO/EIS, HRDF, or PCB bank payment.
- Investigate any residual 2500 balance by payee and component; do not force-clear it to expense.
- Use current KWSP, PERKESO, LHDN, and HRD Corp guidance for statutory filing amounts and eligibility. The worked figures above explain GetPay's current calculation and posting logic, not personalised tax or legal advice.
Frequently Asked Questions
Should payroll expense be posted at gross salary or net salary?
Post employee payroll expense at gross salary. Net salary is the cash amount owed to the employee after deductions; employee EPF, SOCSO, EIS, and PCB remain liabilities to be remitted. In GetPay's posting model, employee gross is debited to 5100 and the complete payroll obligation is credited to 2500.
Are employer EPF, SOCSO, and EIS contributions included in salary expense?
They are additional employer costs, but GetPay separates them from gross salary. Employee gross is debited to 5100, while the employer portions of EPF, SOCSO, and EIS are aggregated and debited to 5200. HRDF is separately debited to 5210.
Why is PCB not debited to a payroll expense account?
PCB is withheld from the employee's gross remuneration. It reduces the net amount paid to the employee but does not increase employer payroll expense. It stays within the payroll accrual until the employer remits that amount to LHDN.
How does GetPay account for an LLP partner's monthly drawing?
A row classified as PARTNER or DIRECTOR_OWNER has gross equal to net and zero EPF, SOCSO, EIS, PCB, and HRDF in GetPay. Its amount is debited to 2200 Directors Account, not 5100 Salary, Allowance & Wage. The classification must reflect the person's real legal and employment status.
When is the payroll liability cleared from the GL?
The earned payroll run credits 2500 Accrued Expenses. Later, each qualifying salary, owner drawing, EPF, SOCSO/EIS, HRDF, or PCB bank debit posts debit 2500 and credit to the mapped bank account. When every component is paid and matched correctly, the payroll accrual clears.
Sources & Ground Truth
Ready to automate your Malaysian e-invoicing & bookkeeping?
GetPay handles 100% compliant e-invoices, multi-bank reconciliation, and statutory payroll out of the box.
Related Articles
The Complete Malaysian SME Accounting & LHDN e-Invoicing Blueprint 2026
A practical 2026 blueprint for Malaysian SME accounting, MyInvois e-Invoicing, statutory payroll journals, net-settlement reconciliation, SST and entity controls.
Multi-Currency Invoicing & Foreign Exchange Gain/Loss Double-Entry Journaling
A Malaysia-focused guide to multi-currency invoices, realized and unrealized foreign exchange gains or losses, month-end revaluation, settlement journals, and MyInvois currency fields.
Form EA & Form E Generation: Employer Year-End Statutory Payroll Reporting
A practical Malaysian employer guide to Form EA, e-CP8D and e-E: close payroll, separate employees from contractors, reconcile annual totals, generate reports and file in the correct order.