
Payroll koppeling
Sage HR Loket koppeling: Nederlandse medewerkers, salaris en uitdienst uit Sage HR in de salarisadministratie
Met een koppeling tussen Sage HR en Loket komt een nieuwe Nederlandse medewerker uit Sage HR als conceptwerknemer in Loket, met startdatum, functie, uren en salaris, en gaan latere salariswijzigingen en een vertrek mee naar het dienstverband. De salarisadministratie vult in Loket alleen nog aan wat Sage HR niet kent, zoals cao en loonheffingskorting.
Wat de koppeling doet
Organisaties die Sage HR gebruiken voor personeel in meer landen en de Nederlandse salarissen in Loket laten draaien, vaak via een administratiekantoor, mailen nieuwe mensen en loonsverhogingen nu door. Omdat Sage HR geen uren en bankrekening in de API heeft, ontbreken die gegevens in Loket regelmatig tot vlak voor de loonrun.
- HR neemt in Sage HR een medewerker aan in het team dat bij de Nederlandse werkgever hoort, met de eigen velden voor uren per week en IBAN.
- KoppelHet ziet de nieuwe medewerker bij de volgende ronde en maakt in Loket een conceptwerknemer bij de juiste werkgever.
- Het administratiekantoor vult cao, loonheffingskorting en pensioen aan en zet het concept om naar een werknemer.
- Een nieuwe beloning in Sage HR wordt een nieuw loonrecord in Loket, met de startdatum uit Sage HR.
- Een termination beëindigt het dienstverband in Loket; een rehire wordt een nieuw dienstverband bij dezelfde werknemer.
Waar je op let bij Sage HR en Loket
- Sage HR markeert flexkrachten met de vlag irregular_contract_worker. In Loket wordt dat een dienstverband met oproepindicatie, zodat het administratiekantoor meteen ziet of er een verschijningsplicht moet worden vastgelegd.
- Loket accepteert een IBAN alleen zonder spaties. Het IBAN staat in Sage HR in een eigen veld, waar HR het vaak met spaties overneemt; KoppelHet haalt die weg en controleert het formaat voordat het concept wordt aangemaakt.
- Het aantal uren per week komt uit een eigen veld in Sage HR en gaat in Loket naar de afwijkende uren naast het rooster van de werkgever. De voltijduren blijven zo bij het rooster in Loket, en de deeltijdfactor rekent Loket zelf.
- Een beloning in Sage HR heeft een categorie. Alleen de categorie Salary wordt een loonrecord in Loket; een beloning per uur gaat als uurloon, en een periode die Loket niet kent, zoals per jaar, rekent KoppelHet om naar de verloningsperiode van de werkgever.
- Loket bewaart loonrecords als een keten waarin een nieuw record het vorige afsluit. KoppelHet zet een beloning met een startdatum in het verleden daarom niet blind achteraan, maar meldt het aan het administratiekantoor als er al een later loonrecord staat.
- Een termination in Sage HR heeft een reden uit een vaste lijst. Loket vraagt bij beëindigen de reden volgens de Belastingdienst en of het vertrek komt door langdurige ziekte. Die vertaling leggen we bij de start vast; ziekte als oorzaak vraagt KoppelHet altijd na bij HR.
- Een rehire in Sage HR houdt hetzelfde id. KoppelHet maakt in Loket een nieuw dienstverband bij de bestaande werknemer en zet de eerdere begindatum als historische startdatum, in plaats van een tweede werknemer aan te maken.
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
Werkt dit als een administratiekantoor Loket voor ons beheert?
Ja. Het kantoor geeft de koppeling toegang tot jullie werkgevers in Loket en ziet nieuwe concepten gewoon verschijnen.
Gaat verlof uit Sage HR ook naar Loket?
Niet standaard. Dat kan later als uitbreiding.
Technische details voor IT
Voor wie wil weten hoe het onder de motorkap werkt: gebruikte API's, velden en bronnen.
- Sage HR via {subdomein}.sage.hr/api met de header X-Auth-Token - GET /employees (employment_start_date, irregular_contract_worker, position_history), GET /terminated-employees met termination.reason, GET /employees/{id}/compensations (start_date, end_date, period, category) en GET /employees/{id}/custom-fields. Geen webhooks; KoppelHet leest periodiek, in pagina's van vijftig.
- Naar Loket via de Loket REST API met OAuth - PostConceptEmployeeByEmployerId (iban zonder spaties, isOnCallEmployment, historicalStartDate), PostWageByEmploymentId (grossWage, grossWageType, payrollPeriodType) en PostWorkingHoursByEmploymentId (deviatingHoursPerWeek), beide als datumketen, en PatchTerminateByEmploymentId (endOfEmploymentReasonTaxAuthorities, endOfEmploymentDueToIllness).
Welke velden overgaan
De belangrijkste velden. De volledige mapping stellen we per klant vast.
| Veld in Sage HR | Veld in Loket | Toelichting |
|---|---|---|
id | Vrij veld bij de werknemer | Vaste sleutel |
first_name, last_name, date_of_birth | Persoonsgegevens conceptwerknemer | |
team of eigen veld werkgever | Werkgever in Loket | Vertaaltabel |
employment_start_date | Begindatum dienstverband | |
irregular_contract_worker | Oproepovereenkomst (isOnCallEmployment) | |
Eigen veld uren per week | Afwijkende uren per week in de arbeidstijd | |
Eigen veld IBAN | IBAN zonder spaties | |
compensation (amount, period, start_date, category Salary) | Loon met ingangsdatum | |
termination_date en termination.reason | Einddatum en reden einde dienstverband |
Gerelateerd
Recruitee → Sage HR
Recruitee Sage HR koppeling: aangenomen kandidaten als medewerker in Sage HR
Sage HR → Active Directory
Sage HR koppelen met Active Directory: domeinaccounts per team, met vervaldatum uit de termination
Sage HR → ADP iHCM
Sage HR ADP iHCM koppeling: compensatie en vertrek uit Sage HR naar de Nederlandse ADP-payroll
Sage HR → AFAS Profit
Sage HR koppelen met AFAS: medewerkers van de Nederlandse vestiging in AFAS Profit Payroll