Dove si trova il pulsante e chi ci arriva
Il pulsante Verify Integrity si trova nella vista della catena e nella schermata All Chain States (Asesoría). Esiste nei quattro rami pubblicati del modulo (Odoo 17, 18, 19 e 20) e non dipende da nessuno stato: si vede sempre.
La scheda della catena si apre da Verifactu / SIF › Compliance Records › Chain State. Ogni tratto del menu richiede i suoi permessi e, se non ne hai uno, quel tratto non lo vedi:
Chain State:Auditor (read-only)oSIF Manager.Compliance Records:Accountant,Auditor (read-only)oSIF Manager.Verifactu / SIF:Accountant,Asesoría Operator,Auditor (read-only),Privacy OfficeroSIF Manager.

Verifactu / SIF › Compliance Records › Chain State e, sotto, il pulsante Verify Integrity, presente in Odoo 17, 18, 19 e 20.
Chain State, ancora senza registri: una sola riga di YourCompany, attiva, con i totali a zero e lo stato di integrità Unchecked.Cosa succede già senza premere il pulsante
Il semaforo di ogni catena è rosso, ambra o verde. Secondo il codice di Odoo 20.0, diventa rosso se la coda di invio dell'azienda ha qualche invio fallito o in dead letter. Diventa ambra se ci sono invii in sospeso o in nuovo tentativo, se al certificato attivo che scade per primo mancano meno di 30 giorni (o l'azienda non ha un certificato attivo), oppure se lo stato di integrità della catena è non verificato o interrotto. In tutti gli altri casi è verde.
Quel semaforo non aspetta che tu prema qualcosa. Lo ricalcolano l'azione pianificata Verifactu: Asesoría Cockpit RAG Refresh, che gira ogni cinque minuti ed è attiva all'installazione, e l'azione Verifactu: Process Submission Queue, che gira ogni minuto ed è anch'essa attiva all'installazione. Si ricalcola anche quando si crea o si salva un registro della coda di invio, e quando si attiva VeriFactu nella scheda dell'azienda e la si salva, cosa che crea anche la catena se non esisteva ancora.
Queste vie aggiornano il semaforo. Ciò che aggiunge il pulsante è la verifica della catena, il salvataggio del suo risultato e il farlo subito, solo per la catena che hai aperto.
Un caso da seguire
Esempio Caso illustrativo: l'azienda e i suoi dati sono inventati per spiegare il flusso.
Lucía si occupa dell'amministrazione di un'azienda inventata, Hilados del Vallès, che emette già fatture con il modulo e ha il permesso SIF Manager. Prima di una riunione con il suo consulente vuole sapere se la catena dei registri è integra.
- Apre
Verifactu / SIF › Compliance Records › Chain Stateed entra nella scheda della catena della sua azienda. - Preme
Verify Integrity. Il pulsante lavora sulla catena aperta, una alla volta. - Aspetta l'avviso: uno di successo se la catena supera il controllo, oppure uno di errore con il numero di registro e la serie in cui si interrompe.
- La schermata si ricarica da sola, senza che tu debba aggiornare il browser.
Cosa controlla il pulsante, registro per registro
Il pulsante legge in una volta sola tutti i registri di inserimento e tutte le annullazioni dell'azienda e li ordina per numero di registro. Parte da un'impronta precedente vuota, che è il seme del primo registro.
Per ogni registro ricalcola l'impronta con i dati salvati:
- Negli inserimenti: identificativo dell'emittente, serie e numero, data di emissione, tipo di fattura, quota totale, importo totale, impronta precedente e data e ora di generazione con il suo fuso orario.
- Nelle annullazioni: identificativo dell'emittente, serie e numero, data di emissione, impronta precedente e data e ora di generazione con il suo fuso orario.
Poi confronta l'impronta ricalcolata con quella salvata. Nelle annullazioni, se quella salvata non coincide con quella calcolata ma coincide con la vecchia forma di calcolo, il codice la considera valida.
Il principio è quello che usa l'AEAT: l'impronta è uno SHA-256 del registro concatenato con il precedente, e l'AEAT la ricalcola e, se non quadra, accetta il registro con un errore da correggere.
Cosa cambia al termine
Dopo il controllo, il pulsante fa tre cose, in quest'ordine:
- Salva la data e l'ora della verifica e il risultato completo.
- Ricalcola il semaforo di quella catena in quel momento, senza aspettare l'azione dei cinque minuti.
- Mostra l'avviso. Se la catena è a posto, indica quanti registri sono stati verificati. Se è interrotta, indica il numero di registro e la serie del primo errore e quanti registri sono stati controllati. L'avviso di errore resta fisso sullo schermo; quello di successo no. Poi la schermata si ricarica da sola.
I due finali del caso
Se la catena di Hilados del Vallès supera il controllo, Lucía vede l'avviso di successo con il totale dei registri verificati. Il semaforo si ricalcola allora con le regole viste sopra: lo stato di integrità non verificato o interrotto lo lascia in ambra, e gli invii falliti lo portano al rosso.
Se si interrompe, l'avviso le dà due dati da annotare: il numero di registro e la serie del primo errore, oltre a quanti registri sono stati controllati. Quello è il punto da cui iniziare a indagare.
Cosa porta a casa Lucía
- Il pulsante è sempre a portata di mano nella vista della catena, ma arrivarci dipende dai tuoi permessi nel menu.
- Ogni pressione verifica una sola catena, salva il risultato e aggiorna il semaforo di quella catena.
- Un avviso di catena interrotta ti dà il registro e la serie del primo errore.
- Il semaforo si aggiorna già da solo; il pulsante serve ad avere la verifica e il semaforo aggiornati in quel momento.
Se vuoi supporto con la tua installazione
FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori e integrazioni su misura. Se vuoi verificare come risulta VeriFactu nella tua installazione, scrivici.
Continua a leggere
Verificato nel codice del modulo (versione 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigo_spain_verifactu 20.0 (1fdc980f): views/verifactu_cadena_views.xml
- Codice del modulo: flexigo_spain_verifactu 20.0 (1fdc980f): models/verifactu_cadena.py
- Codice del modulo: flexigo_spain_verifactu 20.0 (1fdc980f): models/res_company.py
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Veri-Factu_
- flexigotech.com/en/services.html
