
Payroll to finance
Exact HR to NetSuite integration: payroll costs from Exact Online payroll as a journal entry on the Dutch subsidiary
With an integration between Exact HR (Exact Online payroll) and Oracle NetSuite, the payroll costs of every finalised payroll run automatically go to NetSuite as a journal entry, on that employer's subsidiary and per account and department. KoppelHet builds the journal entry from the paid pay components in Exact, because Exact provides no payroll journal through the API.
What the integration does
Organisations that use NetSuite OneWorld for group accounting and process Dutch payroll in Exact Online payroll receive a payroll report from Exact after every run and convert it into a NetSuite import by hand. Departments then end up on a catch-all line, and a closed period is only noticed on import.
- Payroll finalises the payroll run in Exact.
- KoppelHet fetches the finalised lines and totals them per pay component, department and cost centre.
- Through tables maintained by finance, component and department are translated to NetSuite account and department.
- KoppelHet creates one journal entry on the employer's subsidiary, in the period that belongs to the payroll run.
- Finance approves the journal entry in NetSuite, if approval is switched on.
What to watch for with Exact HR and Oracle NetSuite
- For payroll costs the Exact Online API has no journal source, only the paid lines per component. KoppelHet adds those lines up into debit and credit lines for NetSuite itself. NetSuite only saves a journal entry if debit and credit balance, so KoppelHet checks that before sending.
- A regular journal entry in NetSuite belongs to exactly one subsidiary. Every employer is its own division in Exact Online. KoppelHet therefore creates a separate journal entry per division on that employer's subsidiary, even when finance keeps several Dutch employers in one NetSuite account.
- NetSuite does not allow posting in a closed period, and in a locked period only with a role allowed to override period restrictions. KoppelHet's integration role does not get that right. A payroll run for a locked period therefore becomes an alert to finance instead of a late posting.
- If approval for journal entries is switched on in NetSuite, an entry only posts once the Approved box is ticked. KoppelHet leaves that box empty, so finance approves the payroll costs in NetSuite and control does not rest with the integration.
- With every paid line Exact also returns the department, next to cost centre and cost unit. In NetSuite departments and classes can be recorded per line. KoppelHet puts the Exact department on the line as department, so payroll costs in NetSuite can be seen per department instead of on one line.
- For pay components Exact distinguishes a normal and a special rate, for example for a bonus or holiday pay. KoppelHet can keep those as separate lines, so finance sees one-off rewards separately from monthly pay in NetSuite.
- Tax fields on a journal entry are not supported through the NetSuite REST API. Payroll costs carry no VAT, so the integration does not need those fields; KoppelHet only sets account, amount, department, class and memo.
How we build and run it
- The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
- Every sync and every error is visible in the functional log; on an error your administrator is notified.
- A change that cannot go through is not half-applied but queued for another attempt.
- KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
- After go-live we manage the integration and adjust it when your process changes.
- The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.
Implementation and price
This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.
A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.
Frequently asked questions
Who approves the journal entry?
Finance, in NetSuite. The integration leaves the Approved box empty if approval is switched on.
Does this work with several Dutch employers?
Yes. Every Exact division gets a fixed subsidiary, and each division gets its own journal entry.
Does this also work with Exact Globe?
No. This page assumes Exact Online payroll.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Exact Online through the REST API with OAuth 2.0, read only: /api/v1/beta/{division}/payroll/PayrollTransactionsByPayrollYear (PayrollYear, Period, Status 6, DepartmentCode, CostCenterCode, CostUnitCode, CalculatedAmount, PayrollRunCode; pro forma Frequency 11 to 15 left out) and /api/v1/beta/{division}/payroll/PayrollComponents (Type, TransactionType 1 normal, 2 special, 3 both; GLClassification).
- NetSuite through SuiteTalk REST with OAuth 2.0 and a dedicated integration role without Override Period Restrictions: journalentry record with subsidiary, trandate, memo and the line sublist (account, debit, credit, department, class, memo). Tax fields not in REST.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Exact HR | Field in Oracle NetSuite | Notes |
|---|---|---|
PayrollComponentCode | account | Table per component, with GLClassification as a guide |
DepartmentCode | department | At line level |
CostUnitCode | class | Configuration choice of finance |
CalculatedAmount | debit of credit | |
Division | subsidiary | One subsidiary per journal entry |
PayrollYear, Period en PayrollRunCode | trandate en memo |
Related
Exact HR → 4PS Construct
Exact HR to 4PS Construct integration: payroll costs from Exact Online payroll as a journal in 4PS, with cost centre and project as dimensions
Exact HR → Active Directory
Exact HR to Active Directory integration: accounts from payroll in Exact Online
Exact HR → AllSolutions
Exact HR to AllSolutions integration: payroll costs from Exact Online payroll as a journal posting in AllSolutions
Exact HR → Arbodienst (SIVI)
Exact to occupational health service via SIVI: sick and recovery notifications from Exact Online payroll to the health service