
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.
- HR creates the new colleague in Personio, with legal entity, job title, cost centre and start date.
- Personio reports the new employee; KoppelHet retrieves the person and employment.
- The employee then appears in the 4PS company of their legal entity, with the cost centre as default dimension.
- When the job title or cost centre changes in Personio, KoppelHet updates the employee in 4PS.
- On a termination the employee gets the end date in 4PS and then the status terminated.
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 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
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 Personio | Field in 4PS Construct | Notes |
|---|---|---|
Personio-id van de persoon | number | Or the employee number from a custom attribute, if you use one |
Voornaam, tussenvoegsel, achternaam | givenName, middleName, surname | |
position.title | jobTitle | |
Werk-e-mail en mobiel | email en mobilePhone | |
employment_start_date | employmentDate | |
termination.termination_date | terminationDate | |
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_entity | Company in 4PS |
Related
Ashby → Personio
Ashby to Personio integration: hires with hours and entity as new employees in Personio
Bullhorn → Personio
Bullhorn to Personio integration: placements as a person with employment in Personio
Carerix → Personio
Carerix to Personio integration: successful placement as a new employee in Personio
Greenhouse → Personio
Greenhouse to Personio integration: hired candidates as employees in Personio