Der XÖV-Standard definiert unter anderem die XRechnung. An ihn muss sich fast jeder Dienstleister halten, der mit der öffentlichen Hand Geschäfte machen will. Dank der KDE-Software Kraft gibt es jetzt auch eine Open-Source-Implementierung.
Wohl die wenigsten Deutschen – und das gilt auch für Linux- und Open-Source-Entwickler – kennen den Begriff XÖV (“XML in der öffentlichen Verwaltung” [1]) oder gar das “Handbuch zur Entwicklung XÖV-konformer Standards” [2]. Dabei definiert das XÖV-Rahmenwerk gleich eine ganze Sammlung von “Standards für den elektronischen Datenaustausch der öffentlichen Verwaltung auf der Basis von Nachrichten in XML-Syntax und zugehörigen Codelisten und Prozessen”, weiß sogar die Wikipedia [3]. Die XÖV-Standards werden seit 2010 föderal erarbeitetet und seit 2011 von der Koordinierungsstelle für IT-Standards (KoSIT) betreut.
Der XÖV-Standard
Das vorbildliche XÖV-Handbuch liegt bereits einige Zeit vor. Die aktuell gültige Version 3.0.1 vom 2. Mai 2023 beschreibt auf über 100 Seiten in meist gut verständlichem Behördendeutsch die verwaltungstechnischen Leitplanken des XÖV-Standards. Das Handbuch richtet sich an alle Fach- und Führungskräfte, die Vorhaben zur Entwicklung von Datenübertragungsstandards in der öffentlichen Verwaltung begleiten, bearbeiten oder verantworten. Es gliedert sich in zwei Teile. Der erste ist als Orientierungshilfe für Institutionen und Behörden gedacht, die an Standardisierungsvorhaben beteiligt sind. Der zweite soll “den mit der Entwicklung, Umsetzung oder dem Betrieb eines Standards betrauten Mitarbeiterinnen und Mitarbeitern von Behörden und Dienstleistern als Leitfaden zur Produktion von XÖV-konformen Standards dienen”. Zudem will er “Herstellern von IT-Verfahren eine Hilfestellung bei der Umsetzung von XÖV-basierten Schnittstellen sein”.
Die XRechnung wurde am 22. Juni 2017 in der 23. Sitzung des IT-Planungsrats für Bund und Länder in der Version 1.0 beschlossen. Mit dem Standard konkretisiert Deutschland die europäische Norm für die elektronische Rechnungsstellung EN-16931 und setzt damit maßgeblich die Richtlinie 2014/55/EU des Europäischen Parlaments und Rats um. Mit der Einführung der XRechnung in der öffentlichen Verwaltung können elektronische Rechnungen seit April 2020 bundesweit einheitlich nach diesem Standard an öffentliche Auftraggeber gesendet werden.
Die Methoden und Produkte des XÖV-Standardisierungsrahmens sowie die auf Basis des Rahmenwerks entwickelten XÖV-Standards nutzen die in Abbildung 1 dargestellten Normen, Standards und Anwendungen. Letztere reichen von UML über zahlreiche XML-Formate bis hin zu Docbook und WSDL. Es lohnt sich vor allem, die Einleitung zu lesen. In ihr besprechen die Autoren des Handbuchs sowohl die Natur des Standards als auch dessen Entstehung und Umsetzung. Abbildung 2 zeigt den methodischen Ansatz.

Abbildung 2: Von der Anforderung zum Standard: Das Handbuch definiert und erklärt die Methodik der XÖV.
Die XRechnung
Einer der in der XÖV geforderten Standards ist die XRechnung. Die ist seit Januar auf dem Portal XStandards Einkauf [4] zu Hause; eine umfangreiche FAQ [5] des Bundesministeriums des Innern und für Heimat (BMI) lohnt sich als Einstieg für Betroffene. Das sind zunächst alle Unternehmen, die mit staatlichen Behörden Geld verdienen, also Rechnungen stellen. Meist kommt dafür eines der in der FAQ vorgestellten Portale zum Einsatz.
Das BMI erklärt dazu: “Eine E-Rechnung stellt Rechnungsinhalte – anstelle auf Papier oder in einer Bilddatei wie zum Beispiel als PDF – in einem strukturierten, maschinenlesbaren XML-Datensatz dar. Dies gewährleistet, dass Informationen, die in dieser Form vom Rechnungssteller ausgestellt werden, elektronisch übermittelt und empfangen, sowie medienbruchfrei und automatisiert weiterverarbeitet und zur Auszahlung gebracht werden können.” Seit dem August 2023 “ist grundsätzlich für die Übermittlung elektronischer Rechnungen an die Rechnungseingangsplattformen ZRE und OZG-RE das Profil 2.3.1 XRechnung zu verwenden.” [6]
“Grundlage für die Einreichung von E-Rechnungen an die Rechnungsempfänger ist der Standard XRechnung in der jeweils aktuell gültigen Version”, schreibt das BMI, und verweist auf die Webseite der KoSIT [7]. Auf der musste man zu Redaktionsschluss allerdings ein wenig herunterscrollen, um zu den aktuellen Dokumenten zu kommen. Ebenfalls interessant für Neueinsteiger sind die Informationen aus dem Bereich XÖV | Ziele und Nutzen der KoSIT-Seite. Hier listet die Koordinierungsstelle auf, welche Vorteile das Verfahren sowohl für Behörden als auch Firmen bringt.
Komplexität reduzieren
Trotz des Wandels, den die KoSIT sieht, blieb “eine übergreifende Vernetzung von Verfahren oder die gemeinsame Nutzung von Schnittstellen und Komponenten in der Regel aus. Dadurch wurde Bietern der Zugang zu öffentlichen Ausschreibungen erschwert.”
Hier setzt das Vorhaben XStandards Einkauf an, das einen erleichterten Zugang zu den uneinheitlichen Infrastrukturen und Anwendungen von Bund, Ländern und Kommunen anstrebt. Das soll über einheitliche Konzepte zum automatisierten Datenaustausch erfolgen, die “die Anforderungen an Schnittstellen und technologische Vielfalt reduzieren” – willkommen bei der XRechnung. Die Standardisierung soll als Grundlage für durchgängige, elektronisch unterstützte und medienbruchfreie Prozesse auf allen föderalen Ebenen “leistungsübergreifend eine zuverlässige und sichere Kommunikationsinfrastruktur für alle Beteiligten im öffentlichen Einkaufs- und Beschaffungsprozess schaffen”.
Damit das gelingt, sind in der Regel Metadaten notwendig. Ein PDF einer Rechnung lässt sich beispielsweise durch XML-Tags erweitern, in denen alle relevanten Daten der Rechnung stehen. Codelisten im XÖV-Handbuch (Kapitel 8 ab Seite 60) zeigen Fachmodelle, Datentypen und vieles mehr. Hier ist Sorgfalt geboten, da sich noch einiges in Arbeit befindet. Ebenfalls unter Federführung der KoSIT entsteht gerade die Core Invoice Usage Specification (CIUS) XRechnung auf Basis des europäischen semantischen Datenmodells [8].
Wer jetzt noch nicht die Lust verloren hat, der sieht sich zusätzlich das XRepository [9] an (Abbildung 3): “Mit dem XRepository steht allen E-Government-Vorhaben eine verlässliche Drehscheibe zur Bereitstellung und zum Bezug XÖV-konformer Standards und Codelisten zur Verfügung. Die Plattform wird im Auftrag des IT-Planungsrats durch die Koordinierungsstelle für IT-Standards (KoSIT) betrieben”, heißt es dort.
Software-Implementierung
Es lag sicher nicht am Namen, dass das Konzept von ZUGFeRD außerhalb von Behörden und deren IT weitgehend unbekannt blieb. FeRD steht als Akronym für das “Forum elektronische Rechnung Deutschland”, bei ZUG handelt es sich um dessen “Zentralen User Guide” (Abbildung 4).

Abbildung 4: ZUGFeRD stellt ein Datenformat für die XRechnung bereit, das Unternehmen und Anwender implementieren können und viele proprietäre Produkte nutzt.
Das ZUGFeRD-Datenformat basiert auf der Richtlinie 2014/55/EU vom 16. April 2014 über die elektronische Rechnungsstellung bei öffentlichen Aufträgen und auf der am 28. Juni 2017 veröffentlichten Norm EN16931. Zudem werden die Cross Industry Invoice (CII) von UN/CEFACT und die ISO-Norm 19005-3:2012 (PDF/A-3) ab ZUGFeRD 2.0 berücksichtigt. Das geschieht in einem hybriden Format, bei dem PDF-Daten für die Ansicht und XML-Daten zur Weiterverarbeitung dienen.
Allerdings handelt es sich bei ZUGFeRD lediglich um “eine Art Übersetzung der europäischen rechtlichen Anforderungen (EU-Richtlinie 2014/55/EU, Europäische Norm 16931)”, nicht um eine Anwendungssoftware. Der Standard müsse noch in “unternehmenseigene Software implementiert werden”, so das FeRD. “Die Einbindung kann z. B. über Standardsoftwaresysteme (ERP- oder EDI-Systeme) erfolgen.” Oder “hauseigene IT-Abteilungen binden ZUGFeRD in ihre Individualsoftware ein”. Viele Buchhaltungs- und ERP-Softwaresysteme unterstützen ZUGFeRD bereits. Das Problem dabei: Es handelt sich meist um proprietäre Software oder Erweiterungen beziehungsweise individuelle Entwicklungen. Eine Open-Source-Implementierung fehlte bisher – sowohl zum Lesen als auch zum Schreiben einer XRechnung.
Obendrein haben die meisten Unternehmen als Anwender von XRechnung von all den oben beschriebenen Hintergründen keine Ahnung. Sie kaufen in der Regel Software zur Rechnungslegung und vertrauen ihr dann blind.” Die Übertragung der Rechnung an Behörden erfolgt beispielsweise via E-Mail, oder man benutzt einen Online-Generator für XRechnung, beispielsweise bei der Telekom, und akzeptiert die Dateiübertragung über deren Cloud. Wer dagegen an einer E-Vergabe teilnimmt, hat die Ausschreibungsvorlagen bereits digital vorliegen und kann sie für die Integration in die spätere Rechnung verwenden.
Wie immer stellt sich jedoch beim Zugriff auf proprietäre Software oder Clouds von Drittherstellern die Frage, ob sich das System datenschutz- und rechtskonform einsetzen lässt und ob die Firma das damit einhergehende Risiko eingehen will und darf. All diese Probleme lösen sich naturgemäß beim Einsatz von Open-Source-Software im eigenen Rechenzentrum in Wohlgefallen auf – und dazu tendieren mehr und mehr Behörden. Nur wer die Cloud der Hyperscaler verlässt, hat die Datenhoheit und damit auch die Rechtssicherheit vollständig in eigener Hand.
Kraft
Klaas Freitag, Open-Source-Urgestein, früher Manager bei Suse und heute Entwicklungsleiter und CTO bei Owncloud, entwickelt in seiner Freizeit gern Software. Seit über einem Jahrzehnt gehört das Programm Kraft zu seinen “Hobbys” und wird auch in einigen Firmen erfolgreich genutzt [10]. Seit diesem Jahr kann das kleine Tool auch eine XRechnung erzeugen und mit einem eigenen Viewer anzeigen.
Freitag scherzt: “Die XRechnung ist für Kraft nur ein Ausgabeformat, für viele Behörden allerdings immer noch ein Ausdruckformat.” Auch Administratoren in Behörden pflegen notgedrungen einen analogen, tiefgründigen Humor, der sich in Begriffen wie “digitalanalog”, “Digitalersatz” oder gar “papierersatzähnlich” ausdrückt. Ungeachtet der teilweisen Resignation in den Amtsstuben zeigt Kraft, wie schnell es manchmal gehen kann, wenn die richtigen Open-Source-Menschen zusammenkommen.
Dieses Jahr trafen sich Administratoren einer bayerischen Kleinstadt, Kraft-Entwickler Freitag und Linuxhotel-Chef Ingo Wichmann zu einem Austausch über die XRechnung. Dabei konnten die drei Seiten ihre Bedürfnisse, Wünsche und Einsichten austauschen, und Freitag legte los. Das Linuxhotel stellte dabei fast schon den Prototyp des Open-Source-affinen Kunden dar. Da ärgerte sich Wichmann: “Wir schreiben hier häufiger Rechnungen für öffentliche Auftraggeber – und müssen bei der Einreichung dieser Rechnungen gefühlt durch brennende Reifen springen. So wie ich das verstehe, könnte das einfacher gehen. Wenn mir Kraft bei dem Problem hilft, dann würde ich das gern in unser Rechnungsprogramm einbauen.” Freitag konterte prompt: “Kraft ist ja gewissermaßen selbst eine Art Rechnungsprogramm – insofern ist das einfach nur ein Export der Rechnungsdaten in dieses spezielle XML-Format. Das sehe ich mir an!”. Wenige Wochen später fand sich der passende Code im Kraft-Repository [11] auf Codeberg.
Ein einfaches »zypper in kraft« holt unter Suse Enterprise Linux oder OpenSuse Kraft 1.0 auf den lokalen Rechner (Abbildung 5). Die Abhängigkeiten beschränken sich auf wenige Python-Bibliotheken und die Libctemplate [12]. Nach dem Start gibt es ein Willkommensfenster, das den Start eines Einrichtungsassistenten anbietet. Der Wizard führt durch die initiale Konfiguration samt Datenbankerstellung und übernimmt auch ein gegebenenfalls notwendiges Schema-Update oder den Import von Kontaktdaten der eigenen Firma.

Abbildung 5: Kraft ist schnell installiert und bringt einen Setup-Wizard mit, hier beispielsweise auf OpenSuse Tumbleweed.
Das Kraft-Projekt startete 2004, weil der Bruder von Entwickler Freitag eine Software zur Rechnungslegung und Buchhaltung für seine Firma brauchte. Freitag konstatierte, es gäbe keine “einfache, praxistaugliche und nützliche Software, die Leuten, die sonst nicht mit Computern rumnerden, ein Problem löst”, schon gar nicht in Open Source, und legte los. Nach einer kleineren Pause gab es ab 2018 kontinuierlich Updates und neue Features. Mittlerweile sind Freitag mindestens 10 Firmen bekannt, die sich auf Kraft verlassen.
Kraft kann mit Vorlagen arbeiten, unterstützt diverse Ausgabeformate und Workflows sowie Timelines. Es integriert das KDE- oder andere Adressbücher (Google, Owncloud/Nextcloud) und konzentriert sich auf Anwenderfreundlichkeit, nicht auf Features wie eine DATEV-Anbindung. Dokumente wie Rechnungen, Angebote und Kostenaufstellungen erstellt der Anwender in einem simplen Interface, wo er Posten, Kosten und Kunden kombiniert. Die legt Kraft in einem Rechnungslegungsprozess ab, sodass sie sich auch später noch ändern lassen, wenn beispielsweise ein Angebot neu erstellt werden soll.
Die Anwendung berechnet Kosten selbstständig aus den gelisteten Posten. Sie erlaubt es, einen strukturierten Katalog aus Vorlagen aufzubauen, etwa für typische Projekte, die Material, Arbeitszeit und andere Faktoren beinhalten, aber immer wieder berechnet werden. Außerdem unterstützt Kraft individuelle Rechnungsnummern, deren Format der Anwender beliebig anpasst. Außerdem lässt sich das eigene Logo in die Rechnungen einbringen, und man kann diverse Methoden des E-Mail-Versands auswählen. Größter Wunsch der Entwickler ist es, die offensichtlich noch recht kleine Community zu vergrößern und Contributions anzuregen.
XRechnung in Kraft
In Version 0.98 integrierte Kraft die XRechnung als Ausgabeformat und wurde so zum ersten Open-Source-Werkzeug, das diesen Standard unterstützt [13].
Außerdem stellte der Entwickler Klaas Freitag mit XRView einen Viewer zur Verfügung, der XML-Dokumente im XRechnung-Standard rendert und mithilfe der offiziellen XSL-Style-Sheets der KoSIT darstellt. Konfiguration und Bedienung fallen leicht, ein simples »xrview XML-Datei« startet eine Anzeige wie in Abbildung 6. Das erfordert nicht mehr als ein paar Downloads vorab und das Anlegen einer Konfigurationsdatei. Mehr Informationen dazu finden sich im Readme des Codeberg-Repositories.
Bedürfnisse
Als auf Vermittlung des Linux-Magazin-Autors einige Behörden-Admins von Kraft Wind bekamen, hatten sie naturgemäß gleich ein paar eigene Ideen, Fragen und Anforderungen oder Wünsche. Dazu zählen etwa eine Integration in Fachanwendungen oder ein Aufruf der XRechnung über den eigenen Webservice inklusive Visualisierung von QA-Verstößen (beispielsweise bei fehlenden Metadaten). Im zentralen Rechnungseingang bräuchte es die Übertragung von Papier-Scans in XRechnung samt Anreicherung mit Metadaten aus einem Scan. Alles das sollte am besten den Weg auf eine Roadmap finden, mit dem Ziel, das Projekt offiziell vorstellen zu können; inklusive Finanzierungsmöglichkeiten, Governance und Demo (auch und gerade hinsichtlich von Ausschreibungen und so weiter).
Behörden müssen auf Themen wie Aktenpläne, Nachvollziehbarkeit, Prüfbarkeit und Transparenz achten. Damit nicht genug: Auch Aufbewahrungsfristen, Kollektionszugehörigkeiten, Versionierung, revisionssichere Dokumentation und Anwendungsunabhängigkeit spielen eine wichtige Rolle. Ähnliches gilt für die Gliederung der Organisation: Eventuell hat zwar der Bauhof eingekauft und kann die Korrektheit der Rechnung bestätigen, aber die Kämmerei oder Stadtkasse muss die Rechnung absegnen und bezahlen.
Kraft ist derzeit weit davon entfernt, derlei Workflows abzubilden, doch dank der Open-Source-Natur der Implementierung lässt sich der Code von Github schnell in die eigene (FOSS-)Softwarelösungen integrieren.
Details, Details
Und da wird es dann schnell kompliziert: Wer sich technisch tiefer mit der XRechnung auseinandersetzt, findet zwei Glaubensrichtungen: Soll sie visualisierungs- oder datenzentriert sein? Der Teufel steckt hier im Detail.
Für die meisten Kommunen reicht es aus, wenn eine XRechnung-Lösung Anforderungen beantworten kann, die sich um den Status einer Rechnung drehen, zum Beispiel:
- Gilt die Rechnung?
- Wann ging sie ein?
- Wurde sie bereits freigegeben?
- Wurde sie storniert?
- Gehört sie zu einer Kollektion, ist also Bestandteil eines Projekts?
- Wurde der zu zahlende Betrag bereits angewiesen?
- Wie hoch ist der Betrag?
- Welche Haushaltsstelle betrifft die Rechnung?
Die bayerische Kleinstadt Treuchtlingen nutzt beispielsweise XRView, um über MIME-Aufrufe und -Handler die Darstellung aus Fachanwendungen, Mailclients, Dateimanagern und anderen Freedesktop.org-kompatiblen Anwendungen zu ermöglichen. Neben der Darstellung der Schlüssel/Wert-Paare können Benutzer so auch den aktuellen Bearbeitungszustand und die Legitimation zur Prüfung anzeigen lassen.
Künftige Implementierung
Ein Vorteil gegenüber kommerziellen Systemen kann aber nur entstehen, wenn Viewer, prozessfortschreibende Tasks und Persistenz-Layer aufeinander abgestimmt werden und durch direkte Adressierung alle beteiligten und unbeteiligten Prozesse denselben Echtzeitzustand als Ergebnis bekommen. Freilich wäre es denkbar, Teile dieser Architektur mit proprietären Anwendungen zu mischen. Die Struktur gewönne sogar deutlich an Mehrwert, würde sie in die elektronische Beschaffungsstrategie einer öffentlichen Verwaltung eingehen. Dafür bräuchte es eigentlich nur eine Referenzimplementierung, die die Machbarkeit einer kompletten Pipeline demonstriert.
Technisch wünschen sich Admins für die XRechnung einen Editor und Viewer, der es erlaubt, alle Optionen per Kommandozeile zu triggern. Mit so einem Kommandozeilenwerkzeug wären erweiterte, aber wichtige Funktionen denkbar. Das reicht vom Festhalten von Aktionen in einer Nachrichtenschlange (Nachweispflicht) und dem Auswerten einer Dateiprüfsumme (Rechtssicherheit) über eine Key/Value-API-Funktion und das Validieren einer XRechnung bis hin zu Kommentarfunktionen, dem Lesen digitaler Signaturen und der Interpretation des PDF-Anteils (etwa zur Plausibilitätsprüfung).
Neben all den technischen Features sollten die Entwickler aber auch organisatorische Probleme von technischen trennen, so ein Feedback aus Behörden. Die organisatorischen Vorgaben werden bleiben, aber vielleicht kann die Technik helfen, Optimierungen einzubringen. Sollbruchstellen in den Prozessen umfassen da vermutlich Fragen rund um die formale (Form, Adressat, Absender, Rechnungsnummer, Steuer-ID …) und funktionale (Zahlungsziel, Steuer, Zeichen, Kollektionszugehörigkeit …) Rechnungsprüfung. Hinzu kommen eine inhaltliche Prüfung (Beschreibung des Rechnungswerts, Abgleich, Auftrag, Budgetzuweisung …) und der eigentliche Rechnungslauf (Ausreizen des Zahlungsziels, Unterschriften, Akzeptanz der Rechnungsprüfungen …).
Kraftvoll weiter!
Auch wenn noch viel zu tun bleibt: Die erste Implementierung der XRechnung in einer Open-Source-Library ist ein großer und wichtiger Schritt, auch wenn die softwaretechnische Entwicklung dahinter nicht umfangreich anmutet. Das Potenzial ist da, jetzt wäre der Aufbau einer Community gefragt.
Das Konzept XRechnung hat unabhängig davon schon jetzt große Bedeutung. Das zeigt unter anderem das Beispiel der Deutschen Bahn, die nur noch XRechnung als Rechnungsformat annimmt [14]. Auch im behördeninternen Zahlungsverkehr kann die XRechnung noch vieles vereinfachen und effizienter machen, wenn etwa verschiedene Kostenträger miteinander abrechnen.
Die derzeit an vielen Stellen in der Kommunikation mit Firmen und Dienstleistern gebräuchlichen Webservices genügen dabei den gesetzlichen Anforderungen eigentlich nicht. Beispielsweise können sie nicht nachweisen, dass Metadaten und Dateien nie getrennt voneinander verarbeitet wurden. Sie bleiben aber hilfreiche “Mogelpackungen”. Kraft kann als FOSS-Implementierung da weiterhelfen. (jcb/jlu)
Der Autor
Markus Feilner, selbstständiger Berater für Open-Source-Strategien, arbeitet seit 1994 mit Linux. Der ehemalige stellv. Chefredakteur des Linux-Magazins hat sich mit seiner Firma Feilner IT auf Dokumentation und die OSI-Layer 8, 9 und 10 spezialisiert.
Infos
- XÖV und KoSIT: https://www.xoev.de
- XÖV-Handbuch: https://www.xoev.de/sixcms/media.php/13/XOEV-Handbuch%203.0.1.pdf
- Wikipedia zu XÖV: https://de.wikipedia.org/wiki/X%C3%96V
- XStandards Einkauf: https://xeinkauf.de
- Behördenforum E-Rechnung: https://www.e-rechnung-bund.de/
- XRechnung Version 2.3.1 ab August 2023 verbindlich: https://www.e-rechnung-bund.de/neue-version-xrechnung-2-3-1/
- “XRechnung Versionen und Bundles”: https://xeinkauf.de/xrechnung/versionen-und-bundles/
- CIUS (Core Invoice Usage Specifications) and Extensions der EU: https://ec.europa.eu/digital-building-blocks/wikis/display/EINVCOMMUNITY/Registry+of+CIUS+%28Core+Invoice+Usage+Specifications%29+and+Extensions
- XRepository: https://www.xrepository.de/
- Kraft: https://volle-kraft-voraus.de/
- XRechnung-Repo für Kraft auf Codeberg: https://codeberg.org/dragotin/xrechnung
- “Essential Craft”:https://www.linux-magazine.com/Issues/2019/221/Kraft
- Blogpost zur Kraft-Version 0.98: https://dragotin.codeberg.page/posts/kraft-version-0-98/
- Deutsche Bahn setzt auf XRechnung: https://lieferanten.deutschebahn.com/lieferanten/Bestandslieferanten/Rechnungsstellung/Qualitaetsanforderungen-an-Rechnungen-8161042








