Tag Archives: Payroll

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.

Set the account security level
Setup 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
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.
By employee by account report

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.

QuickBooks accounting software| How to block the user from accessing the payroll detail?

Software: Intuit QuickBooks accounting software

The added on Payroll feature in Intuit QuickBooks accounting software is unavailable to Singapore user.

If your payroll is simple, you may consider using the Write Cheque feature, or General Journal to record the payroll in QuickBooks accounting software.

However, for those users who has an assistant, who has the access to the Accounts Receivable, Accounts Payable and Write Cheque feature in QuickBooks, helping you recording the daily transactions; but you do not want him/her accessing the payroll detail of the individual staff which you had recorded in the QuickBooks may consider setting up the assistant with no access to:

  • Payroll and Employees
  • Sensitive Accounting Activities
  • Sensitive Financial Reporting

QuickBooks - Access

Assume that you have two employees, Employee ONE and Employee TWO, whom you need to track the payroll detail in QuickBooks.

The Pay packages for Employee ONE:


Salary: 2500
CPF Employer (16%): 400


CPF Employer (16%): 400
CPF Employee (20%): 500

Total deduction: 901

Net pay: 1999

The Pay packages for Employee TWO:


Salary: 3000
CPF Employer (16%): 480


CPF Employer (16%): 480
CPF Employee (20%): 600

Total deduction: 1081

Net pay: 2399

Your assistant, who can access to the Write Cheque function in QuickBooks, may record the monthly net payroll expenses (the net amount paid to the staffs) in QuickBooks via a Write Cheque transaction.

Since you are not going to let the assistant know the employee name, you may simply use “Payroll” as a payee, which can be an Other Name type, and use the Payroll expense account under the expenses tab.

QuickBooks - Write Cheque

The double entry for the Write Cheque transaction:

Debit Payroll Expenses 4398.00

Credit Bank 4398.00

As an administrator, you can use a General Journal to reclassify the payroll expenses into:

Credit Payroll Expenses 4398

Debit Salary 2500 – Employee ONE
Debit CPF Employer 400 – Employee ONE

Credit Payroll Liability 400 (Employer) – Employee ONE
Credit Payroll Liability 500 (Employee) – Employee ONE
Credit Payroll Liability 1 (CDAC) – Employee ONE

Debit Salary 3000 – Employee TWO
Debit CPF Employer 480 – Employee TWO

Credit Payroll Liability 480 (Employer) – Employee TWO
Credit Payroll Liability 600 (Employee) – Employee TWO
Credit Payroll Liability 1 (CDAC) – Employee TWO

 QuickBooks - General Journal

Since there is no access given, when your assistant try to access the payroll account or general journal, a warning message will be prompted.

QuickBooks - Warning

You can use the transaction detail by account report to view the payroll information of the individual employee.

QuickBooks - Report

The CPF payable for the month has already accrued to the Payroll Liability account, you can pass a journal to debit the Payroll Liability (1982) and credit Bank when the payment is made to the CPF Board.



Software: MoneyWorks accounting software

The MoneyWorks accounting software doesn’t have a Payroll module built in. To record the Salary payment to your staff you may consider using the Payment transaction.

Assuming you have an employee with a salary of $2,000.00, the CPF employee is at 20% and CPF employer is at 17%. On top of that a CDAC fund of $1.00 need to be deducted from the employee salary.

In the above example, there are two payment need to be made. One is paid to the employee and the other to CPF Board.

You may create the employee name as a Supplier name type and the account used in the Payment transaction will be:

Salary expense account:               $2,000.00

CPF Employer expense account: $340.00 ($2000 * 17%)

Less: CPF Payable (Current Liability account type, for CPF employer): ($340.00)

Less: CPF Payable (Current Liability account type, for CPF employee at 20%): ($400.00)

Less: CPF Payable (Current Liability account type, for CDAC fund): ($1.00)

The net payable to staff will be: $1,599.00 and this amount will be deducted from the Bank account.

payment to employee

The double entry for this transaction will be:

Debit: Salary Expense: $2,000.00

Debit: CPF Employee Employer expense account: $340.00

Credit: CPF Payable (Current Liability account): $340.00

Credit: CPF Payable (Current Liability account): $400.00

Credit: CPF Payable (Current Liability account): $1.00

Credit: Bank account: $1,599.00

The next payment is to pay CPF Board for the amount owing of $741.00. The double entry for this payment will be:

Debit: CPF Payable (Current Liability account): $741.00

Credit: Bank account: $741.00