Willi Mako
// PROTOCOL:

Selektive Fehlerbehandlung in Übertragungsdateien: So geht’s

ID#864-10
STATUSREAD_ONLY
AUTHORSYS_ADMIN
TAGS [EDIFACT][PROZESS][ZUORDNUNG][FEHLERBEHANDLUNG]

Sicherstellung der selektiven Fehlerbehandlung in Übertragungsdateien

Bei der elektronischen Übermittlung von Geschäftsvorfällen (z. B. im Rahmen von Steuererklärungen, Meldungen an Behörden oder Finanztransaktionen) können Syntaxfehler in der Übertragungsdatei dazu führen, dass der Empfänger die gesamte Datei ablehnt. Um zu gewährleisten, dass nur tatsächlich fehlerhafte Datensätze betroffen sind und valide Geschäftsvorfälle weiterverarbeitet werden, sind technische und organisatorische Maßnahmen erforderlich. Die folgenden Empfehlungen basieren auf gängigen Standards der Datenübertragung und Fehlerbehandlung.


1. Strukturierung der Übertragungsdatei nach dem Prinzip der Einzelvalidierung

Damit der Empfänger fehlerhafte Datensätze isoliert behandeln kann, sollte die Übertragungsdatei so aufgebaut sein, dass jeder Geschäftsvorfall als eigenständige Einheit erkennbar ist. Dies wird durch folgende Maßnahmen erreicht:

  • Logische Trennung der Datensätze Die Datei sollte in klar abgegrenzte Blöcke oder Segmente unterteilt sein, wobei jeder Block genau einen Geschäftsvorfall repräsentiert. Gängige Formate wie XML oder CSV mit eindeutigen Trennzeichen ermöglichen dies durch:

    • XML: Nutzung von <Geschäftsvorfall>-Elementen mit eindeutigen IDs.
    • CSV/EDIFACT: Zeilenweise Trennung mit einem definierten Trennzeichen (z. B. Semikolon) und einer Kopfzeile, die die Struktur beschreibt.
  • Eindeutige Identifikatoren pro Datensatz Jeder Geschäftsvorfall sollte eine eindeutige Referenznummer (z. B. eine UUID oder eine fortlaufende Nummer) enthalten, die eine spätere Zuordnung von Fehlermeldungen ermöglicht.

  • Prüfsummen oder Hash-Werte Optional können pro Datensatz Prüfsummen (z. B. CRC32) oder kryptografische Hashes (SHA-256) hinterlegt werden, um die Integrität einzelner Vorfälle zu verifizieren.


2. Implementierung einer schrittweisen Validierung

Der Empfänger sollte die Datei nicht als Ganzes ablehnen, sondern eine mehrstufige Prüfung durchführen:

  • Syntaxprüfung auf Dateiebene Zunächst wird die grundsätzliche Struktur der Datei validiert (z. B. korrekte XML-Syntax, Einhaltung des CSV-Formats). Bei Fehlern auf dieser Ebene kann die gesamte Datei abgelehnt werden.

  • Semantische Prüfung pro Datensatz Erst nach erfolgreicher Syntaxprüfung werden die einzelnen Geschäftsvorfälle auf inhaltliche Korrektheit geprüft (z. B. gültige Steuernummern, plausible Beträge). Fehlerhafte Datensätze werden markiert und zurückgemeldet, während valide Vorfälle weiterverarbeitet werden.

  • Protokollierung und Rückmeldung Der Empfänger sollte eine detaillierte Fehlermeldung generieren, die:

    • Die Referenznummer des fehlerhaften Datensatzes enthält.
    • Den genauen Fehler beschreibt (z. B. „Ungültiges Datumsformat in Zeile 42“).
    • Eine Fehlerkategorie angibt (z. B. Syntaxfehler, logischer Fehler, fehlende Pflichtangabe).

3. Nutzung standardisierter Übertragungsprotokolle

Um die selektive Fehlerbehandlung zu unterstützen, sollten etablierte Protokolle und Formate verwendet werden, die von vornherein auf Einzelvalidierung ausgelegt sind:

  • XML mit XSD-Schema XML-Dateien können mit einem XML Schema Definition (XSD) validiert werden. Moderne Parser unterstützen die partielle Verarbeitung und melden nur die fehlerhaften Elemente zurück.

  • JSON mit JSON Schema Ähnlich wie XML ermöglicht JSON eine strukturierte Validierung einzelner Objekte. Fehlermeldungen können auf Feldebene erfolgen.

  • EDIFACT oder XRechnung Für behördliche Meldungen (z. B. Rechnungen) sind Formate wie EDIFACT oder XRechnung geeignet, die eine segmentweise Verarbeitung vorsehen.

  • API-basierte Übertragung Statt einer Batch-Datei können Geschäftsvorfälle einzeln über eine REST-API übertragen werden. Der Empfänger antwortet pro Vorfall mit einem HTTP-Statuscode (z. B. 200 OK für Erfolg, 400 Bad Request für Fehler) und einer Fehlermeldung.


4. Technische Maßnahmen auf Senderseite

Der Absender kann durch folgende Vorkehrungen sicherstellen, dass Fehler minimiert und isoliert werden:

  • Vorab-Validierung der Datei Vor dem Versand sollte die Datei mit denselben Regeln geprüft werden, die der Empfänger anwendet. Tools wie:

    • XML-Validatoren (z. B. xmllint für XSD-Prüfung).
    • CSV-Parser mit Schema-Validierung (z. B. Python pandas mit dtype-Definitionen).
    • Testumgebungen des Empfängers (z. B. „Elster-Testumgebung“ für Steuerdaten).
  • Aufteilung großer Dateien Bei sehr umfangreichen Übertragungen empfiehlt sich eine Aufteilung in kleinere Chargen (z. B. 1.000 Datensätze pro Datei), um das Risiko einer vollständigen Ablehnung zu reduzieren.

  • Automatisierte Fehlerkorrektur Bei wiederkehrenden Fehlern (z. B. falsches Datumsformat) können Skripte eingesetzt werden, die die Datei vor dem Versand bereinigen.


5. Rechtliche und organisatorische Rahmenbedingungen

  • Vereinbarung mit dem Empfänger Klären Sie im Vorfeld, ob der Empfänger eine selektive Fehlerbehandlung unterstützt. Dies sollte in den technischen Spezifikationen oder Dienstleistungsvereinbarungen festgehalten werden.

  • Dokumentation der Fehlerbehandlung Der Empfänger sollte transparent kommunizieren, wie mit Fehlern umgegangen wird (z. B. in einem Fehlerhandbuch oder einer API-Dokumentation).

  • Wiederholungsverfahren Für fehlerhafte Datensätze sollte ein Wiederholungsprozess definiert sein (z. B. manuelle Korrektur und erneuter Versand nur der betroffenen Vorfälle).


6. Beispiel für eine selektive Fehlerbehandlung

Szenario: Eine CSV-Datei mit 100 Steuererklärungen wird an das Finanzamt übermittelt. In Zeile 42 fehlt ein Pflichtfeld.

Erwartetes Verhalten:

  1. Der Empfänger prüft die Datei auf korrekte Syntax (z. B. richtige Spaltenanzahl).
  2. Die Zeilen 1–41 und 43–100 werden verarbeitet.
  3. Für Zeile 42 wird eine Fehlermeldung generiert:
    Fehler in Datensatz mit ID "STE2023-0042":
    Pflichtfeld "Steuernummer" fehlt (Spalte 5).
    
  4. Der Absender erhält eine Rückmeldung mit der Liste der fehlerhaften Datensätze und kann diese gezielt korrigieren.

Fazit

Eine selektive Fehlerbehandlung ist technisch machbar, setzt jedoch eine strukturierte Dateiaufbereitung, schrittweise Validierung und klare Kommunikation zwischen Sender und Empfänger voraus. Durch die Nutzung standardisierter Formate (XML, JSON, EDIFACT) und die Implementierung von Einzelvalidierungsmechanismen kann sichergestellt werden, dass nur fehlerhafte Geschäftsvorfälle betroffen sind. Eine Vorab-Validierung auf Senderseite reduziert zudem das Risiko von Ablehnungen. Bei behördlichen Meldungen sollten die spezifischen Vorgaben des Empfängers (z. B. des Bundeszentralamts für Steuern) beachtet werden.