Verifactu — envío conforme, dos registros encadenados
Przesyłka, którą AEAT by przyjął: dwa poprawnie połączone łańcuchem rekordy fakturowe. Pierwszy deklaruje się początkiem łańcucha i liczy odcisk z pustym polem poprzednika; drugi łączy odcisk pierwszego. Oba odciski są prawdziwymi wartościami SHA-256 obliczonymi na dokładnym ciągu wskazanym przez AEAT — nie są zmyślone.
IDVersion 1.0 — Prawidłowy
Przesyłka, którą AEAT by przyjął: dwa poprawnie połączone łańcuchem rekordy fakturowe. Pierwszy deklaruje się początkiem łańcucha i liczy odcisk z pustym polem poprzednika; drugi łączy odcisk pierwszego. Oba odciski są prawdziwymi wartościami SHA-256 obliczonymi na dokładnym ciągu wskazanym przez AEAT — nie są zmyślone.
Co pokazuje ten plik
Przesyłka, którą AEAT by przyjął: dwa poprawnie połączone łańcuchem rekordy fakturowe. Pierwszy deklaruje się początkiem łańcucha i liczy odcisk z pustym polem poprzednika; drugi łączy odcisk pierwszego. Oba odciski są prawdziwymi wartościami SHA-256 obliczonymi na dokładnym ciągu wskazanym przez AEAT — nie są zmyślone.
| Transakcje | 2 |
|---|---|
| Suma | 1815,00 € |
| Data w pliku | 2026-01-16 |
Wszystkie strony, numery IBAN i kwoty poniżej są fikcyjne. IBAN-y są poprawne strukturalnie — przechodzą test mod-97 — ale nie należą do żadnego rzeczywistego rachunku.
Zawartość pliku
<?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>
Skąd wiemy, że te wyniki są aktualne
Każdy plik w tej bibliotece przechodzi przez walidator serwisu przy każdym buildzie. Oczekiwany wynik podany wyżej potwierdza test automatyczny: gdyby plik przestał odpowiadać temu, co głosi ta strona, build by się wywalił. Dwie odziedziczone fikstury naprawiono w ten sposób przed publikacją: trzy numery IBAN nie przechodziły mod-97, a kilka nazw używało znaków spoza podstawowego zestawu SEPA.