
HR to ERP
ADP Workforce Now to 4PS Construct integration: employees with company, dimensions and statistics group in 4PS
With an integration between ADP Workforce Now and 4PS Construct, every employee from ADP appears automatically in the right 4PS company, with job title, default dimensions for department and cost centre, and a statistics group for the worker category. KoppelHet updates a rehire, transfer or termination in ADP in 4PS, so site managers only book hours on people who work there.
What the integration does
Construction and installation organisations that run HR and payroll in ADP Workforce Now and projects in 4PS Construct enter new technicians and site managers into 4PS by hand. Anyone who returns or moves to another site is still on the old card in 4PS, and hours land on the wrong dimension.
- HR records a hire or change in ADP Workforce Now; ADP sends an event notification.
- KoppelHet fetches the worker with the primary position and picks the 4PS company for their location.
- KoppelHet creates or updates the employee, with job title and statistics group.
- KoppelHet sets the default dimensions, if the values exist in 4PS.
- On a termination KoppelHet sets the termination date and after the last day the status terminated.
What to watch for with ADP Workforce Now and 4PS Construct
- ADP reports a different work location with its own event. The API under 4PS works per company. If the new location belongs to another 4PS company, KoppelHet creates the employee there and ends the card in the old company as of the day of the move.
- For a returning employee ADP sends its own rehire event, with the same workerID. KoppelHet looks up the existing card with that number in 4PS and reactivates it with the new start date, instead of creating a second card that 4PS would not accept with the same number.
- ADP reports separately when the worker category changes, for example from temporary to permanent. An employee under 4PS has a statistics group. KoppelHet sets the ADP category as the statistics group, so reports in 4PS can separate own staff and temporary workers.
- One ADP event about the home organisation carries department, cost number and business unit together. Dimension values under 4PS are read-only through the API. KoppelHet sets the default dimension per part if the value exists in 4PS, and tells finance which value is missing, without holding back the rest of the change.
- ADP lets you request workers as of a date. Business Central has no effective date on the employee for job title or dimensions. Every night KoppelHet requests tomorrow's state and only puts changes taking effect then into 4PS on that day, so today's hours still fall on the old cost centre.
- An employee in ADP can have several positions, each with its own positionID, one of which is primary. An employee under 4PS has one job title and one default value per dimension. KoppelHet takes the job title and dimensions of the primary position.
- ADP sends no events for changes that come in through the API, and returns workers in pages of at most a hundred. Business Central gives the time of the last change per employee. Every night KoppelHet compares all workers with the 4PS cards and only updates cards that really differ, with 4PS's version marker.
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 hours from 4PS go back to ADP?
Not in this integration. Hours for payroll can be added later as an extension.
What if a cost centre does not exist in 4PS yet?
Then the employee comes in without that dimension and finance sees which value is missing. As soon as finance creates it, KoppelHet fills in the dimension.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- ADP Workforce Now through the Worker Management API: GET /hr/v2/workers ($top at most 100, asOfDate MM/DD/YYYY, workerID, positionID, primaryIndicator) and event notifications worker.hire, worker.rehire, worker.terminate, worker.workAssignment.homeOrganizationalUnits.modify, worker.workAssignment.homeWorkLocation.change and worker.workAssignment.workerType.change; events only for changes in Workforce Now itself.
- 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, statisticsGroupCode, lastModifiedDateTime) 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 ADP Workforce Now | Field in 4PS Construct | Notes |
|---|---|---|
workerID (idValue) | number | Fixed key |
legalName (givenName, middleName, familyName1) | givenName, middleName, surname | |
Job title (primaire positie) | jobTitle | |
Home Work Location | 4PS-administratie (company) | Through a table |
Home Department en Home Cost Number | defaultDimensions (afdeling, kostenplaats) | |
Business Unit | defaultDimensions (business unit) | If that dimension exists in 4PS |
workerType | statisticsGroupCode | Through a table |
hireDate, terminationDate en workerStatus | employmentDate, terminationDate en status |
Related
ADP Workforce Now → Active Directory
ADP Workforce Now to Active Directory integration: accounts in your own domain, with expiry date and rehire from ADP
ADP Workforce Now → AFAS Profit
ADP Workforce Now to AFAS integration: Dutch employees from the US HR system in AFAS Profit
ADP Workforce Now → AllSolutions
ADP Workforce Now to AllSolutions integration: employees with department, cost centre and manager in AllSolutions
ADP Workforce Now → Dyflexis
ADP Workforce Now to Dyflexis integration: employees and contracts of the European sites in the schedule