How to change the tax code (GST code) in a transaction?

When entering a transaction (e.g. a purchase invoice) in MoneyWorks, the tax code used in the detail line follows the tax code set in the account used. For example, the transaction tax code will be OP (Out-of-Scope) if the tax code for the account (e.g. prepayment account) is OP tax code.

You can change the tax code (under the TC column) when entering the transaction, such as changing OP to G tax code (except * tax code). Usually, non-taxable account such as the bank, shareholder funds, accounts receivable and accounts payable use * tax code. If you have an account with a * tax code in a transaction and wish to change, you got to do it at the account level instead (From the accounts list, highlight the account you want to amend and click on the Modify button to edit the tax code).

Change GST code
Change tax code (GST code)

Override tax code

If there is any tax code set in the name profile (Supplier or customer), the tax code set in the name profile will override the tax code in the account. Assuming the tax code for the prepayment account is OP, and the tax code in the supplier is G tax code. When entering a transaction for the supplier with the prepayment account, MoneyWorks will pick up the G tax code instead of OP to calculate the GST (Goods and Services Tax).

Override GST code
Override tax code (GST code)

Override tax code helps speed up data entry and reduce entry errors. For example, you have tagged the G tax code (standard rate GST) for the revenue account, and the export customer has a Z tax code (zero-rated GST). The invoice will remain as G tax code for the local customer but change to Z tax code when invoicing the export customer.

The list of tax codes is available in MoneyWorks’ tax rate table (access from the Show menu).

**Please refer to the IRAS GST e-tax guide for more information.

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.

MoneyWorks version 9.0.8 update

Cognito has released MoneyWorks version 9.0.8 update.

The new feature includes downloading the sales from Shopify, BigCommerce, and WooCommerce eCommerce store as a service for MoneyWorks Gold/Datacentre. Besides, the stock transfer journals now support auto-split lines to streamline entering serial numbers for created stock.

The change history of v9.0.8 is available on the Cognito website; check it out to find out what is fixed and improved.