Cómo leer un mensaje del módulo
La mayoría de los mensajes de este módulo indican que la acción está reservada a un rol (GDPR Managers u Odoo Administrators). Los del registro de auditoría, en cambio, no nombran ningún rol: avisan de que esas entradas son permanentes e inmutables y no se pueden borrar ni modificar. Otros explican que una acción no se puede hacer con ese registro (borrarlo, hacer retroceder el estado) o que falta un paso previo. Otros piden un dato obligatorio o frenan una regla, como la de una sola configuración por empresa.
Si quieres ver antes qué menús y registros añade el módulo, lo tienes en cómo funciona GDPR Compliance Suite por dentro. Aquí vamos a los mensajes.
El caso: una empresa recorre el módulo de principio a fin
Ejemplo Caso ilustrativo: la empresa y sus datos son inventados para explicar el flujo.
Cerámicas Alba es una empresa inventada que acaba de instalar GDPR Compliance Suite en su Odoo. Marta, que lleva la implantación, recorre el flujo completo con un usuario de pruebas y después con el de la persona que actúa como DPO. Estos son los mensajes que se encuentra, en el orden en que le salen.
La configuración por empresa
Marta crea una configuración nueva sin darse cuenta de que ya había una, y Odoo responde con Only one GDPR configuration record per company is allowed. A configuration already exists for company %(company)s. La lectura es directa: el módulo admite una configuración por empresa y ya existe la de Cerámicas Alba, así que trabaja sobre esa.
Activar una actividad de tratamiento que exige DPIA
Al intentar activar una actividad de tratamiento que requiere evaluación de impacto, sale Cannot activate processing activity "%(name)s": a DPIA is required but no approved DPIA is linked. Please complete and approve a DPIA first. Qué hacer: lo que dice el mensaje, completar la DPIA, que quede aprobada y vinculada a esa actividad, y volver a activar.
Marta prepara la DPIA con su usuario de pruebas y, al enviarla a revisión, recibe Only GDPR Managers can submit a DPIA for review. La aprobación y el rechazo también están reservados: Only GDPR Managers (acting as DPO) can approve a DPIA. y Only GDPR Managers (acting as DPO) can reject a DPIA. Cambia al usuario con ese rol. La DPO decide rechazar una primera versión sin escribir nada y el módulo la para con DPO comments are required when rejecting a DPIA. Con el comentario escrito, el rechazo pasa.

Borrador, con datos de demostración.Una solicitud de derechos que se complica
Llega una solicitud de portabilidad (en el módulo, una DSAR). Marta intenta generar la exportación enseguida y sale Identity must be verified before generating a portability export. Primero hay que dejar verificada la identidad del interesado; después, la exportación.
Mientras trabaja la solicitud le aparece también No Odoo contact linked to this DSAR. Please link a res.partner record first. La solicitud no tiene un contacto de Odoo vinculado y el mensaje pide enlazar un registro res.partner antes de seguir.
Marta se equivoca de estado y quiere volver al anterior: DSAR status cannot be moved backwards. The audit trail must be append-only. El estado solo avanza. Luego intenta borrar una solicitud duplicada: DSAR records cannot be deleted. Archive them instead (GDPR Manager / Admin only). En lugar de borrar, se archiva, y solo pueden hacerlo un GDPR Manager o un administrador.
En otra solicitud, que es de acceso, lanza la comprobación de conflictos de retención y obtiene Retention conflict check only applies to erasure requests. Esa comprobación es solo para solicitudes de supresión. Y cuando decide cerrar una solicitud como rechazada sin justificarlo, sale Refusal justification is required before closing as refused. Escribe la justificación y cierra.
Una brecha registrada por error
Alguien del equipo da de alta una brecha duplicada. Al borrarla aparece Breach records are append-only and cannot be deleted. Only an Odoo Administrator can archive a breach record with a written reason. Marta prueba a archivarla con su usuario y recibe Only Odoo Administrators can archive breach records. Tiene que hacerlo un administrador de Odoo, con el motivo por escrito. El módulo tiene además el mensaje Archive reason is required. para cuando falta el motivo de archivo.

New y otra en Under Assessment, con datos de demostración.Auditoría, historial y actividades
Para limpiar las pruebas, Marta intenta borrar entradas del registro de auditoría: You do not have access rights to delete GDPR Audit Log records. They are permanent compliance records per Art. 5(2) GDPR accountability principle. Editarlas tampoco: You do not have access rights to modify GDPR Audit Log records. Audit log entries are immutable compliance records. Aquí el mensaje no pide ningún rol: dice que son registros permanentes e inmutables, así que no cuentes con borrarlos ni editarlos cambiando de usuario. Con el historial pasa lo mismo, con History records are immutable and cannot be deleted. They are part of the GDPR audit trail. y History records are immutable. Y una actividad de tratamiento de prueba tampoco se borra: Processing activity records cannot be deleted to preserve the audit trail. Please archive the record instead. Se archiva.
Si una acción está reservada sin más detalle, el texto es Only GDPR Managers can perform this action.
Exportar a Excel
Al final, Marta quiere sacar el registro a Excel y sale openpyxl is not installed. Please install it via pip to use Excel export. Como indica el mensaje, hay que instalar openpyxl con pip para poder usar la exportación a Excel. Otro aviso del módulo es No processing activities found for this company., que dice que no encuentra actividades de tratamiento para esa empresa.

Otros mensajes que piden un motivo
Fuera del caso quedan tres validaciones que conviene conocer antes de que salgan. Al ampliar un plazo, Extension reason is required when extending the deadline. Al ampliar una retención, el módulo pide dos cosas: Extension justification is required when extending retention. y New retention end date is required when extending retention. En los tres casos, rellena el dato que nombra el mensaje y repite la acción.
Qué aprender del caso
- Antes de empezar, decide quién tendrá el rol
GDPR Managersy quién es administrador de Odoo: varios mensajes reservan acciones a uno u otro. - Las entradas del registro de auditoría y del historial no se borran ni se modifican, con ningún usuario según sus mensajes; brechas, solicitudes y actividades se archivan en lugar de borrarse.
- Ten a mano los motivos escritos: rechazar una DPIA, cerrar como rechazada, ampliar plazos o retenciones y archivar los piden.
- Respeta el orden que marcan los mensajes: DPIA aprobada antes de activar, identidad verificada antes de exportar, contacto vinculado antes de seguir.
- Para exportar a Excel hace falta
openpyxl, instalado con pip.
Los ajustes y estados de la primera semana están en la puesta en marcha de GDPR Compliance Suite.
Cómo te ayuda FlexigoTech
FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida, así que podemos ayudarte a repartir los roles y preparar la instalación antes de que tu equipo empiece a trabajar con el módulo. El módulo cuesta 9 € sin IVA por versión de Odoo, pago único, para 17, 18, 19 y 20, y el servicio local se contrata aparte (29 €/mes o 290 €/año sin IVA). Todo el detalle está en la página de GDPR Compliance Suite.
Sigue leyendo
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_audit_log.py
- Código del módulo: flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_breach.py
- Código del módulo: flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_config.py
- Código del módulo: flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_dpia.py
- Código del módulo: flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_dsar.py
- Código del módulo: flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_processing_activity.py
- Código del módulo: flexigo_gdpr_toolkit 20.0 (bd76c09c): models/gdpr_retention.py
- Código del módulo: flexigo_gdpr_toolkit 20.0 (bd76c09c): wizard/gdpr_breach_archive_wizard.py
- Código del módulo: flexigo_gdpr_toolkit 20.0 (bd76c09c): wizard/gdpr_portability_export_wizard.py
- Código del módulo: 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
