Oracle NetSuite logoLoket logo

Payroll to finance

Oracle NetSuite and Loket integration: departments and classes as cost centres in Loket, journal run back as a journal entry

With an integration between Oracle NetSuite and Loket, the departments and classes of the Dutch subsidiary reach Loket automatically as cost centres and cost units, and every journal run from Loket then lands in NetSuite as a journal entry on that subsidiary. Loket has no journal export of its own to NetSuite; KoppelHet fetches the results, posts them in the right period and marks the run in Loket as exported.

What the integration does

Organisations that use NetSuite OneWorld as group ERP and run Dutch payroll in Loket receive the payroll journal as a file from the accounting firm and convert it by hand into a NetSuite import. Departments finance adds in NetSuite are then missing in Loket, and payroll costs end up on a catch-all line.

  1. Finance creates a department or class in NetSuite and links it to the Dutch subsidiary.
  2. KoppelHet adds the department as cost centre and the class as cost unit to the Loket journal profile.
  3. After the approved payroll run Loket journalises; KoppelHet fetches the results.
  4. The lines go as one journal entry to the Dutch subsidiary, in the period that belongs to the payroll period.
  5. KoppelHet marks the run in Loket as exported, or as failed if NetSuite rejects the posting.
Oracle NetSuite → KoppelHet → LoketSOURCEOracle NetSuiteTARGETLoketKoppelHetmapping · logging · monitoringOracle NetSuite → KoppelHet → LoketSOURCEOracle NetSuiteTARGETLoketKoppelHetmapping · logging · monitoring
Out: Departments and classes of the Dutch subsidiary · Cost centres and cost units in the Loket journal profile · Journal entry per run on the subsidiary
Back: Journal entry per journal run · Status exported or failed in Loket

What to watch for with Oracle NetSuite and Loket

  • A department in NetSuite has a name and an internal ID, but no separate code. KoppelHet uses the internal ID as cost centre code in Loket and the name as description, so a renamed department stays the same cost centre in Loket.
  • NetSuite allows names of 60 characters, Loket a description of at most 50. If a department name is longer, KoppelHet reports it to finance instead of cutting the name off unnoticed.
  • Departments in NetSuite can have subdepartments, while Loket knows a flat list of cost centres. KoppelHet only adds departments of the Dutch subsidiary to Loket, also when they are linked to it through the option for child subsidiaries.
  • Loket runs payroll per month or per four weeks, and records per journal configuration how a payroll period maps to a financial period. KoppelHet follows the same rule when choosing the NetSuite period, so a four-week period falls in the same month as in Loket.
  • NetSuite allows no posting in a closed period, and in a locked period only with a special permission. The integration does not get that permission; if a journal run falls in a closed period, KoppelHet marks the run in Loket as failed and asks finance to decide.
  • If approval of journal entries is enabled in NetSuite, an entry only posts after approval. KoppelHet leaves the approval empty, so finance sees the payroll journal before it counts, and only marks the run in Loket as exported once NetSuite has saved the entry.
  • Loket can recalculate the journal of a payroll run after a changed cost allocation, with only the difference. KoppelHet posts that difference as a new journal entry with the number of the original run in the 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, architecture and compliance

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.

Price indication · Complex

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Does the accounting firm get access to NetSuite?

No. The integration has its own access to both systems. The firm only sees new cost centres and the status of the journal runs in Loket.

We have several Loket employers. Does that work?

Yes. Each employer gets a fixed subsidiary in NetSuite, with its own journal entry per run.

Can Loket export to NetSuite itself?

Loket has its own connections with a few accounting packages, but not with NetSuite. That is why KoppelHet does that part.

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. Departments and classes with subsidiary, includechildren, parent and isinactive; the journal as a journalentry record with subsidiary, trandate, postingperiod, memo and the line sublist (account, debit, credit, department, class, memo). Tax fields are not supported in REST.
  • Loket through the REST API with OAuth - cost centres and cost units per journal profile (code 1 to 20, description 1 to 50 characters), the CostCenterCostUnitMatrix, journal configuration with methodForDeterminingAccountingPeriod, GetJournalRunResultsByJournalRunId, PostRecalculateJournalRunByPayrollrunId and PatchJournalRunByJournalRunId with markAsSuccessfullyExported or MarkAsProcessingFailed.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in Oracle NetSuiteField in LoketNotes
Department (intern ID)code (kostenplaats)At most 20 characters in Loket
Department-naamdescriptionNetSuite allows 60 characters, Loket 50
ClassKostendrager
SubsidiaryLoket-werkgever en administratieOne journal entry per subsidiary
generalLedgerAccount (Loket)account op de journaalregelThrough a chart of accounts mapping
costCenter en costUnit (Loket)department en class op de journaalregel
Bedrag debet of creditdebit of credit
Verloningsperiodepostingperiod
Journaalrun-IDmemo in de kop

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.