

Payroll to finance
NetSuite and HR2day integration: departments and classes to HR2day, payroll journal back to NetSuite
With an integration between Oracle NetSuite and HR2day, the departments and classes of the Dutch subsidiary in NetSuite reach HR2day automatically as cost centres, and the payroll journal goes to NetSuite as a journal entry after every payroll run. The cost allocation from HR2day reaches the ledger per department and class, and finance no longer imports the journal by hand.
What the integration does
Organisations that keep the group ledger in NetSuite and run Dutch payroll in HR2day maintain departments in NetSuite and cost centres in HR2day separately. After every run finance posts the journal by hand, and a line on a department that is already inactive only shows up when posting.
- Finance creates a department or class in NetSuite for the Dutch subsidiary.
- KoppelHet makes the code available at the HR2day employer that belongs to that subsidiary.
- HR records the cost allocation in HR2day on department and, where needed, class.
- After the run KoppelHet creates a journal entry in NetSuite on the subsidiary, with department and class on every line.
- If journal approval is enabled, finance approves the entry in NetSuite.
Back: Payroll journal per run · Journal lines per department and class
What to watch for with Oracle NetSuite and HR2day
- A department in NetSuite applies to one or more subsidiaries, and with one tick can also apply to all child subsidiaries. KoppelHet only takes departments available to the Dutch subsidiary, so HR in HR2day does not choose from departments of the whole group.
- A regular journal entry in NetSuite belongs to exactly one subsidiary. If the organisation has several employers in HR2day, for example a foundation and a BV, KoppelHet creates a separate journal entry per employer on the subsidiary that belongs to it.
- HR2day includes payroll costs in the journal pro rata to the cost allocation, with a second dimension next to the cost centre. In NetSuite department and class fit on the same journal line; KoppelHet puts the HR2day cost centre on the department and the second dimension on the class.
- An inactive department disappears from the pick lists in NetSuite, but a cost allocation in HR2day may still point to it. KoppelHet reports after the inactivation which employees in HR2day are still on that code, so payroll moves them before the next run.
- NetSuite does not allow posting in a closed period, and in a locked period only with a special permission. The integration does not get that permission. If the run falls in a locked period, KoppelHet reports it to finance instead of posting in another period.
- If journal entry approval is enabled in NetSuite, an entry only posts after approval. KoppelHet creates the journal without approving it itself, so finance sees every payroll journal before it reaches the ledger.
- NetSuite only saves a journal entry if debit and credit balance. KoppelHet puts a rounding difference from the pro rata allocation in HR2day on a fixed rounding account chosen by finance, instead of letting the whole posting be refused.
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
Do departments of other countries also go to HR2day?
No. Only departments and classes available to the Dutch subsidiary.
Does the journal reach NetSuite per employee?
Usually not. Finance gets it per GL account, department and class; the detail per employee stays in HR2day.
What if the period in NetSuite is already closed?
Then KoppelHet does not post and finance gets a notification. Finance picks the period, then the same run goes again.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- NetSuite through SuiteTalk REST web services with OAuth 2.0 and its own integration role without Override Period Restrictions and without journal approval. Departments and classifications through the record or query service (subsidiary, includechildren, isinactive, parent); the journal as a journalentry record with header fields subsidiary, trandate, postingperiod and memo and the line sublist (account, debit, credit, department, class, memo). With 'Require Approvals on Journal Entries' approved stays empty.
- HR2day runs on Salesforce and publishes no API documentation. Writing cost centres and reading the journal goes through the access HR2day makes available for the customer; we confirm that at the start.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Oracle NetSuite | Field in HR2day | Notes |
|---|---|---|
department (naam en id) | Kostenplaats | Only departments of the Dutch subsidiary |
classification (class) | Kostenplaats dim2 | |
isinactive | Melding | HR2day code remains, with a list of employees on it |
subsidiary | Werkgever | Lookup subsidiary to employer |
Grootboekrekening op de journaalregel | line.account | |
Kostenplaats en dim2 op de journaalregel | line.department en line.class | |
Debet- en creditbedrag | line.debit en line.credit | |
Salarisperiode en runnummer | postingperiod, trandate en memo |
Related
BambooHR → Oracle NetSuite
BambooHR to NetSuite integration: BambooHR employees as employees per subsidiary, with termination reason
BuddeeHR → Oracle NetSuite
BuddeeHR to NetSuite integration: the Dutch employees from Buddee as employees in NetSuite
Dayforce → Oracle NetSuite
Dayforce to NetSuite integration: employees from Dayforce as employee records in Oracle NetSuite, per subsidiary
Deel → Oracle NetSuite
Deel to NetSuite integration: own employees from Deel as employees under the right subsidiary