

HR naar ERP
Deel Visma.net ERP koppeling: eigen werknemers per legal entity als werknemer in de juiste vestiging
Met een koppeling tussen Deel en Visma.net ERP wordt elke eigen werknemer (direct employee) van een legal entity die in Visma.net boekt automatisch werknemer in Visma.net, in de vestiging van die entiteit, met afdeling, werknemersklasse, kalender en werkmail. EOR-medewerkers en contractors blijven buiten Visma.net, en na een afgeronde beëindiging zet KoppelHet de werknemer de dag na de laatste werkdag op inactief.
Wat de koppeling doet
Organisaties die eigen werknemers in Deel HR beheren en financiën, uren en declaraties in Visma.net ERP doen, maken werknemers in Visma.net met de hand aan. In Deel staan daarnaast EOR-medewerkers en contractors, en die horen niet als werknemer in de boeken.
- HR maakt in Deel een direct employee aan onder een eigen legal entity die in Visma.net boekt.
- Deel meldt het; KoppelHet controleert hiring type en entiteit en maakt de werknemer aan in de wacht.
- Op de startdatum gaat de werknemer op actief; wijzigingen in afdeling of werkmail volgen direct.
- Is de beëindiging in Deel afgerond, dan gaat de werknemer de dag na de laatste werkdag op inactief.
Waar je op let bij Deel en Visma.net ERP
- Volgens de huidige Deel-gids maakt Create a direct employee een werknemer aan onder de eigen legal entity van de organisatie. Zulke werknemers hebben hiring type direct_employee. Alleen die gaan naar Visma.net; eor, peo en contractor blijven erbuiten, omdat hun loon of factuur via een andere route binnenkomt.
- Elke persoon in Deel hoort via client_legal_entity bij een legal entity. Vestigingen zijn in de Visma.net-API alleen te lezen. KoppelHet koppelt elke entiteit die in Visma.net boekt aan een bestaande vestiging, en een entiteit zonder vestiging blijft buiten de koppeling.
- Een nieuwe werknemer staat in Deel vaak weken op onboarding voordat hij begint. Visma.net heeft de status in de wacht voor een werknemer die nog niet is geactiveerd. KoppelHet maakt de werknemer daarom al tijdens de onboarding aan en zet hem op de startdatum op actief.
- Een beëindiging in Deel doorloopt statussen van PENDING tot COMPLETED, en kan ook mislukken of worden geannuleerd. KoppelHet handelt pas als de status COMPLETED is en leest dan de laatste werkdag. Een geannuleerde beëindiging laat de werknemer in Visma.net dus actief.
- Afdelingen in Deel hebben een bovenliggende afdeling. In Visma.net is een afdeling een vlakke lijst, met een kostenrekening en subrekening per afdeling. Finance legt vast welke Deel-afdeling bij welke Visma.net-afdeling hoort; een nieuwe Deel-afdeling zonder regel wordt een melding in plaats van een werknemer op een verkeerde rekening.
- Visma.net vraagt per werknemer een werknemersklasse en een kalender met werktijden en tijdzone. Deel kent geen van beide, maar wel het land van het dienstverband. KoppelHet kiest klasse en kalender per land met een tabel van finance, zodat een werknemer in Duitsland de Duitse kalender krijgt.
- In het people-overzicht van Deel staat de werkmail per dienstverband, niet op de persoon. Visma.net weigert een werknemer zonder e-mailadres. KoppelHet neemt de werkmail van het dienstverband bij de eigen entiteit, en wacht met aanmaken als die nog leeg is.
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
Komen EOR-medewerkers uit Deel ook in Visma.net?
Niet als werknemer. Zij staan bij een werkgever van Deel op de loonlijst; de factuur van Deel boekt finance als inkoop. Moeten ze toch uren of declaraties in Visma.net doen, dan kan dat 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 REST API (versie 2026-01-01) met een API-token of OAuth2, scope people:read. GET /rest/people met hiring_types (contractor, eor, peo, hris_direct_employee, hris_direct_contractor, direct_employee, contractor_outside_deel, person_without_contract), hiring_statuses (onder meer onboarding, active, offboarding), worker_id, client_legal_entity, department met parent, direct_manager, active_worker_termination_status (PENDING, CONTRACT_TERMINATION_DATA_COLLECTED, IN_PROGRESS, COMPLETED, FAILED, CANCELED) en direct_employee_termination_last_day; employments[] met work_email en country. Webhooks per soort aanmaak en voor wijzigingen.
- Visma.net ERP via de Service API met Visma Connect (OAuth 2.0 client credentials, per tenant). POST /v1/employee met verplicht employeeCd, department, employeeClass, branch, calendar en contact met lastName en email; PUT /v1/employee/{employeeCd} met If-Match; status Active, On hold of Inactive. Vestigingen alleen via GET. Limiet per uur per bedrijf en client, met X-RateLimit-headers en Retry-After bij 429.
Welke velden overgaan
De belangrijkste velden. De volledige mapping stellen we per klant vast.
| Veld in Deel | Veld in Visma.net ERP | Toelichting |
|---|---|---|
worker_id | employeeCd | |
first_name, last_name | contact.firstName en contact.lastName | |
employments[].work_email | contact.email | Verplicht in Visma.net |
client_legal_entity | branch | Via een tabel; vestigingen bestaan al |
department (met parent) | department | Via een tabel van finance |
hiring_type | Filter | Alleen direct_employee |
employments[].country | employeeClass en calendar | Per land via een tabel |
start_date en direct_employee_termination_last_day | status (Hold, Active, Inactive) |
Gerelateerd
Ashby → Deel
Ashby Deel koppeling: aannames bij de eigen entiteit als direct employee in Deel
Bullhorn → Deel
Bullhorn Deel koppeling: eerste plaatsing als direct employee met contract in Deel
Carerix → Deel
Carerix Deel koppeling: geslaagde plaatsing als persoon of contract in Deel
Deel → 4PS Construct
Deel 4PS Construct koppeling: eigen werknemers van de bouwentiteit in 4PS, met afdeling en kostenplaats als dimensie