Moodle is een krachtige leeromgeving, maar in enterprise-omgevingen functioneert het zelden als losstaand platform. Organisaties beschikken vaak al over een identity provider, HR-systeem, CRM, rapportageomgeving en betaalinfrastructuur. De echte waarde ontstaat wanneer Moodle naadloos onderdeel wordt van dat bestaande landschap.
Zonder goede integratie wordt Moodle al snel een extra systeem dat beheerlast veroorzaakt: aparte inloggegevens, handmatige accountaanmaak, verouderde gebruikersrechten, losse betaalstromen en leerdata die niet aansluit op HR- of managementrapportages.
Met een professioneel geïntegreerde Moodle-omgeving gebeurt dit automatisch. Nieuwe medewerkers krijgen tijdig toegang tot de juiste cursussen, vertrekkende medewerkers worden direct geschorst, betalingen worden correct verwerkt en leerdata kan worden gebruikt in bestaande dashboards en complianceprocessen.
In deze gids behandelen we de belangrijkste integratiecategorieën waar wij bij Ldesign Media mee werken: SSO, HR-synchronisatie, betaalsystemen, LTI, xAPI en Moodle's REST API. We sluiten af met een herkenbaar praktijkscenario rond Azure AD, SAP SuccessFactors en Mollie.
Waarom Moodle geen eiland mag zijn
De meest gehoorde klacht bij slecht geïntegreerde LMS-omgevingen is eenvoudig: gebruikers moeten "alweer ergens apart inloggen". Dat lijkt klein, maar veroorzaakt op schaal concrete problemen:
- gebruikers vergeten inloggegevens en belasten de helpdesk;
- nieuwe medewerkers hebben op hun eerste werkdag nog geen toegang tot verplichte onboarding;
- vertrekkende medewerkers behouden onnodig lang toegang;
- management kan leerdata niet koppelen aan HR-gegevens;
- finance beheert losse betaal- of facturatiestromen.
Een goed geïntegreerde Moodle-omgeving voorkomt deze frictie. Moodle wordt dan geen administratieve silo, maar een knooppunt in de bestaande informatiestromen van de organisatie.
Single Sign-On: één identiteit, één toegangsstroom
Single Sign-On is meestal de eerste en belangrijkste integratie. Gebruikers melden zich aan via de bestaande bedrijfsidentiteit en krijgen toegang tot Moodle zonder aparte gebruikersnaam of wachtwoord.
SAML, OpenID Connect en LDAP
Voor enterprise-omgevingen zijn er drie veelvoorkomende benaderingen.
SAML 2.0 is nog altijd een veelgebruikte enterprise-standaard. Moodle fungeert als Service Provider, terwijl Azure AD, ADFS, Okta of een andere identity provider de authenticatie verzorgt. SAML is vooral geschikt wanneer attribuutmapping, ondertekende assertions en compliance-eisen belangrijk zijn.
OpenID Connect, gebouwd bovenop OAuth 2.0, is moderner en sluit goed aan bij API-first architecturen en SaaS-platformen zoals Microsoft Entra ID, Google Workspace en Auth0. Voor nieuwe cloudgerichte omgevingen is OIDC vaak een sterke keuze.
LDAP wordt vooral gebruikt in legacy-omgevingen met on-premises Active Directory of OpenLDAP. Het werkt betrouwbaar, maar biedt geen echte moderne SSO-ervaring en vereist directe netwerkverbinding tussen Moodle en de directory.
Azure AD / Microsoft Entra ID
Een veelvoorkomende integratie is Moodle met Microsoft Entra ID, voorheen Azure AD. In een standaard SAML-configuratie wordt Moodle geregistreerd als Enterprise Application. Vervolgens worden onder andere de Entity ID, ACS URL en Name ID ingesteld, waarna attributen zoals voornaam, achternaam, e-mailadres, afdeling en employee ID naar Moodle worden gemapt.
Voor Moodle wordt vaak de SAML2-plugin van Catalyst IT gebruikt. Deze ondersteunt onder andere meerdere identity providers, Just-In-Time provisioning en attribuutgebaseerde cohortindeling.
HR-synchronisatie: automatische provisioning
Authenticatie regelt wie mag inloggen, maar niet welke accounts moeten bestaan, welke rollen gebruikers hebben en voor welke cursussen ze moeten worden ingeschreven. Daarvoor is HR-synchronisatie nodig.
Bij enterprise-klanten integreren wij vaak met systemen zoals SAP SuccessFactors en Workday. Het HR-systeem blijft daarbij de bron van waarheid. Wij bouwen meestal een middlewarelaag die HR-events ontvangt, vertaalt naar Moodle-acties en vervolgens Moodle's webservices aanroept.
Typische acties zijn:
- nieuwe gebruikers aanmaken;
- bestaande gebruikers bijwerken;
- gebruikers schorsen bij uitdiensttreding;
- gebruikers toevoegen aan cohorten op basis van afdeling, functie of rol;
- cursusinschrijvingen automatisch laten verlopen via cohortkoppelingen.
Cohorten als schaalbaar inschrijvingsmodel
In enterprise-omgevingen is het efficiënter om niet individuele gebruikers, maar cohorten aan cursussen te koppelen. De HR-sync bepaalt dan bijvoorbeeld:
- DEPT_SALES → Sales-cohort → Sales onboarding en producttraining;
- DEPT_IT → IT-cohort → security awareness en compliance;
- ROLE_MANAGER → managerscohort → leiderschapstraining.
Wanneer een medewerker van functie of afdeling verandert, past Moodle de toegang automatisch aan. Voltooiingsdata blijft behouden, wat belangrijk is voor audit- en compliance-eisen.
Uitdiensttreding: schorsen, niet verwijderen (binnen AVG-kaders)
Bij uitdiensttreding adviseren wij vrijwel altijd om accounts te schorsen in plaats van direct te verwijderen. Zo blijft leerhistorie beschikbaar voor compliance en rapportage, terwijl de gebruiker geen toegang meer heeft. Verwijdering is definitief; schorsing is controleerbaar en omkeerbaar.
Schorsing mag echter geen permanente oplossing zijn. De AVG/GDPR vereist dat persoonsgegevens niet langer worden bewaard dan nodig voor het oorspronkelijke doel (opslagbeperking, art. 5 lid 1 sub e) en dat betrokkenen recht houden op verwijdering (art. 17). In de praktijk betekent dit:
- leg een concrete bewaartermijn vast per datacategorie, onderbouwd door een wettelijke grondslag (bijvoorbeeld compliance- of audit-eisen voor verplichte trainingen);
- anonimiseer of verwijder accounts automatisch zodra de bewaartermijn verstrijkt;
- extraheer benodigde voltooiings- en auditgegevens vooraf naar geaggregeerde of gepseudonimiseerde rapportages, zodat losse rapportages later geen herleidbare userdata meer nodig hebben;
- honoreer verwijderverzoeken binnen de AVG-termijn, tenzij een wettelijke bewaarplicht expliciet van toepassing is;
- documenteer het bewaar- en verwijderbeleid in het verwerkingsregister en de privacyverklaring.
Schorsen geeft dus de juiste controle bij uitdiensttreding, maar moet altijd onderdeel zijn van een breder AVG-conform bewaar- en verwijderbeleid.
Betaalintegraties: Mollie, Stripe en iDEAL
Voor organisaties die trainingen extern verkopen, of interne kostenplaatsen willen belasten, moet Moodle gekoppeld worden aan een betaalinfrastructuur. In Nederland is iDEAL vaak essentieel, waardoor Mollie een logische keuze is.
Een betaalintegratie bestaat meestal uit een aangepaste enrolment-plugin. Die toont de cursusprijs, stuurt de gebruiker naar de hosted checkout van Mollie of Stripe en schrijft de gebruiker pas in wanneer de betaling server-side is bevestigd via een webhook.
Dat webhookpatroon is belangrijk. Een browserredirect alleen is onvoldoende betrouwbaar, omdat gebruikers het venster kunnen sluiten voordat de terugkoppeling is afgerond. De webhook bevestigt de betaling onafhankelijk van de browsersessie.
Veelvoorkomende betaalmodellen zijn:
- eenmalige betaling per cursus;
- abonnementstoegang tot een cursusbibliotheek;
- bulkinkoop met stoellicenties;
- interne kostplaatsregistratie zonder directe betaling.
LTI: externe leertools koppelen
Learning Tools Interoperability, kortweg LTI, wordt gebruikt om externe leertools veilig te koppelen aan Moodle. Denk aan simulaties, virtuele labs, toetsplatformen of contentbibliotheken.
Moodle kan optreden als LTI-consumer, waarbij externe tools binnen een Moodle-cursus worden geopend. De externe tool ontvangt dan context over gebruiker, cursus en activiteit. Andersom kan Moodle ook als LTI-provider fungeren, bijvoorbeeld wanneer een ander platform Moodle-content wil tonen.
Voor nieuwe integraties is LTI 1.3 de aangewezen standaard. Deze gebruikt OAuth 2.0 en JWT's, ondersteunt deep linking en is veiliger dan oudere LTI 1.1-integraties.
xAPI: leerdata naar een externe LRS
xAPI, ook bekend als Experience API of Tin Can, maakt het mogelijk om leeractiviteiten als statements naar een externe Learning Record Store te sturen. Dit is vooral waardevol wanneer leerdata uit meerdere systemen moet worden samengebracht.
Een xAPI-integratie wordt vaak gebruikt voor:
- centrale compliance-audits;
- rapportage buiten Moodle;
- koppeling met enterprise learning analytics;
- opslag van leeractiviteit in een onafhankelijk LRS-platform.
Met Moodle's Logstore xAPI-plugin kunnen onder andere cursusvoltooiingen, quizpogingen, activiteitweergaven en aangepaste events worden doorgestuurd.
Moodle REST API: maatwerkintegraties bouwen
Vrijwel elke serieuze Moodle-integratie gebruikt uiteindelijk Moodle's webservicesframework. Daarmee kunnen externe systemen gebruikers, cursussen, cohorten, inschrijvingen en resultaten beheren.
Veelgebruikte functies zijn onder andere:
- core_user_create_users;
- core_user_update_users;
- core_cohort_add_cohort_members;
- enrol_manual_enrol_users;
- core_course_get_courses;
- gradereport_user_get_grade_items.
Wanneer standaardfuncties niet genoeg zijn, bouwen wij maatwerk via een plugin met eigen externe functies. Daarmee kan bijvoorbeeld één zakelijke API-call worden gemaakt voor een volledige HR-mutatie, inclusief gebruiker bijwerken, cohort wijzigen en auditlogging.
Middleware of directe Moodle-plugin?
Er zijn grofweg twee architectuurkeuzes.
Bij een directe pluginintegratie communiceert Moodle rechtstreeks met het externe systeem. Dit is geschikt voor relatief eenvoudige integraties, zoals één SSO-provider of één betaalprovider.
Bij een middlewarearchitectuur staat er een aparte integratielaag tussen Moodle en externe systemen. Die ontvangt events, vertaalt payloads, voert retries uit, logt fouten en roept Moodle's API aan. Dit is robuuster bij meerdere systemen of complexe datastromen.
Voor enterprise-omgevingen met drie of meer gekoppelde systemen is middleware meestal de betere langetermijnkeuze.
Event-driven én geplande synchronisatie
Niet elke synchronisatie hoeft realtime te zijn. Voor kritieke processen, zoals onboarding en uitdiensttreding, is event-driven synchronisatie ideaal. Het HR-systeem stuurt dan direct een event naar de middleware, waarna Moodle vrijwel direct wordt bijgewerkt.
Voor reconciliatie blijft een geplande taak nuttig. Die controleert periodiek of alle systemen nog consistent zijn en corrigeert eventuele verschillen. In de praktijk combineren wij vaak beide modellen: realtime waar nodig, batchverwerking waar dat efficiënter is.
Beveiliging: essentieel bij elke integratie
Enterprise-integraties verwerken gevoelige gegevens: persoonsgegevens, rollen, leerhistorie, betaalinformatie en authenticatietokens. Daarom zijn beveiligingsmaatregelen geen bijzaak.
Belangrijke uitgangspunten zijn:
- gebruik aparte serviceaccounts per integratie;
- beperk Moodle webservice-tokens tot minimale rechten;
- gebruik uitsluitend HTTPS en valideer certificaten;
- controleer webhookhandtekeningen;
- log synchronisatie-acties en fouten;
- stuur alleen data door die het ontvangende systeem nodig heeft;
- beperk server-to-server toegang waar mogelijk tot bekende IP-adressen.
Praktijkscenario: Azure AD, SAP SuccessFactors en Mollie
Voor een Nederlandse enterprise-organisatie met ongeveer 2.000 medewerkers bouwden wij een geïntegreerde Moodle-omgeving met drie hoofdkoppelingen:
- SSO via Microsoft Entra ID;
- automatische HR-provisioning vanuit SAP SuccessFactors;
- externe trainingsverkoop via Mollie en iDEAL.
Moodle werd als Enterprise Application geregistreerd in Entra ID. Attributen zoals employee ID, afdeling en kostenplaats werden bij login doorgegeven aan Moodle. SAP SuccessFactors leverde HR-events aan een middlewarelaag, die gebruikers aanmaakte, bijwerkte of schorste en cohorten synchroniseerde. Voor externe partners werd een Mollie-integratie gebouwd waarmee zij trainingen konden kopen en na succesvolle betaling automatisch werden ingeschreven.
Het resultaat was een LMS dat aansloot op bestaande processen in plaats van daar los naast te staan. Medewerkers logden in met hun Microsoft-account, cursusinschrijvingen volgden automatisch uit HR-data en externe deelnemers konden zichzelf aanmelden via een vertrouwde betaalstroom.
Conclusie
Moodle-integratie is geen technische bijzaak, maar een bepalende factor voor adoptie, beheerbaarheid en compliance. SSO, HR-synchronisatie en betalingen vormen vaak de basis. Daarbovenop komen koppelingen met LTI-tools, xAPI-rapportage, CRM-systemen, dashboards en maatwerkportalen.
Organisaties die Moodle behandelen als onderdeel van hun enterprise-architectuur halen meer waarde uit hun LMS: minder handmatig beheer, minder supportvragen, betere datakwaliteit en een soepelere leerervaring voor gebruikers.
Bij Ldesign Media helpen wij organisaties met het ontwerpen, bouwen en beheren van Moodle-integraties. Of het nu gaat om één Entra ID-koppeling of een volledige middlewarelaag tussen Moodle, SAP, Salesforce en een betaalplatform: wij zorgen dat Moodle past binnen uw bestaande digitale landschap.



