Verifactu Validator Spain
Compruebe sus registros de facturación —y su huella encadenada— antes de enviarlos a la AEAT. En el navegador, sin subir nada.
¿Qué es Verifactu y qué valida esta herramienta?
Verifactu es el modo de remisión a la AEAT previsto para los sistemas informáticos de facturación (SIF) regulados por el Real Decreto 1007/2023 y la Orden HAC/1177/2024. Lo que la AEAT recibe no son facturas al estilo UBL, sino registros de facturación: un RegistroAlta por cada factura emitida y un RegistroAnulacion por cada anulación, agrupados en un envío RegFactuSistemaFacturacion. Cada registro incluye una huella: una empresa SHA-256 encadenada que incorpora la huella del registro anterior, de modo que la cadena de facturas no pueda alterarse sin que se note. Este validador gratuito comprueba el archivo en dos capas: primero contra el XSD oficial de la AEAT (SuministroLR.xsd y SuministroInformacion.xsd), y después contra los controles de rechazo publicados por la propia AEAT en «Validaciones y errores» (v1.2.2, 08/04/2026), devolviendo el código oficial exacto —1108, 1130, 1142, 1152, 1177, 1189/1190, 1195/1196, 1223…—, y además RECALCULA la huella de cada registro reproduciendo los tres vectores oficiales de la AEAT. Todo se ejecuta en su navegador: el registro nunca sale de su equipo.
Validador Verifactu: compruebe sus registros de facturación —y su huella— antes de enviarlos a la AEAT
Los sistemas informáticos de facturación (SIF) regulados por el Real Decreto 1007/2023 y la Orden HAC/1177/2024 no envían facturas a la AEAT: envían registros de facturación. Un RegistroAlta por cada factura expedida, un RegistroAnulacion por cada anulación, agrupados en un envío RegFactuSistemaFacturacion. La AEAT los valida uno a uno y responde con un código: aceptado, aceptado con errores o rechazado.
Esta herramienta trabaja en dos capas. Primero el XSD oficial de la AEAT (SuministroLR.xsd y SuministroInformacion.xsd): estructura, tipos, cardinalidades y enumeraciones cerradas. Después, los controles de rechazo que la propia AEAT publica en «Validaciones y errores» (v1.2.2, 08/04/2026), con su código exacto: 1108 (NIF del emisor distinto del obligado), 1114/1115 y 1116/1117 y 1118/1119 (coherencia de las rectificativas y sustituidas), 1130 (caracteres no permitidos en NumSerieFactura), 1138/1139 (macrodato), 1142 (CuotaRepercutida frente a base y tipo), 1152, 1177 (IdSistemaInformatico), 1189/1190 (bloque Destinatarios según el TipoFactura), 1195/1196 (OperacionExenta y CalificacionOperacion son excluyentes) y 1223.
Y hace lo que casi nadie hace: RECALCULA la huella. Cada registro lleva una empresa SHA-256 que incorpora la huella del registro anterior —de ahí el «hash encadenado»—, y nadie puede comprobarla sin rehacer el cálculo carácter a carácter. Nuestra implementación reproduce los tres vectores oficiales del documento de la AEAT «Especificaciones técnicas para generación de la huella o hash» (v0.1.2, 27/08/2024). Todo se ejecuta en su navegador: el registro nunca se transmite.
Ideas clave
- La huella es un hash SHA-256 ENCADENADO: cada registro incorpora la huella del anterior. Es lo que hace que la cadena de facturas no se pueda alterar sin que se note — y lo que nadie verifica sin rehacer el cálculo.
- Una huella mal calculada NO es un rechazo: es el código 2000, serie 2xxx, «aceptado con errores». La AEAT registra el registro igualmente, pero hay que corregirlo. Nuestra taxonomía sigue a la AEAT, no a la intuición.
- El error 1142 es aritmética pura: CuotaRepercutida frente a BaseImponibleOimporteNoSujeto y TipoImpositivo. El XSD acepta ese registro sin pestañear; la AEAT lo rechaza.
- Los códigos 1189 y 1190 son simétricos: si el TipoFactura es F1, F3, R1, R2, R3 o R4 el bloque Destinatarios es obligatorio; si es F2 o R5, está prohibido.
- Alrededor de la mitad de los controles exige un registro de la AEAT (el censo de NIF, el histórico de duplicados, el certificado de firma). La herramienta los enumera en pantalla en vez de esconderlos tras un sello verde.
Preguntas frecuentes
¿Se envía mi archivo a la AEAT?
No. El registro se lee y se analiza íntegramente en su navegador: nada se transmite. Validar aquí no es presentar, y no sustituye al envío por el canal correspondiente.
¿Qué es exactamente la huella y por qué la recalculan?
Es la huella digital del registro: una cadena SHA-256 construida a partir de campos concretos del registro Y de la huella del registro anterior. Encadenados así, los registros forman una secuencia que no se puede modificar retroactivamente sin romper la cadena. Comprobarla exige rehacer el cálculo exacto —el orden de los campos, el formato, la codificación—, y eso es justo lo que hacemos: nuestra implementación reproduce los tres vectores oficiales de la AEAT.
Si la huella es incorrecta, ¿se rechaza el registro?
No, y es contraintuitivo: la huella errónea es el código 2000, de la serie 2xxx, «aceptado con errores». La AEAT lo da por registrado y pide su corrección. Por eso aparece como aviso y no como rechazo: seguimos la taxonomía de la AEAT.
¿Qué significa el error 1142?
Que el campo CuotaRepercutida no cuadra con BaseImponibleOimporteNoSujeto y TipoImpositivo del mismo desglose. Es un control aritmético que el esquema XSD nunca podrá ver, y una de las causas de rechazo más comunes.
¿Por qué un registro «válido» aquí podría ser rechazado igualmente?
Porque hay controles que necesitan una base de datos a la que no podemos llegar sin subir su archivo: si el NIF figura en el censo (1109/4107), si el registro está duplicado en el histórico de la AEAT (3000), si el certificado de firma habilita al remitente (4112). Además, el margen de tolerancia horaria (2004) no puede implementarse: el umbral numérico no está publicado en ninguna parte —el texto oficial se corta literalmente en «admitiéndose un margen de error de:»—. La herramienta enumera todos estos casos en vez de dejar creer que se han comprobado.
¿De dónde salen las reglas?
Solo de documentos oficiales: los esquemas XSD de la AEAT (SuministroLR.xsd, SuministroInformacion.xsd), la lista «Validaciones y errores» v1.2.2 (08/04/2026) y las «Especificaciones técnicas para generación de la huella o hash» v0.1.2 (27/08/2024). Origen de los datos: Agencia Estatal de Administración Tributaria (esquemas descargados el 13/07/2026). ValidateFin es una herramienta independiente, no certificada ni patrocinada por la AEAT.
ValidateFin is an independent tool. It is not certified, approved, affiliated with or endorsed by the Agencia Estatal de Administración Tributaria (AEAT), and nothing here should be read as suggesting otherwise. “Official” refers only to the artefacts used — the AEAT’s XSD schemas (SuministroLR.xsd, SuministroInformacion.xsd), its “Validaciones y errores” control list (v1.2.2, 08/04/2026) and its hash specification (“Especificaciones técnicas para generación de la huella o hash”, v0.1.2, 27/08/2024) — not to any accreditation of this tool. Origen de los datos: Agencia Estatal de Administración Tributaria — schemas and control lists retrieved on 13 July 2026. About half of the AEAT’s controls query a government registry (the censo for NIF checks, the duplicate history, the signing certificate) and cannot run in a browser; the tool lists them on screen rather than hiding them behind a green badge. Validating a file here does not submit it to the AEAT.