Een fout die niet afwijst
De AEAT-tekst luidt El cálculo de la huella suministrada es incorrecta. ("de berekening van de opgegeven hash is onjuist") en staat in het derde onderdeel van de lijst, dat van de fouten die leiden tot acceptatie van de registratie. Het validatiedocument noemt ze toelaatbare fouten: ze verhinderen de registratie niet, maar laten een melding achter dat er iets niet klopt, en de AEAT vraagt om een correctie ("subsanación") zodat ze die registratie kan verwerken.
Tot dezelfde familie behoren de waarschuwingen over het formaat van de hash van de vorige registratie, die een SHA-256 van 64 hexadecimale tekens in hoofdletters moet zijn. Die codes staan op de pagina over de koppeling.

Hoe de hash wordt berekend
De technische specificaties van de AEAT leggen het recept vast: de velden van de registratie worden in een vaste volgorde genomen, geschreven als veld=waarde en met & aan elkaar gekoppeld, daarna met SHA-256 gehasht en omgezet naar hexadecimaal in hoofdletters. Eén van die velden is de hash van de vorige registratie; zo is elke registratie vastgemaakt aan de vorige.
Eén enkel teken verschil tussen wat is gehasht en wat is verstuurd is genoeg om de AEAT een ander resultaat te laten krijgen. Een bedrag dat een cent afwijkt, een datum in een ander formaat of een factuurnummer met een extra spatie volstaan al.
Wat de module doet zodat het overeenkomt
- Berekent de hash op het moment dat de registratie wordt gekoppeld, bij het boeken van de factuur, en slaat hem op. Noch de hash noch de vorige hash kunnen later nog worden gewijzigd.
- Verstuurt CuotaTotal en ImporteTotal (totale belasting en totaalbedrag) als precies dezelfde tekenreeksen die in de hash zijn opgenomen, zodat de AEAT de berekening kan herhalen.
- Elke dag loopt de geplande actie Verifactu: Nightly Integrity Check de keten van elk bedrijf na en zet het resultaat in Compliance Records › Chain State.

Wat te doen als je een 2000 krijgt
- Maak je geen zorgen over de factuur: ze is geregistreerd bij de AEAT. In Odoo staat de registratie als "Aceptado con errores (subsanar)".
- Open Chain State en klik op Verify Integrity. Meldt de lokale keten een fout, dan is het probleem in Odoo begonnen en moet dat worden bekeken voordat je verder factureert.
- Om te corrigeren vraagt de AEAT om een nieuwe registratie met dezelfde factuuridentificatie. De gepubliceerde module verstuurt zelf geen correctieregistraties, dus schrijf naar comercial@flexigobe.com met het registratienummer en het opgeslagen antwoord.
Kan ik de hash zelf opnieuw berekenen en in Odoo corrigeren?
Nee. De factuurregistratie laat je de hash en de vorige hash niet wijzigen, en dat is bewust zo: de keten moet onaantastbaar zijn.
Heeft het invloed op de volgende facturen?
Elke registratie koppelt de vorige hash zoals die in Odoo is opgeslagen. Als de lokale keten intact is, verlopen de volgende gewoon.
Lees verder
Gecontroleerd in de broncode van de module (versie 20.0) en in de gelinkte bronnen
Bronnen
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Validacione
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Veri-Factu_
- Broncode van de module: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cola_envio.py
- Broncode van de module: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_registro.py
- Broncode van de module: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_aeat_client.py
- Broncode van de module: flexigo_spain_verifactu 20.0 (aa2ea3d2): data/verifactu_crons.xml
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/err
