Deel logoZenegy logo

Payroll koppeling

Deel Zenegy koppeling: eigen werknemers van de Deense entiteit uit Deel als medewerker in Zenegy

Een koppeling tussen Deel en Zenegy maakt een eigen werknemer van de Deense rechtspersoon in Deel aan als medewerker in Zenegy, met CPR-nummer, adres, startdatum en loon, en meldt de laatste werkdag als ontslag in Zenegy. EOR-medewerkers en contractors in Deel gaan niet naar Zenegy, omdat Deel die zelf betaalt.

Wat de koppeling doet

Organisaties die Deel gebruiken als HR-systeem voor alle landen en een eigen Deense ApS in Zenegy verlonen, leggen een Deense starter twee keer vast. Het CPR-nummer gaat dan vaak per mail naar de salarisadministratie, en een vertrek in Deel komt pas bij de volgende run in Zenegy.

  1. HR maakt in Deel een eigen werknemer aan bij de Deense rechtspersoon.
  2. KoppelHet ontvangt de webhook Employee Created Direct en controleert of legal_entity_id de Deense entiteit is.
  3. KoppelHet haalt naam, adres en CPR-nummer op en maakt de medewerker in Zenegy aan.
  4. Een gewijzigd loon of adres gaat als PATCH met alleen de gewijzigde velden naar Zenegy.
  5. Een laatste werkdag in Deel wordt een ontslag in Zenegy; wat Zenegy weigert, staat op een lijst voor payroll.
Deel → KoppelHet → ZenegyBRONDeelDOELZenegyKoppelHetmapping · logging · monitoringDeel → KoppelHet → ZenegyBRONDeelDOELZenegyKoppelHetmapping · logging · monitoring
Heen: Medewerker met CPR-nummer, naam en adres · Indiensttreding en anciënniteitsdatum · Loon met valuta · Ontslag met laatste werkdag

Waar je op let bij Deel en Zenegy

  • Deel beschrijft het aanmaken van een direct employee als de route voor werknemers van de eigen rechtspersoon die via een eigen payrollleverancier worden betaald. Dat is precies de groep voor Zenegy. KoppelHet reageert op de webhook Employee Created Direct en laat EOR- en contractorgebeurtenissen liggen.
  • Zenegy maakt geen medewerker aan zonder CPR-nummer. Deel geeft nationale nummers alleen terug in additional_details als de feature flag voor de organisatie aanstaat en de aanvraag persoonsgegevens niet afschermt. Staat die uit, dan leest KoppelHet het CPR uit een eigen veld in Deel dat HR vult, en anders wacht de starter op een lijst.
  • Zenegy vraagt bij elke nieuwe medewerker een seniorityDate. Het veld seniority in Deel is een functieniveau zoals Senior, geen datum. KoppelHet vult de anciënniteitsdatum daarom met de startdatum uit Deel, tenzij HR bij een herintreder een eerdere datum in een eigen veld zet.
  • De webhook van Deel geeft het loon als geheel jaarbedrag met valuta, en in het profiel staat een scale zoals ANNUAL, MONTHLY of HOURLY. Zenegy betaalt maandelijks vooruit, maandelijks achteraf of per veertien dagen. KoppelHet rekent alleen bedragen in DKK om naar de looperiode van de medewerker en houdt andere valuta tegen.
  • Veel velden in Zenegy hangen aan de global values en sets van het bedrijf. Een PATCH op zo'n veld wijzigt het profiel niet en geeft ook geen foutmelding. KoppelHet zet die velden daarom alleen bij het aanmaken via de juiste set, en leest na elke wijziging de medewerker terug om te zien of Zenegy hem echt heeft overgenomen.
  • Een medewerker verwijderen kan in Zenegy alleen zolang hij nog in geen salarisrun zat, en dat is niet terug te draaien. Trekt HR in Deel een aanbod in vóór de eerste run, dan verwijdert KoppelHet de medewerker na akkoord van payroll; daarna wordt het een ontslag.

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, architectuur en compliance

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.

Prijsindicatie · Complex

Laat je zakelijke e-mailadres achter, dan zie je de prijsindicatie direct.

We gebruiken je adres alleen om je vraag over deze koppeling op te volgen.

Veelgestelde vragen

Gaat verlof uit Deel ook naar Zenegy?

Niet in de eerste versie. Afwezigheid telt in Zenegy alleen als goedgekeurde registratie; 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.

  • Deel via de HRIS-API met een bearer token: webhooks Employee Created Direct en Employee Updated Direct (profiel-id, legal_entity_id, contract_oid, start_date, gross_annual_salary met currency), daarna GET /rest/people voor adressen, employments en direct_employee_termination_last_day; additional_details alleen met feature flag.
  • Zenegy Payroll-API met OAuth 2.0: Post employee (cpr, name, address, postalNumber, city, employmentDate, seniorityDate), PATCH employee met alleen gewijzigde velden, Get employee details om terug te lezen en Resign employee bij vertrek.

Welke velden overgaan

De belangrijkste velden. De volledige mapping stellen we per klant vast.

Veld in DeelVeld in ZenegyToelichting
Webhook Employee Created Direct (legal_entity_id)Filter: alleen de Deense rechtspersoonEOR en contractors vallen af
additional_details (CPR)cprAlleen met feature flag in Deel; verplicht in Zenegy
first_name, last_namename
addressesaddress, postalNumber, cityAlle drie verplicht
employments.start_dateemploymentDate en seniorityDateDeel seniority is een niveau, geen datum
compensation_details (salary, currency, scale)Loon in Salary DataAlleen bij DKK; omrekening per scale
direct_employee_termination_last_dayResign employee

Gerelateerd

Welke systemen wil je koppelen?

Vertel welke systemen je gebruikt en wat er automatisch moet gebeuren. Samen bepalen we de kleinste werkende oplossing, met een helder ontwerp en een offerte vooraf.