Aller au contenu principal
VeriFactu

La tâche « Verifactu: Nightly Integrity Check » : ce qu'elle fait et que vérifier

La tâche Verifactu: Nightly Integrity Check tourne une fois par jour, est active dès l'installation et, pour chaque chaîne active, recalcule l'empreinte de tous ses enregistrements et la compare à celle qui est enregistrée. Si l'une ne correspond pas, elle s'arrête là et déclenche l'alerte de rupture de chaîne. Voici ce qu'elle fait à chaque passage et que vérifier si elle semble ne rien faire.

FlexigoTech · Responsable : Víctor Gómez · Mis à jour le 5 novembre 2026

L'essentiel

Module
VeriFactu
Versions
Odoo 17, 18, 19 et 20
Vérifié
dans le code du module, version 17.0 et 20.0 · dans les sources citées à la fin
Lecture
4 min

Ce qu'elle fait à chaque passage

La tâche recherche les chaînes actives et, pour chacune, appelle la vérification d'intégrité. Tout l'essentiel se passe dans cette vérification : elle recalcule l'empreinte de chaque enregistrement et la compare à celle qui a été enregistrée. L'empreinte est un SHA-256 de l'enregistrement chaîné avec le précédent, et l'AEAT la recalcule de son côté : si elle ne correspond pas, elle accepte l'enregistrement avec une erreur à corriger.

La tâche existe dans toutes les branches publiées du module (17.0, 18.0, 19.0 et 20.0), publié sur Odoo Apps pour ces quatre versions. Ce schéma résume la tâche et le menu depuis lequel s'ouvrent les chaînes :

Schéma réalisé à partir du code, pas un écran d'Odoo : en haut la tâche planifiée qui tourne une fois par jour et est active dès l'installation, en dessous le menu Verifactu / SIF › Compliance Records › Chain State
Schéma généré à partir du code du module, pas une capture d'Odoo.

Détails qui ne se voient pas sur la fiche

Elle ne contrôle que les chaînes actives, une par une

La tâche ne parcourt pas toutes les chaînes existantes : elle recherche uniquement les actives et lance la vérification de chacune séparément. Chaque chaîne appartient à une société. Sur la fiche de All Chain States (Asesoría) vous trouvez le champ Company pour savoir de laquelle il s'agit.

Elle lit la chaîne entière à chaque passage

La vérification fait une requête qui rassemble les enregistrements d'ajout et d'annulation de la société et les trie par numéro d'enregistrement. Ensuite elle les parcourt du début à la fin. Le code ne part pas d'un point intermédiaire : chaque passage commence par le premier enregistrement.

Elle recalcule chaque empreinte à partir de ce qui est enregistré

Pour chaque enregistrement d'ajout, le code reconstruit l'empreinte avec ces données enregistrées : NIF de l'émetteur, numéro de série, date d'émission, type de facture (F1 s'il est vide), cotisation totale calculée à partir des bases imposables, montant total, empreinte de l'enregistrement précédent et date et heure de génération avec leur fuseau horaire. Le premier enregistrement part d'une empreinte précédente vide.

Le NIF de l'émetteur est utilisé sans le préfixe ES. Si la société a un NIF propre pour Verifactu, le code le préfère au numéro de TVA général. Un changement dans l'une de ces données après la génération de l'enregistrement fait que l'empreinte recalculée ne correspond plus à celle qui est enregistrée.

Les annulations sont calculées avec d'autres étiquettes

Les enregistrements d'annulation utilisent leur propre formule : ils n'ont ni type de facture, ni cotisation, ni montant, et leurs étiquettes sont celles de la facture annulée. Le code admet aussi les annulations générées avant la version 1.3.4 du module, qui ont été calculées avec les étiquettes des enregistrements d'ajout : si l'empreinte enregistrée correspond à cet ancien calcul, il la tient pour bonne.

Elle s'arrête à la première rupture et prévient

Dès qu'une empreinte enregistrée ne correspond pas à celle recalculée, la vérification s'arrête : elle ne poursuit pas avec les enregistrements suivants de cette chaîne. Elle renvoie combien d'enregistrements elle avait contrôlés jusque-là et le premier enregistrement rompu, avec son numéro d'enregistrement, son numéro de série, l'empreinte attendue et celle qui est enregistrée.

Cette même étape déclenche l'alerte de rupture de chaîne pour la société, avec le numéro d'enregistrement et le numéro de série où la rupture s'est produite. Si toute la chaîne correspond, la vérification renvoie qu'elle a réussi, avec le total des enregistrements contrôlés.

La fréquence est d'une fois par jour, et dans Odoo 17 elle se répète sans fin

La tâche tourne une fois par jour et est active dès l'installation. Dans Odoo 17.0, elle est en plus configurée pour se répéter sans fin.

Si elle semble ne rien faire

Avant de soupçonner la tâche, vérifiez ceci :

  • Y a-t-il une chaîne active ? S'il n'y en a aucune, la recherche ne renvoie rien et il n'y a rien à vérifier.
  • La tâche est-elle toujours active ? Elle est active dès l'installation, donc si elle ne tourne pas, vérifiez qu'elle est toujours active.
  • Que peut-on attendre d'un passage correct ? La tâche ne fait qu'appeler la vérification de chaque chaîne, et une chaîne intègre renvoie qu'elle a réussi avec son total d'enregistrements contrôlés. Une rupture est ce qui déclenche l'alerte de rupture de chaîne.
  • Voyez-vous le menu ? Les fiches de chaque chaîne s'ouvrent depuis Verifactu / SIF › Compliance Records › Chain State. Chaque niveau demande des permissions différentes.
Liste de Verifactu / SIF › Compliance Records › Chain State, avec une seule ligne de la société de démonstration, active et avec les totaux à zéro
La liste, encore sans enregistrements : une seule ligne et le reste de l'écran vide.

Les permissions du menu, niveau par niveau

Si vous n'avez pas la permission d'un niveau, vous ne voyez pas ce niveau. Voici celles que demande chacun :

Niveau du menuPermissions qui l'affichent
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

Avec la seule permission Accountant, on voit les deux premiers niveaux, mais pas Chain State. Si quelqu'un dit qu'il ne trouve pas le menu, regardez d'abord ses permissions.

Pour aller plus loin

Si vous mettez en place Odoo et souhaitez que VeriFactu s'intègre à votre facturation, FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Vous pouvez voir le module sur sa fiche Odoo Apps.

À lire aussi

Que fait le bouton « Run Pre-flight » de VeriFactu EspañaCe que fait le bouton Run Pre-flight de VeriFactu España dans Odoo : quand il s'affiche, ce qu'il vérifie sur chaque ligne, ce qu'il enregistre et ses erreurs.
Vérifié dans le code du module (version 17.0 et 20.0) et dans les sources citées

Sources