Què fa a cada passada
La tasca busca les cadenes actives i, per a cadascuna, crida la verificació d'integritat. Tot el que importa passa dins d'aquesta verificació: recalcula l'empremta de cada registre i la compara amb la que es va desar. L'empremta és un SHA-256 del registre encadenat amb l'anterior, i l'AEAT la recalcula pel seu compte: si no quadra, accepta el registre amb un error que cal esmenar.
La tasca existeix en totes les branques publicades del mòdul (17.0, 18.0, 19.0 i 20.0), que està publicat a Odoo Apps per a aquestes quatre versions. Aquest esquema resumeix la tasca i el menú des del qual s'obren les cadenes:

Detalls que no es veuen a la fitxa
Només revisa les cadenes actives, una per una
La tasca no recorre totes les cadenes que existeixin: busca únicament les actives i llança la verificació de cadascuna per separat. Cada cadena pertany a una empresa. A la fitxa de Tots els Estats de Cadena (Assessoria) tens el camp Empresa per saber de quina es tracta.
Llegeix la cadena sencera a cada passada
La verificació fa una consulta que ajunta els registres d'alta i els d'anul·lació de l'empresa i els ordena per número de registre. Després els recorre de principi a fi. El codi no parteix d'un punt intermedi: cada passada comença pel primer registre.
Recalcula cada empremta a partir del que hi ha desat
Per a cada registre d'alta, el codi reconstrueix l'empremta amb aquestes dades desades: NIF de l'emissor, número de sèrie, data d'expedició, tipus de factura (F1 si està buit), quota total calculada a partir de les bases imposables, import total, empremta del registre anterior i data i hora de generació amb el seu fus horari. El primer registre parteix d'una empremta anterior buida.
El NIF de l'emissor s'usa sense el prefix ES. Si l'empresa té un NIF propi per a Verifactu, el codi el prefereix al número d'IVA general. Un canvi en qualsevol d'aquestes dades després de generar el registre fa que l'empremta recalculada ja no coincideixi amb la desada.
Les anul·lacions es calculen amb altres etiquetes
Els registres d'anul·lació usen la seva pròpia fórmula: no porten tipus de factura, quota ni import, i les seves etiquetes són les de la factura anul·lada. El codi admet a més les anul·lacions generades abans de la versió 1.3.4 del mòdul, que es van calcular amb les etiquetes dels registres d'alta: si l'empremta desada coincideix amb aquest càlcul antic, la dona per bona.
S'atura al primer trencament i avisa
En el moment que una empremta desada no coincideix amb la recalculada, la verificació para: no continua amb els registres següents d'aquesta cadena. Retorna quants registres havia comprovat fins allà i el primer registre trencat, amb el seu número de registre, el seu número de sèrie, l'empremta esperada i la desada.
Aquest mateix pas llança l'avís de trencament de cadena per a l'empresa, amb el número de registre i el número de sèrie on es va trencar. Si la cadena sencera quadra, la verificació retorna que ha passat, juntament amb el total de registres comprovats.
La freqüència és una vegada al dia, i a Odoo 17 es repeteix sense fi
La tasca s'executa una vegada al dia i ve activa en instal·lar. A Odoo 17.0 està configurada a més per repetir-se sense fi.
Si sembla que no fa res
Abans de sospitar de la tasca, repassa això:
- Hi ha alguna cadena activa? Si no n'hi ha cap, la cerca no retorna res i no hi ha res a verificar.
- Continua activa la tasca? Ve activa en instal·lar, així que si no s'executa, comprova que continua activa.
- Què es pot esperar d'una passada correcta? La tasca només crida la verificació de cada cadena, i una cadena íntegra retorna que ha passat amb el seu total de registres comprovats. Un trencament és el que llança l'avís de trencament de cadena.
- Veus el menú? Les fitxes de cada cadena s'obren des de
Verifactu / SIF › Registres de Compliment › Estat de la Cadena. Cada tram demana permisos diferents.

Els permisos del menú, tram a tram
Si no tens el permís d'un tram, no veus aquest tram. Aquests són els que demana cadascun:
| Tram del menú | Permisos que el mostren |
|---|---|
Verifactu / SIF | Comptable, Operador d'Assessoria, Auditor (només lectura), Responsable de Privadesa, Gestor SIF |
Registres de Compliment | Comptable, Auditor (només lectura), Gestor SIF |
Estat de la Cadena | Auditor (només lectura), Gestor SIF |
Amb només el permís Comptable es veuen els dos primers trams, però no Estat de la Cadena. Si algú diu que no troba el menú, mira primer els seus permisos.
Més lectures i ajuda
Si estàs implantant Odoo i vols que VeriFactu encaixi amb la teva facturació, FlexigoTech implanta Odoo 17, 18, 19 i 20 i desenvolupa connectors i integracions a mida. Pots veure el mòdul a la seva fitxa d'Odoo Apps.
Continua llegint
Comprovat al codi del mòdul (versió 17.0 i 20.0) i a les fonts enllaçades
Fonts
- Codi del mòdul: flexigo_spain_verifactu 20.0 (1fdc980f): data/verifactu_crons.xml
- Codi del mòdul: flexigo_spain_verifactu 17.0 (8d43d727): data/verifactu_crons.xml
- Codi del mòdul: flexigo_spain_verifactu 20.0 (1fdc980f): models/verifactu_cadena.py
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Veri-Factu_
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
- flexigotech.com/en/services.html
