Verifactu — cadena de huellas rota (aceptado con errores, código 2000)
Le second registre déclare une empreinte qui ne correspond PAS à son contenu : la chaîne est rompue. Le fichier est VALIDE contre le XSD officiel de l’AEAT — un validateur qui ne regarde que le schéma le déclare bon. Seul le recalcul du SHA-256 chaîné le détecte. Et attention : l’AEAT ne le rejette PAS, elle le marque « Aceptado con errores » (code 2000) et l’enregistre quand même, à corriger.
IDVersion 1.0 — Valide
Le second registre déclare une empreinte qui ne correspond PAS à son contenu : la chaîne est rompue. Le fichier est VALIDE contre le XSD officiel de l’AEAT — un validateur qui ne regarde que le schéma le déclare bon. Seul le recalcul du SHA-256 chaîné le détecte. Et attention : l’AEAT ne le rejette PAS, elle le marque « Aceptado con errores » (code 2000) et l’enregistre quand même, à corriger.
Ce que montre ce fichier
Le second registre déclare une empreinte qui ne correspond PAS à son contenu : la chaîne est rompue. Le fichier est VALIDE contre le XSD officiel de l’AEAT — un validateur qui ne regarde que le schéma le déclare bon. Seul le recalcul du SHA-256 chaîné le détecte. Et attention : l’AEAT ne le rejette PAS, elle le marque « Aceptado con errores » (code 2000) et l’enregistre quand même, à corriger.
| Transactions | 2 |
|---|---|
| Total | 1 815,00 € |
| Date contenue dans le fichier | 2026-01-16 |
Les défauts qu’il porte
- 2000El cálculo de la huella suministrada es incorrecta.
Cité mot pour mot depuis le validateur, sans reformulation.
Toutes les parties, IBAN et montants ci-dessous sont fictifs. Les IBAN sont structurellement valides — ils passent le mod-97 — mais ne correspondent à aucun compte réel.
Contenu du fichier
<?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>0000000000000000000000000000000000000000000000000000000000000000</sf:Huella>
</sf:RegistroAlta>
</sfLR:RegistroFactura>
</sfLR:RegFactuSistemaFacturacion>
Comment nous savons que ces résultats tiennent
Chaque fichier de cette bibliothèque passe dans le validateur du site à chaque build. Le résultat attendu annoncé ci-dessus est vérifié par un test automatisé : si un fichier cessait de correspondre à ce que cette page affirme, le build échouerait. Deux fixtures héritées ont été réparées ainsi avant publication : trois IBAN échouaient au mod-97 et plusieurs libellés utilisaient des caractères hors du jeu SEPA de base.