payroll
Run Monthly Payroll
End-to-end walkthrough for running a monthly payroll in IntBooks. Covers EPF, SOCSO, EIS, HRDF, PCB, payslip generation, bank file export, and statutory submissions.
Last updated:
This article walks you through running a monthly payroll in IntBooks from start to finish. By the end you’ll have payslips ready to distribute, statutory contribution files ready to upload to KWSP, PERKESO, and HRD Corp, and a bank disbursement file ready for your business banking portal.
Prerequisites
- The HR module is enabled (included on Professional and above)
- All employees have active employment records under HR → Employees
- Each employee has a bank account number for salary disbursement
- Each employee has a TIN and NRIC for statutory submissions
- Your EPF, SOCSO, EIS, and HRDF employer registration numbers are entered in Settings → Payroll
- A payroll structure is assigned to each employee (basic + allowances + deductions)
Step 1: Open the payroll run
Go to HR → Payroll → New Run. The form pre-fills:
- Period — the current month (e.g.,
April 2026) - Pay date — the last working day of the month (configurable per organization)
- Cycle —
Monthly(the standard cycle for Malaysian salaried staff)
Click Create Run. IntBooks creates a draft payroll run and adds every active employee.
Step 2: Review attendance and leave
If you’ve enabled the Time & Attendance module, the payroll run automatically pulls each employee’s:
- Working days for the period
- Approved leave days (annual, medical, unpaid)
- Approved overtime hours
- Approved claim amounts (mileage, per diem, training reimbursement)
Without the Time & Attendance module, the payroll defaults to a full month and you can manually enter overrides in the run.
Step 3: Calculate gross pay
For each employee, click Calculate in the row to compute gross pay:
Gross pay = Basic salary
+ Fixed allowances (housing, transport, etc.)
+ Variable allowances (overtime, commission, bonus)
+ Reimbursements (mileage, claims)
- Unpaid leave deduction
The system applies your organization’s payroll structure to derive the components and uses each employee’s individual rate.
Step 4: Calculate statutory contributions
After gross pay is set, click Calculate Statutory in the run header. The system computes:
EPF (Kumpulan Wang Simpanan Pekerja)
| Wage range | Employer | Employee |
|---|---|---|
| Up to RM 5,000 | 13% | 11% |
| Above RM 5,000 | 12% | 11% |
Both portions are calculated against the EPF wage which excludes most reimbursements (the exact list of EPF-exempt items is in the EPF Act).
SOCSO (Pertubuhan Keselamatan Sosial)
SOCSO is calculated against the graduated wage scale published by PERKESO. The 1st category (Employment Injury + Invalidity) applies to most employees; the 2nd category (Employment Injury only) applies to employees aged 60 and above. The exact contribution per wage band is in the PERKESO contribution table.
EIS (Employment Insurance System)
Both employer and employee contribute 0.2% of monthly wages, capped at RM 9.90 each.
HRDF (HRD Corp Levy)
Applies to employers in approximately 80 covered MSIC sectors with at least 10 employees. The rate is 0.5% or 1% of each employee’s monthly wages depending on the sector.
PCB (Potongan Cukai Bulanan / Monthly Tax Deduction)
PCB is the income tax withholding for each employee, calculated using LHDN’s official PCB calculator formula based on the employee’s:
- Monthly wages
- Year-to-date wages
- Tax category (single, married, married with non-working spouse)
- Number of children
- Approved tax reliefs (lifestyle, medical, education, etc.)
IntBooks updates the PCB formula whenever LHDN publishes a new revision.
Step 5: Review the run
The run summary shows:
- Total gross pay
- Total EPF (employer + employee)
- Total SOCSO (employer + employee)
- Total EIS (employer + employee)
- Total HRDF
- Total PCB withheld
- Total net pay (what employees receive)
- Total cost to company (gross + employer statutory)
Drill down on any line to see the per-employee breakdown. If anything looks off, click an employee row to fix the underlying value, then re-calculate.
Step 6: Approve the run
When the totals look correct, click Approve Run. Approval requires the Payroll Approver role and is logged in the audit trail. Once approved, the run cannot be edited — only voided and re-run.
Step 7: Generate payslips
Click Generate Payslips in the run header. IntBooks generates one PDF payslip per employee with:
- Company logo and details
- Employee name, NRIC, TIN, EPF number
- Pay period
- Gross pay breakdown
- Statutory deductions (employer + employee portions visible)
- Net pay
- Year-to-date totals
You can download all payslips as a single ZIP, or click Email Payslips to email each one to the employee’s registered email address. Each PDF is encrypted with the employee’s NRIC as the password.
Step 8: Generate statutory submission files
Click Generate Statutory Files in the run header. IntBooks produces:
| Agency | File format | Submission portal |
|---|---|---|
| KWSP (EPF) | i-Akaun text file | i-Akaun Employer portal |
| PERKESO (SOCSO + EIS) | Borang 8A text file | ASSIST Portal |
| HRD Corp (HRDF) | e-Disbursement file | e-TRiS portal |
| LHDN (PCB) | CP39 text file | e-PCB portal |
Download each file and upload it to the corresponding portal. The submission process is identical regardless of which payroll system you use — IntBooks only generates the files; the portals do the actual remittance.
Step 9: Pay the employees
Click Generate Bank File in the run header. Pick your bank:
| Bank | Format |
|---|---|
| Maybank | M2U Biz CSV |
| CIMB | BizChannel CSV |
| Public Bank | PBe-Cash CSV |
| RHB | Reflex Premium Plus CSV |
| Hong Leong | HLB Connect CSV |
| Bank Islam | BIMB Biz CSV |
| Ambank | AmAccess Biz CSV |
| OCBC | Velocity@OCBC CSV |
Download the file, upload it to your bank’s bulk payment screen, and authorize the disbursement. Most Malaysian business banking portals process bulk salary disbursements within the same day if uploaded before the daily cutoff.
Step 10: Post to the General Ledger
Once disbursement is confirmed, click Post to GL. The payroll run posts to your accounting ledger as:
- Salary Expense — debit, total gross pay
- EPF Expense — debit, employer EPF
- SOCSO Expense — debit, employer SOCSO + EIS
- HRDF Expense — debit, HRDF levy
- Cash / Bank — credit, net pay disbursed
- EPF Payable — credit, total EPF (employer + employee)
- SOCSO Payable — credit, total SOCSO + EIS
- HRDF Payable — credit, HRDF levy
- PCB Payable — credit, PCB withheld
You then pay each statutory liability separately when you remit through the portals.
Year-end activities
At year-end, generate the EA Forms for each employee from HR → Year-End → EA Forms. Each EA Form summarizes the employee’s full-year wages, statutory contributions, PCB withheld, and any benefits in kind (BIK) and is required to be issued to every employee by 28 February of the following year.
What’s next?
- Connect your bank account — direct feed for the bank account that pays salaries
- Reconcile bank statements — match the salary disbursement to your bank statement
- Invite team members — give your HR officer access to the payroll module