En este artículo te explicamos por qué el XML es el lenguaje elegido para enviar facturas VeriFactu mediante SOAP a la AEAT. Lo que a simple vista puede parecer un galimatías de etiquetas es, en realidad, una forma de traducir digitalmente una factura para que la Agencia Tributaria la entienda sin errores.
En este artículo
¿Por qué se usa XML en VeriFactu?
XML (eXtensible Markup Language) es un lenguaje de marcas que permite estructurar datos de forma clara, legible para sistemas automatizados y fácilmente verificable. En el caso de VeriFactu, el XML no es un simple archivo: es la traducción exacta de una factura a un formato que entiende la AEAT.
Y se usa en combinación con SOAP (un protocolo de intercambio de mensajes) para garantizar:
- Seguridad
- Validación automática
- Integridad de los datos (gracias a las huellas digitales)
De factura tradicional a factura XML VeriFactu
Una factura real tiene campos como:
- Número de factura
- Fecha de emisión
- Emisor y receptor
- Base imponible, IVA y total
- Descripción del producto o servicio
En XML, cada uno de estos elementos se convierte en una etiqueta con su valor correspondiente. Por ejemplo:
| Campo en la factura tradicional | Equivalente en XML |
|---|---|
| Número de factura: INVOCASH-20250422/5 | <sf:NumSerieFactura>INVOCASH-20250422/5</sf:NumSerieFactura> |
| Fecha: 01-04-2025 | <sf:FechaExpedicionFactura>01-04-2025</sf:FechaExpedicionFactura> |
| Cliente: CARLOS RODRIGUEZ – NIF 95478210H | <sf:NombreRazon>CARLOS RODRIGUEZ</sf:NombreRazon> y <sf:NIF>95478210H</sf:NIF> |
| Total: 11 € | <sf:ImporteTotal>11</sf:ImporteTotal> |
Así, el XML es como el ADN digital de la factura: cada dato está etiquetado y organizado para que la AEAT pueda leerlo, procesarlo y comprobar su validez.
¿Y todo lo demás? Encadenamientos, huellas, sistema informático..
El XML de VeriFactu también incluye:
- Encadenamiento de facturas: cada factura enlaza con la anterior usando una huella digital, garantizando que no hay manipulaciones.
- Sistema informático: identifica qué software ha emitido la factura.
- Registro exacto de fecha y hora: con zona horaria incluida, para asegurar la trazabilidad.
- Tipos de uso del sistema: si se usa solo para VeriFactu o también para emitir facturas fuera de la AEAT.
Todo esto ayuda a Hacienda a verificar que la factura es legal, no ha sido modificada y proviene de un software autorizado.
Entonces… ¿puedo hacer esto a mano?
En teoría, sí: podrías construir tú mismo el XML, generar las huellas y preparar el sobre SOAP. Pero sería como querer enviar cartas en código Morse en pleno 2025.
La realidad es que el proceso exige una estructura muy concreta, campos perfectamente formateados, una huella digital generada con precisión matemática y todo ello encapsulado en un sobre SOAP que debe validarse según un esquema oficial. Un pequeño error y el envío será rechazado por la AEAT.
¿La solución? Automatizarlo con una API
Una API como la de Invocash genera el XML, lo valida, lo encapsula en SOAP y lo envía a la AEAT en segundos. Así evitas:
- Errores de formato
- Fallos de validación
- Problemas con huellas digitales
- Rechazos por parte de la Agencia Tributaria




