Wo der Button liegt und wer ihn erreicht
Der Button Verify Integrity befindet sich in der Ansicht der Kette und im Bildschirm All Chain States (Asesoría). Er existiert in den vier veröffentlichten Zweigen des Moduls (Odoo 17, 18, 19 und 20) und hängt von keinem Status ab: Er ist immer sichtbar.
Das Formular der Kette öffnen Sie über Verifactu / SIF › Compliance Records › Chain State. Jeder Abschnitt des Menüs verlangt eigene Berechtigungen; wenn Sie keine haben, sehen Sie diesen Abschnitt nicht:
Chain State:Auditor (read-only)oderSIF Manager.Compliance Records:Accountant,Auditor (read-only)oderSIF Manager.Verifactu / SIF:Accountant,Asesoría Operator,Auditor (read-only),Privacy OfficeroderSIF Manager.

Verifactu / SIF › Compliance Records › Chain State und darunter der Button Verify Integrity, vorhanden in Odoo 17, 18, 19 und 20.
Chain State, noch ohne Datensätze: nur eine Zeile von YourCompany, aktiv, mit Summen bei null und dem Integritätsstatus Unchecked.Was ohne Klick auf den Button bereits geschieht
Die Ampel jeder Kette ist rot, gelb oder grün. Laut dem Code von Odoo 20.0 ist sie rot, wenn die Versandwarteschlange des Unternehmens einen fehlgeschlagenen oder in der Dead Letter Queue liegenden Versand enthält. Gelb ist sie, wenn Versendungen ausstehen oder wiederholt werden, wenn dem aktiven Zertifikat, das als erstes abläuft, weniger als 30 Tage bleiben (oder das Unternehmen kein aktives Zertifikat hat) oder wenn der Integritätsstatus der Kette ungeprüft oder gebrochen ist. In allen anderen Fällen ist sie grün.
Diese Ampel wartet nicht darauf, dass Sie etwas anklicken. Sie wird von der geplanten Aktion Verifactu: Asesoría Cockpit RAG Refresh neu berechnet, die alle fünf Minuten läuft und bei der Installation aktiv ist, sowie von der Aktion Verifactu: Process Submission Queue, die jede Minute läuft und ebenfalls bei der Installation aktiv ist. Sie wird außerdem neu berechnet, wenn ein Datensatz der Versandwarteschlange angelegt oder gespeichert wird und wenn Sie VeriFactu im Unternehmensformular aktivieren und speichern; dabei wird zudem die Kette angelegt, falls sie noch nicht existierte.
Diese Wege aktualisieren die Ampel. Der Button ergänzt die Verifizierung der Kette, das Speichern ihres Ergebnisses und das Ganze sofort, nur für die Kette, die Sie geöffnet haben.
Ein Fall zum Durchgehen
Beispiel Fiktiver Fall: Firma und Zahlen sind erfunden, um den Ablauf zu zeigen.
Lucía führt die Verwaltung eines erfundenen Unternehmens, Hilados del Vallès, das bereits Rechnungen mit dem Modul ausstellt und die Berechtigung SIF Manager besitzt. Vor einem Termin mit ihrem Steuerberater möchte sie wissen, ob die Kette der Datensätze intakt ist.
- Sie öffnet
Verifactu / SIF › Compliance Records › Chain Stateund ruft das Formular der Kette ihres Unternehmens auf. - Sie klickt auf
Verify Integrity. Der Button arbeitet mit der geöffneten Kette, jeweils einer. - Sie wartet auf die Meldung: eine Erfolgsmeldung, wenn die Kette besteht, oder eine Fehlermeldung mit der Datensatznummer und der Serie, an der sie bricht.
- Der Bildschirm lädt sich von selbst neu, ohne dass Sie den Browser aktualisieren müssen.
Was der Button prüft, Datensatz für Datensatz
Der Button liest auf einmal alle Erfassungsdatensätze und alle Stornierungen des Unternehmens und sortiert sie nach Datensatznummer. Er beginnt mit einem leeren vorherigen Hash, dem Startwert des ersten Datensatzes.
Für jeden Datensatz berechnet er den Hash mit den gespeicherten Daten neu:
- Bei Erfassungen: Kennung des Ausstellers, Serie und Nummer, Ausstellungsdatum, Rechnungstyp, Gesamtsteuerbetrag, Gesamtbetrag, vorheriger Hash sowie Datum und Uhrzeit der Erzeugung mit Zeitzone.
- Bei Stornierungen: Kennung des Ausstellers, Serie und Nummer, Ausstellungsdatum, vorheriger Hash sowie Datum und Uhrzeit der Erzeugung mit Zeitzone.
Danach vergleicht er den neu berechneten Hash mit dem gespeicherten. Stimmt bei Stornierungen der gespeicherte Hash nicht mit dem berechneten überein, wohl aber mit der alten Berechnungsweise, wertet der Code ihn als gültig.
Das Prinzip ist das der AEAT: Der Hash ist ein SHA-256 des Datensatzes, verkettet mit dem vorherigen, und die AEAT berechnet ihn neu und nimmt den Datensatz, wenn er nicht passt, mit einem zu behebenden Fehler an.
Was sich nach Abschluss ändert
Nach der Prüfung tut der Button drei Dinge, in dieser Reihenfolge:
- Er speichert Datum und Uhrzeit der Verifizierung und das vollständige Ergebnis.
- Er berechnet die Ampel dieser Kette sofort neu, ohne auf die Aktion zu warten, die alle fünf Minuten läuft.
- Er zeigt die Meldung an. Ist die Kette in Ordnung, nennt sie, wie viele Datensätze verifiziert wurden. Ist sie gebrochen, nennt sie die Datensatznummer und die Serie des ersten Fehlers sowie die Zahl der geprüften Datensätze. Die Fehlermeldung bleibt fest auf dem Bildschirm; die Erfolgsmeldung nicht. Danach lädt sich der Bildschirm von selbst neu.
Die beiden Ausgänge des Falls
Besteht die Kette von Hilados del Vallès, sieht Lucía die Erfolgsmeldung mit der Gesamtzahl der verifizierten Datensätze. Die Ampel wird dann nach den obigen Regeln neu berechnet: Der Integritätsstatus ungeprüft oder gebrochen färbt sie gelb, und fehlgeschlagene Versendungen färben sie rot.
Bricht die Kette, liefert die Meldung zwei Angaben, die sie notieren kann: die Datensatznummer und die Serie des ersten Fehlers sowie die Zahl der geprüften Datensätze. Das ist der Punkt, an dem die Untersuchung beginnt.
Was Lucía mitnimmt
- Der Button ist in der Ansicht der Kette immer zur Hand, aber ob Sie dorthin gelangen, hängt von Ihren Berechtigungen im Menü ab.
- Jeder Klick verifiziert nur eine Kette, speichert das Ergebnis und aktualisiert die Ampel dieser Kette.
- Eine Meldung über eine gebrochene Kette nennt Ihnen den Datensatz und die Serie des ersten Fehlers.
- Die Ampel aktualisiert sich bereits von selbst; der Button dient dazu, Verifizierung und Ampel im Moment auf den neuesten Stand zu bringen.
Wenn Sie Unterstützung bei Ihrer Installation möchten
FlexigoTech implementiert Odoo 17, 18, 19 und 20 und entwickelt Konnektoren und individuelle Integrationen. Wenn Sie prüfen möchten, wie VeriFactu in Ihrer Installation aufgesetzt ist, schreiben Sie uns.
Weiterlesen
Geprüft im Quellcode des Moduls (Version 20.0) und in den verlinkten Quellen
Quellen
- Quellcode des Moduls: flexigo_spain_verifactu 20.0 (1fdc980f): views/verifactu_cadena_views.xml
- Quellcode des Moduls: flexigo_spain_verifactu 20.0 (1fdc980f): models/verifactu_cadena.py
- Quellcode des Moduls: 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
