
Identity en access management
Visma Peple Okta koppeling: medewerkers en invallers uit Peple als HR-bron voor Okta
Met een koppeling tussen Visma Peple en Okta wordt elke medewerker uit Peple een Okta-gebruiker, met organisatie-eenheid, functie en leidinggevende, en krijgt een invaller alleen toegang zolang zijn vervanging loopt. Na de einddatum van het contract of de vervanging deactiveert Okta de gebruiker, zonder dat er privégegevens uit Peple in Okta komen.
Wat de koppeling doet
Organisaties die Visma Peple voor HR gebruiken en Okta voor toegang, voeren nieuwe collega's en invallers vaak twee keer in. Okta loopt daardoor achter op Peple, en een invaller houdt toegang nadat zijn vervanging allang voorbij is.
- In Visma Connect krijgt KoppelHet een client met alleen de exportscopes voor medewerkers, contracten, organisatie-eenheden en vervangingen; in Okta zet het accountteam een eigen HR-bron aan.
- KoppelHet start de exports in Peple en wacht tot de bestanden klaarstaan.
- KoppelHet vergelijkt de regels met de vorige stand en levert alleen echte wijzigingen in één sessie aan Okta.
- Okta maakt of wijzigt de gebruiker en wijst apps toe via de groepen per organisatie-eenheid.
- Na het laatste contract of de laatste vervanging levert KoppelHet de verwijdering aan en deactiveert Okta de gebruiker.
Waar je op let bij Visma Peple en Okta
- Peple levert gegevens als export die eerst wordt gestart en later als bestand klaarstaat. Een Okta-sessie voor een eigen HR-bron verloopt na 24 uur zonder activiteit. KoppelHet opent de Okta-sessie pas als alle Peple-bestanden binnen zijn, zodat er nooit een half gevulde sessie blijft hangen.
- Een incrementele export van Peple bevat volgens Visma soms medewerkers die niet zijn veranderd. Een lege aanlevering laat een Okta-sessie op aangemaakt staan, en starten geeft dan een fout. KoppelHet filtert de schijnwijzigingen eruit en opent geen sessie als er niets is veranderd.
- Peple heeft een aparte export voor vervangingen, met begin- en einddatum. KoppelHet neemt een invaller op in de HR-bron als de vervanging begint en haalt hem eruit als die eindigt; Okta deactiveert de gebruiker dan, ook als het contract in Peple nog doorloopt.
- Velden uit een eigen HR-bron neemt Okta alleen als losse tekst aan, zonder lijsten. Werkt iemand met contracten op twee scholen, dan zet KoppelHet de school van het hoofdcontract in het veld afdeling en de andere scholen als groepslidmaatschap, zodat de apps van beide scholen toch volgen.
- In Peple staat de leidinggevende als gebruikers-ID bij het contract. Okta kent het veld managerId, dat de sleutel van een andere gebruiker verwacht. KoppelHet zoekt bij dat gebruikers-ID het personeelsnummer op, zodat de leidinggevende in Okta naar de juiste collega wijst.
- Okta wil bij elke gebruiker een e-mailadres. Het zakelijke adres geeft Peple zonder extra scope, terwijl privécontactgegevens en BSN een eigen scope vragen. KoppelHet vraagt die scopes niet aan, zodat Okta nooit een privéadres als inlog krijgt.
- Een volledige export staat Peple twee keer per dag per onderdeel toe. Okta verwerkt bij een eigen HR-bron alleen wat wordt aangeleverd en ziet een ontbrekende medewerker niet als vertrek. KoppelHet gebruikt de volledige export van de nacht om zelf vertrekkers op te sporen en levert die als verwijdering aan.
Deze koppeling hoort ook bij in-, door- en uitstroom.
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
Komt het BSN of privéadres in Okta?
Nee. De koppeling vraagt de scopes voor contact- en belastinggegevens niet aan.
Wat gebeurt er op zaterdagavond, als Peple onderhoud heeft?
Dan wacht KoppelHet de tijd af die Peple opgeeft, en levert daarna aan. Okta houdt zolang de vorige stand.
Technische details voor IT
Voor wie wil weten hoe het onder de motorkap werkt: gebruikte API's, velden en bronnen.
- Peple via de Visma.net HRM & Payroll Reporting API (Visma Connect client credentials) met scopes voor de exports van employees, contracts, organizationunits en employeereplacement: POST /v1/command/nl/hrm/..., resultaat via GET /v1/query/nl/hrm/.../{jobId}; incrementeel met changeTimestampAfter; twee volledige refreshes per endpoint per tenant per 24 uur; 503 met Retry-After tijdens onderhoud.
- Okta via de Identity Sources API (Custom Identity Source): één sessie per keer, bulk-upsert voor gebruikers (externalId, alleen tekstattributen, maximaal 200 per verzoek en 50 verzoeken per sessie), groepen en lidmaatschappen apart, bulk-delete deactiveert; een sessie verloopt na 24 uur zonder activiteit; alleen importType INCREMENTAL.
Welke velden overgaan
De belangrijkste velden. De volledige mapping stellen we per klant vast.
| Veld in Visma Peple | Veld in Okta | Toelichting |
|---|---|---|
Personeelsnummer | externalId en employeeNumber | Vast, verandert nooit |
Voornaam | firstName | |
Achternaam en partnername volgens nameusage | lastName en displayName | |
businessemailaddress of naamgevingsregel | email en login | |
functionname (contract) | title | |
costcenter (contract) | costCenter | |
orgunit met orgunitparentid | Groep per eenheid en department | |
manageruserid | managerId | Omgezet naar personeelsnummer |
replacement_startdate en replacement_enddate | Opnemen in of verwijderen uit de HR-bron |
Gerelateerd
Visma Peple → Active Directory
Visma Peple Active Directory koppeling: accounts vanuit Peple HRM & Payroll
Visma Peple → Arbodienst (SIVI)
Visma Peple arbodienst koppeling via SIVI: ziek- en herstelmeldingen uit Peple naar de arbodienst
Visma Peple → Microsoft Entra ID
Visma Peple Entra ID koppeling: Microsoft-accounts vanuit Peple HRM & Payroll
Visma Peple → Exact Online
Visma Peple Exact Online koppeling: kostenplaatsen klaar in Exact en medewerkerswijzigingen op een werklijst