Odoo y Veri*Factu: integración, módulos y cumplimiento
Si usas Odoo como ERP, necesitas un módulo o conector que gestione el envío a Veri*Factu. Opciones disponibles, cómo funciona la integración y qué verificar.
Odoo y Veri*Factu: la situación actual
Odoo es uno de los ERP más usados por pymes en España. La integración con Veri*Factu no viene de fábrica en todas las versiones: depende de la versión de Odoo, del módulo de facturación que uses y del proveedor que lo haya desarrollado.
En términos generales, hay tres caminos para integrar Odoo con Veri*Factu:
Opción 1: Módulo oficial de la comunidad Odoo
La comunidad de Odoo (OCA — Odoo Community Association) y algunos partners han desarrollado módulos de localización española que incluyen soporte para Veri*Factu. Estos módulos se instalan directamente en tu instancia de Odoo y gestionan el cálculo de la huella, la conexión SOAP y el CSV.
Ventaja: integración nativa en Odoo, sin sistemas externos.
Riesgo: debes verificar que el módulo está actualizado y cumple exactamente el esquema XSD de la AEAT. No todos los módulos de la comunidad han sido probados exhaustivamente en producción.
Opción 2: Conector con una API externa
En lugar de implementar toda la lógica Veri*Factu dentro de Odoo, puedes usar un conector que envíe los datos de la factura a un servicio API especializado (como Simple*Factu API) que gestiona la huella, el SOAP y la comunicación con la AEAT.
Ventaja: el servicio API se mantiene actualizado con los cambios normativos. Tu Odoo solo necesita enviar los datos de la factura en un formato estándar.
Riesgo: dependencia de un servicio externo; latencia adicional en el envío.
Opción 3: Integración a medida
Si tienes un partner de Odoo que desarrolla a medida, puede implementar directamente la integración con Veri*Factu usando las librerías SOAP de Python y el certificado mTLS. Es el camino más flexible pero el más costoso en tiempo de desarrollo y mantenimiento.
Qué debe hacer cualquier integración Odoo-Veri*Factu
- Interceptar el evento de validación de factura en Odoo (cuando el usuario confirma la factura).
- Calcular la huella SHA-256 encadenada con la factura anterior de la misma serie.
- Construir el mensaje XML SOAP según el esquema de la AEAT.
- Enviarlo mediante mTLS con el certificado del contribuyente.
- Guardar el CSV y el estado en los campos de la factura de Odoo.
- Generar el PDF con el CSV, QR y la leyenda VERI*FACTU.
Puntos críticos a verificar
- Formato de importes en la huella: el error más común en integraciones Odoo. El número
210debe formatearse como210.0, no210.00. Si el módulo usatoFixed(2)o el equivalente Python sin el ajuste correcto, todas las huellas serán incorrectas (error AEAT2000). - Encadenamiento correcto: el módulo debe gestionar correctamente el primer registro de cada serie (
PrimerRegistro: S) y los siguientes. - Gestión de reintentos: Odoo no tiene por defecto un sistema de jobs con reintentos. Verifica que la integración reintenta automáticamente si la AEAT está caída.
- Declaración responsable: si el módulo lo desarrolló un partner, ese partner debe emitir la declaración responsable del art. 8 RD 1007/2023.
Simple*Factu API como backend para Odoo
Una alternativa es configurar Odoo para que, al confirmar una factura, llame a la API de Simple*Factu con los datos de la factura. Simple*Factu gestiona toda la lógica Veri*Factu (huella, SOAP, reintentos, CSV) y devuelve el CSV para que Odoo lo guarde en la factura. Esta arquitectura simplifica el módulo de Odoo: solo necesita hacer una llamada HTTP REST, sin implementar SOAP ni certificados mTLS directamente.
¿Listo para cumplir con Veri*Factu?
Simple*Factu es la API y aplicación que gestiona el envío de facturas a la AEAT por ti. Empieza gratis.
Crear cuenta gratis