NetSuite Insights & Guides | CuriousRubik

NetSuite Payroll Integration in Singapore: A Worked Example

Written by Bharath | Nov 10, 2026, 4:31:00 AM

For Singapore finance leads who want every monthly pay run to reach NetSuite as one clean journal with CPF and SDL.

Last reviewed: 10 November 2026. Product details reflect this review date. Availability and behavior can vary by account, role and release.

NetSuite payroll integration in Singapore means your payroll solution calculates salaries, CPF and SDL, then sends one summary journal per pay run into NetSuite. NetSuite records the cost by department, holds the CPF, SDL and net pay liabilities and clears them when the payments go out. Payroll keeps the employee detail. NetSuite keeps the ledger.

What is a NetSuite payroll integration in Singapore?

A payroll integration is the agreed route by which pay run results move from your payroll solution into the NetSuite general ledger. Singapore companies on NetSuite run payroll in a dedicated payroll solution. Some solutions run inside NetSuite as a SuiteApp. Others sit outside and connect through a prebuilt connector or a journal import.

Either way, the split of work is the same, and it matches the design in our guide to NetSuite payroll integration in Australia. Payroll owns the people data and the statutory calculations. NetSuite owns the accounting, the approvals and the cash.

ItemOwnerWhat NetSuite sees
Salaries, allowances, overtime and bonuses per employeePayrollTotals by account and department
CPF contributions, employer and employee sharesPayrollOne CPF payable line and one employer CPF expense line
Skills Development Levy (SDL)PayrollOne SDL payable line and one SDL expense line
Department and cost center for each employeePayroll, using NetSuite's listThe department on each expense line
Salary and CPF paymentsFinanceBank payments that clear the payables
IR8A and Auto Inclusion Scheme filingPayrollAnnual totals that should tie to the ledger

This split keeps salary detail private. Finance users see what the business spent by department. Only the payroll team sees what each person earned.

Which accounts and fields does the payroll journal need?

Set up the accounts before the first pay run, so the integration has somewhere to post. A typical Singapore payroll journal uses six lines.

  1. Salaries and wages expense. Gross pay, split by department.
  2. Employer CPF expense. The employer share of CPF, split by department.
  3. SDL expense. The levy, split by department.
  4. Net salaries payable. What you owe employees after their CPF deductions.
  5. CPF payable. Employer and employee CPF together, because you pay both to the CPF Board in one payment.
  6. SDL payable. The CPF Board collects SDL together with your CPF payment, so it clears in the same payment. Only employers with no local employees pay SDL directly to the Skills and Workforce Development Agency (SWDA).

Some companies need more lines. Self help group fund deductions are also paid through the CPF Board. Work permit and S Pass holders bring a foreign worker levy, which you pay separately and can post to its own payable.

Map each pay item to one account

Agree a mapping table with payroll before the first run. Each pay item in payroll points to exactly one NetSuite account.

Pay item in payrollNetSuite account
Basic salary, overtime and fixed allowancesSalaries and wages expense
Bonus and other additional wagesAccrued bonus, if you accrue monthly
Employer CPFEmployer CPF expense
Employee CPF and self help group fundsCPF payable
SDLSDL expense and SDL payable
Foreign worker levyForeign worker levy expense and its payable
Expense claims paid through payrollEmployee claims clearing

Bonuses need one extra thought. CPF treats a bonus as additional wages, which have their own yearly ceiling of S$102,000 less the ordinary wages already subject to CPF that year. Payroll applies that ceiling.

On the ledger side, accrue the bonus in NetSuite each month, then let the payroll journal clear the accrual when the bonus is paid. Your monthly cost then stays smooth, and the payout month does not carry a full year of bonus.

On the journal itself, fill in a few fields every time. Use the pay period end date as the date and set the subsidiary if you run NetSuite OneWorld. Put the department on each expense line and the pay run ID in the memo or a custom field.

If you want a second pair of eyes before posting, NetSuite can require journal approval. The preference sits at Setup > Accounting > Accounting Preferences, under Require Approvals on Journal Entries. The integration then posts the journal as pending approval, and the finance lead approves it.

A hypothetical October 2026 payroll for a Singapore distributor

A hypothetical Singapore distributor has 20 employees. All are Singapore citizens or permanent residents from their third year, all are aged 55 or below and each earns S$5,000 a month in ordinary wages. To keep the numbers simple, there are no bonuses and no self help group deductions this month.

Step 1. Payroll calculates CPF and SDL

From 1 January 2026, the CPF rate for employees aged 55 and below is 37 percent of ordinary wages up to the S$8,000 monthly ceiling. The employer pays 17 percent and the employee pays 20 percent.

For each employee earning S$5,000, total CPF is S$1,850. The employee share is S$1,000 and the employer share is S$850.

SDL is 0.25 percent of monthly wages, with a minimum of S$2 and a maximum of S$11.25 per employee. Each employee earns more than S$4,500, so each attracts the maximum of S$11.25.

The CPF Board rounds CPF and SDL in set ways. Total CPF is rounded to the nearest dollar, and the employee share is rounded down. Total SDL for the month is rounded down to the nearest dollar.

Let the payroll solution do this and post its figures. Do not recalculate them in NetSuite.

Step 2. Payroll groups the cost by department

DepartmentStaffGross pay (S$)Employer CPF (S$)SDL (S$)Total cost (S$)
Sales840,0006,80090.0046,890.00
Operations735,0005,95078.7541,028.75
Finance and admin525,0004,25056.2529,306.25
Total20100,00017,000225.00117,225.00

Step 3. Payroll posts one journal

The integration posts one journal dated 31 October 2026, with the pay run ID OCT26 in the memo.

AccountDebit (S$)Credit (S$)
Salaries and wages expense, by department100,000
Employer CPF expense, by department17,000
SDL expense, by department225
Net salaries payable80,000
CPF payable (17,000 employer plus 20,000 employee)37,000
SDL payable225
Total117,225117,225

The journal balances. Net pay is S$100,000 less the S$20,000 employee CPF, which gives S$80,000.

Step 4. Finance pays salaries and CPF

On payday, the salary payment of S$80,000 goes out through your bank file. The payment debits net salaries payable and credits the bank account.

CPF for October must be paid by 14 November at the latest. Finance pays CPF and SDL together on Thursday 12 November: S$37,000 of CPF plus S$225 of SDL, which is S$37,225. That payment debits both payables and credits the bank.

After both payments, net salaries payable, CPF payable and SDL payable for October are all zero. That zero is the simplest health check you have.

How should the journal reach NetSuite?

There are two common routes, and both work well when they are set up with care.

A connector or SuiteApp

The payroll solution posts the journal straight into NetSuite after each pay run. Give it its own integration role with only the permissions it needs, such as Make Journal Entry, plus access to accounts, departments and subsidiaries. Use token based authentication, so no person's password sits in the payroll system.

A CSV journal import

Payroll exports a journal file, and finance loads it at Setup > Import/Export > Import CSV Records, choosing Journal Entry. Save the field mapping, so every month uses the same columns. Put the pay run ID in the External ID column. If someone loads the same file twice, NetSuite rejects the duplicate.

Before go live, test the route in your sandbox account. Push three past pay runs through it and compare each journal with the payroll register for the same month. Check the totals, the department split and the memo. Fix the mapping until all three agree to the cent.

Whichever route you pick, map payroll departments to NetSuite departments by internal ID, not by name. A department renamed in NetSuite then keeps working in payroll.

How do you reconcile CPF and SDL each month?

Reconcile before you pay, and again after. Our guide to reconciling Singapore payroll to CPF evidence covers the first check in detail.

  1. Compare the CPF payable credit on the journal with the CPF submission total from payroll.
  2. Compare the SDL payable credit with the SDL on the same submission.
  3. After payment, run a saved search on the CPF payable and SDL payable accounts for the month. Both should show zero.
  4. Match the CPF payment on the bank statement during your monthly bank reconciliation in Singapore.
  5. Keep the CPF payment advice with the journal, as a file attached to the record.

Give each check an owner. The payroll lead runs the pay run and the CPF submission. The finance lead approves the journal and the payments. Your NetSuite administrator owns the integration role and the mapping table, so any change goes through one person.

A balance left on CPF payable at month end usually means one of three things. A late joiner was added after the journal posted. A correction was paid without a journal. Or the employee share was posted to the wrong account.

The saved search shows which month it came from, so you know where to look.

What about IR8A and year end?

Your payroll solution prepares IR8A forms for each employee. Employers in the Auto Inclusion Scheme submit employment income to IRAS by 1 March each year. NetSuite does not file these forms. It holds the numbers that should agree with them.

Before the payroll team submits, total the salaries and wages expense for the calendar year in NetSuite. Compare it with the year to date gross pay in payroll. Any gap should be explained by items you can name, such as a bonus accrued in December and paid in January.

Leavers need care too. Check whether a foreign or permanent resident employee needs tax clearance before they leave. Permanent residents staying in Singapore may qualify for an exemption. Where required, file Form IR21 at least one month before cessation and withhold all money due to the employee from when you learn of the departure.

Post that held amount to its own payable in NetSuite. It then does not sit inside net salaries payable and spoil your monthly zero check.

Moving to NetSuite in the middle of a year adds one step. Load the year to date payroll totals as part of your opening balances, so the year end tie out still works. The clearing account method in our NetSuite data migration guide for Australia works the same way for a Singapore cutover.

Which integration pattern fits your company?

The right setup depends on how many entities you run and how often you pay. Use this table as a starting point and confirm it with your payroll provider.

Your situationPattern that fitsWhy
One entity, one monthly pay runCSV journal import with approvalSimple, cheap to run and easy to check each month
Several Singapore entities on NetSuite OneWorldConnector posting one journal per subsidiaryEach entity's CPF stays in its own ledger and bank
Regional team across several countriesConnector with a mapping table per countryOne method, with local accounts for each country's statutory items
Project or client billing that needs labor cost by jobConnector with department and project on each lineCost lands on the project without exposing salaries
Payroll run inside NetSuite through a SuiteAppNative posting from the SuiteAppNo file or connector to maintain

At CuriousRubik, we design the accounts, mapping and checks that let payroll and finance work from the same numbers. Our NetSuite finance and payments integration team can set up your payroll journal route and the monthly CPF reconciliation. We support companies across Singapore on NetSuite.

Related reading

Reconcile Singapore Payroll to CPF Evidence Before Posting the NetSuite Journal

How to check the payroll register against CPF evidence before the journal posts.

NetSuite Bank Reconciliation in Singapore, Step by Step

How to match SGD and USD bank activity, including payroll and CPF payments, each month.

NetSuite Payroll Integration for Australian Businesses

The same integration design for an Australian payroll, with Single Touch Payroll and super.