Payroll koppeling
Keka ADP iHCM koppeling: salarisopbouw, variabele uitbetalingen en vertrek van de Nederlandse pay group naar ADP
Een koppeling tussen Keka en ADP iHCM zet salariswijzigingen, variabele uitbetalingen en vertrek van medewerkers in de Nederlandse pay group van Keka door naar de Nederlandse payroll in ADP iHCM. Payroll typt die wijzigingen dan niet meer over; een nieuwe medewerker aanmaken in ADP blijft een taak van payroll.
Wat de koppeling doet
Organisaties die Keka als HR-systeem gebruiken, vaak vanuit een Indiase hoofdvestiging, en de Nederlandse medewerkers via ADP iHCM laten betalen, sturen payroll per maand een overzicht uit Keka. Keka rekent zelf ook netto en inhoudingen uit; die getallen gelden niet voor Nederland en zorgen bij overtypen voor verwarring.
- HR wijzigt in Keka een salaris, voegt een variabele uitbetaling toe of keurt een vertrek goed.
- Keka stuurt een melding; KoppelHet haalt het salaris van de medewerker op, gefilterd op de Nederlandse pay group.
- Het basiscomponent uit de earnings gaat als salariswijziging naar ADP, variabele componenten als regel in de periode van de uitbetaaldatum.
- Een vertrek start de beëindiging in ADP; exitCancelled annuleert die.
- Afwijkingen staan in een overzicht voor payroll.
Waar je op let bij Keka en ADP iHCM
- Een salaris in Keka bevat de totale CTC, bruto, netto, earnings, werkgeversbijdragen, inhoudingen en variabele componenten. Netto en inhoudingen zijn berekeningen van Keka zelf; KoppelHet stuurt die niet naar ADP, omdat ADP iHCM de Nederlandse inhoudingen zelf berekent. Alleen het basiscomponent uit de earnings gaat mee.
- Variabele componenten in Keka hebben een titel, een bedrag en een uitbetaaldatum. KoppelHet zoekt bij die datum de ADP-salarisperiode en stuurt de exacte begin- en einddatum mee, zodat ADP het bedrag aan de juiste run koppelt.
- De salaris-API van Keka kan filteren op pay group. KoppelHet vraagt alleen de pay group op die de Nederlandse medewerkers bevat; salarissen van Indiase of andere pay groups komen zo niet in de koppeling.
- Keka meldt met exitCancelled dat een al goedgekeurd vertrek tijdens het exitproces is ingetrokken. KoppelHet annuleert dan de beëindiging in ADP, omdat een beëindiging daar niet kan worden aangepast, alleen geannuleerd.
- Een melding uit Keka bevat alleen het ID van de medewerker, het soort gebeurtenis en het subdomein. KoppelHet haalt de actuele gegevens daarna zelf op, zodat een melding die twee keer binnenkomt geen dubbele salariswijziging in ADP geeft.
- Keka staat vijftig API-aanroepen per minuut toe en geeft daarboven een 429. ADP verwerkt één salariswijziging per aanroep. Na een collectieve loonsverhoging spreidt KoppelHet het ophalen uit Keka en het versturen naar ADP over meerdere minuten.
- Met het filter op opzegtermijn geeft Keka medewerkers die al in hun opzegperiode zitten. KoppelHet gebruikt dat om payroll vooraf te laten zien welke beëindigingen voor de komende ADP-run op komst zijn.
Hoe we het bouwen en beheren
- De koppeling draait op het KoppelHet platform, gehost in een datacenter in de EU.
- Elke synchronisatie en elke fout is zichtbaar in de functionele logging; bij een fout krijgt jullie beheerder een melding.
- Een mutatie die niet door kan, wordt niet half doorgezet maar klaargezet om opnieuw te proberen.
- KoppelHet is ISO 27001-gecertificeerd. Gegevens gaan versleuteld over en blijven niet langer op het platform dan nodig.
- Na livegang beheren wij de koppeling en passen we hem aan als jullie proces verandert.
- De koppeling past naast je bestaande integratielaag. Alleen de velden uit het ontwerp gaan over; het platform houdt geen eigen registratie bij.
Implementatie en prijs
Dit is geen app die je aanzet. We bouwen de koppeling voor jullie organisatie op ons platform, met bouwstenen die we steeds opnieuw gebruiken. Zo is het maatwerk, zonder dat we bij nul beginnen.
Een consultant bereidt de intake voor en analyseert beide systemen. Daarna leggen we de mapping en uitzonderingen per veld vast, testen we in de test- of acceptatieomgeving en gaan we live op een moment dat jij kiest. De kosten bestaan uit een eenmalig bedrag voor de inrichting en een maandbedrag voor platform, monitoring en beheer.
Veelgestelde vragen
Moeten Nederlandse medewerkers in Keka Payroll zitten?
Ze moeten in een eigen pay group met een salarisopbouw staan, zodat de API salarissen teruggeeft. De loonberekening zelf gebeurt in ADP.
Maakt de koppeling nieuwe medewerkers aan in ADP?
Nee. Payroll maakt de medewerker in ADP aan; KoppelHet koppelt hem daarna op personeelsnummer.
Gaan toeslagen uit de earnings mee?
In de eerste versie alleen het basiscomponent. Andere earnings doorzetten kan later als uitbreiding.
Technische details voor IT
Voor wie wil weten hoe het onder de motorkap werkt: gebruikte API's, velden en bronnen.
- Keka API (https://{bedrijf}.keka.com/api/v1) met token van login.keka.com/connect/token: GET /payroll/salaries (filters employeeIds, employmentStatus Working/Relieved, paygroupIds; velden ctc, gross, netPay, remunerationType, effectiveFrom, earnings met isOutsideCTC, deductions, variables met payoutDate) en GET /hris/employees (filter inNoticePeriod, lastModified). Event triggers EmployeeSalaryUpdated en exitCancelled, POST met employeeIndentifier, eventType en subDomain. 50 aanvragen per minuut, pagina's tot 200.
- ADP iHCM via GET /hr/v2/workers, de Base Remuneration Change API (2416 en 2417), de Pay Data Input API voor iHCM NL en de Worker Terminate API (worker.terminate, worker-termination.cancel). Canonicals in de Consumer Application Registry (CAR).
Welke velden overgaan
De belangrijkste velden. De volledige mapping stellen we per klant vast.
| Veld in Keka | Veld in ADP iHCM | Toelichting |
|---|---|---|
employee.employeeNumber | payrollfilenumber | Eenmalig gekoppeld en bij KoppelHet bewaard |
Pay group (filter paygroupIds) | payrollGroupCode | Vertaaltabel per pay group |
earnings: basiscomponent (title, amount) | Salarisbedrag 2417 met salariscode 2416 | |
effectiveFrom | effectiveDateTime van de salariswijziging | |
variables: title, amount, payoutDate | Variabel veld (Vxxx) met de begin- en einddatum van de periode | Vertaaltabel per titel |
employmentStatus Relieved en vertrekdatum | Beëindiging in worker.terminate |
Gerelateerd
Keka → Active Directory
Keka koppelen met Active Directory: domeinaccounts per vestiging, met vervaldatum op de exit
Keka → AFAS Profit
Keka koppelen met AFAS: Nederlandse medewerkers uit Keka in de salarisadministratie
Keka → Arbodienst (SIVI)
Keka koppelen met de arbodienst via SIVI: leave requests voor ziekte als verzuimmelding
Keka → DATEV
Keka DATEV koppeling: de Duitse entiteit uit Keka naar de Steuerberater in DATEV