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.

¿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:

De factura tradicional a factura XML VeriFactu

Una factura real tiene campos como:

En XML, cada uno de estos elementos se convierte en una etiqueta con su valor correspondiente. Por ejemplo:

Campo en la factura tradicionalEquivalente 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:

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: