
Verlof, verzuim en uren
Deputy AFAS koppeling: goedgekeurde timesheets naar de salarisrun, medewerkers en verlofsaldo terug
Met een koppeling tussen Deputy en AFAS Profit gaan timesheets die in Deputy voor de payroll zijn goedgekeurd automatisch naar AFAS, per looncomponent en per dienstverband, klaar voor de salarisrun. De andere kant op komen nieuwe medewerkers, vestiging en verlofsaldo uit AFAS in Deputy, zodat de planning roostert met wie er echt in dienst is.
Wat de koppeling doet
Werkgevers die in Deputy roosteren en salaris in AFAS Profit draaien, exporteren na elke periode de timesheets, zetten de Deputy-codes om naar AFAS-looncomponenten en lezen het bestand in. Intussen kan een manager in Deputy nog een dienst aanpassen die al is uitbetaald, en nieuwe medewerkers worden in beide pakketten apart aangemaakt.
- HR legt een nieuwe medewerker vast in AFAS met dienstverband, functie en organisatorische eenheid.
- KoppelHet maakt de medewerker aan in Deputy, op de vestiging die bij de organisatorische eenheid hoort, met het AFAS-personeelsnummer als payroll-ID.
- Medewerkers klokken in en uit in Deputy. De manager keurt eerst de tijd goed en daarna de uitbetaling.
- Na de goedkeuring voor de payroll haalt KoppelHet de uren per payregel op en boekt ze in AFAS op het looncomponent dat bij de exportcode hoort.
- Zodra AFAS de regels heeft geaccepteerd, zet KoppelHet de timesheets in Deputy op betaald. Daarna zijn ze daar niet meer te wijzigen.
Terug: Gewerkte uren per exportcode als loonmutatie · Toeslaguren uit de payregels van Deputy
Waar je op let bij Deputy en AFAS Profit
- Deputy kent twee goedkeuringen op een timesheet, één voor de tijd en één voor de uitbetaling. Een timesheet kan qua tijd goedgekeurd zijn terwijl de uitbetaling nog openstaat. De koppeling boekt in AFAS pas na de tweede goedkeuring, omdat Deputy de looncomponenten pas dan vastlegt.
- Elke payregel in Deputy heeft een exportcode voor de payroll en een vinkje of hij wordt geëxporteerd. Die code moet overeenkomen met een looncomponent in AFAS. KoppelHet controleert voor de eerste salarisrun dat elke exportcode een looncomponent heeft, en meldt een regel zonder match in plaats van hem over te slaan.
- Een timesheet die in Deputy op betaald staat, is op slot. KoppelHet zet die status pas nadat AFAS de uren heeft geaccepteerd. Zo kan een manager geen dienst meer wijzigen die al in de salarisrun zit, en blijft een timesheet die AFAS weigerde gewoon aan te passen.
- Deputy zet timesheets alleen per loonperiode tegelijk op betaald; zit er één timesheet uit een andere periode tussen, dan faalt de hele aanroep. KoppelHet groepeert de timesheets daarom per Deputy-periode voordat de status terug gaat.
- Een nieuw verlofsaldo in Deputy vervangt het oude, het wordt er niet bij opgeteld. KoppelHet stuurt daarom altijd het volledige saldo uit AFAS per verlofsoort, nooit alleen de opname van die week.
- Deputy koppelt het payroll-ID aan de afspraak per vestiging, niet aan de persoon. Heeft iemand in AFAS twee dienstverbanden, bijvoorbeeld op twee bedrijven in dezelfde omgeving, dan krijgt elk dienstverband een eigen afspraak en landen de uren op het juiste dienstverband.
- AFAS kan uren in de periode van de dienst boeken of in de lopende salarisrun. Diensten die in Deputy na de afsluiting nog worden goedgekeurd, boekt KoppelHet volgens de methode die jullie salarisadministratie gebruikt, zodat er geen periode dubbel of leeg blijft.
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
Berekent Deputy of AFAS de toeslagen?
Deputy rekent per dienst met payregels. De koppeling neemt die uitkomst over per exportcode. Rekent AFAS ook toeslagen op dezelfde uren, dan spreken we vooraf af welke kant leidend is, anders wordt er dubbel betaald.
Wat gebeurt er met een correctie na de salarisrun?
Een betaalde timesheet staat in Deputy op slot. Moet hij toch worden aangepast, dan zet de salarisadministratie hem terug naar onbetaald; de koppeling boekt daarna alleen het verschil in AFAS.
Gaan verlofaanvragen ook mee?
Het saldo gaat standaard mee. Goedgekeurd verlof uit AFAS als afwezigheid in Deputy zetten kan later als uitbreiding.
Technische details voor IT
Voor wie wil weten hoe het onder de motorkap werkt: gebruikte API's, velden en bronnen.
- Uren komen uit de Deputy-resources Timesheet en TimesheetPayReturn (QUERY, standaard maximaal 500 records per aanroep). Timesheet bevat TimeApproved en PayRuleApproved; TimesheetPayReturn levert per PayRule de Value (uren) en Cost, alleen voor timesheets die voor de payroll zijn goedgekeurd.
- Deputy-webhooks melden onder meer het goedkeuren van tijd en van uitbetaling, ondertekend met een SHA-256 HMAC in de header X-Deputy-Secret. Betaald zetten gaat via payroll/mark/{periodid}/paid met een TimesheetIdArray; terugdraaien via /unpaid.
- Medewerkers gaan naar Deputy via de Employee API v2 (management/v2/employees) met firstName, lastName, displayName, primaryLocation, startDate, externalId en workplaces[].agreement.payrollId. Verlofsaldi via de resource LeaveAccrual, die het saldo overschrijft.
- In AFAS schrijven we loonmutaties via de UpdateConnector HrCompMut; parameters (VaD1-3) alleen als ze op het looncomponent zijn ingericht. AFAS wordt gelezen met een eigen GetConnector op medewerkers, dienstverbanden en organisatorische eenheden.
Welke velden overgaan
De belangrijkste velden. De volledige mapping stellen we per klant vast.
| Veld in Deputy | Veld in AFAS Profit | Toelichting |
|---|---|---|
Employee (Deputy-id) | Medewerker (EmId) | Via het payroll-ID dat de koppeling bij aanmaken in Deputy zet |
workplaces[].agreement.payrollId | Personeelsnummer en dienstverband in AFAS | Elk dienstverband een eigen afspraak in Deputy |
primaryLocation | Organisatorische eenheid | Via een vertaaltabel van eenheden naar Deputy-vestigingen |
PayRule.PayrollCategory (exportcode) | Looncomponent in HrCompMut | Alleen payregels met IsExported |
TimesheetPayReturn.Value | Aantal uren in de loonmutatie | |
Timesheet.StartTime | Periode van de loonmutatie | Volgens de gekozen methode: periode van de dienst of lopende run |
Verlofsaldo uit AFAS | LeaveAccrual | Altijd het volledige saldo, Deputy overschrijft |
Gerelateerd
Deputy → Nmbrs
Deputy Nmbrs koppeling: goedgekeurde uren als variabele uren in de juiste periode
Deputy → Visma Raet YouForce
Deputy YouForce koppeling: uitbetaalde timesheets als looncomponent per dienstverband
HiBob → Deputy
HiBob Deputy koppeling: medewerkers, goedgekeurd verlof en verlofsaldi uit Bob in het rooster
Personio → Deputy
Personio Deputy koppeling: medewerkers en goedgekeurde afwezigheid uit Personio in Deputy, gewerkte tijd terug als attendance