News combit Dev Blog

Unterstützung von ZUGFeRD 2.0 beim PDF-Export

Veröffentlicht: Montag, 21. Oktober 2019 | 0 Kommentar(e)
 
Bisher wurde das elektronische Rechnungsdatenformat ZUGFeRD für den Austausch von Rechnungen in der Version 1.0 unterstützt. Für List & Label 25 wird nun auch die im März 2019 offiziell freigegebene Spezifikation der Version 2.0 unterstützt.

ZUGFeRD 2.0

 

 

 

Mit Hilfe des ZUGFeRD Standards kann der elektronische Rechnungsaustausch zwischen Verbrauchern, öffentlichen Verwaltungen und Unternehmen stark vereinfacht werden, da die Rechnungsdaten in hybrider Form zur Verfügung gestellt werden. Zum einen werden die Rechnungsdaten als unveränderliches PDF-Dokument mit dem PDF/A-3 Standard als visuelle Komponente bereitgestellt, zum anderen als strukturierte XML-Datei mit den XML-Rechnungsdaten für die technische Weiterverarbeitung. 

ZUGFeRD

Die Spezifikation für ZUGFeRD 2.0 wurde für Deutschland im März 2019 offiziell freigegeben und lehnt sich an den französischen Standard Factur-X 1.0 an, sodass beide Implementierungen technisch identisch sind und für einen einheitlichen Standard im Rechnungsaustausch auf europäischer Ebene sorgen.

Im Vergleich zum Standard ZUGFeRD 1.0 gibt es jedoch einen entscheidenden Unterschied in Bezug auf die Lizenzierung. Denn das Komitee hat sich dazu entschieden, den neuen Standard unter die Apache 2.0 Lizenzierung zu stellen, was sich mit dem bisher vereinfachten Deployment von List & Label nicht vereinbaren ließ.

Deshalb haben wir die ZUGFeRD 2.0 Unterstützung in ein anderes Modul ausgelagert. Damit muss bei der Redistribution einer Anwendung mit List & Label die Apache 2.0 Lizenz nicht weitergegeben werden, wenn gar kein ZUGFeRD 2.0 zum Einsatz kommt. Dieses Modul steht sowohl als 32- sowie als 64-Bit Build zur Verfügung.
Die neuen Module c[m/x]LL25xl_zugferd2.dll befinden sich im Verzeichnis "..\Verschiedenes\Optionale Module unter OSI-Lizenzen\ZUGFeRD\". Dort finden Sie auch die Apache 2.0 Lizenzierung in Form der Datei "license.txt".

Sie müssen lediglich diese beiden Module (abhängig von der Bitness der Anwendung) zum Deployment-Paket von List & Label hinzufügen – was übrigens auch ganz einfach mit dem Redistributionsassistenten gemacht werden kann. Natürlich sollten Sie die Apache 2.0 Lizenz vor der Weitergabe aufmerksam lesen.

Was nach wie vor von der Anwendung selbst bereitgestellt werden muss, sind die Rohdaten der Rechnung im XML-Format für die Integration in das PDF-Dokument. So könnte nun ein PDF-Export mit ZUGFeRD 2.0 aussehen:

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

Neu ist hierbei die Export-Option LlExportOption.PdfZUGFeRDVersion, mit der man gezielt die ZUGFeRD Version bestimmen kann. Denn nach wie vor kann List & Label auch die Spezifikation 1.0 erfüllen und ist damit vollständig abwärtskompatibel. Ein kleiner Auszug aus der Dokumentation dazu:

Wert Bedeutung
0 In der angegebenen Datei 'zugferd-invoice.xml' (siehe auch PDF.ZUGFeRDXmlPath) wird geprüft, ob es sich um ein ZUGFeRD 1.0 oder 2.0 Format handelt. Das entsprechende Format wird dann verwendet. Sollte das Format nicht ausgelesen werden können, weil beispielsweise zu diesem Zeitpunkt die Datei 'zugferd-invoice.xml' noch nicht existiert, wird fest von ZUGFeRD 2.0 ausgegangen.
2.0 Es wird ZUGFeRD in der Version 2.0 forciert.
1.0 Es wird ZUGFeRD in der Version 1.0 forciert.
Default 0

Erfahren Sie mehr über die vielen neuen Highlights von List & Label 25.




Autor: Daniel Paepke
Consultant, Development & Cooperations

Daniel wurde bei combit zum Softwareentwickler ausgebildet. Neben der Softwareentwicklung betreut er auch technische Kooperationen mit Geschäftspartnern, hält Workshops für Entwickler und unterstützt das Sales- und Service-Team als Berater im technischen Bereich. In seiner knappen Freizeit findet man ihn auf seinem Mountainbike rund um den Bodensee und in den nahen Alpen.


 


Kommentare


Aktuell gibt es noch keine Kommentare zu diesem Blogbeitrag.

Ergänzen Sie hier Ihren Kommentar
 
 
 
 
 

Lassen Sie sich über neue Kommentare zu diesem Blogbeitrag informieren


 
+49 (0) 7531 90 60 10