Personio logoOracle NetSuite logo

HR to ERP

Personio to NetSuite integration: employees on the right subsidiary, with department and supervisor

With an integration between Personio and Oracle NetSuite, every employee from Personio becomes an employee in NetSuite automatically, on the subsidiary of their company in Personio, with department, location and supervisor, so expenses and purchases reach the right approver straight away. On departure KoppelHet sets the release date and makes the employee inactive, because NetSuite cannot delete an employee with transactions.

What the integration does

Groups that book their entities in Oracle NetSuite and manage employees in Personio often run expense claims through NetSuite. New colleagues cannot claim anything until finance has created them, and claims of departed managers get stuck with an approver who is no longer there.

  1. HR records the new employee in Personio, with company, office, department, cost centres and supervisor.
  2. Personio reports the change; KoppelHet fetches the released attributes.
  3. KoppelHet looks up the subsidiary for the company, the department for the main cost centre and the supervisor for the manager, and checks that the department applies to that subsidiary.
  4. The employee is in NetSuite, with login access only from the start date if the employee submits expenses themselves.
  5. On departure the employee gets the release date and reason, loses access and becomes inactive.
Personio → KoppelHet → Oracle NetSuiteSOURCEPersonioTARGETOracle NetSuiteKoppelHetmapping · logging · monitoringPersonio → KoppelHet → Oracle NetSuiteSOURCEPersonioTARGETOracle NetSuiteKoppelHetmapping · logging · monitoring
Out: Employee with name, email and job title · Subsidiary based on the company in Personio · Department and location · Supervisor · Release date, reason and inactive

What to watch for with Personio and Oracle NetSuite

  • In NetSuite OneWorld every employee must have a subsidiary. KoppelHet derives it from the company in Personio. If an employee is on the parent subsidiary, NetSuite cannot change it any more; a move to another country then becomes a new employee, with the old one set to inactive.
  • Personio can split an employee over several cost centres with percentages. An employee in NetSuite has one department. KoppelHet picks the cost centre with the highest percentage and reports an even split to finance instead of choosing itself.
  • In NetSuite a department can only be used with a subsidiary it is linked to. If the cost centre from Personio is not on the right subsidiary, KoppelHet creates the employee without that department and puts it on a list for finance.
  • Without a separate expense approver, the supervisor approves expenses in NetSuite. KoppelHet fills the supervisor from Personio and leaves the expense approver and limits to finance. A new manager is created first, so the reference is right.
  • Personio has a last working day and a termination date with type and reason. If finance uses Termination Reason Tracking in NetSuite, category and reason are mandatory; KoppelHet translates the Personio reasons with a table.
  • Only the Administrator role may reactivate a former employee in NetSuite. If a former employee returns in Personio, KoppelHet does not create a second employee, but puts the rehire on a list for the NetSuite administrator.

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

Does KoppelHet also create departments in NetSuite?

No. Departments belong to the ledger and finance manages them. If one is missing, it goes on a list for finance.

Does every employee get a NetSuite login?

Only those who submit or approve expenses themselves. Which role goes with that is agreed up front; by default KoppelHet assigns no admin roles.

Is pay data sent to NetSuite?

No. This integration only transfers the employee with organisation and approver. The payroll journal is a separate payroll to finance integration.

Technical details for IT

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

  • Personio is read through webhooks and the Personio API, with attributes such as subcompany, office, cost_centers (with percentage), supervisor, position, hire_date, last_working_day, termination_date, termination_type and termination_reason, as far as released under Readable employee attributes.
  • NetSuite is written through SuiteTalk REST web services (employee record) with OAuth 2.0 and a dedicated integration role without Administrator rights. Departments and subsidiaries are read; inactivating uses Inactive and clearing Give Access, because inactivating alone does not revoke the login.

Which fields are transferred

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

Field in PersonioField in Oracle NetSuiteNotes
Personio-id of personeelsnummerExternal IDFixed key between both systems
first_name, last_nameFirst Name, Last Name
emailEmail
positionJob Title
subcompanySubsidiaryThrough a table from company to subsidiary
cost_centers (hoogste percentage)DepartmentOnly departments linked to that subsidiary
officeLocation
supervisorSupervisorLooked up through the supervisor's employee record
hire_dateHire Date
last_working_day of termination_dateTermination/Release Date en Inactive
termination_type en termination_reasonTermination category en reasonIf finance uses Termination Reason Tracking

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.