ADP iHCM logoQuinyx logo

Leave, absence and time

ADP iHCM to Quinyx integration: employees and contract hours from ADP in scheduling, hours per pay period back to ADP

With an integration between ADP iHCM and Quinyx, new employees, changes and departures from ADP appear in Quinyx automatically, with the location and contract hours recorded in ADP. Hours from Quinyx go back to ADP per pay period of the pay group as variable pay data, so payroll calculates with what was worked.

What the integration does

Organisations that run payroll in ADP iHCM and schedule per site in Quinyx maintain employees in two systems. A part-time contract that changes in ADP still shows the old hours in scheduling, and worked hours reach ADP as a file or by hand.

  1. HR records a new employee or a change in ADP iHCM.
  2. KoppelHet receives the notification from ADP and fetches the employee with their work assignment.
  3. Quinyx receives the employee in the unit of their work location, with an agreement based on the contract hours and part-time factor from ADP.
  4. At the end of the pay period the planner closes the period in Quinyx.
  5. KoppelHet converts the hours per pay code into ADP's variable fields and delivers them on the pay group's pay period. The result per line appears in the platform as a check.
ADP iHCM → KoppelHet → QuinyxSOURCEADP iHCMTARGETQuinyxKoppelHetmapping · logging · monitoringADP iHCM → KoppelHet → QuinyxSOURCEADP iHCMTARGETQuinyxKoppelHetmapping · logging · monitoring
Out: Employee with employee number, name and work email · Unit from the work location · Agreement with contract hours and part-time factor
Back: Hours per pay code and employee, per pay period of the pay group

What to watch for with ADP iHCM and Quinyx

  • A new starter can only be read through the ADP API once the 'Stop external processing' flag is off. ADP keeps that flag on until the starter's mandatory fields are complete. If a planner misses someone in Quinyx who is already in ADP, that flag is the first thing to check.
  • ADP provides contract hours and an FTE factor per work assignment. With a fixed work pattern the hours come from that pattern, with a variable one from the weekly hours field. Quinyx needs the hours of a full working week in the agreement. KoppelHet divides the contract hours by the FTE factor, so both systems show the same part-time share.
  • ADP only links delivered hours to a payroll run when start and end date match the pay group's pay period exactly. Otherwise ADP accepts the lines but they are not attached to anything. KoppelHet takes over the periods per pay group and delivers the Quinyx hours only on those periods.
  • Through the API ADP only accepts variable fields, and which ones differs per pay group. KoppelHet links each pay code from Quinyx to a V field and checks at the start that the field is set up in the pay group, so hours are not refused on payroll day.
  • A correction to hours already in ADP is sent as a difference, or as a replacement of the whole delivery as long as ADP has not processed it. KoppelHet therefore keeps the number ADP returns per delivery. An entry that was ten hours too high becomes a line of minus ten after processing.
  • ADP sends the termination notification again when the leaving date or reason changes, and a withdrawn termination arrives as a cancellation followed by a new notification. KoppelHet updates the last working day in Quinyx on every notification, not just the first.
  • ADP reports a returning former employee as a hire with the status rehire and the same employee number. Because that number is the badge number in Quinyx, the employee gets their existing profile back with a new start 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, 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 · Basic

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

Does leave from ADP go to Quinyx?

Not in this integration. ADP publishes no leave API for iHCM; leave is then requested and approved in Quinyx.

What if ADP refuses an hours line?

ADP returns per line what was and was not processed. A refused line appears as an alert in the platform, with the reason from ADP.

Technical details for IT

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

  • ADP iHCM through the Worker Management API (GET /hr/v2/workers with $top and $skip, filters not on all workAssignment fields) and the event notifications worker.hire (also rehire), worker.workAssignment.modify and worker.terminate (also on terminate-cancel). Fields include standardHours.hoursQuantity, fullTimeEquivalenceRatio, homeWorkLocation.nameCode and payrollGroupCode. Each API URI must be in the Consumer Application Registry.
  • Hours to ADP through the Pay Data Input API for iHCM NL (pay-data-input.add and .replace) with payrollGroupCode, payeeID equal to payrollFileNumber, payPeriodStartDate and payPeriodEndDate. The batch ID is in events/data/output/payDataInput/itemId.
  • To Quinyx through the Employees API v3 (POST /hr/v3/employees, lookup by badgeNumber) and /hr/v3/role-assignments; agreements through the SOAP operation wsdlUpdateAgreementsV2. Hours are read after the transfer to payroll (InitiateTransferToPayroll), which locks the period in Quinyx.

Which fields are transferred

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

Field in ADP iHCMField in QuinyxNotes
workerID / payrollFileNumberbadgeNumberAlso the payeeID when delivering hours
legalName (givenName, familyName1)personalInformation.firstName, lastName
businessCommunication (werk-e-mail)email
workAssignments.homeWorkLocation.nameCodeemployment.homeGroupIdThrough a table of ADP location codes to Quinyx units
workAssignments.standardHours.hoursQuantityContracturen in de agreement
workAssignments.fullTimeEquivalenceRatiofullEmploymentHrs (agreement)Contract hours divided by the FTE factor
hireDate en terminationDateemploymentStartDate en leaveDate
Looncode en uren (Quinyx, terug)Variabel veld (Vxxx) in Pay Data Input
Loonperiode (Quinyx, terug)payPeriodStartDate en payPeriodEndDateMust match the pay group's period exactly

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.