Naar hoofdinhoud
VeriFactu

De taak Verifactu: Nightly Integrity Check: wat ze doet en waar je op let

De taak Verifactu: Nightly Integrity Check draait één keer per dag, staat na installatie actief en herberekent voor elke actieve keten de hash van alle registraties en vergelijkt die met de opgeslagen hash. Komt er een niet overeen, dan stopt ze daar en geeft ze de melding van een ketenbreuk. Hier lees je wat ze bij elke run doet en waar je op let als ze niets lijkt te doen.

FlexigoTech · Verantwoordelijk: Víctor Gómez · Bijgewerkt op 5 november 2026

In het kort

Module
VeriFactu
Versies
Odoo 17, 18, 19 en 20
Gecontroleerd
in de broncode van de module, versie 17.0 en 20.0 · in de bronnen onderaan
Leestijd
4 min

Wat ze bij elke run doet

De taak zoekt de actieve ketens en roept voor elk ervan de integriteitscontrole aan. Alles wat telt gebeurt binnen die controle: ze herberekent de hash van elke registratie en vergelijkt die met de hash die is opgeslagen. De hash is een SHA-256 van de registratie, gekoppeld aan de vorige, en de AEAT berekent hem zelf opnieuw: komt hij niet overeen, dan accepteert ze de registratie met een fout die je moet herstellen.

De taak bestaat in alle gepubliceerde branches van de module (17.0, 18.0, 19.0 en 20.0), die voor die vier versies in Odoo Apps staat. Dit schema vat de taak samen, samen met het menu waarmee je de ketens opent:

Schema gemaakt met code, geen Odoo-scherm: bovenaan de geplande taak die één keer per dag draait en na installatie actief staat, eronder het menu Verifactu / SIF › Compliance Records › Chain State
Schema gegenereerd op basis van de code van de module, geen schermafbeelding van Odoo.

Details die je op het formulier niet ziet

Ze controleert alleen de actieve ketens, één voor één

De taak loopt niet langs alle bestaande ketens: ze zoekt alleen de actieve en start de controle van elk ervan afzonderlijk. Elke keten hoort bij een bedrijf. Op het formulier van All Chain States (Asesoría) vind je het veld Company om te zien om welk bedrijf het gaat.

Ze leest bij elke run de hele keten

De controle doet een zoekopdracht die de aanmaakregistraties en de annuleringsregistraties van het bedrijf samenbrengt en sorteert op registratienummer. Daarna loopt ze ze van begin tot eind door. De code start niet halverwege: elke run begint bij de eerste registratie.

Ze herberekent elke hash vanuit wat is opgeslagen

Voor elke aanmaakregistratie reconstrueert de code de hash met deze opgeslagen gegevens: btw-nummer van de uitgever, serienummer, uitgiftedatum, factuurtype (F1 als het leeg is), totaalbedrag aan btw berekend uit de belastbare grondslagen, totaalbedrag, hash van de vorige registratie en datum en tijd van aanmaak met tijdzone. De eerste registratie vertrekt van een lege vorige hash.

Het btw-nummer van de uitgever wordt gebruikt zonder het voorvoegsel ES. Heeft het bedrijf een eigen NIF voor Verifactu, dan geeft de code daar de voorkeur aan boven het algemene btw-nummer. Als een van die gegevens verandert nadat de registratie is aangemaakt, komt de herberekende hash niet meer overeen met de opgeslagen hash.

Annuleringen worden met andere labels berekend

Annuleringsregistraties gebruiken hun eigen formule: ze hebben geen factuurtype, btw-bedrag of totaalbedrag, en hun labels zijn die van de geannuleerde factuur. De code ondersteunt ook annuleringen die vóór versie 1.3.4 van de module zijn aangemaakt en die met de labels van de aanmaakregistraties werden berekend: komt de opgeslagen hash overeen met die oude berekening, dan keurt ze hem goed.

Ze stopt bij de eerste breuk en geeft een melding

Zodra een opgeslagen hash niet overeenkomt met de herberekende, stopt de controle: ze gaat niet verder met de volgende registraties van die keten. Ze geeft terug hoeveel registraties ze tot dan toe had gecontroleerd en de eerste gebroken registratie, met registratienummer, serienummer, de verwachte hash en de opgeslagen hash.

Dezelfde stap geeft de melding van een ketenbreuk voor het bedrijf, met het registratienummer en het serienummer waar de keten brak. Komt de hele keten overeen, dan geeft de controle terug dat ze geslaagd is, samen met het totaal aantal gecontroleerde registraties.

De frequentie is één keer per dag, en in Odoo 17 herhaalt ze zich zonder einde

De taak draait één keer per dag en staat na installatie actief. In Odoo 17.0 is ze bovendien ingesteld om zich zonder einde te herhalen.

Als ze niets lijkt te doen

Controleer dit eerst voordat je de taak verdenkt:

  • Is er een actieve keten? Is er geen enkele, dan levert de zoekopdracht niets op en valt er niets te controleren.
  • Staat de taak nog actief? Ze staat na installatie actief, dus als ze niet draait, controleer dan of ze nog actief is.
  • Wat mag je van een correcte run verwachten? De taak roept alleen de controle van elke keten aan, en een intacte keten geeft terug dat ze geslaagd is, met het totaal aan gecontroleerde registraties. Een breuk is wat de melding van een ketenbreuk veroorzaakt.
  • Zie je het menu? De formulieren van elke keten open je via Verifactu / SIF › Compliance Records › Chain State. Elk onderdeel vraagt andere rechten.
Lijst van Verifactu / SIF › Compliance Records › Chain State, met één enkele rij van het demobedrijf, actief en met de totalen op nul
De lijst, nog zonder registraties: één rij en de rest van het scherm leeg.

De rechten van het menu, onderdeel voor onderdeel

Als je het recht voor een onderdeel niet hebt, zie je dat onderdeel niet. Dit zijn de rechten die elk onderdeel vraagt:

Onderdeel van het menuRechten die het tonen
Verifactu / SIFAccountant, Asesoría Operator, Auditor (read-only), Privacy Officer, SIF Manager
Compliance RecordsAccountant, Auditor (read-only), SIF Manager
Chain StateAuditor (read-only), SIF Manager

Met alleen het recht Accountant zie je de eerste twee onderdelen, maar niet Chain State. Als iemand zegt dat hij het menu niet vindt, kijk dan eerst naar zijn rechten.

Meer lezen en hulp

Als je Odoo implementeert en wilt dat VeriFactu aansluit op je facturatie: FlexigoTech implementeert Odoo 17, 18, 19 en 20 en ontwikkelt connectoren en integraties op maat. Je kunt de module bekijken op de pagina in Odoo Apps.

Lees verder

Wat de knop `Run Pre-flight` van VeriFactu España doetWat de knop Run Pre-flight van VeriFactu España in Odoo doet: wanneer je hem ziet, wat hij per rij controleert, wat hij opslaat en welke fouten je krijgt.
Gecontroleerd in de broncode van de module (versie 17.0 en 20.0) en in de gelinkte bronnen

Bronnen