Payroll integration
Sympa to ADP iHCM integration: approved salary rows to Dutch ADP payroll
With an integration between Sympa and ADP iHCM NL, approved salary rows and terminations of Dutch employees in Sympa reach ADP iHCM automatically, with the effective date from Sympa. KoppelHet only takes approved rows, so a proposal still waiting with a manager never ends up in ADP.
What the integration does
Organisations that do HR in Sympa and run Dutch payroll in ADP iHCM send salary proposals to payroll as a list after approval.
- Payroll creates the new worker in ADP iHCM; KoppelHet links it once to the employee in Sympa.
- Through its own Sympa interface, KoppelHet requests the changed Dutch employees, with approved salary rows only.
- Every new salary row goes to the work assignment in ADP iHCM with the start date from Sympa.
- An end date on the contract starts the termination in ADP.
- Errors from Sympa or ADP appear on a list for HR and payroll.
What to watch for with Sympa and ADP iHCM
- Every table row in Sympa has an approval status. KoppelHet filters on approved in the request, so a salary proposal still waiting with a manager never ends up in ADP iHCM.
- A Sympa interface may make a hundred requests per hour by default. ADP iHCM, on the other hand, accepts only one salary change per call. KoppelHet therefore fetches everything from Sympa in a few large batches and then splits it into separate calls to ADP itself.
- Sympa lets you request table rows that are valid in a given period. KoppelHet requests the rows that fall in the ADP period, so a back-dated raise still reaches ADP on the right date.
- Read requests in Sympa go to a pre-calculated reporting database, with a small delay after a change. KoppelHet therefore does not run the last check right before the ADP cut-off, but with some room ahead of it.
- A Sympa interface has no fixed field list; the administrator chooses which fields it contains. KoppelHet asks for an interface with only the fields for the payroll run, without reviews or other HR data ADP does not need.
- An end date cannot be adjusted in ADP iHCM. If the contract end date moves in Sympa, KoppelHet cancels the termination in ADP and starts it again with the new date.
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 integration create new workers in ADP?
No. ADP's public iHCM guides contain no API to hire someone. Payroll creates the worker; the integration keeps it up to date after that.
What if a hundred requests per hour are not enough?
According to Sympa the limit can be raised through your contact person. Because KoppelHet works in batches, that is rarely needed.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Sympa through the Sympa Integration API (OData v4, api.sympahr.net) on a dedicated interface with API key and secret. $filter on modified and on the Dutch entity, $expand on salary and contract tables with $filter=Approval eq 5, since and until for rows with validity (requires effectivity settings), errordata=true for error information, $top and $skip for batches. A hundred requests per hour per interface by default; the API panel shows the ten latest requests. Reads go through the reporting database with a small delay.
- ADP iHCM through the Base Remuneration Change API (2416 and 2417 per work assignment, one event per call, effective date not before the start of the work assignment) and the Worker Terminate API (worker.terminate and worker-termination.cancel). Canonical URIs in the Consumer Application Registry (CAR).
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Sympa | Field in ADP iHCM | Notes |
|---|---|---|
Personeelsnummer (unieke sleutel van de interface) | payrollfilenumber | Linked once to the associateOID |
Salaristabel: bedrag | 2417 salarisbedrag | |
Salaristabel: soort (maand of uur) | 2416 salariscode | Lookup table |
Salaristabel: begindatum | effectiveDateTime | |
Approval | Wel of niet naar ADP | Only value 5, approved |
Contracttabel: einddatum | worker.terminate |
Related
Greenhouse → Sympa
Greenhouse to Sympa integration: hired candidate as a data card with contract row in Sympa
Recruitee → Sympa
Recruitee to Sympa integration: hired candidates as a data card in Sympa
SmartRecruiters → Sympa
SmartRecruiters to Sympa integration: ready to onboard becomes a data card in Sympa
Sympa → 4PS Construct
Sympa to 4PS Construct integration: fitters of the Dutch employer from Sympa in 4PS, with cost centre as a dimension