Understanding Inland Revenue Reporting
Global Payroll for Malaysia enables you to capture, generate, and maintain employee and company identification and biographical data that supports the reporting requirements of the Inland Revenue Board (IRB). The system meets the department's requirement to produce the CP21, CP22, CP22A, CP8A, CP39, CP159, CP159A/PCB2, EPF Form A, EPF Summary, SOCSO Form 2, SOCSO Form 8A, SOCSO Form 8B, SOCSO Form 3, and Form E forms.
Many IRB reports are required as part of the process of terminating employment. A complete listing of termination reports is provided in the topic "Managing Termination Payments.
See Creating Termination Reports.
Note: The GP_PR_TMP, GP_PR_TMP2, and the GPMY_PR_TMP3 tables that are discussed in this section are temporary tables and serve as temporary storage mechanisms for processing data.
CP21 Processing
The CP21 report notifies the IRB of an employee's intention to depart from Malaysia for a period exceeding three months. The CP21 form contains four sections: Employer Details, Employee Details, Remuneration Details, and Other Particulars. Employer details come from the Tax Number Table MYS. Employee details come from the Employee Tax Details , the employee's Personal Data and Maintain Termination Data pages. Remuneration details show the employee earnings, grouped according to user-defined parameters. Other particulars require details of the tax payments and deductions that have been made, and the employee's approved EPF contributions.
Global Payroll for Malaysia enables you to run this report on an as-needed basis. To do so, the system uses Structured Query Report Writer (SQR) GPMYTX01 to:
Retrieve the company details from the Tax Number Table MYS.
Retrieve payee information, dependent details, passport or NIC numbers, and spousal information.
Retrieve Remuneration from the View CP21 Details MYS, Salary Details page.
Format the data and print the form.
Global Payroll for Malaysia enables you to view and modify CP21 data online before finalizing the data. You can print the report multiple times.
CP22 Processing
This report notifies the IRB of a new employee. The report provides the following information: employee name and address, nature of employment, date of hire, gross monthly salary, expected duration of employment, marital status, and previous employer's name and address.
The CP22 form contains four sections: Employer Details, Employee Details, Terms of Employment, and Previous Employer. Employer details come from the Tax Number Table MYS. Employee details come from the employee's Maintain Tax Details, Personal Data and Dependent Beneficiary pages. Employee salary, Leave Pay, Bonus, Cash allowances including Tax Borne by Employer, BIKs, Values Of Living Accommodation provided by Employer, Allowances in Kind (for example: value of food, clothing, lodging, etc.), and Other payments will be displayed as part of monthly remuneration. The Previous Employer section displays the name and address of the previous employer.
With effect from 01st January 2021, Form CP22 is generated in BIP format as per the latest IRD specifications. Form CP22 in BIP format is delivered with the assumption that end user environment does support the BIP Reporting Template. The form CP22 is generated using Application Engine, and will continue to use the same run control parameters as that of GPMYTX02.sqr.
To produce this report in BIP format, the system uses GPMY_CP22 application engine to:
Retrieve the employee's monthly salary details from the payroll results.
Print the report.
Currently, it is not possible to view and modify the CP22 data results before printing.
You can also generate this report using SQR GPMYTX02. SQR report will be maintained until January 2022, but it doesn't reflect any latest IRD specifications.
CP22A Processing
This report notifies the IRB of employees who have ceased their employment. The report provides the following information: employee name and address, nature of employment, gross monthly salary, duration of employment, and marital status.
The CP22A form contains six sections: Employer Details, Employee Details, Spouse Details, Particulars of Monthly Remuneration, Terms of Employment, and Previous Employer. Employer details come from the Tax Number Table MYS. Employee details come from the employee's Maintain Tax Details , Termination, Dependent Beneficiary or the Personal Data pages. The Remuneration section includes information about the employee wage, fixed allowances, and any fluctuating earnings. Other Particulars require details of the tax payments/deductions that have been made, and the employee's contributions to approved Provident or Pension Funds (EPF).
Global Payroll for Malaysia enables you to run this report on an as-needed basis. To do this, the system uses SQR GPMYTX03 to:
Retrieve the employee's gross salary, leave pay, bonus, gratuity, allowances, tax, and EPF contributions from the GPMY_PR_TMP3 table.
Print the details.
Global Payroll for Malaysia enables you to view and modify CP22A data online before finalizing the data. You can print the report multiple times.
CP8A Processing
This annual statement reports total remuneration and tax deductions for an employee. This report is created at the end of the year, or when an employee is terminated. The report contains information about the payee, income, tax deductions, EPF deductions, and arrears payments. This form is give to the employee and the employee submits it to the IRB
To create this report, the system uses SQR GPMYTX07 to:
Extract the company details from the COMPANY table and Tax Number Table MYS.
Build the ORDER BY clause based on the sorting sequence and payee sort order.
Compute the total remuneration and tax paid by using the View CP8A Details pages (GPMY_CP8A_HDR, GPMY_CP8A_DTL1, and GPMY_CP8A_DTL2 tables).
Format the data and print the form.
Global Payroll for Malaysia enables you to view and modify CP8A data online before finalizing the data. You can print the report multiple times.
CP39 Processing
Form CP39 lists all employees and the tax deductions that are made on their behalf. This is generally run and sent to the IRB monthly. To do this, the system uses SQR GPMYTX04 to:
Total the tax remitted to the IRB for all payees for the appropriate month.
Print the report.
CP159 Processing
Form CP159 reports, by month, the remuneration that is paid during the year and the projected and actual income tax that is deducted. The employer sends this report directly to the IRB. The report contains three sections: Employer Details, Deductions and Remuneration Summary, and Certification Details. To create this report, the system uses SQR GPMYTX05 to:
Retrieve the gross remuneration, taxable gross, and tax deducted from the GPMY_PR_TMP and GPMY_PR_TMP3 tables for each payee.
Store these values in an array.
Retrieve the company details from the Tax Number Table MYS.
Total the amounts for gross remuneration, taxable gross, and tax deducted.
Print the details in English or Malay.
Global Payroll for Malaysia enables you to view and modify CP159 data online before finalizing the data. You can print the report multiple times.
CP159A/PCB2 Processing
PCB2 is a letter confirming that the employer has made all of the relevant deductions for a given year. It includes the year, employee name, identity card number, income tax reference number, and employee number. This form is given to the employee who submits it to the IRB. To create this report, the system uses SQR GPMYTX08 to:
Retrieve the following information for each employee:
Name, identity card number, and payee tax reference number.
Tax deducted for the tax year, from the GPMY_PR_TMP and GPMY_PR_TMP3 tables.
Receipt date and receipt number, from the GPMY_CP159_RCT table.
Print the details.
Write the data to a .lis file.
EPF Form A Processing
This is a monthly statement of EPF contributions. To produce this report, the system uses SQR GPMYEP01 to:
Set the end date of the contributing month.
Open the output file (if you select Output to Interface file on the EPF Form A page).
Join the JOB, GPMY_EPF_PYE, and NAMES tables to select payees.
Join the GPMY_EPF_ORG, GPMY_EPF_ORG_DT, and GPMY_EPF_TBL tables to select the EPF number details.
Write the file header and employer header records to the output file.
Join the GPMY_PR_TMP3 and GPMY_PR_TMP tables to determine the payee and employer EPF contributions for the month.
Retrieve the employee's national ID type.
Print the report listing payees and contribution amounts.
Prepare the output file.
EPF Summary Report Processing
This report provides the details of employees and their EPF contributions. You can create it for any period, such as a month or a year.
To create this report, the system uses SQR GPMYPY06 to:
Extract data from the applicable tables based on the Organizational Link Option selected on the run control page (for example, company details from the Company table and Tax Number Table MYS).
Build the ORDER BY clause based on the sorting sequence and payee sort order.
Format the data and print the report.
Because this is a summary report, there is no option to view and modify CP8A data online before printing.
SOCSO Form 2 Processing
This monthly report shows SOCSO data for all new employees that were hired during the month. To produce this report, the system uses SQR GPMYSO02 to:
Build the WHERE clause for selecting the supplied SOCSO number, if the SOCSO Reference Number field is populated.
Join the GPMY_SOC_ORG_DT, GPMY_SOC_ORG, and GPMY_SOC_TBL tables to extract the company details.
Join the GPMY_SCO_PYE, NAMES, PERSON, and PERS_DATA_EFFDT tables to select the employee details for the specified duration.
Retrieve the employee's national ID type.
Print the report.
SOCSO Form 8A Processing
This monthly report shows SOCSO contributions for all employees and their associated SOCSO reference numbers. You can produce both a printed report and a flat file. To do this, the system uses SQR GPMYSO03 to:
Join the GPMY_SOC_ORG, GPMY_SOC_ORG_DT, GPMY_SOC_TBL, GPMY_SOC_PYE, and NAMES tables to select the payees and organization unit details for the organizational link option, organizational link unit, and SOCSO reference number that is entered on the run control page.
Join the GPMY_PR_TMP3 and GPMY_PR_TMP tables to determine the total SOCSO contributions by all payees in the organizational unit for the given month.
Join the GPMY_PR_TMP3 and GPMY_PR_TMP tables to determine the total number of payees who are contributing in SOCSO for the period.
Retrieve the employees' national ID type.
Check the status of the contributing payees, if they are terminated.
Prepare the data for the output file.
Create the output file.
Print the details.
SOCSO Form 8B Processing
This monthly report shows SOCSO arrears contributions for employees. To create this report, the system uses SQR GPMYSO01 to:
Join the GPMY_SOC_ORG, GPMY_SOC_ORG_DT, GPMY_SOC_TBL, GPMY_SOC_PYE, and NAMES tables to retrieve the payee and organizational link unit details.
Join the GPMY_PR_TMP3 and GPMY_PR TMP tables to determine the total SOCSO arrears contributions for all the contributing payees in the organizational unit for the period.
Join the GPMY_PR_TMP3 and GPMY_PR_TMP tables to determine the total number of payees that made SOCSO arrears payments for the period.
Retrieve the employee's national ID type.
Check the status of the contributing payees if they are terminated.
Print the report.
SOCSO Form 3 Processing
This monthly report shows SOCSO information for all payees who were terminated during the month. To create this report, the system uses SQR GPMYSO04 to:
Build the WHERE clause for selecting the supplied SOCSO number, if the SOCSO Reference Number field is populated on the run control page.
Join the GPMY_SOC_ORG_DT and GPMY_SOC_ORG tables to retrieve the company details.
Join the GPMY_SOC_PYE, PERSONAL_DATA, NAMES, PERSON, and PERS_DATA_EFFDT tables to retrieve the payee details for the duration and SOCSO number specified.
Retrieve the employee's national ID type.
Print the report.
Form 8D Processing
Form 8D is the annual return that is completed by employers. It identifies all payees, their total remuneration, and total tax deductions for the year. To create this report, the system uses GPMYTX06 to retrieve the Form 8D value from the GPMY_EPL_TX_DTLS table for each employee.
If the Form 8D value is less than the tax year, then the payee has been previously declared. The system determines the total annual salary and the total annual tax from the TMP3 table and prints the details.
If the Form 8D value is 0 or equal to the current tax year, then the payee is being declared for the first time. The system determines the total annual salary and the total annual tax from the TMP3 table and prints the details. It then updates the FIRST_FORME_REPORT field of the GPMY_EPL_TX_DTLS table.
Form E Processing
Form E is the cover note for the annual return (Form 8D) that is completed by employers. It gives the consolidated details of employee remuneration and tax deductions for the year.
To create this report, the system uses GPMYTX09 to:
Extract the company details from the COMPANY table and Tax Number Table MYS.
Build the ORDER BY clause based on the sorting sequence and payee sort order.
Format the data and print the form.
Because this is a cover report, there is no option to view and modify Form E data online before printing.
Field or Control |
Description |
---|---|
Organizational Link Option |
Select the entity type. Options are Company, Establishment, Department, Pay Group, or Location. This field is mandatory. |
Business Unit |
Select the business unit. This field is required when the organizational link option is Location or Department. |
Tax Year |
Enter the tax year for which the report is generated. This is the year of assessment, which begins on January 1 and ends on December 31. |
SOCSO Reference Number |
Select the SOCSO reference number for the organizational link option and organizational unit selected. If this field is left blank, all available numbers are used. |
Tax Number |
Select the tax reference number for the organizational link option and organizational unit. |