«Si la AEAT devuelve un error, la factura no vale»
Realidad: depende del error. La AEAT responde con un estado por registro: Correcto, AceptadoConErrores o Incorrecto. Un registro aceptado con errores está registrado y solo hay que subsanar lo que indique el código. Reenviarlo como nuevo sería un error.
«La huella la pone la AEAT»
Realidad: la huella la calcula tu sistema al crear el registro: un SHA-256 encadenado con el registro anterior. La AEAT la recalcula para comprobarla. Si no casa, acepta el registro con un error que hay que subsanar.

«Si me equivoco, borro el registro y lo hago otra vez»
Realidad: no. Los registros de anulación no se pueden modificar ni borrar, y el registro de eventos tampoco. Odoo lo impide con mensajes claros: Cancellation records cannot be deleted. o Event log records are immutable. Lo que se corrige, se corrige con un registro nuevo que deja rastro.
«Cambiar de programa de facturación rompe la cadena»
Realidad: solo si se hace sin orden. El módulo tiene un proceso de migración propio, en Configuration › Migration Runs, y una importación de registros históricos. Mientras dura la migración, la cadena queda suspendida y no admite registros nuevos: Chain is suspended for migration. Cannot append new records.

«Hasta 2028 no tengo que hacer nada»
Realidad: los plazos aprobados siguen siendo los del RDL 15/2025: antes del 1 de enero de 2027 para quien presenta el Impuesto sobre Sociedades y antes del 1 de julio de 2027 para el resto. Lo de octubre de 2028 es una previsión que Hacienda anunció el 5 de octubre de 2026. Y la propia nota dice que las garantías técnicas se mantendrán «en términos sustancialmente equivalentes».
«Odoo ya trae VeriFactu, no necesito nada más»
Realidad: Odoo incluye su propio módulo, l10n_es_edi_verifactu, en las versiones 17, 18, 19 y 20. Para muchas empresas puede bastar. El módulo de FlexigoTech es un sistema distinto, con sus propias herramientas de control: comprobación de integridad cada noche, control del desfase del reloj cada hora y una consola para asesorías. Compara los dos con lo que necesitas vigilar antes de elegir.

«Con el certificado caducado puedo seguir enviando»
Realidad: no. Sin un certificado válido la AEAT no identifica al emisor, y Odoo para el envío antes de llegar a ella: The certificate … of company … has expired. Para que no te pille por sorpresa, el módulo comprueba cada día la caducidad del certificado y avisa con tiempo.
«El reloj del servidor da igual»
Realidad: cada registro lleva fecha y hora, y la cadena depende de su orden. Por eso el módulo comprueba cada hora el desfase del reloj del servidor y avisa si se va. Es un fallo silencioso que conviene detectar antes que la AEAT.

Si después de leer esto te queda una duda concreta, mira primero el catálogo de errores dentro de Odoo: muchas preguntas sobre VeriFactu se responden leyendo el código exacto que devolvió la AEAT.
Cuando dudes de algo, mira la fuente: la AEAT publica la especificación de la huella y el documento de validaciones y errores. Los enlaces están abajo.
Sigue leyendo
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas
Fuentes
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/Sis
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Veri-Factu_
- www.hacienda.gob.es/sgt/gabsehacienda/nota-informativa-verifactu.pdf
- sede.agenciatributaria.gob.es/Sede/iva/sistemas-informaticos-facturacion-verifactu/nota-in
- github.com/odoo/odoo/tree/19.0/addons/l10n_es_edi_verifactu
- Código del módulo: flexigo_spain_verifactu 20.0 (4dc42be4): models/verifactu_anulacion.py
- Código del módulo: flexigo_spain_verifactu 20.0 (4dc42be4): models/verifactu_cadena.py
- Código del módulo: flexigo_spain_verifactu 20.0 (4dc42be4): models/verifactu_evento.py
- Código del módulo: flexigo_spain_verifactu 20.0 (4dc42be4): views/menu_views.xml
- Código del módulo: flexigo_spain_verifactu 20.0 (4dc42be4): data/verifactu_crons.xml
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
- Código del módulo: flexigo_spain_verifactu 20.0 (4dc42be4): models/verifactu_aeat_client.py
