Veri*Factu y AEAT: cómo se conecta tu facturación con Hacienda
Cada factura que emites viaja en tiempo real a los servidores de la Agencia Tributaria. Te explicamos qué pasa técnicamente, qué datos recibe Hacienda y qué garantías ofrece el sistema para ti y tu cliente.
La idea detrás de la conexión
Antes de Veri*Factu, una factura era un documento privado: la emitías, la guardabas y Hacienda solo la veía si había una inspección. Con Veri*Factu, cada factura genera un registro firmado que se envía a la AEAT en el momento de la emisión. No es una copia; es un resumen criptográfico que Hacienda usa para verificar que la factura no ha sido modificada ni eliminada después.
Esto cambia la relación entre tu programa de facturación y Hacienda: de reactiva (inspecciones puntuales) a continua (registro en tiempo real).
Los tres componentes de la conexión
1. Tu certificado digital como llave de acceso
La comunicación con la AEAT no usa usuario y contraseña. Usa mTLS (mutual TLS): tanto el servidor de la AEAT como tu programa se autentican entre sí mediante certificados digitales. El tuyo es el certificado FNMT (.pfx o .p12) que ya usas para otros trámites con la Administración.
Sin ese certificado instalado en el software, la conexión se rechaza antes de que llegue ningún dato. Este es el primer punto donde pueden surgir problemas: certificados caducados, en formato RC2 antiguo incompatible con OpenSSL 3, o con el NIF incorrecto.
2. El XML SOAP: el formato del mensaje
Los datos de tu factura no viajan en JSON ni en PDF. El protocolo oficial es SOAP (XML), conforme al esquema SuministroInformacion.xsd publicado por la AEAT. Cada mensaje incluye, entre otros:
- IDFactura: NIF del emisor, número de serie y fecha de expedición.
- Desglose IVA: base imponible, tipo impositivo y cuota para cada tramo.
- DescripcionOperacion: texto que describes en la factura (obligatorio; no puede ser genérico).
- SistemaInformatico: identificación del programa que genera la factura (nombre, versión, NIF del fabricante).
- Encadenamiento: la huella de la factura anterior en la misma serie, o la indicación de que es la primera.
- Huella: el hash SHA-256 de los campos canónicos de esta factura.
3. La huella SHA-256: la firma inviolable
El elemento más importante del registro es la huella. Se calcula concatenando en un orden exacto los campos clave de la factura (NIF emisor, número de serie, fecha, tipo, importes, huella de la factura anterior…) y aplicando SHA-256. El resultado es una cadena hexadecimal de 64 caracteres en mayúsculas.
La clave está en el encadenamiento: la huella de cada factura depende de la huella de la anterior. Si alguien modifica o elimina una factura intermedia, todas las huellas posteriores dejan de ser válidas. Es el mismo principio que una blockchain, aplicado a la facturación.
El flujo completo paso a paso
- Creas o guardas la factura en tu programa.
- El software calcula la huella SHA-256 concatenando los campos canónicos con los importes en formato AEAT (
210.0, no210.00). - Se construye el mensaje XML SOAP con todos los datos del registro de alta (RegistroAlta).
- El mensaje se envía mediante HTTP POST con mTLS al endpoint de la AEAT:
https://www1.agenciatributaria.gob.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP - La AEAT valida el esquema, el NIF y la huella. Responde con un estado (Correcto, ParcialmenteCorrecto o Incorrecto) y, si todo va bien, un CSV (Código Seguro de Verificación).
- El CSV y un código QR se incluyen en el PDF de la factura. Tu cliente puede escanearlos para verificar la factura en la sede electrónica de la AEAT.
¿Qué recibe exactamente la AEAT?
Es una pregunta frecuente. La AEAT recibe el registro del alta, no el PDF ni los adjuntos. Recibe los metadatos fiscales: identificación de emisor y receptor, importes, tipo de IVA, descripción de la operación y la huella. No recibe archivos binarios, imágenes ni datos bancarios.
Lo que sí queda registrado de forma permanente en la AEAT es que la factura existe, con esos importes, en esa fecha, y que su huella es la que indica el registro. Cualquier discrepancia posterior es detectable.
¿Qué ocurre si la conexión falla?
La conexión con la AEAT puede fallar puntualmente (mantenimiento, timeout, error de red). Un sistema bien diseñado como Simple*Factu gestiona esto con un sistema de trabajos con reintentos y espera creciente (backoff): el registro se vuelve a intentar automáticamente (estado FAILED mientras reintenta) hasta 8 veces antes de marcarse como DEAD y notificar al operador. La factura queda registrada localmente desde el primer momento; el envío a la AEAT se completa en cuanto la conexión se restablece.
Entorno de preproducción para pruebas
La AEAT ofrece un entorno de preproducción (prewww1.aeat.es) donde puedes enviar facturas de prueba con el mismo certificado real, sin consecuencias fiscales. Es el entorno habitual para validar que tu configuración es correcta antes de empezar a emitir facturas reales.
Simple*Factu usa preproducción por defecto en el entorno QA y producción en el entorno live. No hay riesgo de enviar facturas de prueba a Hacienda por accidente si usas el panel de desarrollo.
Resumen
La conexión entre tu facturación y la AEAT es técnicamente sencilla: un mensaje XML firmado con tu certificado, que incluye una huella encadenada con la factura anterior. Lo que hace especial a Veri*Factu no es la tecnología, sino la consecuencia: cada factura queda registrada de forma inmutable en Hacienda en el momento de emitirla. Para la mayoría de autónomos y pymes, esto es transparente si el software está bien configurado.
Para ponerlo en marcha sin implementar SOAP a mano, crea tu cuenta en Simple*Factu o empieza desde la home del producto.
Preguntas frecuentes
- ¿La AEAT recibe el PDF de mi factura?
- No. Recibe el registro de facturación (metadatos fiscales, importes, descripción y huella SHA-256), no el PDF ni adjuntos. El diseño y el envío del documento al cliente siguen siendo tuyos.
- ¿Qué es el CSV que devuelve Hacienda?
- El CSV (Código Seguro de Verificación) identifica el registro aceptado en los sistemas de la AEAT. Se imprime en el PDF junto al QR para que el receptor pueda verificar la factura en la sede electrónica.
- ¿Qué pasa si falla la conexión con la AEAT?
- Un software conforme debe reintentar el envío. La factura queda registrada localmente; el registro se remite cuando el servicio de la AEAT vuelve a estar disponible. La obligación es remitir, no que acepte al primer intento.
- ¿Puedo probar sin consecuencias fiscales?
- Sí. La AEAT ofrece un entorno de preproducción (prewww1.aeat.es) con el mismo certificado real pero sin efectos fiscales. Úsalo para validar certificado, huellas y XML antes de producción.
Sigue leyendo
- Tu primera factura Veri*Factu: envío a la AEAT paso a pasoPaso a paso: desde configurar tu programa de facturación hasta ver el CSV y el QR en el PDF de tu factura. Sin tecnicismos innecesarios.
- Certificado digital FNMT para Veri*Factu: exportar .pfxTodo lo que necesitas saber sobre el certificado FNMT para firmar facturas Veri*Factu y enviarlas a la AEAT: cómo solicitarlo, exportarlo en formato .pfx y configurarlo en tu programa de facturación.
- Veri*Factu en la Agencia Tributaria: trámites, sede electrónica y enlaces útilesDónde verificar una factura Veri*Factu, cómo acceder al validador QR de la AEAT y qué trámites puedes hacer desde la sede electrónica relacionados con Veri*Factu.
¿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