Technisches
Zuletzt geändert: 16.03.2025 16:22

Technisches #

Dieses Kapitel ist nicht für den regulären Betrieb der Schnittstelle erforderlich, sondern richtet sich an technisch interessierte Anwender, die tiefergehende Informationen zur Funktionsweise der Formate erhalten möchten.


ZUGFeRD – Das Hybrid-Format #

ZUGFeRD wird als Hybrid-Format bezeichnet, da es zwei Datenformate kombiniert:

  1. PDF-Datei → Lesbares Rechnungsdokument für Menschen.
  2. XML-Datendatei → Strukturiertes maschinenlesbares Format für die automatische Verarbeitung.

Wie funktioniert das Hybrid-Prinzip? #

  • Die PDF/A-3-Datei dient als Container, der die XML-Daten eingebettet enthält.
  • Dadurch kann die Rechnung sowohl von Menschen gelesen und gedruckt, als auch von Software automatisch verarbeitet werden.

Wie sieht man den XML-Anhang? #

  • Standard-PDF-Reader wie Adobe Acrobat Reader zeigen den XML-Anhang nicht an.
  • Programme wie Foxit PhantomPDF oder Adobe Acrobat Pro ermöglichen jedoch den Zugriff auf die eingebettete XML-Datei.

Hinweis:

  • Die eingebettete XML-Datei entspricht den EN 16931-Spezifikationen und kann direkt als XRechnung weiterverarbeitet werden.
  • ZUGFeRD unterstützt verschiedene Profile (z. B. Basic, Comfort, Extended), um unterschiedliche Anwendungsfälle abzudecken.

016

Foxit PDF-Viewer

ZUGFeRD – Zugriff auf die eingebettete XML-Datei #

In PDF-Programmen, die eingebettete Anhänge unterstützen, kann die XML-Datei der ZUGFeRD-Rechnung eingesehen oder exportiert werden.

So finden Sie die eingebettete XML-Datei: #

  1. Öffnen Sie die ZUGFeRD-PDF mit einem fortgeschrittenen PDF-Viewer (z. B. Foxit PhantomPDF oder Adobe Acrobat Pro).

  2. Wählen Sie die Büroklammer-Symbol 📎, um eine Liste der eingebetteten Dateien anzuzeigen.

  3. In

    ZUGFeRD 2.3.2

    (und neueren Versionen) ist der

    Dateiname der XML-Datei zwingend “facture-x.xml”

    .

    • Wichtig: Die Datei muss exakt so benannt sein – inklusive Kleinschreibung.

Öffnen oder Exportieren der XML-Datei: #

  • Doppelklick auf die Datei zeigt den Inhalt in einem XML-Editor oder Browser an.
  • Alternativ kann die Datei in einen Ordner exportiert und mit einer externen Software weiterverarbeitet werden.

Hinweis: Die Möglichkeit zur Anzeige oder zum Export hängt vom verwendeten PDF-Viewer ab. Nicht alle Programme bieten diese Funktion.

017

XML-Ansicht der eingebetteten Datei

Die XML-Datei in ZUGFeRD-Rechnungen hat einen komplexen Aufbau, der durch verschiedene Schemas (XSD-Dateien) definiert wird.

  • Die technische Dokumentation umfasst ca. 500 Seiten und kann kostenlos bei der Organisation FeRD heruntergeladen werden.
  • Ein Download-Link befindet sich im Linkverzeichnis des Anhangs.

In der XML-Datei finden sich unter anderem der Rechtstext im <Content>-Tag sowie der **SubjectCode “REG”`, der auf eine Rechnung verweist.

XRechnung #

Falls eine XML-Datei aus einer ZUGFeRD 2.3.2-Datei mit EN 16931-Profil extrahiert wird, entspricht sie automatisch einer XRechnung nach Version 3.0.2.

Das bedeutet, dass eine ZUGFeRD 2.3.2 Extended-Rechnung gleichzeitig als XRechnung verwendet werden kann.

Versionen von ZUGFeRD #

ZUGFeRD existiert in verschiedenen Versionen und Formaten.

Wichtigste Versionen und Formate: #

Version Status Bemerkung
2.3.2 Aktuell (März 2025) Standard für neue Rechnungen
2.1.1 Weit verbreitet Am häufigsten verlangt
2.0 Veraltet Wird teilweise noch unterstützt
1.0 Veraltet Einige ältere Systeme nutzen es noch

Wichtigste Formate in ZUGFeRD: #

  • Basic → Nur die nötigsten Rechnungsdaten
  • Comfort → Detaillierte Rechnungsinformationen
  • Extended → Vollständige Rechnungsdaten (inkl. XRechnung-Informationen)

Das Extended-Format ist das wichtigste und wird auch von EULANDA® unterstützt. Es enthält alle relevanten Informationen, um eine Rechnung rein datentechnisch abbilden zu können.

Hinweis:

  • Ältere Versionen wie 1.0 oder 2.0 enthalten andere XML-Elemente und Dateinamen.
  • Einige Auftraggeber akzeptieren nur bestimmte Versionen.

API – Automatische Erstellung von ZUGFeRD- und XRechnungen #

Für Entwickler, die eine automatisierte Erstellung von ZUGFeRD- oder XRechnungen integrieren möchten, gibt es eine API (Application Programming Interface).

Über die API ist es möglich:

  • Rechnungen als Datei zu generieren
  • Rechnungen per E-Mail zu versenden
  • Rechnungen an externe Systeme zu übertragen
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.