ZUGFeRD statt Cloud-Abo: E-Rechnungen mit Open Source
Mit Januar 2025 wurde die E-Rechnung grundsätzlich im B2B-Bereich eingeführt. Dabei können XRechnungen und ZUGFeRD-Rechnungen eingesetzt werden. Auf Bundesebene gilt seit November 2020 bereits die Nutzung von elektronischen Rechnungen insbesondere die XRechnung.
Doch was sind XRechnungen und ZUGFeRD-Rechnungen? Bislang werden immer noch Rechnungen als PDF-Dateien akzeptiert. Aber strenggenommen sind PDF-Dateien ein spezielles Dokumentenformat, die von Menschen lesbar sind und für die Akten ausgedruckt werden können. Sollen jetzt die Daten durch Software lesbar und überprüfbar werden, müsste man zuerst das Bild mittels OCR scannen und in Text umwandeln. Damit hätte man aber nur einen Zeichensalat, noch lange keine Struktur der zu betrachtenden Zahlen.
Das aber liefert exakt eine entsprechend definierte XML-Datei.
Während jetzt ZUGFeRD (Zentraler User Guide des Forums elektronische Rechnung Deutschland) eine für Menschen lesbare PDF-Datei darstellt, die eine XML-Datei mit den Rechnungsinhalten enthält, ist die XRechnung nur eine speziell definierte XML-Datei mit eben diesen Rechnungsinhalten.
Wesentliche Vorteile sind
- Automatisierung:
Die Rechnungsdaten können maschinell eingelesen und verarbeitet werden. - Weniger Erfassungsfehler:
Keine manuelle Übertragung von Rechnungsdaten nötig. - Schnellere Verarbeitung:
Prüfung, Buchung und Zahlungsprozesse können automatisiert werden. - Rechtliche/geschäftliche Anforderungen:
Für Rechnungen an öffentliche Auftraggeber ist die XRechnung in vielen Fällen der maßgebliche Standard. - B2B-E-Rechnung:
Für Unternehmen wird die strukturierte elektronische Rechnungsstellung zunehmend relevant. - Nachweisbare Datenstruktur:
Beträge, Steuerdaten, Rechnungsnummer, Positionen usw. liegen eindeutig strukturiert vor. - ZUGFeRD:
Kombination aus lesbarem PDF und maschinenlesbarem XML. Das ist praktisch, wenn Menschen weiterhin mit dem PDF arbeiten sollen. - XRechnung:
XML ohne PDF-Abhängigkeit und das wird sinnvoll, wenn eine vollständig automatisierte Verarbeitung im Vordergrund steht.
Mit dem Aufkommen der Pflicht zur elektronischen Rechnung begann in den Medien die unsägliche Werbung einschlägiger Software-Unternehmen für ihre Lösungen zu dem Thema der elektronischen Rechnungen. Damit treten allerdings auch Probleme auf. Es mag sein, dass das für Viele irrelevant erscheint. Aber Erstens richten sich viele kommmerzielle Softwarelösungen primär an aktuelle Windows- und MacOS-Versionen, werden aber nicht für Linux-Systeme angeboten. Zweitens wird bei den Anbietern von Cloud-Lösungen für die Erstellung von elektronischen Rechnungen ein Online-Account erwartet plus der Upload eben der eigenen Geschäftsdaten. Das muss man sich mal auf der Zunge zergehen lassen:
Ein externes Unternehmen, soll ähnlich wie die eigene Steuerberaterin Einsicht in die Geschäftsdaten, Kundenkontakte und Bankverbindungen erhalten.
Den Steuerberater hatte man sich einmal gewissenhaft ausgesucht, bei dem Anbieter der eRechnungslösung ist das so nicht so leicht möglich. Zudem man hat seine eigenen Rechnungsvorlagen mit eigenem Logo, das wird schwierig umzusetzen und sowieso wollen diese Anbieter ihre Abos verkaufen.
Das Umsetzen einer eigenen Lösung zur Umstellung einer eRechnung war dann doch bei den unendlichen vielen Richtlinien zur Spezifikation einer eRechnung nicht realisierbar.
Aber mit dem Mustangproject auf https://www.mustangproject.org existiert bereits ein solches OpenSource Projekt, bei dem viele Entwickler genau diese Arbeit für die Erstellung von xsd-Schema und xml-Dateien inklusive Validator und PDF-Generator geleistet haben.
Für die eigenen Zwecke fehlt nur ein kleines Frontend-Programm für die Bash-Shell, das die generierte Rechnungs-PDF aufgreift und mit den interaktiv übergebenen Rechnungsdaten eine valide ZUGFeRD-Rechnung als PDF-Datei erstellt, der man auch noch zusätzlich Anhänge wie zum Beispiel einen Leistungsnachweis hinzufügen kann.
Sicher, die GUI-Fetischisten kommen hier nicht zum Zug, aber es geht im Prinzip darum, funktionell mittels eines Befehls in der Shell kurz die ZUGFeRD-Rechnungen zum Versand an die Kunden bereit zustellen.
Zu dem OpenSource Programm geht es hier https://github.com/itlinuxmaker/zugferd-xml.
