Cuenta
Español

Validador VERI*FACTU

Suelte el XML de registros de facturación (RegFactuSistemaFacturacion), la respuesta XML de la AEAT, o pegue la URL del QR de una factura.

Los ficheros se procesan en memoria y nunca se guardan.

Comprobar el QR de una factura

El QR de una factura VERI*FACTU es una URL de cotejo de la AEAT con cuatro parámetros: NIF del emisor, número y serie, fecha de expedición e importe total. Pegue la URL para comprobar el formato, la codificación y el NIF.

Qué se comprueba en los registros

Cada problema lleva su código y el equivalente de la AEAT; todos están explicados en códigos de error VERI*FACTU.

Entender la respuesta de la AEAT

Suelte el XML de respuesta (RespuestaRegFactuSistemaFacturacion) y verá cada factura con su estado (Correcto, AceptadoConErrores, Incorrecto), el código de error y la descripción oficial de la AEAT, con enlace a la solución.

Calendario

Según el Real Decreto-ley 15/2025, los sistemas informáticos de facturación deben cumplir el reglamento desde el 1 de enero de 2027 (contribuyentes del Impuesto sobre Sociedades) y desde el 1 de julio de 2027 (resto, incluidos autónomos). En octubre de 2026 Hacienda anunció un nuevo aplazamiento que aún no está aprobado.

Preguntas frecuentes

¿El validador envía los registros a la AEAT?

No. Solo comprueba el fichero. El envío lo hace su sistema informático de facturación con su certificado.

¿Por qué la AEAT me da error 2000 si el XML es válido?

Porque la huella se calcula sobre el texto exacto de los campos. Un importe 123.4 en lugar de 123.40, la fecha en AAAA-MM-DD o la hora sin huso producen otra huella. El validador recalcula la huella y le muestra la cadena correcta.

¿Se comprueba la firma electrónica de los registros?

No. En la modalidad VERI*FACTU los registros enviados no necesitan firma XAdES; en la modalidad no VERI*FACTU sí, y esta herramienta no la verifica.

¿Se guardan mis registros?

No. El fichero se procesa en memoria y se borra al enviar la respuesta.

Programadores: el mismo motor como API

curl -F file=@invoice.pdf https://einvoicechecker.com/v1/validate
curl -F file=@invoice.xml https://einvoicechecker.com/v1/parse
curl -F file=@invoice.xml "https://einvoicechecker.com/v1/render?lang=es" -o invoice.html