ADP iHCM logoPlanday logo

Leave, absence and time

ADP iHCM to Planday integration: employees, department and contract hours from ADP in Planday

With an integration between ADP iHCM and Planday, new employees from ADP arrive in Planday automatically, in the department of their work location, with the contract rule that fits their hours and the ADP employee number as salary identifier. A departure in ADP sets the deactivation date in Planday, so shifts after the last working day are released.

What the integration does

Organisations with ADP iHCM as HR and payroll system that schedule in Planday enter new employees and hour changes in Planday by hand. Planday's ADP integration sends approved hours to ADP, but does not fetch employees from ADP.

  1. ADP reports a hire; as soon as the worker is visible through the API, KoppelHet fetches them with their work assignment.
  2. KoppelHet creates the employee in the Planday portal of their country, with department, employee group and the ADP number as salary identifier.
  3. The contract hours from ADP determine which existing contract rule the employee gets.
  4. On a changed work assignment KoppelHet updates department, group or contract rule.
  5. On departure KoppelHet sets the deactivation date and termination type; if HR changes the date, KoppelHet follows.
ADP iHCM → KoppelHet → PlandaySOURCEADP iHCMTARGETPlandayKoppelHetmapping · logging · monitoringADP iHCM → KoppelHet → PlandaySOURCEADP iHCMTARGETPlandayKoppelHetmapping · logging · monitoring
Out: Employee with name, email and salary identifier · Department from the work location · Employee group from the job · Contract rule from the contract hours · Deactivation on the last working day

What to watch for with ADP iHCM and Planday

  • In ADP iHCM a new employee first has stop external processing set. As long as that flag is on, the worker API does not return them. KoppelHet puts the employee into Planday as soon as payroll has completed the hire, and shows planners through the platform who is still waiting at ADP.
  • Planday can create an employee without an email address, as a draft that is invited later. If a new employee in ADP has no business email yet, KoppelHet creates a draft and sends the invitation once the address is in ADP.
  • Contract rules in Planday can only be read and assigned through the API, not created. ADP gives the contract hours with a unit, such as per week. KoppelHet looks for the existing rule with those hours and alerts the planner if none fits, instead of inventing a rule.
  • Planday sets a leaver to inactive as of the date you pass, and can release shifts after that date. A portal can also make a termination type mandatory. KoppelHet passes both from ADP. If ADP sends the termination again with another date, KoppelHet sets the new date.
  • The salary identifier in Planday is generated automatically by default, but can be changed. KoppelHet puts the ADP employee number in it. Planner and payroll then see the same number, and an hours export to ADP can match on that number instead of on a number only Planday knows.
  • ADP iHCM sends leave requests to the manager recorded as reports to. In Planday the supervisor field is only available on request. KoppelHet therefore arranges approval through department and employee group, and makes the reports-to manager a planner on their team's department.
  • Only the portal is globally unique in Planday; an employee ID can recur in another portal. ADP iHCM holds workers from several countries. KoppelHet picks the portal from the country of the work location in ADP and keeps the combination of portal and ID per employee.

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 the hourly rate from ADP go to Planday?

Not in the first version. ADP iHCM has an hourly rate field for the Netherlands, and Planday links pay to employee groups. Hourly rates for the labour cost estimate can be added later as an extension.

What happens when someone returns after leaving?

ADP sends a hire notification again on a rehire. KoppelHet then reactivates the existing employee in Planday instead of creating a new one.

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 (at most 100) and $skip; per worker workAssignments (primaryIndicator, hireDate, payrollFileNumber, jobCode, homeWorkLocation, homeOrganizationalUnits, standardHours with hoursQuantity and unitCode, terminationDate, reportsTo with reportsToRelationshipCode). Workers with stop external processing are not returned. Notifications worker.hire, worker.workAssignment.modify and worker.terminate (sent again on a changed date or reason). Filters do not work on all WorkAssignment fields.
  • Planday Open API with OAuth 2.0 per portal - HR API (POST /hr/v1.0/employees, also as a draft without email; PUT /hr/v1.0/employees/{employeeId}; PUT /hr/v1.0/employees/deactivate/{employeeId} with date, terminationTypeId and keepShifts; PUT /hr/v1.0/employees/reactivate/{employeeId}; POST .../invite) and Contract Rules API (GET contractrules, PUT /contractrules/v1.0/employees/{employeeId}). Limit 20 requests per second and 750 per minute per portal.

Which fields are transferred

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

Field in ADP iHCMField in PlandayNotes
workAssignments.payrollFileNumbersalaryIdentifierSame number as in ADP
person.legalNamefirstName, lastName
businessCommunication (e-mail)email en userNameWithout email a draft employee
homeWorkLocation.nameCodedepartmentsTable per location
jobCodeemployeeGroupsTable per job
standardHours.hoursQuantity en unitCodeContractregel (PUT contractrules)Pick an existing rule
hireDatehiredFrom
terminationDatedeactivate: date en terminationTypeId

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.