ZUGFeRD, Factur-X und XRechnung – Elektronische Rechnungsformate in List & Label

Inhalt

Überblick

In diesem Beitrag erfahren Sie Wissenswertes zu elektronischen Rechnungen, dabei verwendeten Formaten (ZUGFeRD, Factur-X und XRechnung) und wie Sie unsere Komponente List & Label für eRechnungen nutzen.

Die Erstellung und Zustellung einer Rechnung erfolgt zunehmend seltener auf dem traditionellen Weg mit Papierdruck und Versand via Post. Immer öfter werden Rechnungen vollständig elektronisch gestellt, was diverse ökologische und wirtschaftliche Vorteile bringt. Diese sogenannte eRechnung (elektronische Rechnung) wird vollständig elektronisch und am besten automatisch abgewickelt. Eine eRechnung wird digital ausgestellt, versendet und empfangen. Gewöhnlich wird eine PDF-Rechnung erstellt und via eMail versendet. Diese wird dann beim Empfänger meist mit spezieller Software ausgelesen und in die Buchhaltung übertragen. Um diesen Vorgang automatisieren zu können – insbesondere das Auslesen und Übertragen der Rechnungsinformationen – werden standardisierte Formate genutzt, die der eRechnung bei Erstellung mitgegeben werden. Oft wird in diesem Zusammenhang ZUGFeRD, Factur-X und/oder auch XRechnung genannt. Welche Formate dabei genau genutzt werden und wie Sie mit unserem Tool List & Label eRechnungen erstellen können, erfahren Sie im Folgenden.

Was ist ZUGFeRD?

Kein angespannter Vierbeiner. Und niemand muss ziehen. ZUGFeRD ist ein Akronym und steht als Kurzform für “Zentraler User Guide des Forums elektronische Rechnung Deutschland”. Das Bundesministerium für Wirtschaft und Energie hat mit dem Forum für elektronische Rechnung Deutschland (FeRD) ein Datenformat für den elektronischen Rechnungsaustausch ins Leben gerufen.

Dabei handelt es sich um ein hybrides Datenformat, das die Rechnung als PDF-Format für Menschen lesbar abbildet und zusätzlich im PDF-Dokument die Rechnungsdaten als strukturierte XML-Datei beinhaltet. Durch Auslesen der XML-Daten ist eine automatisierte Rechnungsverarbeitung möglich. Das PDF selbst wird im Standard PDF/A-3 bereitgestellt. Dies erlaubt das Einbetten der XML-Datei selbst und gilt zudem als Langzeitarchivformat.

Der Fokus von ZUGFeRD lag zunächst auf dem Wirtschaftsbereich und wurde dahingehend entwickelt. In der Zwischenzeit können mit ZUGFeRD aber auch spezifische Anforderungen von Verwaltungen und Behörden umgesetzt werden, da seit der Version 2.1.1 das Profil “XRechnung” (dazu kommen wir noch) unterstützt wird. Damit hat das hybride Format ein sehr breitgefächertes Einsatzgebiet in den Bereichen B2B, B2C und auch in B2G (Business to Government).

Was ist Factur-X?

Factur-X ist der in Frankreich gängige Name des deutsch-französischen Standards für hybride elektronische Rechnungen und ist vollständig kompatibel und technisch identisch mit der ZUGFeRD Version 2.1. Der Standard ist konform mit der Europäischen Norm EN 16931, welche die Normen und technischen Regeln für elektronische Rechnungsstellung in Europa vorgibt, um Interoperabilität und die Einhaltung gesetzlicher Vorschriften zu gewährleisten.

Was ist XRechnung?

Das in Deutschland beliebte Format XRechnung ist ein Datenaustauschstandard für elektronische Rechnungen und wird von KoSIT (Koordinierungsstelle für IT Standards) entwickelt und bereitgestellt. Der Einsatzbereich fokussiert sich in erster Linie auf den elektronischen Rechnungsaustausch von Unternehmen mit deutschen Behörden (B2G). Doch im Gegensatz zu den Formaten ZUGFeRD und Factur-X handelt es sich bei XRechnung nicht um ein hybrides Format. Es besteht lediglich aus einem strukturierten XML-Datenformat, das sich zur automatisierten Weiterverarbeitung nutzen lässt.

Wie unterscheiden sich die Formate ZUGFeRD, Factur-X und XRechnung?

Die Datenstruktur aller drei Formate basiert auf der o.g. Norm EN 16931. In ZUGFeRD 2.1 erfolgt die Steuerung über das gleichnamige Profil “EN 16931”. Die XRechnung definiert auf nationaler Ebene zusätzlich zu den Anforderungen der EN 16931 noch 21 nationale Geschäftsregeln und erfüllt somit die Anforderungen für deutsche Behörden und Verwaltungen. So muss für XRechnung bspw. das Element BT-10, welches als “Käuferreferenz” bekannt ist und die sogenannte Leitweg-ID enthalten muss, verpflichtend angegeben werden.

ZUGFeRD wurde speziell nach den Bedürfnissen der Wirtschaft entwickelt und kommt bei B2C und B2B zum Einsatz. Doch seit der Veröffentlichung der Version 2.1.1 kann über das integrierte Profil “XRechnung” auch auf die spezifischen Anforderungen von Verwaltungen und Behörden eingegangen werden.

Unterschiedliche inhaltliche Anforderungen an elektronische Rechnungen können bei ZUGFeRD gezielt über Profile gesteuert werden, um so beispielsweise geringe Anforderungen (BASIC) oder auch erhöhte Anforderungen (Extended) abzubilden. Dadurch kann der Rechnungsaustausch gezielt optimiert werden.

Der gravierendste Unterschied zwischen den Formaten ZUGFeRD und XRechnung ist, dass XRechnung lediglich aus einer strukturierten XML-Datei besteht und sich damit hervorragend und ausreichend für die automatisierte Weiterverarbeitung eignet. Jedoch ist die schnelle Einsicht einer solchen eRechnung via PDF nicht möglich. Hier kommt die Stärke des hybriden Formates von ZUGFeRD zum Tragen, denn es besteht neben den eingebetteten strukturierten XML-Daten zusätzlich auf einem menschenlesbaren PDF-Dokument.

Was bietet List & Label zu ZUGFeRD, Factur-X und XRechnung an?

List & Label ist die ideale Ergänzung zum ZUGFeRD SDK. Mit diesem SDK können die benötigten XML-Dateien erstellt und validiert werden. List & Label stellt dann die benötigte weitere Komponente für die ZUGFeRD-Generierung bereit: die Ausgabe in ein menschenlesbares Format.

Die Unterstützung von List & Label für die elektronischen Rechnungsformate greift beim Export ein – genauer gesagt beim PDF-Export. Somit ist der Fokus schnell auf das Format ZUGFeRD gesetzt. Doch da ZUGFeRD sowohl zu Factur-X kompatibel ist und zudem das Profil “XRechnung” unterstützt, können beim PDF-Export mit List & Label alle drei Varianten der elektronischen Rechnungsformate umgesetzt werden.

List & Label unterstützt also direkt das hybride Format von ZUGFeRD und indirekt Factur-X und XRechnung. Die Ausgabe erfolgt grundsätzlich im PDF-Export mit eingebetteter und strukturierter XML-Datei, die von der jeweiligen Anwendung jedoch selbst zuvor bereitgestellt werden muss.

PDF-Dokument
Das PDF-Dokument wird, wie gewohnt, von List & Label als PDF-Export bereitgestellt und basiert auf dem mit dem Designer erstellten Formular.

XML-Datei
Da List & Label selbst bei der Datenversorgung datenbankunabhängig ist und keinerlei logische Informationen der angemeldeten Daten bekannt sind, kann List & Label selbst auch nicht die XML-Datei der elektronischen Rechnung erstellen. Das Erstellen und Bereitstellen der XML-Datei muss nach wie vor von der Anwendung selbst durchgeführt werden.

Um beim PDF-Export von List & Label nun das entsprechende Format zu bestimmen, stehen PDF exportspezifische Optionen zur Verfügung. Dafür wichtig sind:

PDF.ZUGFeRDXmlPath
Bestimmt die einzubettende XML-Datei.

PDF.ZUGFeRDVersion
Setzt die zu verwendende Version von ZUGFeRD fest.

PDF.ZUGFeRDConformanceLevel
Bestimmt das ZUGFeRD-Profil der einzubettenden XML-Datei.

PDF.Conformance
Bestimmt die PDF-Version und sollte für ZUGFeRD PDF/A-3b sein. Sobald jedoch die Option PDF.ZUGFeRDXmlPath eingesetzt wird, wird die passende PDF-Version automatisch festgelegt.

Eine Übersicht zu den einzelnen Optionen findet sich in der Programmierer-Referenz im Kapitel für das
PDF Export Modul.

ZUGFeRD 2.1 mit Profil “Extended”

// create export configuration
ExportConfiguration exportConfiguration = new ExportConfiguration(
LlExportTarget.Pdf, "Export.pdf", "invoice.lst");
   
// define ZUGFeRD 2.1 options
LL.ExportOptions.Add(LlExportOption.PdfZUGFeRDVersion, "2.1");
LL.ExportOptions.Add(LlExportOption.PdfZUGFeRDConformanceLevel, "EXTENDED");
LL.ExportOptions.Add(LlExportOption.PdfZUGFeRDXmlPath, "ZUGFeRD-invoice.xml");
   
// start export
LL.Export(exportConfiguration);

ZUGFeRD 2.1 mit Profil “XRechnung”

// create export configuration
ExportConfiguration exportConfiguration = new ExportConfiguration(
LlExportTarget.Pdf, "Export.pdf", "invoice.lst");
 
// define ZUGFeRD 2.1 options
LL.ExportOptions.Add(LlExportOption.PdfZUGFeRDVersion, "2.1");
LL.ExportOptions.Add(LlExportOption.PdfZUGFeRDConformanceLevel, "XRECHNUNG");
LL.ExportOptions.Add(LlExportOption.PdfZUGFeRDXmlPath, "ZUGFeRD-invoice.xml");
 
// start export
LL.Export(exportConfiguration);
1 Like