VeriFactu para Desarrolladores

Guía técnica completa para implementar VeriFactu en tu software de facturación. Especificaciones, requisitos, ejemplos de código y certificación.

REST APIJSONHash SHA-256EncadenamientoQR Code

Obligación en vigor desde el 29 de julio de 2025

Desde esa fecha, todos los Sistemas Informáticos de Facturación (SIF) tienen la obligación de estar adaptados al RD 1007/2023. El software que no cumpla con los requisitos técnicos de VeriFactu no puede comercializarse ni utilizarse legalmente.

Resumen técnico de VeriFactu

Entender los conceptos exigidos por la Ley Antifraude es clave antes de implementar.

El sistema VeriFactu requiere una certificación criptográfica de facturas que las vincula unas a otras mediante hashes encadenados que garantizan la correcta correlatividad entre las facturas. Cada factura contiene un hash SHA-256 que incluye:

  • Datos de la factura actual: número, fecha, importe, NIF emisor/receptor
  • Hash de la factura anterior: crea una cadena inmutable
  • Timestamp preciso: fecha y hora de emisión

El resultado es un sistema donde cualquier modificación de una factura rompe toda la cadena, haciendo imposible el fraude sin dejar rastro.

API VeriFactu lista para integrar

Nuestra API gestiona todo el proceso VeriFactu: generación de hashes, encadenamiento, almacenamiento seguro y códigos QR. Tú solo envías la factura, nosotros la certificamos.

Prueba API VeriFactu gratis
Especificaciones

Requisitos técnicos de implementación

Algoritmo de hash

Debes usar SHA-256 para generar las huellas digitales de cada factura.

$camposParaHuella = [ 'IDEmisorFactura' => $datos['IDEmisorFactura'], 'NumSerieFactura' => $datos['NumSerieFactura'], 'TipoFactura' => ..., 'CuotaTotal' => number_format(...), 'ImporteTotal' => number_format(...), 'Huella' => $datos['HuellaAnterior'], 'FechaHoraHuso...' => $datos['Fecha...'] ];

La cadena de hashes debe ser continua y sin gaps. Si una factura se anula, se genera una factura rectificativa que también forma parte de la cadena.

Encadenamiento

Cada factura debe referenciar el hash de la factura anterior.

<sf:Encadenamiento> <sf:RegistroAnterior> <sf:IDEmisorFactura>A39200019</sf:IDEmisorFactura> <sf:NumSerieFactura>FAdA-20260053</sf:NumSerieFactura> <sf:Huella>DADB33B9...E89F21</sf:Huella> </sf:RegistroAnterior> </sf:Encadenamiento> <sf:TipoHuella>01</sf:TipoHuella> <sf:Huella>F6F8F6DB...6016EF2</sf:Huella>

La primera factura del sistema tiene hash_anterior = "0" o null.

Campos obligatorios

Tu sistema debe incluir estos campos en cada factura:

  • ID único de factura
  • NIF emisor y receptor
  • Fecha y hora (ISO 8601)
  • Base imponible e IVA
  • Hash anterior
  • Hash actual
  • QR con URL de verificación

Código QR

Cada factura debe incluir un QR que apunte al servicio de cotejo AEAT indicando los siguientes campos:

  • NIF del emisor: identificación fiscal de la pyme o autónomo
  • Número de serie y factura: concatenados para identificación unívoca
  • Fecha de expedición: fecha exacta de generación del registro
  • Importe total: base imponible + IVA devengado
  • URL del servicio de cotejo AEAT

Seguridad

Implementa medidas de seguridad robustas:

  • HTTPS obligatorio (TLS 1.2+)
  • Autenticación API (tokens, OAuth)
  • Rate limiting
  • Logs de acceso
  • Backups cifrados
  • Protección contra manipulación

Declaración responsable

El productor del software debe disponer de una declaración responsable a disposición de los usuarios y de la AEAT que acredite el cumplimiento del RD 1007/2023.

  • Identificación del productor (NIF, razón social)
  • Nombre y versión del sistema informático
  • Declaración de conformidad técnica con VeriFactu
  • Número de instalación único por cliente
  • Debe incluirse en cada registro enviado a la AEAT
Código

Ejemplo de implementación

Estructura XML real de encadenamiento enviada a la AEAT

<sf:Encadenamiento>
  <sf:RegistroAnterior>
    <sf:IDEmisorFactura>A39200019</sf:IDEmisorFactura>
    <sf:NumSerieFactura>FAdA-20260053</sf:NumSerieFactura>
    <sf:FechaExpedicionFactura>14-02-2026</sf:FechaExpedicionFactura>
    <sf:Huella>DADB33B9D64F4A218474E39816A3AAC2C7388C54DCA4C741D87B6CED79E89F21</sf:Huella>
  </sf:RegistroAnterior>
</sf:Encadenamiento>
<sf:SistemaInformatico>
  <sf:NombreRazon>NEMON INVOICE TO CASH, SL</sf:NombreRazon>
  <sf:NIF>B70912613</sf:NIF>
  <sf:NombreSistemaInformatico>NEMON INVOCASH VERIFACTU API</sf:NombreSistemaInformatico>
  <sf:IdSistemaInformatico>01</sf:IdSistemaInformatico>
  <sf:Version>1.0</sf:Version>
  <sf:NumeroInstalacion>20250804093406_625608</sf:NumeroInstalacion>
  <sf:TipoUsoPosibleSoloVerifactu>S</sf:TipoUsoPosibleSoloVerifactu>
  <sf:TipoUsoPosibleMultiOT>N</sf:TipoUsoPosibleMultiOT>
  <sf:IndicadorMultiplesOT>N</sf:IndicadorMultiplesOT>
</sf:SistemaInformatico>
<sf:FechaHoraHusoGenRegistro>2026-03-09T17:02:01+01:00</sf:FechaHoraHusoGenRegistro>
<sf:TipoHuella>01</sf:TipoHuella>
<sf:Huella>F6F8F6DB38EACA0EA949F3E3B15DDFF1ACF053CBB0CED6EE108CD07946016EF2</sf:Huella>

Nota importante: Este es un ejemplo simplificado. En producción debes implementar validaciones adicionales, manejo de errores, y seguir exactamente las especificaciones oficiales de la AEAT.

Cumplimiento

Proceso de cumplimiento para productores de software

No existe homologación ni auditoría de la AEAT. El cumplimiento se basa en la declaración responsable del propio productor.

1

Implementación técnica

Desarrolla el sistema cumpliendo todos los requisitos del RD 1007/2023: hashes SHA-256 encadenados, QR, inmutabilidad de registros y campos obligatorios.

2

Testing y validación

Prueba la generación de hashes, el encadenamiento entre facturas, los casos edge (anulaciones, rectificativas) y la correcta construcción del XML.

3

Declaración responsable

El productor redacta y firma la declaración responsable con los datos del sistema (NIF, nombre, versión, número de instalación) y la incluye en el software.

4

Conectividad con la AEAT

Configura el envío de registros al servicio web de la AEAT. En modo VeriFactu, cada factura debe enviarse en tiempo real tras su emisión.

5

Distribución a clientes

Entrega la declaración responsable a cada cliente en el momento de la contratación y asegúrate de que esté accesible desde el propio software.

6

Mantenimiento continuo

Ante cambios normativos o nuevas versiones, actualiza la declaración responsable, versionada y conservada a disposición de la AEAT si la solicita.

Importante: No se requiere ningún registro ni envío formal a la AEAT. La responsabilidad del cumplimiento recae íntegramente en el productor del software.

¿O prefieres usar nuestra API?

Evita meses de desarrollo y certificación. Nuestra API VeriFactu ya está homologada y lista para integrar en tu software. Tú te encargas de la facturación, nosotros de VeriFactu.

Sanciones

Consecuencias del incumplimiento

La Agencia Tributaria aplica sanciones económicas graves por no cumplir con VeriFactu:

Régimen sancionador — Art. 201 bis LGT

Sanciones extraídas de la Ley 58/2003 General Tributaria (arts. 201 y 201 bis), modificada por la Ley 11/2021 de medidas de prevención y lucha contra el fraude fiscal, y desarrollada reglamentariamente por el RD 1007/2023.

Tenencia de software no conforme (cliente final)Sanción al usuario del software por cada ejercicio en que lo use sin adaptación
50.000€/ejercicio
Comercializar software no adaptado al RD 1007/2023Por cada ejercicio y por cada tipo de sistema informático comercializado
150.000€/ejercicio
Instalación sin declaración responsablePor cada instalación entregada a un cliente sin la declaración responsable requerida
1.000€/instalación

Nota: La sanción de 150.000€ se aplica por ejercicio y por tipo de sistema. Si comercializas varias versiones de software durante varios años sin adaptar, las multas se acumulan.

Checklist

Checklist de implementación

Verifica que tu sistema cumple con todos los requisitos

Requisitos funcionales

Diagnóstico de tu adaptación a VeriFactu
0/15
Te faltan aspectos fundamentales para la adaptación y cumplir con VeriFactu.

¿QUIERES SABER MÁS?

Solicita más información sobre nuestras soluciones

DirecciónC/ del Mirador, 3 | Pol. Ind. A7, Ascó, 43791, Tarragona
Soporte técnico877 265 720

Este sitio está protegido por reCAPTCHA de Google. Política de privacidad y Términos de servicio.