Elektronische Rechnungen gehören zur modernen Buchhaltung
Die Digitalisierung der Buchhaltung schreitet weiter voran. Elektronische Rechnungsformate sind dabei längst mehr als eine PDF-Datei, die per E-Mail verschickt wird.
Eine echte elektronische Rechnung enthält strukturierte Daten, die von Buchhaltungs- und ERP-Systemen automatisch verarbeitet werden können.
Mit unserem neuen Open-Source-Projekt für Odoo 19 Community möchten wir genau hier ansetzen.
Wir haben mehrere Erweiterungen entwickelt, die wir der Odoo Community kostenlos zur Verfügung stellen.
Das Projekt ist öffentlich auf GitHub verfügbar:
Odoo 19 Invoice E-Files auf GitHub
Unser Fokus liegt dabei insbesondere auf Österreich, aber ein Teil der Lösung ist auch für Unternehmen außerhalb Österreichs interessant.
Drei Module für elektronische Rechnungen
Das Projekt besteht aktuell aus drei wesentlichen Komponenten:
- ebInterface 6.1 für Österreich
- ZUGFeRD für elektronische Rechnungen
- automatische Übermittlung an e-Rechnung.gv.at
Damit verbinden wir unterschiedliche Anforderungen rund um elektronische Rechnungen in einem Open-Source-Projekt für Odoo 19 Community.
ebInterface 6.1 – das österreichische Rechnungsformat
Ein Schwerpunkt unserer Entwicklung ist ebInterface 6.1.
ebInterface ist das österreichische Standardformat für strukturierte elektronische Rechnungen.
Unser Modul
l10n_at_ebinterface
erzeugt aus einer Kundenrechnung bzw. Gutschrift in Odoo ein entsprechendes ebInterface-6.1-XML.
Dabei werden unter anderem die relevanten Informationen aus der Odoo-Rechnung in die XML-Struktur übertragen:
- Rechnungssteller
- Rechnungsempfänger
- Rechnungspositionen
- Steuern
- Zahlungsinformationen
- Bankverbindung
- Rechnungsdaten
Die erzeugte XML-Datei wird dabei direkt mit der Rechnung verknüpft.
Warum haben wir dafür ein eigenes Modul entwickelt?
Bei der Entwicklung haben wir festgestellt, dass für Odoo 19 Community derzeit kein entsprechendes Odoo-Core-Modul bzw. OCA-Modul für den österreichischen nativen ebInterface-Standard verfügbar ist.
Genau hier wollten wir ansetzen.
Statt eine österreichische Lösung nur für unsere eigene Installation zu entwickeln, haben wir sie als eigenständiges Open-Source-Modul umgesetzt.
Damit kann auch die restliche Odoo-Community davon profitieren.
ZUGFeRD automatisch mit jeder Rechnung
Der zweite Schwerpunkt unseres Projekts ist ZUGFeRD.
ZUGFeRD kombiniert eine PDF-Rechnung mit einer strukturierten XML-Rechnung.
Das Ergebnis ist eine sogenannte Hybridrechnung: Für den Menschen bleibt die Rechnung als PDF lesbar, während Software die enthaltenen strukturierten Rechnungsdaten automatisch auswerten kann.
Odoo 19 bringt grundsätzlich bereits Unterstützung für ZUGFeRD bzw. CII mit.
In der Praxis gibt es allerdings einige Einschränkungen.
Unser Modul
account_invoice_zugferd_ebinterface_auto
setzt deshalb genau hier an.
ZUGFeRD nicht mehr nur als Option
Wir wollten einen möglichst automatisierten Ablauf.
Bei einer versendeten Kundenrechnung wird deshalb nicht erst geprüft, ob der jeweilige Kunde individuell für ZUGFeRD konfiguriert wurde.
Stattdessen wird ZUGFeRD für Kundenrechnungen und Gutschriften automatisch verwendet.
Zusätzlich wird das erzeugte ebInterface-XML als Bestandteil der Rechnung mitgegeben.
Damit entsteht ein durchgängiger Prozess:
Odoo-Rechnung → PDF → strukturierte E-Rechnung → Versand
ohne dass der Anwender bei jeder Rechnung zusätzliche Schritte durchführen muss.
Wir schließen dabei auch Lücken in Odoo 19 Community
Bei der Umsetzung sind wir auf einige Besonderheiten in der Odoo-19-Implementierung gestoßen.
Unter anderem existieren Abhängigkeiten im CII-Exporter, die außerhalb bestimmter Länderinstallationen zu Problemen führen können.
Unser Modul behebt dabei mehrere dieser praktischen Einschränkungen.
Dazu gehören unter anderem:
- fehlende Felder für Deferred-Revenue-Zeiträume
- die länderspezifische Einschränkung der PDF/A-3-Konvertierung
- fehlende bzw. nicht gesetzte Bankverbindungen bei bestehenden Rechnungen
Damit soll ZUGFeRD auch für Unternehmen außerhalb der ursprünglich vorgesehenen Länder-Konstellationen zuverlässig eingesetzt werden können.
e-Rechnung.gv.at – direkte Übermittlung an den österreichischen Staat
Der dritte Bestandteil ist besonders für Unternehmen interessant, die Rechnungen an öffentliche Auftraggeber stellen.
Mit
l10n_at_erechnung_gv_at
kann eine ebInterface-Rechnung direkt an den österreichischen e-Rechnung.gv.at-Webservice übermittelt werden.
Damit wird aus der reinen Rechnungserstellung ein automatisierter elektronischer Rechnungsprozess.
Der Ablauf kann beispielsweise so aussehen:
Rechnung in Odoo erstellen
↓
ebInterface XML erzeugen
↓
Rechnung versenden
↓
ebInterface automatisch an e-Rechnung.gv.at übermitteln
Damit wird ein ansonsten manueller Prozess direkt in Odoo integriert.
Automatische Übermittlung nur für die benötigten Kunden
Die Übermittlung an e-Rechnung.gv.at wird nicht pauschal für jeden Kunden aktiviert.
Stattdessen kann sie beim jeweiligen österreichischen Kunden aktiviert werden.
Dafür werden die benötigten Angaben wie beispielsweise
- Lieferantennummer
- Einkäufergruppe / Filialnummer
- Auftragsreferenz
am Kunden hinterlegt.
Das Modul prüft dabei auch, ob die Voraussetzungen für eine Aktivierung erfüllt sind.
Test- und Produktivbetrieb
Für e-Rechnung.gv.at kann zwischen einer Test- und Produktivumgebung gewählt werden.
Die Zugangsdaten zum USP-Webservice werden in den Odoo-Einstellungen hinterlegt.
Damit lässt sich die Integration zunächst in einer Testumgebung vorbereiten, bevor sie für den produktiven Rechnungsversand eingesetzt wird.
Automatisierung statt zusätzlicher Arbeit
Unser Ziel war bei der Entwicklung nicht, dem Buchhalter weitere Knöpfe zu geben.
Im Gegenteil.
Die Idee ist:
Möglichst wenig manuelle Arbeit.
Eine Rechnung wird in Odoo erstellt.
Die benötigten strukturierten Formate werden automatisch erzeugt.
Beim Versand werden die entsprechenden Dateien automatisch angehängt.
Und bei entsprechend konfigurierten österreichischen Kunden kann die Rechnung zusätzlich automatisch an e-Rechnung.gv.at übermittelt werden.
Genau diese Automatisierung macht den Unterschied zwischen einem einfachen Datei-Export und einer wirklich integrierten E-Rechnungs-Lösung aus.
Datenqualität wird nicht einfach versteckt
Ein wichtiger Punkt unserer Implementierung ist allerdings auch:
Eine elektronische Rechnung kann nur so gut sein wie die Daten, aus denen sie erzeugt wird.
Deshalb versuchen wir nicht, fehlende Pflichtangaben stillschweigend mit irgendwelchen Werten zu ersetzen.
Wenn beispielsweise Pflichtinformationen für ZUGFeRD oder ebInterface fehlen, soll Odoo den Anwender darauf aufmerksam machen.
Dazu gehören beispielsweise:
- fehlendes Land beim Kunden
- fehlende Steuerinformationen auf Rechnungspositionen
- fehlende Bankverbindung
Das ist aus unserer Sicht besser, als eine formal erzeugte, aber inhaltlich falsche elektronische Rechnung zu verschicken.
Open Source für die Odoo Community
Auch dieses Projekt stellen wir kostenlos als Open Source zur Verfügung.
Warum?
Weil wir selbst von Open-Source-Software profitieren.
Odoo Community bietet eine hervorragende Grundlage für ERP, Buchhaltung und Unternehmensprozesse. Wenn uns bei der täglichen Arbeit eine Funktion fehlt, entwickeln wir sie.
Und wenn die Lösung auch für andere Unternehmen interessant sein kann, stellen wir sie der Community zur Verfügung.
Das ist für uns gelebter Open Source.
Österreichischer Fokus – aber nicht nur für Österreich
Das Projekt hat einen klaren österreichischen Schwerpunkt.
ebInterface und e-Rechnung.gv.at sind insbesondere für österreichische Unternehmen interessant.
Die ZUGFeRD-Unterstützung ist dagegen auch für Unternehmen außerhalb Österreichs relevant.
Damit ist das Projekt nicht ausschließlich eine österreichische Lösung.
Gerade die Kombination aus strukturierten Rechnungsdaten und einem automatisch erzeugten PDF/A-3-Dokument kann auch für andere Odoo-Installationen interessant sein.
Für Odoo 19 Community
Die Module wurden für Odoo 19 Community entwickelt.
Das Repository enthält aktuell:
- l10n_at_ebinterface
- account_invoice_zugferd_ebinterface_auto
- l10n_at_erechnung_gv_at
Die Module sind voneinander abhängig, sodass je nach Anwendungsfall nur die benötigten Komponenten installiert werden müssen.
Unser Beitrag zur Community
Wir sehen dieses Projekt nicht als fertige kommerzielle Software, sondern als Beitrag zur Weiterentwicklung der Odoo-Community.
Vielleicht benötigt jemand nur ebInterface.
Vielleicht braucht ein anderes Unternehmen ZUGFeRD.
Vielleicht muss ein Unternehmen regelmäßig Rechnungen an öffentliche Auftraggeber über e-Rechnung.gv.at senden.
In allen drei Fällen kann unser Projekt eine Grundlage bieten.
Und weil der Quellcode offen verfügbar ist, kann jeder Anwender die Lösung prüfen, anpassen und weiterentwickeln.
Open Source heißt: gemeinsam besser werden
Wir sind überzeugt davon, dass Open Source gerade bei ERP-Systemen einen großen Vorteil bietet.
Unternehmen haben unterschiedliche Anforderungen.
Eine Lösung, die für ein Unternehmen perfekt funktioniert, muss für ein anderes vielleicht angepasst werden.
Mit einem offenen Quellcode ist das möglich.
Deshalb freuen wir uns über:
- Feedback
- Bug Reports
- Verbesserungsvorschläge
- Pull Requests
- weitere unterstützte Anwendungsfälle
Eine gute Community-Lösung entsteht nicht unbedingt beim ersten Commit.
Sie entsteht durch die Weiterentwicklung durch viele Anwender und Entwickler.
Das Projekt kostenlos nutzen
Der komplette Quellcode ist öffentlich auf GitHub verfügbar:
GitHub – Odoo 19 Invoice E-Files
Dort befinden sich auch die Installationsinformationen und die Dokumentation der einzelnen Module.
Für die Integration des österreichischen e-Rechnung.gv.at-Webservices wird zusätzlich die Python-Bibliothek Zeep benötigt.
Unser Beitrag zu einer offenen Odoo-Welt
Mit diesem Projekt möchten wir zeigen, dass auch kleinere Eigenentwicklungen einen Mehrwert für eine ganze Community schaffen können.
Wir haben die Module ursprünglich entwickelt, um konkrete Anforderungen zu lösen.
Jetzt stellen wir diese Lösungen allen Odoo-19-Community-Anwendern kostenlos zur Verfügung.
Damit kann aus einer individuellen Entwicklung eine Community-Lösung werden.
Odoo 19. Open Source. Elektronische Rechnungen. Österreich. Und kostenlos für die Community.
Genau dafür haben wir dieses Projekt veröffentlicht.