Maschinenlesbarkeit ist nicht nur bei Produktinformationen die Anforderung im Zeitalter der Digitalisierung. Auch Rechnungen sollen elektronisch austauschbar, lesbar und verarbeitbar sein. Und welche Überraschung: es wird mit XML realisiert!
Aufbau einer ZUGFeRD Rechnung
ZUGFeRD bedeutet Zentraler User Guide des Forums elektronische Rechnung Deutschland. ZUGFeRD steht für ein elektronisches Rechnungsdatenformat zum Austausch von Rechnungen.
Eine Rechnung nach ZUGFeRD kann auf zwei Arten geliefert werden:
- Hybride Rechnung, die aus einer pdf-Datei im pdf/A3-Format mit eingebundener, maschinenlesbarer XML-Datei besteht
- Ausschließlich als maschinenlesbare XML-Datei
ZUGFeRD Definition
Aktuell ist die Version 2.0 im März 2019 veröffentlicht worden. Der Download enthält folgende Informationen:
- ZUGFeRD 2.0 Spezifikation
- ZUGFeRD 2.0 Spezifikation Technischer Anhang
- Schemadateien zu den Profilen BASIC, EN16931 und EXTENDED
- Musterrechnungen zu den Profilen BASIC, EN16931 und EXTENDED
- Ergebnis der externen Kommentierung vom November 2018
Hybrid-Rechnungen können mit allen ZUGFeRD Profilen erstellen werden. Ausschließlich maschinenlesbare XML-Dateien nur mit dem EXTENDED Profil.
Erstellen einer ZUGFeRD Hybrid-Rechnung
Als Beispiel habe ich folgendes realsiert:
- Hybrid-Rechnung, die aus einer pdf-Datei im pdf/A3-Format mit eingebundener, maschinenlesbarer XML-Datei besteht
- nach dem ZUGFeRD BASIC Profil
Inhalt der XML-Datei der Hybrid-Rechnung
- Rechnungsdatum
- Rechnungsnummer
- Rechnungswährung
- Kontaktdaten von Rechnungssteller und Rechnungsempfänger
- Rechnungsbeträge (ohne Steuer, Steuer, mit Steuer)
Notwendige Werkzeuge
- XML-Editor mit der Möglichkeit ein Schema zu validieren
- Programm mit der Möglichkeit Dateien in das Format pdf/A3 umzuwandeln und eine XML-Datei einzubinden
Erstellen der pdf-Rechnung
Folgende Werkzeuge habe ich verwendet:
In folgenden Schritten bin ich vorgegangen:
- Erstellen der Rechnung mit Word und speichern als pdf
- Erstellen der Datei zugferd-invoice.xml basierend auf der Schemadatei des ZUGFeRD Profils BASIC
- Integration der Datei zugferd-invoice.xml in die pdf-Rechnung und speichern als pdf/A3
Alternative mit freien Werkzeugen
PDF erzeugen
Die TU Berlin hat in einem Dokument die Werkzeuge zusammengestellt, mit denen das pdf/A-Format erstellt werden kann.
XML-Datei erstellen
Um eine XML-Datei zu validieren (prüfen ob sie dem vorgegeben Schema entspricht), kann Notepad++ zusammen mit dem Plug-In xml-Tools verwendet werden. In einem Video ist erklärt wie.
data2type bietet als freies Werkzeug AntillesXML an um XML-Dateien gegen ein Schema zu validieren.
Die kostenplichtigen XML-Editoren können 30 Tage getestet werden. Diese Editoren haben den Vorteil, dass basierend auf dem Schema die „muss“ Elemente initial aufgebaut werden. Beim Erstellen der XML-Datei sieht man an jeder Stelle, was dort erlaubt ist zu integrieren und kann das Erlaubte per Doppelklick einfügen.
- Oxygen XML-Editor, kostenpflichtig, kann 30 Tage getestet werden
- XMLSpy, kostenpflichtig, kann 30 Tage getestet werden
Hat man damit einmal eine XML-Datei erstellt, können Änderungen im Notepad++ vorgenommen und validiert werden.
Prüfung der Rechnung
Die beschriebene Rechnung habe ich meiner Buchhaltung geschickt mit dem Ergebnis: die Rechnungsdaten werden in DATEV maschinell gelesen.