Zum Hauptinhalt springen
VeriFactu

Was die Schaltfläche Generate Access Export (art.15) in VeriFactu tut

Die Schaltfläche Generate Access Export (art.15) im DSAR Wizard sucht im gewählten Unternehmen die Datensätze und Stornierungen, die zu einer NIF oder einem Namen passen, speichert das Ergebnis als JSON-Datei (der Code versucht zusätzlich, ein PDF zu speichern) und hinterlässt ein Ereignis im Ereignisprotokoll des Moduls.

FlexigoTech · Verantwortlich: Víctor Gómez · Aktualisiert am 5. November 2026

Das Wichtigste

Versionen
Odoo 17, 18, 19 und 20
Geprüft
im Quellcode des Moduls, Version 20.0 · in den Quellen am Ende
Lesezeit
5 Min.

Der Fall: eine Auskunftsanfrage in einer Steuerkanzlei

Beispiel Fiktiver Fall: Firma und Zahlen sind erfunden, um den Ablauf zu zeigen.

Asesoría Ribera, eine für dieses Beispiel erfundene Steuerkanzlei, erhält die Anfrage einer Person, die wissen möchte, welche ihrer Daten in der Fakturierung eines Mandanten gespeichert sind. Die Datenschutzverantwortliche der Kanzlei arbeitet in Odoo mit VeriFactu España (AEAT RRSIF Compliance) und muss diese Informationen aus dem Modul ziehen.

Die Schaltfläche gibt es in den Branches 17, 18, 19 und 20 des Moduls, das für diese vier Versionen in Odoo Apps veröffentlicht ist. Das Folgende beschreibt den Code von Odoo 20.0.

Mit Code erstelltes Schema, kein Odoo-Screenshot: der Menüpfad bis zum DSAR Wizard und darunter die Schaltfläche Generate Access Export (art.15)
Aus dem Modulcode erzeugtes Schema (mit den englischen Beschriftungen des Codes): das Menü und die Schaltfläche, die es in Odoo 17, 18, 19 und 20 gibt.

Wie sie zur Schaltfläche gelangt

Die Maske öffnet sich über Verifactu / SIF › Privacy / GDPR › DSAR Wizard. Jeder Abschnitt des Menüs verlangt Berechtigungen, und wenn Sie keine haben, sehen Sie diesen Abschnitt nicht: Privacy / GDPR sehen Privacy Officer und SIF Manager; Verifactu / SIF sehen zusätzlich Accountant, Asesoría Operator und Auditor (read-only).

In der Maske hängt die Schaltfläche von keiner Bedingung der Ansicht ab: Sie ist in allen vier Versionen sichtbar. Die Schritte der Datenschutzverantwortlichen sind diese:

  1. Öffnen Sie das Menü und gehen Sie in die Maske des DSAR Wizard. Die Felder der Anfrage stehen in der Gruppe Request Details.
  2. Prüfen Sie das Feld Company. Standardmäßig ist das aktive Unternehmen eingetragen, und die Suche läuft nur innerhalb des Unternehmens, das dort steht.
  3. Tragen Sie in Data Subject NIF / Name die NIF der Person oder ihren Namen ein.
  4. Wenn die Kanzlei eine Vorgangsnummer führt, notiert sie diese in Request Reference.
  5. Klicken Sie auf Generate Access Export (art.15).

Die Beschriftung der Schaltfläche ändert sich mit der Sprache von Odoo. Bei Odoo auf Spanisch ist es die obige; bei Odoo auf Katalanisch Generar Exportació d'Accés (art.15).

Mit Code aus den Übersetzungen des Moduls erstelltes Schema, kein Odoo-Screenshot: der Text Generate Access Export (art.15) und seine spanische und katalanische Fassung
Schema mit der Beschriftung der Schaltfläche je nach Sprache von Odoo.

Was die Schaltfläche tut, der Reihe nach

Beim Klicken führt der Code nacheinander Folgendes aus:

  • Er nimmt den in Data Subject NIF / Name eingegebenen Text, entfernt die Leerzeichen an den Enden und sucht damit im gewählten Unternehmen.
  • Er stellt das Ergebnis zusammen, das den eingegebenen Text, den Namen des Unternehmens und zwei Listen enthält: die gefundenen Datensätze und die gefundenen Stornierungen.
  • Er speichert dieses Ergebnis als JSON-Datei im Assistenten selbst, mit dem Namen dsar_access_export_, gefolgt von den ersten zwanzig Zeichen des Eingegebenen und der Endung .json.
  • Er versucht zusätzlich, ein PDF zu erzeugen (weiter unten, was der Code tut, wenn das nicht klappt).
  • Er erfasst ein Ereignis (nächster Abschnitt).
  • Er öffnet dieselbe Maske des Assistenten erneut in einem Popup-Fenster, mit demselben Datensatz.

Der Code beschreibt diese Extraktion als Lesen der personenbezogenen Datenfelder, ohne einen Datensatz der Kette zu verändern.

Was gesucht und was exportiert wird

BlockWo gesucht wirdWelche Daten ausgegeben werden
DatensätzeKennung oder Name der GegenparteiSeriennummer, Ausstellungsdatum, Name, Kennungstyp, Kennung und Gesamtbetrag
StornierungenNur die Kennung der GegenparteiSeriennummer, Ausstellungsdatum und Kennung

Die Übereinstimmung ist «enthält», ohne Unterscheidung von Groß- und Kleinschreibung. Wenn Asesoría Ribera nur ein Stück eines Namens eingibt, werden alle Datensätze dieses Unternehmens berücksichtigt, deren Name oder Kennung dieses Stück enthält. Und wenn ein Name eingegeben wird, werden die Stornierungen nicht danach gesucht, sondern nur nach Kennung.

Was erfasst wird

Nach dem Erzeugen der Datei legt die Schaltfläche für das gewählte Unternehmen ein Ereignis im Ereignisprotokoll des Moduls an. Das Ereignis enthält Datum und Uhrzeit, den Benutzer, der die Schaltfläche geklickt hat, eine Beschreibung mit der eingegebenen NIF oder dem Namen, die NIF oder den Namen und die Referenz der Anfrage als Kontext (die Referenz bleibt leer, wenn Sie sie nicht ausgefüllt haben), einen über diese Daten berechneten Hash und eine unternehmenseigene Sequenznummer.

Die Referenz der Anfrage wandert ins Ereignis; die JSON-Datei des Exports enthält sie nicht. Und die Reihenfolge ist wichtig: Wenn die Erzeugung der Datei mit einem Fehler abbricht, erfasst der Code das Ereignis gar nicht erst.

Weitere Aktionen, die Ereignisse hinterlassen

Das Ereignis der Schaltfläche ist nicht das einzige, das auf diese Weise erfasst wird. Beim Speichern der Maske eines Unternehmens wird ebenfalls ein Ereignis angelegt, wenn die AEAT-Umgebung, der SIF-Verantwortliche oder der Geltungsbereich von VeriFactu geändert wurde. Außerdem gelangen die Standardschaltfläche zum Stornieren einer Rechnung, die das Modul erweitert, und die geplante Aufgabe Verifactu: Clock Drift Check, die jede Stunde läuft und bei der Installation aktiv ist, in dasselbe Protokoll. Zu dem, was das Modul bei den Rechnungen ergänzt, lesen Sie diesen Artikel.

Das PDF, das der Code zu speichern versucht

Neben dem JSON versucht der Code, mit demselben Assistenten ein PDF zu erzeugen, und speichert es, falls das gelingt, unter dem Namen dsar_access_export_ plus den ersten zwanzig Zeichen des Eingegebenen und der Endung .pdf. Wenn diese Erzeugung fehlschlägt, fängt der Code den Fehler ab, vermerkt eine Warnung im Serverprotokoll und macht mit dem JSON und dem Ereignis weiter.

Was der Fall lehrt

  • Bestätigen Sie das Feld Company, bevor Sie klicken: Die Suche ist darauf beschränkt.
  • Geben Sie die vollständige NIF ein, wenn Sie sie haben; ein Teilname kann mehr Datensätze liefern als erwartet, und Stornierungen werden nur über die Kennung gefunden.
  • Notieren Sie die Request Reference, wenn das Ereignis sie tragen soll: Das exportierte JSON enthält sie nicht.

Wie FlexigoTech hilft

FlexigoTech führt Odoo 17, 18, 19 und 20 ein und entwickelt Konnektoren und individuelle Integrationen. Wenn Sie prüfen möchten, wer die Berechtigungen des Datenschutzmenüs haben soll, oder das Modul an Ihren Prozess anpassen wollen, schreiben Sie uns.

Weiterlesen

Was VeriFactu España an der Odoo-Rechnung ergänzt und wann es greiftFelder, die VeriFactu España an der Odoo-Rechnung ergänzt, wann der Eintrag beim Buchen entsteht und wie Sie in Schritten prüfen, dass das Modul gewirkt hat.«Only a SIF Manager can retry AEAT submissions.»: wann sie erscheint und was zu tun istWas die Meldung «Only a SIF Manager can retry AEAT submissions.» in VeriFactu für Odoo bedeutet: wann sie erscheint.Was die Schaltfläche Generate Export von VeriFactu España in Odoo bewirktWas die Schaltfläche Generate Export von VeriFactu España in Odoo bewirkt: wer sie sieht, was jeder Exporttyp erzeugt und welches Ereignis protokolliert wird.
Geprüft im Quellcode des Moduls (Version 20.0) und in den verlinkten Quellen

Quellen