SAP SuccessFactors logoADP iHCM logo

Payroll integration

SAP SuccessFactors to ADP iHCM integration: salary, allowances and leavers for Dutch payroll at ADP

An integration between SAP SuccessFactors Employee Central and ADP iHCM brings pay changes, recurring and one-off pay components and leavers of the Dutch employees from SuccessFactors to the right ADP pay group and pay period. Each kind of data uses the ADP route intended for it, so a one-off payment never reaches ADP as a salary change.

What the integration does

Organisations that record HR worldwide in SAP SuccessFactors and run Dutch payroll at ADP iHCM send ADP an overview of salaries, allowances and bonuses each period. Payroll retypes it into ADP, and a bonus with a wrong period stays unlinked in ADP until someone attaches it.

  1. HR records a pay change, allowance, bonus or leaver for a Dutch employee in Employee Central.
  2. KoppelHet fetches the changed records with their validity date and looks up the matching ADP employee.
  3. Base pay goes to ADP as a salary change, variable amounts as a batch for the pay group's pay period.
  4. A termination in Employee Central starts the termination in ADP, with last working day and reason.
  5. ADP reports per line what was processed; rejected lines go on the difference list for payroll.
SAP SuccessFactors → KoppelHet → ADP iHCMSOURCESAP SuccessFactorsTARGETADP iHCMKoppelHetmapping · logging · monitoringSAP SuccessFactors → KoppelHet → ADP iHCMSOURCESAP SuccessFactorsTARGETADP iHCMKoppelHetmapping · logging · monitoring
Out: Base pay per employment · Recurring pay components such as allowances · One-off payments such as bonus · Termination with date and reason

What to watch for with SAP SuccessFactors and ADP iHCM

  • ADP iHCM NL has its own API per kind of pay component. Base pay runs through a salary change, variable amounts through a batch, numeric fields without taxability through Additional Remuneration and deductions through a route of their own. KoppelHet decides per SuccessFactors pay component which route it takes.
  • One-off payments in SuccessFactors have a pay date, not a validity period. ADP wants the start and end date of the pay group's pay period with every variable amount. KoppelHet finds the ADP period in which the pay date falls and sends that along.
  • Recurring pay components in SuccessFactors are effective dated. A retroactive change becomes a retroactive entry in ADP, but ADP rejects a date before the start of the ADP contract. KoppelHet passes such a line to payroll instead of letting it bounce.
  • When a batch is replaced, ADP deletes every line that is not sent again, and ADP has no list of earlier batches. KoppelHet therefore keeps the batch ID and the full content of what went to ADP for each period.
  • SuccessFactors can reverse a termination or change its date. ADP has no modified termination; KoppelHet cancels the termination in ADP, starts it again with the new date, and waits for ADP's confirmation.
  • Not every employee in iHCM has an associateOID, and a change through the ADP API does require it. KoppelHet therefore links the SuccessFactors employee once to the ADP employee number and requests the associateOID where it exists.
  • Pay components in SuccessFactors are set up for the whole group, the variable fields in ADP per pay group. A SuccessFactors component without an ADP field in the Multipay mapper is reported to payroll by KoppelHet instead of dropping the amount.

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 · Complex

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

Why does a new hire not reach ADP automatically?

We found no API to create an employee in ADP's public iHCM guides. The integration therefore starts with employees already in ADP; KoppelHet reports the hire to payroll as a task.

What happens to payroll tax data?

They stay in ADP. SuccessFactors only sends salary, pay components and leavers; Dutch tax choices are managed by payroll in ADP.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • SAP SuccessFactors Employee Central through the OData API with OAuth 2.0, filtered on lastModifiedDateTime and the Dutch company - EmpJob, EmpPayCompRecurring (payComponent, paycompvalue, frequency, startDate), EmpPayCompNonRecurring (payComponentCode, value, payDate) and EmpEmploymentTermination (endDate, eventReason). Technical user with read rights on the Dutch legal entity.
  • ADP iHCM through GET /hr/v2/workers (payrollfilenumber and paygroupcode), the Base Remuneration Change API (fields 2416 and 2417), the Pay Data Input API for iHCM NL (.add and .replace, no OData parameters, validation on pay group, field and period), Additional Remuneration Change for numeric fields without taxability and the Worker Terminate API (worker.terminate, worker-termination.cancel; completion only through events). Every URI in the Consumer Application Registry (CAR).

Which fields are transferred

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

Field in SAP SuccessFactorsField in ADP iHCMNotes
userId / personIdExternalSleutel bij de ADP-medewerker (payrollfilenumber)Linked once and stored
company (EmpJob)payrollGroupCodeDutch legal entity to ADP pay group
EmpPayCompRecurring (basissalaris)Salariscode 2416 en salarisbedrag 2417
EmpPayCompRecurring (toeslag)Additional RemunerationNumeric fields without taxability
EmpPayCompNonRecurring (payComponentCode, value, payDate)Variabel veld (Vxxx) via Pay Data InputThrough a lookup table per pay component
EmpEmploymentTermination (endDate, eventReason)Beëindiging met datum en reden

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.