VeriFactu en Odoo 17 Community: qué cambia y cómo cumplir

Odoo 17 es la primera versión con módulo oficial de VeriFactu, y es libre: va en el núcleo. Aquí tienes esa vía y la de la OCA, sin humo.

VeriFactu en Odoo 17 Community: qué cambia y cómo cumplir

VeriFactu en Odoo 17 Community se cumple con el módulo OCA l10n_es_verifactu_oca, mergeado en la rama 17.0 de OCA/l10n-spain y en desarrollo activo a fecha de verificación (septiembre de 2026). Y si lo prefieres, también puedes usar el módulo oficial: Odoo 17 es la primera versión con VeriFactu integrado por Odoo S.A., y ese módulo (l10n_es_edi_verifactu) es libre, va en el núcleo. Este tutorial va al grano: qué vías tienes en la 17, el estado real del módulo OCA en 17.0 y la instalación completa de esa vía hasta el primer envío de prueba. Para el contexto normativo y la comparativa general, consulta la guía definitiva de VeriFactu en Odoo Community con el módulo OCA.

Qué opciones tienes en Odoo 17

Odoo 17 (octubre de 2023) es la versión en la que Odoo S.A. incorporó VeriFactu a su localización española, disponible desde julio de 2025. El matiz que muchas comparativas no aclaran: el módulo oficial es libre y va en el núcleo. l10n_es_edi_verifactu está en el repositorio odoo/odoo con licencia LGPL-3 desde la rama 17.0 (verificado en septiembre de 2026), así que sí aparece en la lista de aplicaciones de tu Odoo 17 Community. La OCA publica además su propia implementación, que es la única vía en la 16 y una alternativa en la 17.

En la práctica, estas son las dos vías en la versión 17:

  • Módulo oficial (núcleo, LGPL): l10n_es_edi_verifactu, con QR, encadenamiento y envío a la AEAT (más l10n_es_edi_verifactu_pos para el TPV), mantenido por Odoo S.A. y arrancando por defecto en modo pruebas. Es el mismo módulo en Community y en Enterprise.
  • Módulo OCA (AGPL): l10n_es_verifactu_oca, con funcionalidad equivalente en el flujo principal, mantenido por la comunidad y con etiqueta Beta.

La decisión Community vs Enterprise no debería girar solo en torno a VeriFactu, porque el módulo es el mismo; la tienes analizada en Odoo Community vs Enterprise.

El módulo OCA de VeriFactu para 17.0: estado y alcance

Estado verificado el 17 de septiembre de 2026 en el repositorio OCA/l10n-spain:

  • l10n_es_verifactu_oca, versión 17.0.1.4.4, licencia AGPL-3, madurez Beta. Autores: Aures Tic, ForgeFlow, Tecnativa y Factor Libre. Hay PRs de corrección abiertos en esta rama a fecha de verificación, señal de mantenimiento vivo, y de que conviene actualizar el código con frecuencia.
  • l10n_es_verifactu_pos_oca para facturación simplificada desde el TPV: la OCA solo lo tiene mergeado en la rama 16.0, así que en la 17 la vía del TPV es el módulo oficial l10n_es_edi_verifactu_pos del núcleo (LGPL).

Qué hace el módulo en 17.0: al validar una factura genera el registro de facturación con su huella encadenada, imprime el QR en el PDF y un cron envía los registros pendientes a la AEAT cada minuto, guardando la respuesta (aceptado, aceptado con errores o rechazado). Incluye además un asistente de anulación de facturas enviadas. Según su propio README, la vía recomendada por la AEAT para corregir es la factura rectificativa, y la modificación o anulación de registros debe ser excepcional.

Ni "Community no cumple" ni "está todo resuelto": el módulo existe, funciona y se usa en producción, pero está en Beta y exige un ciclo serio de pruebas antes de fiarle tu facturación. Es el mismo patrón que en VeriFactu en Odoo 16 Community y el que encontrarás en VeriFactu en Odoo 18 Community, donde la rama OCA está igualmente disponible.

Instalación, certificado y entorno de pruebas

  1. Clona los repos OCA en rama 17.0. El módulo depende de account_invoice_refund_link (account-invoicing) y del asistente account_chart_update (account-financial-tools):
cd /opt/odoo/addons-oca
git clone -b 17.0 https://github.com/OCA/l10n-spain.git
git clone -b 17.0 https://github.com/OCA/account-invoicing.git
git clone -b 17.0 https://github.com/OCA/account-financial-tools.git
  1. Instala las librerías Python del servicio SOAP:
pip install zeep requests
  1. Actualiza el addons_path y reinicia:
addons_path = /opt/odoo/odoo/addons,/opt/odoo/addons-oca/l10n-spain,/opt/odoo/addons-oca/account-invoicing,/opt/odoo/addons-oca/account-financial-tools
sudo systemctl restart odoo
  1. Instala Comunicación VERI*FACTU desde Aplicaciones (modo desarrollador, lista actualizada). Se instala con él l10n_es_aeat. Si usas el TPV, instala también la extensión de TPV.

  2. Certificado electrónico: sube el p12 de la FNMT (representante de persona jurídica o certificado de ciudadano si eres autónomo) en Facturación → Configuración → AEAT → Certificados AEAT y pulsa Obtener claves. Si falla la extracción automática:

openssl pkcs12 -in Certificado.p12 -nokeys -out publicCert.crt -nodes
openssl pkcs12 -in Certificado.p12 -nocerts -out privateKey.pem -nodes
  1. Compañía y posiciones fiscales: completa la pestaña VERI*FACTU de la compañía (desarrollador y encadenamiento) y asigna la clave de impuestos y la clave de registro en las posiciones fiscales, aplicándolas con account_chart_update.

  2. Entorno de pruebas de la AEAT: las URL de producción y de test vienen precargadas en Facturación → Configuración → AEAT → Agencia Tributaria. Emite facturas contra el entorno de test, escanea el QR del PDF y confirma la respuesta "aceptado" en el menú VERI*FACTU antes de pasar a producción. Durante 2026, además, el envío real es voluntario (la obligación llega el 1-1-2027 para sociedades y el 1-7-2027 para autónomos, según el RDL 15/2025), así que puedes ensayar sin riesgo fiscal.

Errores frecuentes al activar el envío

Los que más se repiten en issues y en implantaciones reales:

  • Certificado sin claves extraídas: el p12 se sube pero nadie pulsó "Obtener claves", o la extracción falló y no se usó el plan B con openssl. Síntoma: errores de firma en todos los envíos.
  • Quedarse en el entorno de test (o cambiar a producción sin haber probado): revisa qué URL está activa en la configuración de la agencia tributaria antes de dar por bueno el sistema.
  • Claves VeriFactu sin asignar en las posiciones fiscales: la factura genera registro, pero la AEAT lo rechaza por datos tributarios incompletos. Pasa sobre todo al saltarse el asistente de account_chart_update.
  • NIF de la compañía mal informado: con espacios, guiones o sin código de país. Un dato que se arrastra a todos los registros.
  • Cron parado: si el servidor tiene el cron deshabilitado o workers saturados, los registros se acumulan como "pendientes" y nadie envía nada. Comprueba la cola en el menú VERI*FACTU.
  • "Aceptado con errores" tratado como éxito: la AEAT acepta el registro pero avisa de defectos que hay que subsanar. Revísalo factura a factura.
  • Restaurar un backup antiguo en producción: rompe el encadenamiento de huellas. Si tienes que restaurar, documenta el punto de corte.

FAQ

¿Odoo 17 Community cumple VeriFactu? De serie, Invoicing no lo activa; con el módulo oficial l10n_es_edi_verifactu (núcleo, LGPL) o con el de la OCA l10n_es_verifactu_oca instalado y bien configurado, cumple los requisitos del RD 1007/2023 (registro encadenado, huella, QR y envío VERI*FACTU). Tenemos el enfoque general en cómo cumplir VeriFactu con Odoo Community sin Enterprise.

¿Qué pierdo frente a un Enterprise 17? Si usas el módulo oficial, el código es el mismo y los parches de Odoo S.A. te llegan igual. Lo que no tienes en Community es el contrato de soporte ni las migraciones incluidas. Si vas por la vía OCA, dependes del ritmo de la comunidad (rápido hasta ahora, pero sin SLA). Funcionalmente, el flujo principal de emisión y envío es equivalente.

¿Puedo probar sin enviar datos reales a Hacienda? Sí: el entorno de pruebas de la AEAT está pensado para eso, y además todo 2026 es periodo voluntario. Configura el entorno de test, emite, verifica el QR y las respuestas, y solo entonces pasa a producción.

¿Y si facturo desde el TPV? En la 17 la vía es el módulo oficial l10n_es_edi_verifactu_pos (núcleo, LGPL), porque la extensión OCA para el punto de venta (l10n_es_verifactu_pos_oca) solo está mergeada en la rama 16.0.

¿Merece la pena subir a 18 por VeriFactu? Por VeriFactu, no: en Community la situación es la misma en 17 y 18 (módulo OCA). Súbelo por soporte general y novedades, y si lo haces, sigue la guía de actualizar de Odoo 17 a 18 con OpenUpgrade.

VeriFactu es una pieza del cumplimiento contable, no todo el puzzle: el mapa completo (SII, modelos AEAT, libro de IVA) está en la guía de contabilidad española completa en Odoo Community con OCA.

Contenido verificado el 17 de septiembre de 2026 contra la rama 17.0 de OCA/l10n-spain (l10n_es_verifactu_oca 17.0.1.4.4, en madurez Beta y con PRs de corrección abiertos) y el BOE: RD 1007/2023 y RDL 15/2025.