Willhöft IT-Beratung
  • Zur Startseite
  • Zum Blog-Archiv
31. Oct 2024

Elektronische B2B-Rechnungen ab 2025: Wie Sie ZUGFeRD-konforme Rechnungen mit Apache Camel erstellen

Spätestens ab dem 01.01.2025 müssen B2B-Rechnungen in Deutschland digital verschickt und empfangen werden können. Über die gesetzlichen und fachlichen Hintergründe wollen wir uns hier nicht weiter auslassen. Stattdessen möchten wir Ihnen einen technischen Ansatz zeigen, mit dem ZUGFeRD-konforme Rechnungen erstellt werden können, der sich zudem leicht in bestehende technische Prozesse im Unternehmen integrieren lässt.

Der Wandel: Von Papier zur strukturierten E-Rechnung

Im Sinne der EU-Richtlinie EU/2014/55 müssen Rechnungen im innerdeutschen B2B-Geschäft zukünftig elektronisch und strukturiert ausgestellt werden. Bisherige Papierrechnungen sowie einfache PDF- oder Word-Rechnungen werden damit ab 2025 nicht mehr den gesetzlichen Anforderungen entsprechen. Es gibt zwar Ausnahmeregelungen, diese werden jedoch zunehmend eingeschränkt, sodass für nahezu alle Gewerbebetriebe Handlungsbedarf besteht, sich mit dem Thema elektronische Rechnung zu beschäftigen.

(Tipp: Weitere rechtliche Hintergründe finden Sie beispielsweise bei Ihrer IHK oder einem entsprechenden Fachverband.)

Wir zeigen Ihnen in diesem Beitrag, wie Sie ZUGFeRD-konforme Rechnungen mit Apache Camel generieren können und damit den Übergang zur digitalen Rechnungsstellung meistern.

ZUGFeRD: Die Basics

ZUGFeRD (“Zentraler User Guide des Forums elektronische Rechnung Deutschland”) integriert das maschinenlesbare UN/CEFACT-XML-Format in ein menschenlesbares PDF. Damit schließt der Standard die Brücke zwischen dem nur schwer verständlichen XML-Format und den bisher gewohnten Belegen. Viele Unternehmen werden neben Gewerbekunden (B2B) auch private Endkunden (B2C) haben, für die die neuen Regeln bisher nicht gelten, die jedoch eine entsprechend lesbare Rechnung erwarten. Durch ZUGFeRD ist es nun möglich, sowohl rechtlichen als auch praktischen Anforderungen gerecht zu werden und denselben Rechnungsstellungsprozess für B2B- und B2C-Geschäfte zu verwenden. Neben der Integration der XML-Rechnungsdatei stellt ZUGFeRD zusätzliche Anforderungen an das PDF. Dieses muss der archivfähigen Variante PDF/A-3 entsprechen und bestimmte spezielle Auszeichnungen enthalten. Das bedeutet, dass im B2B-Verhältnis die integrierte XML-Datei als rechtlich relevante Rechnung gilt, während das PDF lediglich eine “Sichtkopie” darstellt. Beide Teile sollten jedoch immer inhaltlich übereinstimmen, um Missverständnisse oder rechtliche Probleme zu vermeiden.

Mehr Informationen zu ZUGFeRD finden Sie hier.

Apache Camel: Ein leistungsfähiges Integrationsframework

Apache Camel ist ein leichtgewichtiges Open-Source-Integrationsframework, das kostenlos verfügbar und auf verschiedenen Betriebssystemen lauffähig ist. Es eignet sich hervorragend, um in bestehenden Unternehmensprozessen eingesetzt zu werden und Datenströme flexibel zu verarbeiten.

Apache Camel unterstützt eine Vielzahl von Protokollen und Datenformaten, sodass es sich ideal für die Integration von ZUGFeRD-konformen Rechnungsprozessen anbietet.

Beispielhafte Umsetzung: ZUGFeRD mit Apache Camel

Wir haben eine beispielhafte Lösung entwickelt, die eine Eingangsdatei in einem einfachen XML-Format in eine vollständige ZUGFeRD-konforme Rechnung umwandelt – inklusive strukturierter XML-Datei und grafischer Sichtkopie im PDF. Auch eine individuelle Briefpapier-Vorlage lässt sich als Hintergrund integrieren.

Hier ist ein Beispiel für eine Eingangsdatei:

<?xml version="1.0" encoding="UTF-8"?>
<invoice>
    <id>20249999</id>
    <date>2024-10-17</date>
    <title>Rechnung Beauftragung Datenmigration, 1234A, September 2024</title>
    <letterOpening>Sehr geehrter Herr Bohnsen,

ich erlaube mir Ihnen auftragsgemäß folgende Rechnung zu stellen.</letterOpening>
    <letterFinish>Bitte überweisen Sie die genannte Summe mit Bezugnahme auf die Rechnungsnummer bis zum 16.11.2024 ohne Abzüge auf unser unten angegebenes Konto.

Wir freuen uns auf eine weiterhin erfolgreiche Zusammenarbeit.

Mit freundlichen Grüßen,

Martha Muster</letterFinish>
    <customerAddress>
        <name>Lecker Mungobohnenvertrieb KGaA</name>
        <addressLine>Buchhaltung</addressLine>
        <addressLine>Sackgasse 123D</addressLine>
        <postCode>98765</postCode>
        <city>Allerhandshausen</city>
    </customerAddress>
    <projectReference>1234A</projectReference>
    <deliveryDate type="month">2024-09-30</deliveryDate>
    <lineItem>
        <productId>9</productId>
        <description>Software-Entwicklung Spezial</description>
        <quantity>123</quantity>
        <unit>h</unit>
        <unitPrice>150.00</unitPrice>
        <lineTotal>18450.00</lineTotal>
    </lineItem>
    <netTotal>18450.00</netTotal>
    <vat percentage="19">3505.50</vat>
    <grossTotal>21955.50</grossTotal>
    <dueDate>2024-11-16</dueDate>

    <creditor>
        <address>		
            <name>Musterhaft GmbH</name>
            <addressLine>Beispielallee 99C</addressLine>
            <postCode>12345</postCode>
            <city>Nudelfingen</city>
        </address>
        <director>Martha Muster</director>
        <companyRegistry>Registergericht Nudelfingen</companyRegistry>
        <companyRegistrationId>HRB 1234567</companyRegistrationId>
        <ibanID>DE91 1000 0000 0123 4567 89</ibanID>
        <vatId>DE123456789</vatId>
        <email>rechnung@example.com</email>
    </creditor>
</invoice>

Die Konvertierung in die ZUGFeRD-konforme PDF-Rechnung erfolgt ohne umfangreiche Logikänderungen, wodurch nur Formatierungen, aber keine Berechnungen angepasst werden. Dies minimiert das Risiko von Diskrepanzen zwischen XML- und PDF-Inhalt.

Hier ist die aus der obigen Beispieldatei generierte ZUGFeRD-Rechnung:

Generierte Beispiel-Rechnung

Alle relevanten Dateien, inklusive Anleitung, ausführbaren Camel-Routen, Beispiel-Eingangsdatei, Fonts und einem Musterbriefpapier, finden Sie in unserem GitHub-Projekt.

Eine Grundlage für individuelle Anpassungen

Wie bereits erwähnt, variieren die Anforderungen einer ZUGFeRD-konformen Rechnung je nach Gewerbe und Situation. Die dargestellte Lösung dient daher als Grundlage für eine individuelle Weiterentwicklung. Durch zusätzliche Camel-Routen kann das Projekt um die Anbindung an Buchhaltung, Rechnungsversand und/oder Archivierungssysteme zu einer vollautomatischen Lösung erweitert werden.

Brauchen Sie Unterstützung bei der Umsetzung Ihrer Rechnungsprozesse oder möchten mehr über die Möglichkeiten erfahren, ZUGFeRD und Apache Camel in Ihrem Unternehmen zu implementieren? Dann kontaktieren Sie uns! Unser Fokus liegt auf Lösungen für komplexe Unternehmensumgebungen, insbesondere für größere Unternehmen, die individuelle Integrationsanforderungen haben.


(Apache, Apache Camel und das Kamel-Logo sind Handelsmarken der Apache Software Foundation)

Impressum



Telefon:
Telefax:
E-Mail:

Vertreten durch

Registereintrag

Registergericht:
Registernummer:

Umsatzsteuer-ID
USt.-Identifikationsnummer 
gemäß §27a USt.-Gesetz:

Angaben zur Berufshaftpflichtversicherung
Name und Sitz der Gesellschaft:


Geltungsraum der Versicherung: