Comment lire un message du module
Dans ce module, la plupart des messages signalent que l'action est réservée à un rôle (GDPR Managers ou Odoo Administrators). Ceux du journal d'audit, en revanche, ne citent aucun rôle : ils préviennent que ces entrées sont permanentes et immuables et ne peuvent être ni supprimées ni modifiées. D'autres expliquent qu'une action est impossible sur cet enregistrement (le supprimer, faire reculer son statut) ou qu'une étape préalable manque. D'autres réclament une donnée obligatoire ou appliquent une règle, comme celle d'une seule configuration par société.
Si vous voulez d'abord voir quels menus et enregistrements le module ajoute, c'est expliqué dans le fonctionnement interne de GDPR Compliance Suite. Ici, on s'en tient aux messages.
Le cas : une entreprise parcourt le module de bout en bout
Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.
Céramiques Alba est une entreprise fictive qui vient d'installer GDPR Compliance Suite dans son Odoo. Marta, qui pilote la mise en place, parcourt tout le flux avec un utilisateur de test, puis avec celui de la personne qui joue le rôle de DPO. Voici les messages qu'elle rencontre, dans l'ordre où ils apparaissent.
La configuration par société
Marta crée une nouvelle configuration sans voir qu'il en existait déjà une, et Odoo répond Only one GDPR configuration record per company is allowed. A configuration already exists for company %(company)s. La lecture est simple : le module accepte une configuration par société et celle de Céramiques Alba existe déjà, travaillez donc sur celle-ci.
Activer une activité de traitement qui exige une DPIA
En voulant activer une activité de traitement qui nécessite une analyse d'impact, elle obtient Cannot activate processing activity "%(name)s": a DPIA is required but no approved DPIA is linked. Please complete and approve a DPIA first. Que faire : ce que dit le message, compléter la DPIA, la faire approuver et la lier à cette activité, puis relancer l'activation.
Marta rédige la DPIA avec son utilisateur de test et, en la soumettant pour revue, reçoit Only GDPR Managers can submit a DPIA for review. L'approbation et le rejet sont aussi réservés : Only GDPR Managers (acting as DPO) can approve a DPIA. et Only GDPR Managers (acting as DPO) can reject a DPIA. Elle passe à l'utilisateur qui a ce rôle. La DPO décide de rejeter une première version sans rien écrire, et le module l'arrête avec DPO comments are required when rejecting a DPIA. Une fois le commentaire rédigé, le rejet passe.

Borrador, avec des données de démonstration.Une demande de droits qui se complique
Une demande de portabilité arrive (dans le module, une DSAR). Marta essaie de générer l'export tout de suite et obtient Identity must be verified before generating a portability export. Il faut d'abord vérifier l'identité de la personne concernée, puis faire l'export.
En traitant la demande, elle voit aussi No Odoo contact linked to this DSAR. Please link a res.partner record first. La demande n'a pas de contact Odoo lié, et le message demande de lier un enregistrement res.partner avant de continuer.
Marta se trompe de statut et veut revenir en arrière : DSAR status cannot be moved backwards. The audit trail must be append-only. Le statut ne fait qu'avancer. Elle tente ensuite de supprimer une demande en double : DSAR records cannot be deleted. Archive them instead (GDPR Manager / Admin only). Au lieu de supprimer, on archive, et seuls un GDPR Manager ou un administrateur peuvent le faire.
Sur une autre demande, une demande d'accès, elle lance le contrôle des conflits de conservation et obtient Retention conflict check only applies to erasure requests. Ce contrôle ne concerne que les demandes d'effacement. Et quand elle veut clôturer une demande comme refusée sans la justifier, elle voit Refusal justification is required before closing as refused. Elle rédige la justification et clôture.
Une violation enregistrée par erreur
Quelqu'un de l'équipe crée une violation en double. À la suppression apparaît Breach records are append-only and cannot be deleted. Only an Odoo Administrator can archive a breach record with a written reason. Marta essaie de l'archiver avec son utilisateur et reçoit Only Odoo Administrators can archive breach records. C'est un administrateur Odoo qui doit le faire, avec le motif par écrit. Le module a aussi le message Archive reason is required. lorsque le motif d'archivage manque.

New et l'autre en Under Assessment, avec des données de démonstration.Audit, historique et activités
Pour nettoyer ses tests, Marta essaie de supprimer des entrées du journal d'audit : You do not have access rights to delete GDPR Audit Log records. They are permanent compliance records per Art. 5(2) GDPR accountability principle. Les modifier n'est pas possible non plus : You do not have access rights to modify GDPR Audit Log records. Audit log entries are immutable compliance records. Ici, le message ne demande aucun rôle : il indique que ce sont des enregistrements permanents et immuables, ne comptez donc pas les supprimer ou les modifier en changeant d'utilisateur. L'historique fonctionne pareil, avec History records are immutable and cannot be deleted. They are part of the GDPR audit trail. et History records are immutable. Et une activité de traitement de test ne se supprime pas non plus : Processing activity records cannot be deleted to preserve the audit trail. Please archive the record instead. On l'archive.
Quand une action est réservée sans autre précision, le texte est Only GDPR Managers can perform this action.
Exporter vers Excel
Pour finir, Marta veut exporter le registre vers Excel et obtient openpyxl is not installed. Please install it via pip to use Excel export. Comme l'indique le message, il faut installer openpyxl avec pip pour utiliser l'export Excel. Un autre message du module est No processing activities found for this company., qui signale qu'aucune activité de traitement n'a été trouvée pour cette société.

Autres messages qui demandent un motif
En dehors du cas, trois validations méritent d'être connues avant qu'elles n'apparaissent. En prolongeant un délai, Extension reason is required when extending the deadline. En prolongeant une conservation, le module demande deux choses : Extension justification is required when extending retention. et New retention end date is required when extending retention. Dans les trois cas, renseignez la donnée citée par le message et refaites l'action.
Ce qu'il faut retenir du cas
- Avant de commencer, décidez qui aura le rôle
GDPR Managerset qui est administrateur Odoo : plusieurs messages réservent des actions à l'un ou à l'autre. - Les entrées du journal d'audit et de l'historique ne se suppriment ni ne se modifient, avec aucun utilisateur selon leurs messages ; violations, demandes et activités s'archivent au lieu d'être supprimées.
- Gardez les motifs écrits sous la main : rejeter une DPIA, clôturer comme refusée, prolonger des délais ou des conservations et archiver les exigent.
- Respectez l'ordre fixé par les messages : DPIA approuvée avant l'activation, identité vérifiée avant l'export, contact lié avant de continuer.
- L'export Excel nécessite
openpyxl, installé avec pip.
Les réglages et statuts de la première semaine sont dans la mise en route de GDPR Compliance Suite.
Comment FlexigoTech vous aide
FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et intégrations sur mesure : nous pouvons donc vous aider à répartir les rôles et à préparer l'installation avant que votre équipe ne commence à travailler avec le module. Le module coûte 9 € HT par version d'Odoo, en paiement unique, pour 17, 18, 19 et 20, et le service local se souscrit à part (29 €/mois ou 290 €/an HT). Tous les détails sont sur la page de GDPR Compliance Suite.
À lire aussi
Vérifié dans le code du module (version 20.0) et dans les sources citées
Sources
- Code du module : flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_audit_log.py
- Code du module : flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_breach.py
- Code du module : flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_config.py
- Code du module : flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_dpia.py
- Code du module : flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_dsar.py
- Code du module : flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_processing_activity.py
- Code du module : flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_retention.py
- Code du module : flexigo_gdpr_toolkit 20.0 (bd76c09c): wizard/gdpr_breach_archive_wizard.py
- Code du module : flexigo_gdpr_toolkit 20.0 (bd76c09c): wizard/gdpr_portability_export_wizard.py
- Code du module : flexigo_gdpr_toolkit 20.0 (bd76c09c): wizard/gdpr_ropa_export_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigo_gdpr_toolkit
- apps.odoo.com/apps/modules/17.0/flexigo_gdpr_toolkit
- apps.odoo.com/apps/modules/18.0/flexigo_gdpr_toolkit
- apps.odoo.com/apps/modules/19.0/flexigo_gdpr_toolkit
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
