LinuxParty
Con la entrada en vigor del Real Decreto 1007/2023, todas las empresas y autónomos de España deberán adaptarse a los nuevos sistemas de control de facturación. Uno de los componentes clave es Veri*factu, que obliga a generar y enviar facturas en tiempo real a la Agencia Tributaria (AEAT).
En este artículo te explicamos qué es Veri*factu, cómo se integra con Odoo (uno de los ERP más usados en España), qué necesitas para cumplir la normativa y cómo configurarlo en un servidor Linux.
Lecturas recomendadas:
1. Cómo instalar Odoo 15 en CentOS 8 y 9 / AlmaLinux 8 y 9
2. Seis programas de software libre para el día a día de la empresa
La integración de Veri*factu en Odoo no es solo una obligación legal, sino también una oportunidad para profesionalizar la gestión de facturación, aumentar la trazabilidad y prepararte para la digitalización completa de tus operaciones.
Si ya trabajas con Odoo, solo necesitas adaptar tu sistema con los módulos adecuados y realizar una configuración segura. Si aún no lo usas, es el momento ideal para modernizar tu ERP y cumplir con las normativas futuras.
🧾 ¿Qué es Veri*factu?
Veri*factu (Sistema de verificación de facturación) es un mecanismo creado por la AEAT que garantiza la autenticidad, integridad y envío inmediato de las facturas emitidas por un software de gestión.
🎯 Objetivos principales:
- Lucha contra el fraude fiscal.
- Transparencia y trazabilidad en las operaciones comerciales.
- Centralización del control del software de facturación.
A partir del 1 de julio de 2025, será obligatorio que todo software de facturación se adapte a este sistema, incluso los ERPs de código abierto como Odoo.
🧰 Requisitos para usar Veri*factu con Odoo
Antes de empezar, asegúrate de tener:
- ✅ Un servidor Linux (Ubuntu, Debian, RHEL, Fedora, AlmaLinux…).
- ✅ Odoo instalado (versión 15 o superior recomendada).
- ✅ Certificado digital de la empresa (FNMT o similar).
- ✅ Módulo Veri*factu para Odoo.
- ✅ Acceso a API AEAT (entorno de pruebas y/o real).
💻 Instalación de Odoo en Linux (resumen rápido)
Aquí te explico cómo instalar Odoo 16 en un servidor Ubuntu 22.04 LTS:
1. Instala dependencias:
sudo apt update && sudo apt install git python3-pip build-essential \
python3-dev python3-venv libxslt-dev libzip-dev libldap2-dev libsasl2-dev \
libjpeg-dev libpq-dev libxml2-dev wkhtmltopdf postgresql -y
2. Crea usuario de Odoo:
sudo adduser --system --home=/opt/odoo --group odoo
3. Clona Odoo:
cd /opt/odoo
sudo git clone https://www.github.com/odoo/odoo --depth 1 --branch 16.0 --single-branch .
python3 -m venv venv
source venv/bin/activate
pip install wheel
pip install -r requirements.txt
4. Crea la base de datos PostgreSQL:
sudo -u postgres createuser -s odoo
5. Inicia Odoo:
./odoo-bin -c odoo.conf
🔌 Integración con Veri*factu
La AEAT aún no publica un SDK oficial completo para Veri*factu, pero varios módulos comunitarios y soluciones privadas están implementando ya esta funcionalidad.
✅ Opción recomendada: Módulo OCA “l10n_es_verifactu”
La comunidad OCA (Odoo Community Association) está desarrollando un módulo llamado l10n_es_verifactu
.
🔗 Repositorio:
📦 Módulos necesarios:
git clone https://github.com/OCA/l10n-spain.git /opt/odoo/custom_addons/l10n-spain
Edita el odoo.conf
para añadir el nuevo path:
[options]
addons_path = /opt/odoo/odoo/addons,/opt/odoo/custom_addons/l10n-spain
📋 Módulos importantes:
l10n_es_verifactu
: gestión del sistema VeriFactu.l10n_es_facturae
: para facturación electrónica en formato FacturaE.l10n_es
: localización general de España.account_invoice_report
: informes de factura compatibles.
🔐 Requisitos técnicos:
- Certificado digital en formato
.pfx
o.pem
. - Configuración de API REST con la AEAT.
- Firma de cada factura y almacenamiento del hash (SHA-256).
- Sellado de tiempo y conservación de registros.
⚙️ Cómo funciona Veri*factu en Odoo
Una vez configurado el módulo l10n_es_verifactu
:
- Al emitir una factura, Odoo genera automáticamente un hash (huella digital).
- La factura es firmada digitalmente con el certificado de la empresa.
- Se envía por API a la AEAT en tiempo real (modo online).
- Odoo recibe una confirmación y almacena los registros exigidos.
Si el sistema no tiene conexión, funciona en modo diferido (offline) pero debe enviar las facturas en un máximo de 4 días.
📜 Ejemplo de factura firmada en Veri*factu (XML)
<Factura>
<Cabecera>
<IDFactura>F2025/123</IDFactura>
<Fecha>2025-07-02</Fecha>
<Hash>14f88c77e4e03e0a...</Hash>
</Cabecera>
<Emisor>
<Nombre>Mi Empresa SL</Nombre>
<NIF>ESB12345678</NIF>
</Emisor>
<Receptor>
<Nombre>Cliente Ejemplo</Nombre>
<NIF>ES12345678Z</NIF>
</Receptor>
<Detalle>
<Concepto>Consultoría Linux</Concepto>
<BaseImponible>100.00</BaseImponible>
<IVA>21%</IVA>
<Total>121.00</Total>
</Detalle>
</Factura>
🧪 Pruebas en entorno sandbox
La AEAT proporciona un entorno de pruebas Veri*factu para desarrollar y validar el envío de facturas.
¿Cómo acceder?
- Regístrate en la Sede Electrónica de la AEAT.
- Solicita acceso a los servicios web Veri*factu.
- Usa los endpoints proporcionados (API REST SOAP/XML).
- Configura el certificado para autenticarte.
🧠 Consejos de implementación
- 🔒 Seguridad: usa HTTPS, almacena los certificados en directorios restringidos.
- 💾 Backups: realiza copias diarias del sistema y la base de datos.
- 🧩 Versionado: usa Git para controlar las modificaciones al código Odoo.
- 📥 Logs y trazabilidad: asegúrate de guardar logs firmados, como exige la normativa.
📚 Recursos útiles
- Verifactu AEAT - Documentación oficial
- Repositorio OCA l10n-spain
- FacturaE (Ministerio)
- Odoo.com - Documentación para desarrolladores
- Guía de adaptaciones VeriFactu (AEAT, PDF)

-
Programación
- phpBB bbcode Script Vulnerable.
- Mono (C#) se incluirá en Fedora Core 5
- Alfresco, biblioteca PHP V1.1 disponbible
- Todo lo que querías saber sobre los tipo en C, y nunca te atreviste a preguntar.
- MagicAJAX.NET 0.3.0 Liberado.
- Programar en Perl, usando SDL, creando un Juego.
- libdvdcss2 y w32codecs para Ubuntu
- Apache2, PHP4 y PHP5, hacerlos correr al mismo tiempo.
- WordHTML CV 1.0
- GCC 4.1 Disponible ¡Nueva Versión!
- Google PageRank Check 1.0.1
- Visual Basic 2005, pega el salto!!!