Personio logo4PS Construct logo

HR to ERP

Personio to 4PS Construct integration: new colleagues as employees in 4PS, with cost centre and end date

With an integration between Personio and 4PS Construct, every new employee from Personio appears on time as an employee in the right 4PS company, with job title, contact details, cost centre and start date. Changes and departures in Personio update the employee in 4PS, so hours and costs always belong to the current organisation.

What the integration does

Anyone using Personio for HR and 4PS Construct for projects, hours and finance often only creates new employees in 4PS once they cannot book hours on their first day. If someone is on two cost centres in Personio, they are sometimes on none in 4PS.

  1. HR creates the new colleague in Personio, with legal entity, job title, cost centre and start date.
  2. Personio reports the new employee; KoppelHet retrieves the person and employment.
  3. The employee then appears in the 4PS company of their legal entity, with the cost centre as default dimension.
  4. When the job title or cost centre changes in Personio, KoppelHet updates the employee in 4PS.
  5. On a termination the employee gets the end date in 4PS and then the status terminated.
Personio → KoppelHet → 4PS ConstructSOURCEPersonioTARGET4PS ConstructKoppelHetmapping · logging · monitoringPersonio → KoppelHet → 4PS ConstructSOURCEPersonioTARGET4PS ConstructKoppelHetmapping · logging · monitoring
Out: Employee with name, job title and contact details · Start and end date and status · Cost centre as default dimension · Company per legal entity

What to watch for with Personio and 4PS Construct

  • In Personio an employee can be split over several cost centres, each with a weight. An employee in 4PS has one default value per dimension. KoppelHet takes the cost centre with the highest weight; the split itself stays in Personio and payroll.
  • Personio records the legal entity per employment. In 4PS each entity is usually a separate company. The legal entity therefore decides which 4PS company the employee lands in; a move to another entity becomes a new employee there.
  • Personio has leave and onboarding next to active and inactive. 4PS has active, inactive and terminated. Long leave becomes inactive, so the employee does not show up in planning, and the return sets them back to active.
  • External workers can be recorded in Personio as an external employment. In 4PS subcontractors often run through purchasing and not as employees. Per customer we agree whether externals from Personio become employees in 4PS or are skipped.
  • A cost centre must already exist in 4PS as a dimension value; an integration cannot create it. If an employee in Personio gets a cost centre that finance does not yet have in 4PS, the employee arrives without a cost centre and KoppelHet reports the missing code.
  • A notification from Personio contains only the ID of the person or employment. KoppelHet then fetches only the attributes released for 4PS, so no salary or BSN.
  • Personio provides the manager and department, but the employee card in 4PS has no field for them in the standard Business Central API. Department can go along as a second dimension; the manager stays in Personio.

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 the employee also become a user in 4PS?

No. An employee in 4PS is someone hours and costs can land on. A user with permissions comes from Microsoft 365; that can be added later as an extension.

Is salary data from Personio sent to 4PS?

No. The integration only reads the fields 4PS needs. Cost rates for hours are set by finance in 4PS.

What if someone is rehired?

Personio keeps the same person. KoppelHet finds the existing employee in 4PS, sets them back to active and updates the dates.

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 (IDs only, including employment.updated and employment.terminated) and the Personio API v2 (persons and employments with status, type, position, legal_entity, org_units, supervisor, cost_centers with weight, employment_start_date and termination). Read access through an API client; attributes must be released for the API.
  • 4PS is written through the Business Central API v2.0 per company - employees (number, givenName, middleName, surname, jobTitle, email, mobilePhone, employmentDate, terminationDate, status) and the employee's defaultDimensions. dimensionValues is read-only; the employee entity has no fields for department or manager.

Which fields are transferred

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

Field in PersonioField in 4PS ConstructNotes
Personio-id van de persoonnumberOr the employee number from a custom attribute, if you use one
Voornaam, tussenvoegsel, achternaamgivenName, middleName, surname
position.titlejobTitle
Werk-e-mail en mobielemail en mobilePhone
employment_start_dateemploymentDate
termination.termination_dateterminationDate
status (ACTIVE, LEAVE, INACTIVE)status (Active, Inactive, Terminated)Long leave becomes Inactive, termination becomes Terminated after the end date
cost_centers (met weight)defaultDimensions (dimensie kostenplaats)The cost centre with the highest weight
legal_entityCompany in 4PS

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.