Technisches
Zuletzt geändert: 12.06.2023 11:22

Technisches #

Dieses Kapitel ist nicht zum Betrieb der Schnittstelle erforderlich. Es ist für technisch interessierte Anwender, die etwas mehr zur Thematik erfahren möchten.

ZUGFeRD #

Das Format ZUGFeRD wird auch als Hybrid-Format bezeichnet. Es ist eine Zusammenfassung von zwei Formaten, einer PDF-Datei und einer XML-Datendatei.

Öffnet man eine ZUGFeRD-Datei in einem etwas komplexeren Anzeigeprogramm, wie dem Foxit-Phantom-PDF, dann sieht man neben der PDF auch den Dateianhang.

016

Foxit PDF-Viewer

Wenn man, wie hier die Büroklammer anwählt, bekommt man alle eingebetteten Dateien angezeigt. Für das Format ZUGFeRD 2.11 ist zwingend der Dateiname “facture-x.xml” vorgegeben. Hierbei ist die Kleinschreibung ebenfalls zu beachten.

Durch einen Doppelklick kann man den Inhalt der Datei ansehen, oder die Datei exportieren. Diese Funktion hängt von Ihrem PDF-Viewer ab.

017

XML-Ansicht der eingebetteten Datei

Der Aufbau der XML-Datei ist komplex und wird durch verschiedene Schemadateien beschrieben. Die technische Dokumentation umfasst in etwa 500 Seiten und kann bei der Organisation FeRD kostenfrei geladen werden. Ein Link hierzu befindet sich im Linkverzeichnis des Anhangs.

Im obigen Beispiel sieht man unter anderem den platzierten Rechtstext im Content-Tag und dem SubjectCode “REG”.

XRechnung #

Extrahiert man die XML-Datei aus einer ZUGFeRD-Datei 2.11 mit EN16931-Profil hat man automatisch eine XRechnung nach Version 1.2.1

Versionen #

Zu ZUGFeRD gibt es verschiedene Versionen und Formate. Das sicherlich wichtigste ist das “Extended”-Format welches auch von EULANDA® unterstützt wird. Dieses enthält alle wesentlichen Angaben, um eine Rechnung rein datentechnisch abbilden zu können.

Die zurzeit neueste Version ist die Version 2.1.1, welche am häufigsten verlangt wird. Es gibt aber auch Auftraggeber, die nur ältere Formate wie 1.0 oder 2.0 verarbeiten können.

Die eingebettete XML-Datei hat in diesem Fall einen anderen Namen und auch abweichende Elemente.

API #

Für Entwickler, die zur Erstellung von ZUGFeRD- oder XRechnungen einen Automatismus programmieren möchten, gibt es eine API (= Application Programming Interface).

Die Erstellung einer Rechnung als Datei oder der Versand an eine E-Mail-Adresse oder ein sonstiges System ist über diese API möglich.

Option explicit

' ********************************************************
' ** erstellt am: 01.11.2020 
' ** von: 
' ********************************************************

Dim LocalId
LocalId = ellib.GetIdFromDataset(Dataset, "Eulanda.Rechnung", "BROWSE")
If LocalId > 0 Then Call modules.XFacture(CLng(LocalId), "")

Das obige Beispiel ist ein VbScript, welches über den Punkt “Elektronische Rechnung ausgeben” ausgeführt wird. Die Routine zur Erstellung der XRechnung ist “modules.Xfacture” und hat zwei Parameter. Der erste ist ein Integer, der die ID der auszugebenden Rechnung enthält, der zweite ist ein String, der alle Optionen des Anhangs enthalten kann. Also z.B.:

"Format=Zugferd;Email=info@eulanda.de"

Eine Beschreibung des Objektmodells befindet sich auf der Homepage www.eulanda.eu im Handbuch und dort im Abschnitt “Entwickler” im Unterprunkt “iScript”.

Der API-Support wird gesondert berechnet.