Dónde está el botón y quién lo ve
¿Dónde encuentro el botón?
Abre el menú Verifactu / SIF › Privacidad / RGPD › Asistente DSAR (Verifactu / SIF › Privacy / GDPR › DSAR Wizard). En la ficha del Asistente DSAR está el botón Generar Denegación de Supresión (art.17). Ese botón existe en las ramas publicadas del módulo para Odoo 17, 18, 19 y 20.

¿Cuándo aparece el botón?
La vista no le pone ninguna condición: se ve en la ficha del asistente en Odoo 17, 18, 19 y 20. Lo que sí depende de tu perfil es llegar hasta el asistente, porque cada tramo del menú pide sus permisos y, si no tienes uno, no ves ese tramo. Los permisos que pide el tramo Privacidad / RGPD son Responsable de Privacidad y Gestor SIF. Los del tramo Verifactu / SIF son Contable, Operador de Asesoría, Auditor (solo lectura), Responsable de Privacidad y Gestor SIF.
¿Qué relleno antes de pulsarlo?
En el grupo Detalles de la Solicitud (Request Details) de la ficha, los dos campos que usa este botón son NIF / Nombre del Interesado (Data Subject NIF / Name) y Referencia de la Solicitud (Request Reference). El primero se escribe en el documento como interesado y además da nombre al fichero generado. El segundo se escribe como referencia de la solicitud; si lo dejas vacío, el código usa un texto vacío y el proceso sigue adelante.
Qué hace al pulsarlo
¿Qué genera exactamente?
Un documento de denegación de la solicitud de supresión, en formato JSON. El texto de la decisión y de los fundamentos viene ya redactado en el módulo: lo que cambia de un documento a otro son el interesado, la referencia y los datos de la empresa. El documento recoge:
- el tipo de documento, el interesado y la referencia de la solicitud;
- los datos del responsable del tratamiento: nombre, identificación fiscal y correo de la empresa del asistente;
- la decisión, marcada como denegada, con el fundamento del art.17(3)(b) del RGPD (conservación necesaria para cumplir una obligación legal);
- el periodo de conservación y la vía de reclamación ante la Agencia Española de Protección de Datos (AEPD);
- una nota que indica que, bajo petición, hay una exportación de acceso del art.15 y que hay que contactar con el responsable en la dirección que figura en el propio documento.
El fichero se llama dsar_erasure_refusal_ seguido de los primeros 20 caracteres del NIF o nombre del interesado y la extensión .json.
¿Qué normas cita el documento?
Según el código, además del art.17(3)(b) del RGPD cita el art.30 del Código de Comercio, el art.66 de la LGT y el art.8 del RRSIF. El texto del periodo de conservación dice que son como mínimo 6 años desde el último asiento contable (Código de Comercio, art.30) y que los registros no se pueden alterar ni borrar sin romper la garantía de inalterabilidad de la cadena de huellas del art.8 del RRSIF. Es lo que el módulo escribe en el documento, no un dictamen legal sobre tu caso.
¿Qué cambia además del documento?
Tres cosas, en este orden:
- El módulo guarda el JSON en el propio asistente y, si consigue generarlo, también un PDF del mismo documento, con nombre
dsar_erasure_refusal_más los primeros 20 caracteres del NIF o nombre y la extensión.pdf. - Registra un evento del módulo. Al hacerlo, le pasa una descripción con el NIF o nombre del interesado y, como contexto, la referencia de la solicitud, las bases legales y la ruta de reclamación ante la AEPD.
- Vuelve a abrir el mismo asistente en una ventana emergente, sobre el mismo registro, así que puedes revisar de nuevo
NIF / Nombre del InteresadoyReferencia de la Solicituden el grupoDetalles de la Solicitud.
El botón actúa sobre un solo asistente a la vez.
¿Qué pasa si no se puede generar el PDF?
El código intenta el PDF dentro de un bloque que captura cualquier fallo. Si falla, deja un aviso en el registro técnico del servidor y continúa: se guarda el JSON, se registra el evento y se reabre el asistente. Si el PDF no llega a generarse, ese aviso del registro técnico es donde mirar.
Dudas de uso
¿Qué ocurre si lo pulso más de una vez?
Cada pulsación ejecuta todo el proceso otra vez: genera el documento con los valores que haya en ese momento, vuelve a guardar el JSON (y el PDF, si consigue generarlo) y emite otro evento. Si en una pulsación el PDF no se genera, solo se sobrescribe el JSON y su nombre, y el PDF anterior se queda como estaba. Si cambias el interesado o la referencia entre una pulsación y otra, el documento nuevo recoge los valores actuales.
¿Es igual en todas las versiones de Odoo?
El botón está en las ramas 17, 18, 19 y 20, y el módulo está publicado en Odoo Apps para esas cuatro versiones. El proceso descrito (qué se guarda, qué evento se emite) es el del código de Odoo 20.0. Si trabajas con 17, 18 o 19, pruébalo antes en una base de pruebas, con datos ficticios.
Con Odoo en castellano el botón se llama Generar Denegación de Supresión (art.17); en catalán, Generar Denegació de Supressió (art.17).

Si lo estás implantando
FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida; si necesitas encajar este flujo de privacidad con tus permisos y tu forma de trabajar, escríbenos. Puedes ver el módulo en su ficha de Odoo Apps. Otro botón del módulo, explicado con el mismo enfoque: qué hace el botón «Ejecutar Comprobación Previa».
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_spain_verifactu 20.0 (1fdc980f): wizards/verifactu_dsar_wizard_views.xml
- Código del módulo: flexigo_spain_verifactu 20.0 (1fdc980f): wizards/verifactu_dsar_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
- flexigotech.com/en/services.html
