XRechnungLeser – Benutzerhandbuch
Wozu
Rechnungen an öffentliche Auftraggeber kommen heute als XRechnung. Das ist eine XML-Datei, die nur ein Programm lesen kann. Viele Dokumentenmanagementsysteme zeigen sie deshalb als Zeichensalat oder gar nicht an.
Der XRechnungLeser macht aus jeder eingehenden E-Rechnung eine PDF, die wie eine normale Rechnung aussieht und im DMS (zum Beispiel WINYARD) wie jedes andere Dokument abgelegt, angezeigt und durchsucht werden kann.
Was in der PDF steckt
- Die Rechnung zum Lesen. Der Aufbau folgt der amtlichen Darstellung der KoSIT (Koordinierungsstelle für IT-Standards): Übersicht mit Käufer, Verkäufer und Rechnungsdaten, danach Beträge, Zahlungsdaten, Positionen und Anlagen. Die kleinen Kennungen wie „BT-1“ verweisen auf die Felder der Norm EN 16931.
- Die Original-Rechnung. Die XRechnung ist unverändert als Anhang
xrechnung.xmleingebettet. Maßgeblich ist immer diese Datei, die PDF ist nur ihre Sichtfassung. Im PDF-Reader öffnen Sie Anhänge über das Büroklammer-Symbol. - Mitgeschickte Anlagen des Rechnungsstellers, etwa Leistungsnachweise als PDF, ebenfalls als Anhang.
- Der Prüfvermerk auf der letzten Seite. Er zeigt, ob die Rechnung den Regeln für XRechnung entspricht, und
listet die Fehler auf, falls nicht. Den vollständigen Prüfbericht finden Sie im Anhang
pruefbericht-kosit.xml.
Die PDF entspricht dem Archivstandard PDF/A-3.
Was „gültig“ und „nicht gültig“ bedeuten
| Prüfvermerk | Bedeutung | Was tun |
|---|---|---|
| gültig | Die Rechnung erfüllt alle Regeln von XRechnung 3.0 bzw. EN 16931. | normal bearbeiten |
| nicht gültig | Mindestens ein Pflichtfeld fehlt oder ist falsch. Der Grund steht unter „Fehler und Warnungen“. | Rechnung inhaltlich prüfen und gegebenenfalls beim Rechnungssteller eine korrigierte Rechnung anfordern |
| nicht geprüft | Das Format ist keine XRechnung, z. B. ZUGFeRD EXTENDED, oder die Prüfung war abgeschaltet. | nach Ihren üblichen Regeln bearbeiten |
Warnungen allein machen eine Rechnung nicht ungültig.
Für die Systembetreuung: Einrichtung
- Python 3.10 oder neuer und Java 17 installieren. Alternativ eine Java-Laufzeit nach
vendor\jre\kopieren. - Im Programmordner einmal
pip install -r requirements.txtausführen. - Mit
xrechnung-leser.cmd selbsttestprüfen. Am Ende muss „Bereit.“ stehen.
Betrieb mit Ordnern (empfohlen)
xrechnung-leser.cmd ueberwachen D:\ERechnung\Eingang D:\ERechnung\fuer-DMS --metadaten
- Neue E-Rechnungen (
.xml, oder ZUGFeRD als.pdf) werden in Eingang gelegt, von Hand, vom Postfach-Abruf oder vom Rechnungseingangsportal. - Nach einigen Sekunden liegt die PDF in fuer-DMS. Dort holt das DMS sie ab.
- Das Original wandert nach
Eingang\erledigt\<Monat>\. Nicht lesbare Dateien kommen nachEingang\fehler\, zusammen mit einer Textdatei, die den Grund nennt. Es wird nichts gelöscht. - Mit
--ungueltige D:\ERechnung\abgelehntlanden abgelehnte Rechnungen in einem eigenen Ordner, etwa für eine Rückfrage beim Rechnungssteller. - Mit
--metadatenentsteht neben jeder PDF eine.json-Datei mit Rechnungsnummer, Datum, Rechnungssteller, Leitweg-ID, Beträgen und IBAN. Damit kann das DMS die Indexfelder automatisch füllen.
Für den Dauerbetrieb den Befehl als geplante Aufgabe „beim Systemstart“ einrichten. Oder --einmal anhängen und die
Aufgabe alle paar Minuten starten. Pro Eingangsordner darf nur eine Überwachung laufen, eine zweite verweigert den
Start. Das Protokoll steht in Eingang\xrechnung-leser.log.
Einzelne Dateien
xrechnung-leser.cmd umwandeln C:\Temp\rechnung.xml -a C:\Temp\pdf
Die PDF heißt Rechnungsdatum_Rechnungssteller_Rechnungsnummer.pdf. Mit --name-wie-eingang behält sie den
Namen der Eingangsdatei.
Grenzen
- Pro Rechnung dauert die Umwandlung etwa 10 Sekunden.
- Eine PDF ohne eingebettete E-Rechnung, etwa ein Scan, wird nicht umgewandelt. Sie landet in
fehler\.