
HR to ERP
Dayforce to 4PS Construct integration: technicians and site managers from Dayforce in 4PS, with cost centre and end date
With an integration between Dayforce and 4PS Construct, every employee of the construction or installation units in Dayforce automatically reaches the right 4PS company, with number, job, start date and the cost centre of their primary work assignment. A termination recorded in advance in Dayforce appears as an end date in 4PS straight away, and after the last working day the status changes to terminated.
What the integration does
Organisations that run HR and payroll in Dayforce and have their construction or installation companies work in 4PS Construct enter new technicians into 4PS by hand. An employee who moves to another project or unit keeps booking on the old cost centre there, until someone adjusts the card in 4PS.
- HR records a hire, transfer or termination in Dayforce.
- Every hour KoppelHet fetches the changed employees, with work assignments and status up to a month ahead.
- KoppelHet creates the employee in the 4PS company of their unit, or updates them.
- The cost centre of the primary work assignment goes on the employee as a default dimension, if the value exists in 4PS.
- On a termination KoppelHet sets the end date; after the last working day the status becomes terminated.
What to watch for with Dayforce and 4PS Construct
- If a technician has two work assignments in Dayforce, one of them is primary. An employee under 4PS has one default value per dimension. KoppelHet puts the cost centre of the primary work assignment on the employee; hours for the second assignment are booked on the project in 4PS by the site manager.
- Dayforce leaves a field without a value out of the response. A cost centre cleared in Dayforce is therefore not seen as a change by an integration. KoppelHet keeps the previous state and only removes the dimension in 4PS if the field was there last time and the API role still has access to it.
- The number Dayforce uses to look up an employee in the API is the XRefCode, not the employee number. In 4PS the employee's number is the employee number from Dayforce. KoppelHet keeps both, so a technician has the same number in 4PS as on their payslip.
- Cost centres are read-only dimension values in the API under 4PS. If a work assignment in Dayforce gets a ledger code finance does not yet have in 4PS, the employee still arrives, without a cost centre, and finance sees in the platform which code is missing.
- A termination is stored in Dayforce as an employment status with an effective date. KoppelHet looks a month ahead, puts the end date on the 4PS employee straight away and only sets the status to terminated after the last working day, so the technician books hours up to and including that day.
- When a former employee returns, 4PS does not expect a second card with the same number. KoppelHet sets the existing employee back to active, with the new start date, and clears the end date; in Business Central that is the empty date 0001-01-01.
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
Do clocked hours from Dayforce go to 4PS?
Not in this integration. Project hours are booked in 4PS. A flow of hours can be added later as an extension.
What if a cost centre does not exist in 4PS yet?
The employee then arrives without a cost centre and finance sees which code is missing. As soon as finance creates it, KoppelHet adds the dimension.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Dayforce through the REST API (https://www.dayforcehcm.com/api/{CompanyName}/V1/Employees/{XRefCode}). Changed employees through GET Employee XRefCodes with FilterUpdatedStartDate and FilterUpdatedEndDate; details with Expand on WorkAssignments (Position with Department and Job, Location, LedgerCode, BusinessTitle, IsPrimary, EffectiveStart, EffectiveEnd) and EmploymentStatuses, with ContextDateRangeFrom and ContextDateRangeTo. Field-level access per element; empty fields are missing.
- To 4PS through the Business Central API v2.0 per company: employees (POST and PATCH with If-Match; number, givenName, middleName, surname, jobTitle, email, employmentDate, terminationDate, status Active, Inactive or Terminated) and defaultDimensions with parentType Employee. dimensionValues is read-only.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Dayforce | Field in 4PS Construct | Notes |
|---|---|---|
EmploymentStatuses.EmployeeNumber | number | |
FirstName, MiddleName, LastName | givenName, middleName, surname | |
WorkAssignments.BusinessTitle of Position.Job | jobTitle | |
WorkAssignments.Location | 4PS-administratie (company) | Through a table |
WorkAssignments.LedgerCode (IsPrimary) | defaultDimensions (kostenplaats) | Existing dimension values only |
WorkAssignments.Position.Department | defaultDimensions (afdeling) | |
HireDate | employmentDate | |
EmploymentStatuses (beëindigd) | terminationDate en status Terminated |
Related
Ashby → Dayforce
Ashby to Dayforce integration: have Dayforce validate the hire first, then save it
Bullhorn → Dayforce
Bullhorn to Dayforce integration: first placement of an employee as an employee in Dayforce
Carerix → Dayforce
Carerix to Dayforce integration: successful placement as a validated new employee in Dayforce
Dayforce → Active Directory
Dayforce to Active Directory integration: domain accounts per location from Dayforce