Selbst bauen oder fertige Software nutzen?

Rechnungen automatisch auslesen: XML, OCR und Prüfung

Rechnungsdaten aus XML, PDF und Scans verarbeiten: mit Formatwahl, Feldprüfung, Dublettenerkennung und Freigabe vor der Übergabe an die Buchhaltung.

Von Kann KI das? · Stand:

Rechnungen automatisch auszulesen heißt zunächst, Felder zuverlässig in eine prüfbare Struktur zu übertragen. Liegen strukturierte Rechnungsdaten vor, verarbeitest du diese direkt. Bei einer PDF-Datei mit eingebettetem Text kann die direkte Textextraktion helfen; bei einem Scan brauchst du Texterkennung, also OCR. Die erkannten Werte müssen anschließend geprüft werden. Auslesen, buchen und bezahlen sind getrennte Schritte.

Dieser Ratgeber beschreibt einen eng begrenzten Rechnungseingang mit menschlicher Freigabe. Er ist kein Nachweis für eine rechtskonforme Archivierung oder eine vollständig automatisierte Buchhaltung.

E-Rechnung, PDF und Scan unterscheiden

Die Dateiendung allein reicht nicht zur Auswahl des Verfahrens. Eine PDF-Datei kann Text, ein gescanntes Bild oder zusätzlich eingebettete strukturierte Daten enthalten. Prüfe den Inhalt, bevor du jede Rechnung an eine OCR- oder KI-Schnittstelle sendest.

Das Bundesfinanzministerium erklärt in seinen FAQ zur E-Rechnung, dass ein einfaches PDF nicht das strukturierte elektronische Format einer E-Rechnung erfüllt. XRechnung und geeignete ZUGFeRD-Formate sind wichtige Beispiele für strukturierte Rechnungsdaten. Welche Pflichten und Übergangsregeln im konkreten Fall gelten, klärst du anhand der aktuellen offiziellen Informationen und bei Bedarf mit deiner Steuerberatung.

Für den technischen Eingang ergibt sich diese Reihenfolge:

  1. Strukturierte Daten vorhanden: XML anhand des unterstützten Formats einlesen und validieren. Bei hybriden Dokumenten die enthaltenen Rechnungsdaten berücksichtigen.
  2. PDF mit nutzbarem Text: Text und Positionen extrahieren, anschließend den Rechnungsfeldern zuordnen.
  3. Scan oder Bild: OCR einsetzen und danach dieselben Feldprüfungen ausführen.
  4. Unbekanntes oder beschädigtes Format: Mit verständlichem Fehlerstatus in die manuelle Bearbeitung geben.

Schicke strukturierte Daten nicht erst durch eine Texterkennung. Das würde vorhandene Feldzuordnungen unnötig auflösen und eine zusätzliche Fehlerquelle schaffen.

Welche Rechnungsdaten brauchst du wirklich?

Lege das Zielformat gemeinsam mit der Person fest, die die Daten weiterverarbeitet. Für eine erste sinnvolle Version des Rechnungseingangs können diese Felder genügen:

  • Lieferant mit interner Zuordnung und Name aus dem Dokument.
  • Rechnungsnummer und Rechnungsdatum.
  • Währung, Nettobetrag, Steuerbeträge und Bruttobetrag.
  • Fälligkeit, sofern vorhanden und für den Ablauf benötigt.
  • Bestellbezug, falls das Unternehmen damit arbeitet.
  • Verweis auf die Originaldatei und verwendetes Ausleseverfahren.
  • Prüfstatus, offene Hinweise und Freigabe durch eine zuständige Person.

Nicht jedes fehlende Feld darf geraten werden. Unterscheide „nicht vorhanden“, „nicht lesbar“ und „widersprüchlich“. Ein KI-Modell kann plausible Daten ergänzen, die in der Rechnung gar nicht stehen. Für den Eingang ist ein sichtbarer Prüfhinweis hilfreicher als eine erfundene Fälligkeit.

Positionsdaten brauchst du, wenn du Bestellungen abgleichen oder einzelne Leistungen zuordnen willst. Das macht den Ablauf deutlich aufwendiger als die Erfassung von Kopfdaten. Entscheide darüber anhand des nachfolgenden Arbeitsschritts.

Beispiel: PDF und XRechnung im selben Postfach

Eine fiktive Firma erhält eine PDF-Rechnung für Büromaterial und eine XRechnung für Wartungsleistungen. Beide Eingänge bekommen eine interne ID. Die Originaldateien bleiben unverändert mit dem Vorgang verknüpft; abgeleitete Daten werden getrennt gespeichert.

Die XRechnung wird als XML gelesen und mit einem passenden Validator geprüft. Bei der PDF-Rechnung erkennt der Ablauf, dass nutzbarer Text enthalten ist. Er extrahiert Rechnungsnummer, Datum und Beträge, ohne vorher ein Bild daraus zu erzeugen.

Für das Beispiel enthält die PDF-Rechnung einen Nettobetrag von 100 Euro, 19 Euro Steuer und 119 Euro brutto. Der Ablauf prüft rechnerisch, dass diese drei Werte zusammenpassen. Das ist eine Beispielrechnung zur Summenprüfung, keine Aussage darüber, welcher Steuersatz für eine bestimmte Leistung gilt.

Die gleiche PDF-Datei geht am nächsten Tag erneut ein. Der Dateivergleich erkennt die identische Datei. Zusätzlich prüft der Ablauf Lieferant und Rechnungsnummer, damit auch eine anders gespeicherte Kopie auffällt. Der Vorgang erhält einen Dublettenhinweis und wird nicht ein zweites Mal exportiert.

Eine Sachbearbeiterin sieht Original, ausgelesene Felder und Hinweise nebeneinander. Sie korrigiert bei Bedarf einen Wert und gibt danach die Übergabe an das Buchhaltungssystem frei. Eine Zahlung löst dieser Ablauf nicht aus.

Prüfungen nach dem Auslesen

Formatprüfung: Ist die Datei lesbar, wird das Format unterstützt und bestehen die vorgesehenen Strukturprüfungen? Ein erfolgreich eingelesenes XML-Dokument allein beweist noch keine fachlich richtige Rechnung.

Feldprüfung: Sind benötigte Angaben vorhanden? Lässt sich ein Datum eindeutig interpretieren? Werden Währungen und Dezimaltrennzeichen richtig behandelt? „1.234,56“ darf nicht als „1,23456“ weitergereicht werden.

Summenprüfung: Passen Netto-, Steuer- und Bruttobeträge zusammen? Berücksichtige mehrere Steuergruppen, Rundung, Nachlässe und Gutschriften, wenn diese zu deinem tatsächlichen Rechnungseingang gehören. Nutze für Geldwerte feste Dezimalregeln statt unkontrollierter Gleitkommaarithmetik.

Dublettenprüfung: Kombiniere den Vergleich identischer Dateien mit fachlichen Merkmalen wie Lieferant und Rechnungsnummer. Gleiche Beträge allein reichen nicht. Eine mögliche Dublette wird zur Prüfung markiert, statt still gelöscht zu werden.

Lieferantenprüfung: Ordne den Absender einem bekannten Lieferanten zu. Abweichende Bankverbindungen oder neue Lieferanten gehören in einen gesonderten Prüfablauf. Eine gute Texterkennung bestätigt weder die Echtheit einer Rechnung noch die Berechtigung einer Zahlung.

KI einsetzen, ohne die Prüfung aus der Hand zu geben

KI kann bei wechselnden Layouts helfen, Textabschnitte bestimmten Feldern zuzuordnen. Gib ein festes Ausgabeschema vor und validiere die Antwort technisch. Speichere zu einem Feld nach Möglichkeit die Textstelle oder Position im Original, aus der es stammt.

Ein ausgegebener Vertrauenswert ersetzt die Prüfung nicht. Prüfe an eigenen Beispielen, ob unsichere Ergebnisse tatsächlich in die manuelle Bearbeitung gelangen. Wenn ein Modell oder eine OCR-Version geändert wird, müssen bekannte Problembelege erneut durchlaufen.

Behandle auch Rechnungsinhalte als nicht vertrauenswürdige Eingaben: Eine Anweisung im Dokument darf weder die Ausleseregeln ändern noch externe Aktionen auslösen. Begrenze Dateigröße und Verarbeitungslaufzeit, prüfe Anhänge und schütze den XML-Parser gegen das Nachladen externer Ressourcen. Der Auslesedienst braucht keine Zahlungsberechtigung.

Checkliste für die Abnahme

Stelle ein bereinigtes Testpaket aus deinen tatsächlichen Formaten zusammen. Ergänze absichtlich schwierige Fälle: unscharfer Scan, mehrseitiger Beleg, mehrere Steuergruppen, Gutschrift, Fremdwährung, doppelte Rechnung und beschädigte Datei.

Prüfe dann:

  • Strukturierte Rechnungen werden ohne OCR verarbeitet.
  • Fehlende und widersprüchliche Werte bleiben als Hinweise sichtbar.
  • Dubletten und wiederholte Verarbeitung erzeugen keine doppelten Exporte.
  • Jede Korrektur lässt sich einer Person und einem Zeitpunkt zuordnen.
  • Ein fehlgeschlagener Export kann kontrolliert wiederholt werden.
  • Originaldatei, Daten und Freigabe bleiben miteinander verknüpft.
  • Die empfangende Buchhaltung versteht das vereinbarte Exportformat.
  • Aufbewahrung, Zugriffe und Löschung sind für den tatsächlichen Betrieb geklärt.

Miss die nötige Nacharbeit pro Beleg und die Fehler pro benötigtem Feld. Eine hohe Trefferquote bei Lieferantennamen gleicht falsche Beträge nicht aus. Vergleiche außerdem die gesamte Bearbeitungszeit einschließlich Kontrolle mit dem bisherigen Ablauf.

Wann kaufen, wann einen kleinen Teil selbst bauen?

Prüfe zuerst den Import deiner vorhandenen Buchhaltungssoftware. Unterstützt sie die benötigten Formate und Freigaben bereits, kann eine bessere Eingangssortierung genügen. Ein klar begrenzter Eigenbau eignet sich eher für eine Lücke zwischen Postfach, Prüfung und vorhandener Buchhaltung.

Sobald du ein vollständiges Archiv, steuerliche Fachlogik, viele Länderformate oder Zahlungsabläufe übernehmen willst, wächst der Umfang erheblich. Der GetMyInvoices-Prüfbericht hilft bei der Abgrenzung eines engen Rechnungseingangs. Nutze auch unsere Bewertungsmethodik, um die Grenze zu einer vollständigen Plattform sichtbar zu machen. Für Rückfragen zu fehlenden Belegen lässt sich später ein eigener Kundenservice-Ablauf mit Antwortentwürfen anschließen.

Quellen und Einordnung

  • Bundesfinanzministerium: Fragen und Antworten zur E-Rechnung, abgerufen am . Offizielle Quelle zur Unterscheidung strukturierter E-Rechnungen und einfacher PDF-Dateien sowie zu den geltenden Regelungen.
  • Beispiel, Prüfablauf und Abnahmekriterien sind unsere redaktionellen Empfehlungen. Die rechnerische und technische Prüfung ersetzt keine steuerliche oder sachliche Freigabe.