De casus: Metalúrgica Ribera installeert de toolkit
Voorbeeld Fictief geval: het bedrijf en de cijfers zijn verzonnen om de werkwijze uit te leggen.
Metalúrgica Ribera is een verzonnen bedrijf dat onderdelen maakt voor andere industrieën en al met Odoo werkt. Haar systeembeheerder Laura installeert NIS2 Cybersecurity Compliance Toolkit om het bedrijfsprofiel, de controls, de risico's, de training en de incidenten op één plek te hebben. Het traject hieronder is wat zij tijdens de implementatie doorloopt: de namen van schermen, kolommen, velden en statussen komen uit de module; de beslissingen van Laura zijn illustratief.
Voor de installatie controleert Laura haar versie. De module staat in Odoo Apps voor Odoo 17, 18 en 19, voor € 49 excl. btw per versie, als eenmalige betaling per versie. Twijfel je nog of het bij je past? Dat vind je uitgewerkt in of de toolkit bij jouw bedrijf past.
Eerste registratie: het bedrijfsprofiel
Laura begint bij de lijst met bedrijfsprofielen. De kolommen die ze ziet zijn juridische entiteit, bedrijf, lidstaat, sector, omvang, toepasbaarheidsstatus, profielstatus en verantwoordelijke, met een zoekbalk en de knop Nieuw. Die kolommen vertellen haar welke gegevens ze klaar moet hebben: welke juridische entiteit het is, in welke lidstaat ze actief is, haar sector, haar omvang en wie het profiel beheert.

Het veld waar ze het langst bij stilstaat is applicability_status. De waarden die de module definieert zijn Potentially In Scope, Likely Out of Scope, Needs Legal Review, Essential Entity Candidate (Annex I), Important Entity Candidate (Annex II) en Confirmed by Legal Counsel. Let op de labels: ze spreken over «kandidaat» en juridische toetsing. De app bewaart de beoordeling die jij invult. Laura laat het profiel op Needs Legal Review staan en noteert dat ze het op Confirmed by Legal Counsel zet zodra haar juridisch adviseur het bevestigt.
De toepasbaarheidsstatus vul jij in. Beslis samen met je adviseur en leg in het profiel vast wat hij of zij je heeft gezegd.
Tweede stap: de controls en hun volwassenheidsstatus
De lijst met controls heeft kolommen voor categorie, naam van de control, volwassenheidsstatus, verantwoordelijke en review. De volwassenheidsstatus (maturity_status) kent Not Implemented, Planned, Partially Implemented, Implemented en Not Applicable.

Laura loopt de controls een voor een met haar team door en hanteert een eigen criterium om niet bij elke rij te twijfelen:
Implementedalleen als ze kan laten zien hoe ze het nu doen.Partially Implementedals het bestaat, maar niet alles dekt wat de control beschrijft.Plannedals er een persoon en een datum aan vastzitten.Not Applicableals het niet bij haar activiteit past en ze kan uitleggen waarom.Not Implementedvoor al het overige.
Bij elke rij vult ze ook de verantwoordelijke in, omdat die kolom in de lijst staat en ze in één oogopslag wil zien wie welke control draagt.
Derde stap: het risicoregister
De lijst Risk Register toont impact, waarschijnlijkheid, restrisico, behandelbeslissing en status, met de knop New en de zoekfunctie. De statussen die de module voor deze set definieert zijn Draft, Under Review, Accepted en Closed.

Laura registreert elk risico in Draft met zijn impact en waarschijnlijkheid. Ze zet het op Under Review wanneer ze het aan de directie voorlegt en op Accepted wanneer er een afgesproken behandelbeslissing ligt. Risico's die niet meer gelden laat ze op Closed staan in plaats van ze te verwijderen, zodat het spoor bewaard blijft.
Training: de Training Records
De lijst Training Records heeft kolommen voor naam, type, artikel en status, met de knop New en de zoekbalk. De statussen zijn Assigned, In Progress, Completed, Overdue en Exempt.
Laura maakt een record aan voor elke training die het personeel moet volgen en zet wie niet aan de beurt komt op Exempt, in plaats van die persoon zonder record te laten. Zo is alles wat bij het filteren van de lijst niet op Completed of Exempt staat, openstaand werk.
Incidenten: de lijst en de statussen die de module definieert
De lijst met incidenten heeft kolommen voor referentie, detectietijdstip, ernst, status en beoordeling van significantie, plus de knop Nieuw en de zoekbalk.

Tussen de statussets die de code van de module definieert zit er een met Detected, Triage, Under Investigation, Reportable Decision Pending, Reported, Closed en False Positive, en een veld root_cause_status met Unknown, Under Investigation, Identified en Not Applicable. Laura opent een testincident in haar testdatabase om te zien welke waarden de statuskolom aanbiedt voordat ze het aan het team uitlegt. Wil je de volledige structuur van de module zien, dan staat die in hoe de toolkit van binnen werkt.
De eerste week: wat Laura nakeek
Met alles geregistreerd reserveert Laura elke dag van de eerste week even tijd om na te lopen:
- Dat het bedrijfsprofiel is ingevuld met juridische entiteit, lidstaat, sector, omvang en verantwoordelijke.
- Dat
applicability_statusweergeeft wat de adviseur heeft gezegd en geen veronderstelling is. - Dat geen enkele control in de lijst met controls zonder verantwoordelijke is gebleven.
- Dat de controls in
Plannedeen persoon achter zich hebben. - Dat de risico's in
Draftzijn doorgegaan naarUnder Reviewof een datum daarvoor hebben. - Welke trainingen op
Overduestaan en wie er gebeld moet worden. - Dat het testincident in de testdatabase is gebleven en niet in de werkdatabase.
Wat je van de casus leert
De volgorde die Laura volgt (profiel, controls, risico's, training, incidenten) is haar eigen keuze, bedoeld om van het algemene naar het dagelijkse te gaan. Wat wel uit de module komt, is wat je moet invullen en begrijpen: de kolommen van elke lijst en de waarden van elke status. Drie ideeën om mee te nemen:
- Statussen zijn beslissingen van mensen. Leg vooraf een criterium schriftelijk vast, vooral voor
maturity_status. - De toepasbaarheidsstatus heeft je adviseur nodig. De labels van de module zelf maken dat duidelijk met
Needs Legal ReviewenConfirmed by Legal Counsel. - Eén verantwoordelijke per rij. De lijsten met profielen en controls hebben die kolom; gebruik haar.
Hoe FlexigoTech je helpt
FlexigoTech implementeert Odoo en ontwikkelt connectoren en integraties op maat. Wil je hulp bij het laden van je controls en risico's, of bij het koppelen van de toolkit aan andere onderdelen van je Odoo, dan vind je de module op onze pagina en op de pagina in Odoo Apps.
Lees verder
Gecontroleerd in de broncode van de module (versie 19.0) en in de gelinkte bronnen
Bronnen
- Broncode van de module: flexigo_nis2_cybersecurity_compliance_toolkit 19.0 (af4f82c6): models/nis2_company_profile.py
- Broncode van de module: flexigo_nis2_cybersecurity_compliance_toolkit 19.0 (af4f82c6): models/nis2_control.py
- Broncode van de module: flexigo_nis2_cybersecurity_compliance_toolkit 19.0 (af4f82c6): models/nis2_risk.py
- Broncode van de module: flexigo_nis2_cybersecurity_compliance_toolkit 19.0 (af4f82c6): models/nis2_training.py
- Broncode van de module: flexigo_nis2_cybersecurity_compliance_toolkit 19.0 (af4f82c6): models/nis2_incident.py
- apps.odoo.com/apps/modules/19.0/flexigo_nis2_cybersecurity_compliance_toolkit
- apps.odoo.com/apps/modules/17.0/flexigo_nis2_cybersecurity_compliance_toolkit
- apps.odoo.com/apps/modules/18.0/flexigo_nis2_cybersecurity_compliance_toolkit
- flexigotech.com/en/services.html
- Broncode van de module: flexigo_nis2_cybersecurity_compliance_toolkit 19.0 (af4f82c6): __manifest__.py
