Elektronische Rechnungen auf Basis von .NET – Teil 1
Elektronische Rechnungen auf Basis von .NET – Teil 1
Eine Buchhaltungssoftware kann bekannterweise automatisiert Rechnungen erstellen. Das geht aber auch mit Code, insbesondere seit Anfang 2025, denn Firmen müssen bestimmte XML-Dateiformate unterstützen. Wir sehen uns Hintergründe und Umsetzungsoptionen an.
Obwohl bürokratische Anforderungen schon frühzeitig ihre Schatten werfen, kommen etwaige Fristen oder Stichtage für manche dennoch überraschend, was schließlich Panik und Zeitdruck auslöst. Genau das trat bei der Einführung der Datenschutz-Grundverordnung (DSGVO) im Mai 2018 ein: Seit Jahren stand der Termin fest, spätestens Anfang Mai erreichte die Panik einen Höhepunkt und die Anzahl der Anfragen stieg. Und so ähnlich sah es auch beim Thema E-Rechnung aus – in einigen bestimmten Bereichen ist diese nämlich seit 2025 Pflicht.
Dieser Artikel soll und kann natürlich keine juristische Beratung darstellen. Trotzdem möchten wir die gesetzlichen Grundlagen kurz erläutern, sodass Sie selbst einschätzen können, in welchen Szenarien das Thema für Sie relevant sein könnte. Nach den Grundlagen geht es dann ans Eingemachte, also an den Code. Wir erstellen selbst elektronische Rechnungen auf Basis von .NET und mit Hilfe von Code via NuGet.
Ich erinnere mich noch mit Grauen an Diskussionen mit dem damals zuständigen Finanzamt bezüglich elektronischer Rechnungen. Für den Vorsteuerabzug war bei Rechnungs-PDFs beispielsweise eine Signatur erforderlich – das war technisch möglich, aber in der Praxis kaum gebräuchlich. Im Jahre 2011 hat sich das zum Glück geändert und zwar mit dem „Steuervereinfachungsgesetz 2011" [1] (Abb. 1).
Abb. 1: Ganz schön viel Vereinfachung, oder?
In Artikel 5 dieses Gesetzes geht es qua Überschrift um die „Änderung des Umsatzsteuergesetzes". Für dieses wird unter anderem folgender Satz verwendet: „Rechnungen sind auf Papier oder vorbehaltlich der Zustimmung des Empfängers elektronisch zu übermitteln. Eine elektronische Rechnung ist eine Rechnung, die in einem elektronischen Format ausgestellt und empfangen wird."
Das klingt ja schon einmal sehr positiv. Elektronische Rechnungen sind also Papierrechnungen gleichgestellt, der Vorsteuerabzug ist damit möglich und alle sind glücklich. Nun ja, leider nur in der Theorie, denn ein paar Sätze davon heißt es unter anderem: „Die Echtheit der Herkunft der Rechnung, die Unversehrtheit ihres Inhalts und ihre Lesbarkeit müssen gewährleistet werden. Echtheit der Herkunft bedeutet die Sicherheit der Identität des Rechnungsausstellers. Unversehrtheit des Inhalts bedeutet, dass die nach diesem Gesetz erforderlichen Angaben nicht geändert wurden. Jeder Unternehmer legt fest, in welcher Weise die Echtheit der Herkunft, die Unversehrtheit des Inhalts und die Lesbarkeit der Rechnung gewährleistet werden."
Das sorgte in der Praxis für gewisse Unsicherheit. Die Sicherstellung der Identität des Rechnungsausstellers und auch, dass die Rechnung nicht nachträglich verändert worden ist, sind eigentlich klassische Einsatzzwecke für eine elektronische Signatur; durch das Steuervereinfachungsgesetz wäre also – an dieser Stelle – nichts gewonnen worden. Und so gab es weiterhin zahlreiche Firmen, die alles auf Papier haben wollten. Es dauerte über zehn Jahre, bis sich so langsam die Bereitschaft zur Digitalisierung des Rechnungsverkehrs durchgesetzt hat. Oder lag es an den rapide steigenden Druckkosten zu Pandemiezeiten? Wie dem auch sei, elektronische Rechnungen sind heutzutage weithin akzeptiert und in breitem Einsatz – auch ohne Signatur. (Es sei dahingestellt, wie ernst die Unternehmen die oben erwähnten Prüfpflichten tatsächlich nehmen.)
Parallel zu der Akzeptanz von E-Rechnungen in der Praxis wurde an der theoretischen Standardisierung gearbeitet. Elektronische Rechnungsdokumente sind in der Regel schlicht PDFs, die von Hand in der Buchhaltung erfasst und beglichen werden. Da wäre es doch schön, wenn das alles anstelle von manuellem Eingriff oder OCR auch maschinell verarbeitbar wäre. Das United Nations Centre for Trade Facilitation and Electronic Business [2], eine Art internationale Handelsorganisation unter dem Dach der Vereinten Nationen, ist bereits für Standards wie beispielsweise das Datenaustauschformat EDIFACT [3] sowie dem XML-Dialekt zur Beschreibung von Geschäftsprozessen ebXML [4] bekannt. Im Bereich Rechnungswesen hat die Vereinigung CII entwickelt: Cross Industry Invoice. Ein Konkurrent dazu ist UBL, die Universal Business Language, entwickelt unter der Ägide der OASIS (Organization for the Advancement of Structured Information Standards) [5], einer Organisation die unter anderem OpenDocument und DocBook verantwortet.
Noch nicht verwirrt genug? Kein Problem! Im Jahr 2014 hat die Europäische Union eine Richtlinie herausgegeben: 2014/55/EU [6]. Auch hier geht es um elektronische Rechnungsstellung, aber „nur" bei der von öffentlichen Aufträgen. Der Clou: Sowohl CII als auch UBL werden als valide Formate für E-Rechnungen anerkannt. Für manche bedeutet das Flexibilität, für andere wiederum erhöhten Pflegeaufwand – Rechnungsempfänger müssen jetzt zwei unterschiedliche Formate verarbeiten können!
Verlassen wir kurz den Großraum Europa und konzentrieren uns auf Deutschland. Hier wurde in etwa zeitgleich zur EU-Richtlinie ein Standard für ein Datenformat für elektronische PDF(!)-Rechnungen veröffentlicht. Der Name ist ulkig aber dann doch irgendwie stereotypisch...