Für den E-Rechnungseingang öffentlicher Auftraggeber
Viele Dokumentenmanagementsysteme zeigen reine XML-Rechnungen nicht als Rechnung an. Der XRechnungLeser setzt jede eingehende E-Rechnung nach der amtlichen KoSIT-Darstellung als PDF/A-3b, bettet die Original-XML unverändert ein und hängt den Prüfbericht des KoSIT-Validators an.
XRechnung 3.0.2 · UBL · CII · ZUGFeRD · Windows und Linux
// 01
Eine Datei, die das DMS wie jede andere PDF anzeigt, durchsucht und archiviert. Die elektronische Rechnung geht dabei nicht verloren: Sie liegt bytegenau in der PDF.
Die Darstellung stammt unverändert aus der XRechnung-Visualisierung der KoSIT. Käufer, Verkäufer, Beträge, Zahlungsdaten und Positionen stehen dort, wo Sachbearbeiter sie aus anderen Viewern kennen.
Die Rechnung liegt als xrechnung.xml in der PDF. Ihre SHA-256-Prüfsumme steht im Prüfvermerk, sodass sich jederzeit nachweisen lässt, dass nichts verändert wurde.
Der KoSIT-Validator prüft gegen XRechnung 3.0.2 und EN 16931. Das Urteil steht auf der letzten Seite, der vollständige Bericht als pruefbericht-kosit.xml im Anhang.
Dateien, die der Rechnungssteller mitschickt (BT-125), etwa Leistungsnachweise, bleiben als eigene Anhänge erhalten und lassen sich im PDF-Reader öffnen.
// 02
Darstellung und Prüfung laufen gleichzeitig. Am Ende steht genau eine Datei im Ausgangsordner, erst wenn sie vollständig geschrieben ist.
ErkennenUBL Invoice, UBL CreditNote und CII werden am Wurzelelement erkannt, aus ZUGFeRD- und Factur-X-PDFs wird die XML herausgelöst. Dateien mit DOCTYPE werden abgelehnt.
Darstellen und prüfenSaxon-HE übersetzt die Rechnung mit den KoSIT-Stylesheets in ein Satzformat. Parallel prüft der KoSIT-Validator die Rechnung.
SetzenApache FOP schreibt die PDF im Modus PDF/A-3b mit eingebetteter Schrift und ohne Ligaturen, damit die Volltextsuche des DMS jedes Wort findet.
// 03
Beide Seiten hat der XRechnungLeser aus Beispielrechnungen der offiziellen KoSIT-Testsuite erzeugt. Die Platzhalter wie „[Seller name]“ stammen aus der Testsuite.


| Prüfvermerk | Bedeutung | Rückgabewert |
|---|---|---|
| gültig | Die Rechnung erfüllt alle Regeln von XRechnung 3.0.2 bzw. EN 16931. | 0 |
| nicht gültig | Mindestens eine Regel ist verletzt. Die PDF entsteht trotzdem, mit den Fehlern im Klartext, damit die Rechnung begründet zurückgewiesen werden kann. | 2 |
| nicht geprüft | Für das Format gibt es kein Prüfszenario, etwa ZUGFeRD EXTENDED, oder die Prüfung ist abgeschaltet. | 0 |
// 04
Der Leser beobachtet einen Eingangsordner und legt jede fertige PDF in den Ordner, den das DMS einliest. Gelöscht wird nichts.
--ungueltige ORDNER legt PDFs abgelehnter Rechnungen getrennt ab.--metadaten schreibt Rechnungsnummer, Datum, Rechnungssteller, Leitweg-ID, Beträge und IBAN als JSON neben jede PDF.--einmal verarbeitet einen Durchgang und endet, für die Windows-Aufgabenplanung.xrechnung-leser.cmd selbsttestXRechnungLeser 1.0.0Java: C:\…\jdk-17\bin\java.exe (Version 17)Validator: vorhandenBereit. xrechnung-leser.cmd umwandeln *.xml -a fuer-DMSGÜLTIG 01.01a-INVOICE_ubl.xml -> fuer-DMS\2016-04-04_[Seller-name]_123456XX.pdfNICHT GÜLTIG wrong-date-with-text-uncefact.xml -> fuer-DMS\[Seller-name]_123456XX.pdf CII-DT-097: Date time string with format attribute 102 shall be YYYYMMDD.
// 05
Der Einzeiler lädt das Paket, installiert die zwei Python-Abhängigkeiten und führt den Selbsttest aus. Java installiert er nicht selbst, er nennt den passenden Befehl.
SHA-256: 4ff79216c91cc7011f52aa9810b728a8c585466f57d5d16152bf0a9c52eada22
Windows (PowerShell)
irm https://downloads.c3po42.de/xrechnung-leser/install.ps1 | iexLinux
curl -fsSL https://downloads.c3po42.de/xrechnung-leser/install.sh | bashRechtlich maßgeblich bleibt die elektronische Rechnung selbst. Die PDF ist ihre Sichtfassung und enthält sie unverändert.
Benutzerhandbuch · Technische Beschreibung (Markdown) · version.json
// 06
Die Dokumente der KoSIT, nach denen der XRechnungLeser darstellt und prüft. Unverändert weitergegeben und bytegleich mit dem offiziellen Bundle vom 31.08.2026.
| Dokument | Fassung | Umfang | Original |
|---|---|---|---|
| Spezifikation XRechnung 3.0.2SHA-256 2e10f3330e79bcd34a4084f2cb3e40e5011403f5df02eb6ecbfb9a5a70658220 | 20.06.2024 | 129 S. · 5,1 MB | xeinkauf.de |
| Syntax Binding UBL 2.1, Extension XRechnungSHA-256 316f2eee57d6134c0a846633b226e2c9e5a26ca655a5cd39accd9d252f1a2b15 | 20.06.2024 | 10 S. · 129 KB | xeinkauf.de |
| English Summary XRechnung 3.0.2SHA-256 09bb943f972d7d01048fcf8b899ab4a5544dacad30c5e92e35d66a850df26931 | 20.06.2024 | 16 S. · 472 KB | xeinkauf.de |
In Kraft seit 01.02.2024, laut KoSIT mindestens bis 31.07.2027. Die im September 2026 veröffentlichte Vorversion 4.0 ist nicht für den produktiven Einsatz bestimmt, die endgültige Fassung ist für Frühjahr 2027 angekündigt.
Schematron 2.6.0, Validator-Konfiguration, Visualisierung und Testsuite im Stand vom 31.08.2026 stellt die KoSIT als Bundle bereit (rund 60 MB): Bundle bei der KoSIT.
Das Datenmodell EN 16931-1 und die Syntaxliste CEN/TS 16931-2 gibt es unentgeltlich über das DIN. Die Urheberrechte liegen beim CEN, deshalb hier nur der Weg dorthin: Bezug der Norm (EU-Kommission).
„Die Vervielfältigung ist durch die Genehmigung von CEN und DIN als urheberrechtstragende Institutionen gestattet.“ (Spezifikation XRechnung 3.0.2, S. 3). Herausgeber: Koordinierungsstelle für IT-Standards (KoSIT), xeinkauf.de.
// 07
Darstellung und Prüfung stammen aus den Referenzwerkzeugen der KoSIT. Alle Bausteine liegen im Paket, nichts wird zur Laufzeit nachgeladen.
Zum Beispiel zur Anbindung an Ihren Importordner oder zu den Indexfeldern Ihres DMS.