• EH Lim

How to record a payroll entry?

MoneyWorks is accounting software, not a payroll system; it will not auto-compute the staff salary (e.g. bi-monthly part-timer's hourly wages or change of CPF contribution according to the employee's age). A payroll system or a spreadsheet (if it is simple) will do a better job than an accounting system.


Of course, although the accounting system does not compute payroll, you still have to record the monthly payroll via a general journal or payment transaction to update the ledger.


If you are entering the payroll in a lump sum via a general journal, then the journal could be:

DR. Salary expense (PL)

DR. CPF employer contribution (PL)

CR. Accrued CPF payable (BS)

CR. Accrued salary or the bank account (BS)


CPF, the Central Provident Fund, is like the Social Security fund in some countries. The contribution rate will change according to the employee's age. The employer contribution is a company expense, whereas the employee contribution is deductible from the employee's salary. Both CPF contributions will be accrued together with the SHG funds and paid out to the CPF Board on the next due.

SHG funds (Self-help group funds) include:

  • Chinese Development Assistance Council (CDAC) Fund

  • Mosque Building and Mendaki Fund (MBMF)

  • Eurasian Community Fund (ECF), and

  • Singapore Indian Development Association (SINDA) Fund.

Assuming the monthly payroll for the company is:

Salary: 10,000

CPF Employer (17%): 1,700

CPF Employee (20%): 2,000

Self-help group funds: 2


Then, the general journal will be:

DR. Salary (PL): 10,000

DR. CPF Employer (PL): 1,700

CR. Accrued CPF (BS): 3,702

CR. Accrued salary or the bank account (BS): 6,298


Credit the accrued salary account instead of the bank account, and then use a payment transaction to pay the employee individually with the accrued salary account to facilitate the bank reconciliation later. Of course, you should consider setting a security level on those payroll-related accounts to prevent unauthorised MoneyWorks users from viewing the transaction history.



Account security level
Account security level

Payment transaction method


You may also consider using a payment transaction to enter the monthly payroll of each employee instead of using a general journal to record the payroll for the month in a lump sum. This method works if you prefer to view the ledger detail by the employee.

Assuming you have two employees.

Employee A:

Salary: 3,000

CPF employer contribution (17%): 510

CPF employee contribution (20%): 600

SHG fund: 1


Employee B:

Salary: 4000

CPF employer contribution (17%): 680

CPF employee contribution (20%): 800

SHG fund: 1


To enter the employee payroll for the month, you have to add the expense and less the accrual within a payment transaction. In the payment transaction, select the appropriate bank account and payee, and in the detail section, enter as:


Row1: Salary expense: 3,000

Row2: CPF employer contribution: 510

Row3: Accrued CPF payable: -510 (for CPF employer contribution)

Row4: Accrued CPF payable: -600 (for CPF employee contribution)

Row5: Accrued CPF payable: -1 (for SHG funds deduction)


So, the transaction gross for the payment will be 2,399.00



Payroll payment transaction
Payroll payment transaction

You can enter all the accrued CPF payable into a single row (lump sum) or multiple rows as in my above example, but having rows with descriptions separating different type of deduction facilitate inquiry and printing reports.

Assuming you wish to print a report by the employee by account. You can first create an account inquiry, then shortlist the employees or transactions and print the list with subtotal by the employee.


payroll report - by employee by account
payroll report - by employee by account

A payroll system will be more complex in reporting, and more features available (e.g. adjusting CPF rate based on the employee age, calculating the hourly wage for each employee, etc.). Using an accounting system for recording payroll may be workable for those SOHO or small businesses with fewer employees or require only basic payroll entry.


Do visit the Cognito website if your development team would like to integrate the payroll system with MoneyWorks accounting software, or engage a MoneyWorks consultant if you wish to import transactions into the accounting system.

3 views0 comments

Recent Posts

See All

The new feature includes downloading the sales from Shopify, BigCommerce, and WooCommerce eCommerce store as a service for MoneyWorks