La implantación del sistema VeriFactu marca un antes y un después en la forma de registrar y transmitir la información de facturación a la Agencia Tributaria. Para las empresas, pymes y autónomos que utilizan un Programa de gestión para empresas, pymes y autónomos como PowerGest, generar correctamente el archivo XML VeriFactu no solo es una exigencia normativa: es la base para garantizar la trazabilidad, seguridad e integridad de cada operación registrada.
Este artículo explica con detalle cómo debe construirse un archivo XML VeriFactu totalmente válido, cuáles son sus requisitos técnicos, qué errores se deben evitar y ofrece un ejemplo real siguiendo la normativa publicada por la AEAT. Además, integra buenas prácticas para adaptarse a sistemas certificados y compatibles con la Facturación electrónica actual.
¿Por qué es tan importante generar correctamente el archivo XML VeriFactu?
Generar un XML VeriFactu correcto es imprescindible para cumplir con los principios de la Ley Antifraude, que exige que todo software garantice:
- La inmutabilidad de los registros.
- La integridad de los datos mediante un hash encadenado.
- La trazabilidad completa desde la emisión de la factura hasta su comunicación.
- La imposibilidad de borrar o modificar facturas sin dejar rastro.
Un XML mal formado puede impedir la certificación del software, causar errores en auditorías o generar inconsistencias que afecten al obligado tributario. Por ello, conocer la estructura exacta del archivo es fundamental para mantener una correcta operatividad y cumplir con la normativa.
¿Cuáles son los requisitos para generar el XML VeriFactu según la normativa?
Los requisitos técnicos están definidos por la Agencia Tributaria y reflejados también en el marco regulatorio de la Ley Crea y Crece. Para que el XML sea aceptado, debe incluir:
1. Identificación del software
El sistema debe identificar claramente:
- Nombre del software
- Fabricante
- Versión
- NIF del desarrollador
2. Identificación del emisor
Información exacta del obligado tributario:
- Razón social
- NIF/CIF
3. Datos completos de la factura
Incluye:
- Fecha y número de factura
- Tipo de factura (simplificada, completa, rectificativa)
- Descripción de la operación
- Base imponible, tipo impositivo y cuota
- Total factura
4. Encadenamiento hash
El mecanismo de integridad más estricto:
Cada factura debe enlazar criptográficamente con la anterior mediante un hash SHA-256.
5. Sellado temporal
Incluye fecha y hora exacta de generación del registro.
6. Codificación y validación
El archivo debe:
- Estar en UTF-8 sin BOM
- Validar correctamente contra el XSD oficial
- Respetar las etiquetas obligatorias sin alteraciones
Cómo generar el archivo XML VeriFactu
Generar un archivo XML válido no es simplemente exportar datos: es un proceso estructurado y normativamente rígido que un buen programa de facturación debe automatizar.
1. Generar la factura en el sistema
Todos los datos (emisor, receptor, importes, impuestos) deben quedar registrados sin posibilidad de manipulación posterior.
2. Construcción de la estructura XML
El nodo raíz <Verifactu> agrupa:
- <Software>
- <Emisor>
- <Factura>
- <Encadenamiento>
- <SelladoTemporal>
3. Aplicar el hash sobre el contenido
Se calcula el hash de la factura actual combinado con el hash de la anterior para crear un encadenamiento imposible de alterar.
4. Añadir sello temporal
Garantiza la secuencia cronológica real de cada registro.
5. Validar antes de registrar
El archivo debe pasar siempre el XSD de la AEAT.
Ejemplo XML VeriFactu
A continuación se muestra un ejemplo real de archivo XML VeriFactu, totalmente conforme a la normativa:
<Verifactu>
<Software>
<Nombre>PowerGest</Nombre>
<Version>4.0</Version>
<Fabricante>PowerGest</Fabricante>
<NIFFabricante>B00000000</NIFFabricante>
</Software>
<Emisor>
<NombreFiscal>Empresa Demostración SL</NombreFiscal>
<NIF>B12345678</NIF>
</Emisor>
<Factura>
<Numero>F2025-0150</Numero>
<Fecha>2025-01-15</Fecha>
<TipoFactura>F1</TipoFactura>
<Descripcion>Servicios profesionales de consultoría</Descripcion>
<Importes>
<BaseImponible>850.00</BaseImponible>
<IVA>
<Tipo>21</Tipo>
<Cuota>178.50</Cuota>
</IVA>
<TotalFactura>1028.50</TotalFactura>
</Importes>
</Factura>
<Encadenamiento>
<HashAnterior>45A91BE76FA44C9BD3C72EF6E45F8A99D0CACC12</HashAnterior>
<HashActual>E3F11B5822C90488BF3FE2D27901EC8F559AB234</HashActual>
<Algoritmo>SHA-256</Algoritmo>
</Encadenamiento>
<SelladoTemporal>
<FechaHora>2025-01-15T17:22:14Z</FechaHora>
</SelladoTemporal>
</Verifactu>
¿Qué estructura y elementos clave debe contener el archivo?
El archivo VeriFactu se basa en una estructura muy estricta que siempre debe incluir:
- Identificación del software (Nombre, versión, fabricante).
- Datos del emisor (NIF, razón social).
- Factura detallada con todas las bases imponibles y tipos impositivos.
- Encadenamiento hash, esencial para garantizar la inmutabilidad.
- Sellado temporal que confirma el momento exacto de emisión.
Un cambio, omisión o formato incorrecto en cualquier etiqueta provocará un error de validación automático.
Factura VeriFactu real (visual)
Hasta ahora hemos visto cómo es un archivo XML, pero las empresas necesitan también comprender cómo se representa una factura VeriFactu real, es decir, lo que el cliente final recibe como justificante de la operación.
Un Ejemplo de factura verifactu muestra una factura normal a nivel visual, pero incorporando elementos que la normativa exige para asegurar integridad y trazabilidad.
Errores comunes en la generación del archivo XML VeriFactu
Generar un XML VeriFactu correctamente no es trivial, y estos son los errores más habituales detectados:
1. Hash mal calculado
Si el hash no coincide con el anterior o se genera incorrectamente, el registro queda invalidado.
2. Campos obligatorios vacíos
Una etiqueta faltante es suficiente para rechazar todo el archivo.
3. Formatos de fecha incorrectos
El sistema exige formato ISO 8601.
4. Desglose incorrecto de bases e impuestos
Cualquier diferencia de céntimos genera inconsistencias.
5. Codificación UTF-8 incorrecta
Un archivo con BOM provoca fallos al validar.
Conclusión
El archivo XML VeriFactu es el elemento central del nuevo sistema de control tributario en España. Su correcta generación garantiza la trazabilidad, integridad y autenticidad de cada factura emitida. Conocer su estructura, entender el encadenamiento hash y evitar errores comunes es imprescindible para cumplir con la normativa y asegurar la fiabilidad del proceso de facturación dentro de un entorno digital totalmente regulado.
PowerGest, como solución especializada, automatiza este proceso asegurando que cada operación se registre de forma segura y conforme a la normativa vigente.





