Verifactu — envío conforme, dos registros encadenados
A submission the AEAT would accept: two invoice records, correctly chained. The first declares PrimerRegistro=S and hashes an empty previous-fingerprint field; the second chains the first record’s huella. Both fingerprints are real SHA-256 values over the exact string the AEAT specifies — not invented. Use it as the reference point: every other sample here is this file, broken in one specific way.
IDVersion 1.0 — Valid
A submission the AEAT would accept: two invoice records, correctly chained. The first declares PrimerRegistro=S and hashes an empty previous-fingerprint field; the second chains the first record’s huella. Both fingerprints are real SHA-256 values over the exact string the AEAT specifies — not invented. Use it as the reference point: every other sample here is this file, broken in one specific way.
What this file shows
A submission the AEAT would accept: two invoice records, correctly chained. The first declares PrimerRegistro=S and hashes an empty previous-fingerprint field; the second chains the first record’s huella. Both fingerprints are real SHA-256 values over the exact string the AEAT specifies — not invented. Use it as the reference point: every other sample here is this file, broken in one specific way.
| Transactions | 2 |
|---|---|
| Total | €1,815.00 |
| Date in the file | 2026-01-16 |
Every party, IBAN and amount below is fictitious. The IBANs are structurally valid — they pass the mod-97 check — but they belong to no real account.
File content
<?xml version="1.0" encoding="UTF-8"?>
<sfLR:RegFactuSistemaFacturacion xmlns:sfLR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sf="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<sfLR:Cabecera>
<sf:ObligadoEmision>
<sf:NombreRazon>ValidateFin Demo SL</sf:NombreRazon>
<sf:NIF>B12345674</sf:NIF>
</sf:ObligadoEmision>
<sf:RemisionVoluntaria>
<sf:Incidencia>N</sf:Incidencia>
</sf:RemisionVoluntaria>
</sfLR:Cabecera>
<sfLR:RegistroFactura>
<sf:RegistroAlta>
<sf:IDVersion>1.0</sf:IDVersion>
<sf:IDFactura>
<sf:IDEmisorFactura>B12345674</sf:IDEmisorFactura>
<sf:NumSerieFactura>FA2026/0001</sf:NumSerieFactura>
<sf:FechaExpedicionFactura>15-01-2026</sf:FechaExpedicionFactura>
</sf:IDFactura>
<sf:NombreRazonEmisor>ValidateFin Demo SL</sf:NombreRazonEmisor>
<sf:TipoFactura>F1</sf:TipoFactura>
<sf:DescripcionOperacion>Prestacion de servicios</sf:DescripcionOperacion>
<sf:Destinatarios>
<sf:IDDestinatario>
<sf:NombreRazon>Cliente Ejemplo SA</sf:NombreRazon>
<sf:NIF>A58818501</sf:NIF>
</sf:IDDestinatario>
</sf:Destinatarios>
<sf:Desglose>
<sf:DetalleDesglose>
<sf:Impuesto>01</sf:Impuesto>
<sf:ClaveRegimen>01</sf:ClaveRegimen>
<sf:CalificacionOperacion>S1</sf:CalificacionOperacion>
<sf:TipoImpositivo>21</sf:TipoImpositivo>
<sf:BaseImponibleOimporteNoSujeto>1000.00</sf:BaseImponibleOimporteNoSujeto>
<sf:CuotaRepercutida>210.00</sf:CuotaRepercutida>
</sf:DetalleDesglose>
</sf:Desglose>
<sf:CuotaTotal>210.00</sf:CuotaTotal>
<sf:ImporteTotal>1210.00</sf:ImporteTotal>
<sf:Encadenamiento>
<sf:PrimerRegistro>S</sf:PrimerRegistro>
</sf:Encadenamiento>
<sf:SistemaInformatico>
<sf:NombreRazon>ValidateFin Demo SL</sf:NombreRazon>
<sf:NIF>B12345674</sf:NIF>
<sf:NombreSistemaInformatico>Demo SIF</sf:NombreSistemaInformatico>
<sf:IdSistemaInformatico>VF</sf:IdSistemaInformatico>
<sf:Version>1.0</sf:Version>
<sf:NumeroInstalacion>0001</sf:NumeroInstalacion>
<sf:TipoUsoPosibleSoloVerifactu>S</sf:TipoUsoPosibleSoloVerifactu>
<sf:TipoUsoPosibleMultiOT>N</sf:TipoUsoPosibleMultiOT>
<sf:IndicadorMultiplesOT>N</sf:IndicadorMultiplesOT>
</sf:SistemaInformatico>
<sf:FechaHoraHusoGenRegistro>2026-01-15T10:30:00+01:00</sf:FechaHoraHusoGenRegistro>
<sf:TipoHuella>01</sf:TipoHuella>
<sf:Huella>02D703E1080D488E6FE7EBF57F47A2836FAE84BAB8C7CFDB8BF65E8AC2F0BBDD</sf:Huella>
</sf:RegistroAlta>
</sfLR:RegistroFactura>
<sfLR:RegistroFactura>
<sf:RegistroAlta>
<sf:IDVersion>1.0</sf:IDVersion>
<sf:IDFactura>
<sf:IDEmisorFactura>B12345674</sf:IDEmisorFactura>
<sf:NumSerieFactura>FA2026/0002</sf:NumSerieFactura>
<sf:FechaExpedicionFactura>16-01-2026</sf:FechaExpedicionFactura>
</sf:IDFactura>
<sf:NombreRazonEmisor>ValidateFin Demo SL</sf:NombreRazonEmisor>
<sf:TipoFactura>F1</sf:TipoFactura>
<sf:DescripcionOperacion>Prestacion de servicios</sf:DescripcionOperacion>
<sf:Destinatarios>
<sf:IDDestinatario>
<sf:NombreRazon>Cliente Ejemplo SA</sf:NombreRazon>
<sf:NIF>A58818501</sf:NIF>
</sf:IDDestinatario>
</sf:Destinatarios>
<sf:Desglose>
<sf:DetalleDesglose>
<sf:Impuesto>01</sf:Impuesto>
<sf:ClaveRegimen>01</sf:ClaveRegimen>
<sf:CalificacionOperacion>S1</sf:CalificacionOperacion>
<sf:TipoImpositivo>21</sf:TipoImpositivo>
<sf:BaseImponibleOimporteNoSujeto>500.00</sf:BaseImponibleOimporteNoSujeto>
<sf:CuotaRepercutida>105.00</sf:CuotaRepercutida>
</sf:DetalleDesglose>
</sf:Desglose>
<sf:CuotaTotal>105.00</sf:CuotaTotal>
<sf:ImporteTotal>605.00</sf:ImporteTotal>
<sf:Encadenamiento>
<sf:RegistroAnterior>
<sf:IDEmisorFactura>B12345674</sf:IDEmisorFactura>
<sf:NumSerieFactura>FA2026/0001</sf:NumSerieFactura>
<sf:FechaExpedicionFactura>15-01-2026</sf:FechaExpedicionFactura>
<sf:Huella>02D703E1080D488E6FE7EBF57F47A2836FAE84BAB8C7CFDB8BF65E8AC2F0BBDD</sf:Huella>
</sf:RegistroAnterior>
</sf:Encadenamiento>
<sf:SistemaInformatico>
<sf:NombreRazon>ValidateFin Demo SL</sf:NombreRazon>
<sf:NIF>B12345674</sf:NIF>
<sf:NombreSistemaInformatico>Demo SIF</sf:NombreSistemaInformatico>
<sf:IdSistemaInformatico>VF</sf:IdSistemaInformatico>
<sf:Version>1.0</sf:Version>
<sf:NumeroInstalacion>0001</sf:NumeroInstalacion>
<sf:TipoUsoPosibleSoloVerifactu>S</sf:TipoUsoPosibleSoloVerifactu>
<sf:TipoUsoPosibleMultiOT>N</sf:TipoUsoPosibleMultiOT>
<sf:IndicadorMultiplesOT>N</sf:IndicadorMultiplesOT>
</sf:SistemaInformatico>
<sf:FechaHoraHusoGenRegistro>2026-01-16T09:15:00+01:00</sf:FechaHoraHusoGenRegistro>
<sf:TipoHuella>01</sf:TipoHuella>
<sf:Huella>643F4946BE686A4754AE0E09F5675019E344F6178079CEF5906734738B25C02D</sf:Huella>
</sf:RegistroAlta>
</sfLR:RegistroFactura>
</sfLR:RegFactuSistemaFacturacion>
How we know these results hold
Every file in this library is run through the site's own validator on each build. The expected result stated above is asserted by an automated test — if a file stopped matching what this page claims, the build would fail. Two inherited fixtures were repaired this way before publication: three IBANs failed the mod-97 check and several names used characters outside the basic SEPA character set.