Zum Hauptinhalt springen
Portugal SAF-T (PT) File Checks

Einrichtung von Portugal SAF-T (PT) File Checks in Odoo, erzählt an einem Praxisfall

Um Portugal SAF-T (PT) File Checks in Betrieb zu nehmen, müssen Sie drei Dinge verstehen: das ATCUD-Konfigurationsformular, das Sie in Invoicing anlegen, die Felder, die jeden Datensatz mit einem Unternehmen und einem Schema verknüpfen, und die Status jeder Liste, etwa Draft, Generated, Validated, Validation Failed und Submitted bei der Dateierstellung. Wir gehen das mit einem erfundenen Unternehmen durch, vom ersten Tag bis zum Ende der ersten Woche.

FlexigoTech · Verantwortlich: Víctor Gómez · Aktualisiert am 4. 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.

Distribuciones Ribeira, der rote Faden des Falls

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

Distribuciones Ribeira ist ein erfundenes Unternehmen, das in Portugal mit Odoo 18 fakturiert und in derselben Datenbank eine zweite Gesellschaft führt. Marta, die Leiterin der Verwaltung, soll Portugal SAF-T (PT) File Checks einsatzbereit machen. Der Fall kommt ohne Zahlen aus: Es geht darum, welche Ansichten sie öffnet, welche Felder sie prüft und auf welche Status sie stößt.

Das Modul ist in Odoo Apps für 17.0, 18.0, 19.0 und 20.0 veröffentlicht, Marta wählt also den Eintrag für ihre Version. Es kostet 9 € pro Odoo-Version, einmalig und zzgl. MwSt., in allen vier Versionen. Da es einen lokalen Dienst von FlexigoTech Cloud mitbringt, kommt ein Abonnement von 29 €/Monat oder 290 €/Jahr zzgl. MwSt. hinzu (Pro: 58 €/Monat oder 580 €/Jahr).

Erster Tag: das ATCUD-Konfigurationsformular

Beim Anlegen einer neuen ATCUD-Konfiguration in Invoicing sieht Marta ein Formular mit mehreren Abschnitten: Unternehmensdaten, ATCUD, E-Mail und Benachrichtigungen sowie Upload. Nur die Endpoint-URL ist ausgefüllt, alles andere ist leer.

Neues ATCUD-Konfigurationsformular in Invoicing mit den Abschnitten Unternehmensdaten, ATCUD, E-Mail und Benachrichtigungen sowie Upload
Frisch angelegte ATCUD-Konfiguration noch ohne Daten: Nur die Endpoint-URL ist eingetragen, der untere Teil der Ansicht ist abgeschnitten.

Marta geht das Formular Abschnitt für Abschnitt von oben nach unten durch, einschließlich des Teils, der nicht auf den Bildschirm passt. Dass die Endpoint-URL schon dasteht, sagt nichts über den Rest aus. Deshalb betrachtet sie die Konfiguration erst als vollständig, wenn sie alles geprüft hat.

Die Felder, die Marta genau ansieht

Bevor sie irgendetwas erzeugt, geht Marta die Modulfelder durch, die sie betreffen. Diese identifiziert sie:

  • company_id: kommt in mehreren Modellen des Moduls als Verknüpfung zu res.company vor. Mit zwei Gesellschaften in derselben Datenbank prüft Marta, zu welchem Unternehmen jeder Datensatz gehört.
  • schema_url, mit der Bezeichnung SAF-T Schema URL: laut Feldbeschreibung die URL, von der das XSD-Schema des portugiesischen SAF-T abgerufen wird.
  • export_file_csv: ein Anhang (ir.attachment), beschrieben als Exported CSV format.
  • transaction_count, mit der Bezeichnung Transaction Count: die Anzahl der im SAF-T enthaltenen Transaktionen.
  • name, mit der Bezeichnung Request ID.
  • submission_id: Verknüpfung zu saft.submission, beschrieben als Related SAF-T submission if applicable.

Marta schreibt diesen Feldern keine andere Funktion zu als die, die ihr Name oder ihre Beschreibung nennt. Wie sie intern zusammenhängen, erfahren Sie unter wie das Modul intern funktioniert.

Die Status, die ein Datensatz haben kann

Am zweiten Tag lernt Marta die Statuswerte kennen, die das Modul definiert. Es sind vier verschiedene Sätze, die man nicht verwechseln sollte:

  • Feld state mit Draft, Exported und Submitted.
  • Feld status mit Draft, Processing, Approved und Denied.
  • Feld state mit Draft, Generated, Validated, Validation Failed und Submitted. Diese sehen Sie in der Liste Generate SAF-T Files.
  • Feld state mit Draft, Validated, Submitted, Accepted, Rejected, ATCUD Unreachable und Error.

Aus dieser Liste notiert Marta die Werte, die sie täglich im Blick behalten will: Validation Failed, Denied, Rejected, ATCUD Unreachable und Error. Die Ursache nimmt sie bei keinem davon vorweg. Taucht einer auf, sucht sie den genauen Wortlaut der Meldung im Leitfaden zu den Fehlermeldungen des Moduls.

Die erste Woche: was sie jeden Morgen prüft

Nach abgeschlossener Konfiguration öffnet Marta in der ersten Woche jeden Morgen dieselben Ansichten in derselben Reihenfolge. Der Rundgang sieht so aus:

Rundgang durch die Listen Annual SAF-T Statistics, SAF-T Error Logs und Generate SAF-T Files in Invoicing
Die jährlichen SAF-T-Statistiken mit Unternehmen, Jahr, Dokumenten, Wert und Status; die Fehlerprotokolle mit Datum, Typ, Schweregrad, Meldung und nicht angehaktem Erledigt-Kästchen; und die Dateierstellung mit Zeiträumen in Draft, Generated, Validated, Validation Failed und Submitted, mit Dateigröße und Transaktionen auf null.
  • In Invoicing › Annual SAF-T Statistics prüft sie die Spalten Company, Year, Total Documents, Total Value und State und kontrolliert, dass jede Zeile zur erwarteten Gesellschaft gehört.
  • In SAF-T Error Logs liest sie Datum, Fehlertyp, Schweregrad und Meldung jedes Eintrags und achtet darauf, bei welchen das Erledigt-Kästchen noch nicht angehakt ist.
  • In Generate SAF-T Files prüft sie den Status jedes Zeitraums von Beginn bis Ende, zusammen mit Dateigröße und Transaktionen.

In ihrer Datenbank mit zwei Gesellschaften schaut Marta zuerst auf die Spalte Company. Dieselbe Liste hat eine Schaltfläche New und eine Suchleiste:

Liste der jährlichen SAF-T-Statistiken mit Zeilen nach Unternehmen, Jahr, Gesamtzahl der Dokumente, Gesamtwert und Status, mit Schaltfläche New und Suchleiste
Dieselbe Liste der Jahresstatistiken mit fünf Zeilen im Status Borrador oder Exportado.

Was der Fall Ribeira lehrt

  • Das neue ATCUD-Formular ist fast leer, nur die Endpoint-URL ist eingetragen: Prüfen Sie es Abschnitt für Abschnitt, auch den Teil außerhalb des Bildschirms, bevor Sie es als vollständig betrachten.
  • company_id steckt in mehreren Modellen. Wenn Sie mehr als eine Gesellschaft haben, prüfen Sie zuerst das Unternehmen jedes Datensatzes.
  • Es gibt vier verschiedene Statussätze. Lernen Sie, in welcher Liste Sie welchen sehen und welche Werte Sie überwachen wollen.
  • Die drei Listen des Rundgangs (Jahresstatistiken, Fehlerprotokolle und Dateierstellung) sind Martas Routine in ihrer ersten Woche.

Wie FlexigoTech Sie unterstützt

FlexigoTech implementiert Odoo 17, 18, 19 und 20 und entwickelt individuelle Konnektoren und Integrationen. So können wir die ATCUD-Konfiguration und Ihre Gesellschaften gemeinsam mit Ihnen einrichten. Wenn Sie das Modul auf seiner Seite bei flexigotech.com kaufen, ist mit dem Abonnement das Modul für neue Odoo-Versionen enthalten; im Odoo App Store dagegen wird jede Version dort einzeln gekauft (Eintrag in Odoo Apps). Ohne Abonnement oder bei ausgesetztem Dienst endet, was das Abonnement bereitstellt, und Ihre Daten bleiben in Ihrem Odoo. Wenn Sie noch unsicher sind, ob es passt, lesen Sie zuerst was es abdeckt und was Sie vor der Installation brauchen.

Weiterlesen

So funktioniert Portugal SAF-T (PT) File Checks in Odoo im InnerenWelche Menüs Portugal SAF-T (PT) File Checks in der Rechnungsstellung ergänzt, welche Modelle dahinterstehen, welche Status Sie sehen und was extern läuft.Fehler in Portugal SAF-T (PT) File Checks: wann welche Meldung erscheint und was zu tun istJede Fehlermeldung von Portugal SAF-T (PT) File Checks im Wortlaut: wann sie erscheint, was sie bedeutet und was in Odoo zu tun ist, bis zur ATCUD-Übermittlung.Portugal SAF-T (PT) File Checks: Umfang, Voraussetzungen und passende Odoo-VersionWas Portugal SAF-T (PT) File Checks laut README abdeckt, was Sie vor der Installation brauchen (NIF, ATCUD, E-Mail) und für welche Odoo-Versionen.
Geprüft im Quellcode des Moduls (Version 20.0) und in den verlinkten Quellen

Quellen