Deel logoOracle NetSuite logo

HR to ERP

Deel to NetSuite integration: own employees from Deel as employees under the right subsidiary

With an integration between Deel and Oracle NetSuite, every own employee and EOR worker from Deel becomes an employee in NetSuite, under the subsidiary of their primary legal entity, with department, job title and supervisor. Deel's own NetSuite app posts invoices as vendor bills and creates vendors; this integration fills the employees that app does not create.

What the integration does

Organisations that hire people through Deel and use NetSuite OneWorld for finance often already have Deel's NetSuite app for invoices. Next to that, they add employees for expenses, approvals and projects to NetSuite by hand, and leavers keep their access there.

  1. Deel reports a new or changed contract; KoppelHet fetches the person with only the required fields.
  2. KoppelHet only takes own employees and EOR workers; contractors stay with the Deel app as vendors.
  3. The primary legal entity determines the subsidiary, and the department becomes the department of that subsidiary.
  4. The employee is created or updated, with the direct manager as supervisor.
  5. After a completed termination KoppelHet fills the end date and the termination fields, and revokes access.
Deel → KoppelHet → Oracle NetSuiteSOURCEDeelTARGETOracle NetSuiteKoppelHetmapping · logging · monitoringDeel → KoppelHet → Oracle NetSuiteSOURCEDeelTARGETOracle NetSuiteKoppelHetmapping · logging · monitoring
Out: Employee per person · Subsidiary from the primary legal entity · Department and supervisor · Termination with category and access

What to watch for with Deel and Oracle NetSuite

  • Deel's NetSuite app looks up vendors by email address and can also create them, for employees too. If the same person exists as vendor and as employee in NetSuite, two records with the same email address arise. KoppelHet limits itself to employees, and at the start we decide per hiring type which record leads.
  • According to the current documentation, Deel has the hiring types hris_direct_employee and direct_employee for own employees, next to eor and contractor. KoppelHet filters on those first two and eor, so contractors only reach NetSuite as vendors through the Deel app.
  • A person in Deel can have contracts at several legal entities, but Deel also gives one primary entity per person. An employee in NetSuite belongs to one subsidiary. KoppelHet uses the primary entity for the subsidiary and reports people with contracts at several entities to finance.
  • If NetSuite tracks termination reasons, category, reason, details and regretted must be filled. Deel gives per contract whether someone left voluntarily. KoppelHet uses that to fill the category, and reason and details with a fixed value chosen by finance, so the termination does not get stuck.
  • A termination in Deel can still fail or be cancelled. NetSuite does not set an employee inactive by itself and does not revoke roles by itself. KoppelHet waits for the completed status, then fills the end date, sets the employee inactive and removes access.
  • Deel returns the department as a name with its parent department, and that structure applies to the whole organisation. In NetSuite a department can only be used with the subsidiaries it is linked to. KoppelHet translates department plus entity into a department that belongs to the right subsidiary, so a colleague at the German entity does not land on an American department.

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 · Basic

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

We already have Deel's NetSuite app. Why this integration too?

That app posts invoices and creates vendors. For expenses, approvals and projects NetSuite needs employees; this integration fills those.

Do payroll costs from Deel go to NetSuite?

Invoices go through Deel's app. A payroll journal per entity can be added later as an extension.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Deel through webhooks and GET /rest/people with fields (client_legal_entity as primary entity, employments[0].client_legal_entity, employments[0].hiring_type, employments[0].employee_number, employments[0].voluntarily_left, employments[0].termination_last_day, department, direct_manager, job_title, work_email) and the hiring_types filter (hris_direct_employee, direct_employee, eor). active_worker_termination_status with COMPLETED, FAILED and CANCELED.
  • NetSuite through SuiteTalk REST web services (employee record) with OAuth 2.0 and an integration role. Subsidiary on the parent cannot be changed; department per subsidiary; with Termination Reason Tracking category, reason, details and regretted are mandatory; roles and access are revoked separately.

Which fields are transferred

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

Field in DeelField in Oracle NetSuiteNotes
work_emailEmail
employments[].employee_numberEmployee ID
client_legal_entity (primair)SubsidiaryLookup table
department.name en parentDepartmentPer subsidiary
job_titleJob Title
direct_manager.work_emailSupervisor
termination_last_day (COMPLETED)Termination Date en Inactive
employments[].voluntarily_leftTermination CategoryVoluntary or involuntary

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.