Das Forum elektronische Rechnung Deutschland (FeRD) hat es sich zur Aufgabe gemacht, elektronische Rechnungen unter technischen, wirtschaftlichen und rechtlichen Gesichtspunkten aufzubereiten und zu koordinieren. Unter dem Name ZUGFeRD wurde ein einheitliches Format für den elektronischen Rechnungsaustausch geschaffen.
Einleitung
ZUGFeRD steht für “Zentraler User Guide des Forum elektronische Rechnung Deutschland” und eignet sich laut FeRD für alle Wirtschaftsbereiche und die öffentliche Verwaltung. Das Format beruht auf globalen Standards und europäischen Empfehlungen und soll in Zukunft bundesweit die bestehenden EDI-Standards ergänzen und die Umstellung bisheriger papierbasierter Prozesse ermöglichen. Ein ehrgeiziges Ziel, denn noch immer werden in Europa rund 30 Millionen Rechnungen pro Jahr postalisch versandt.
Das Format aus technischer Sicht
Technisch betrachtet handelt es sich beim ZUGFeRD-Format um ein PDF/A3-konformes Dokument, dem als Anhang eine standardisierte Rechnung im XML-Format beigefügt ist. Dabei gilt die Regel ein PDF = eine Rechnung. Das PDF-Dokument präsentiert die visuelle Darstellung der Rechnung (wie die Papierform). Das XML-Dokument enthält die maschinenlesbare Darstellung der Rechnung. Zwar kann das PDF mehrere Anhangdateien besitzen, der Rechnungsanhang muss jedoch ZUGFeRD-invoice.xml lauten. Die Struktur der XML-Datei basiert auf den Regeln des von UN/CEFACT entwickelten Standards zur Cross Industry Invoice (CII).
Profile
Bei der Konzeption des Formats wurde berücksichtigt, dass es universell und für ein breites Spektrum verschiedener Unternehmensbereiche einsetzbar ist. Deshalb definiert das Format drei verschiedene Profile – die je nach Unternehmensart – den Umfang des XML-Dokumentes bestimmen:
- BASICDieses Profil reduziert die Anforderungen an die Übermittlung
strukturierter Daten, um vom Aufbau einfachste Rechnungen abbilden zu
können. Es ist für die automatische elektronische Archivierung
ausreichend, ebenso für die meisten Anwendungsfälle der automatisierten
Belegverteilung (Workflow). Eine automatisierte Rechnungsprüfung ist
nicht immer möglich, da je nach Geschäftsfall, nicht alle
erforderlichen Informationen computerlesbar übermittelt werden. - COMFORTIn diesem Profil ist die Übermittlung aller Daten in strukturierter
Form möglich, die für eine überwiegende Zahl versendeter Rechnungen
eine automatisierte, systemgestützte Rechnungsbearbeitung auf
Empfängerseite ermöglichen. - EXTENDEDIn diesem Profil werden alle im ZUGFeRD-Datenmodell abgebildeten Daten
in strukturierter Form bzw. als qualifiziertes Textfeld abgebildet. Die
Auswahl der tatsächlich verwendeten Datenfelder hängt vom jeweiligen
Geschäftsprozess ab. Damit deckt das Profil die brachenübergreifenden
Anforderungen an den strukturierten Rechnungsdatenaustausch möglichst
vollständig ab.
Weiterführende Informationen
Für alle, die sich mit dem ZUGFeRD-Format beschäftigen möchten, bietet das Onlineportal von FeRD ausführliche Informationen. Dort wird auch ein Infopaket zum Download bereitgestellt, welches Beispieldateien und eine sehr ausführliche Dokumentation enthält. Zum Validieren von ZUGFeRD-Dokumenten sei hier die Internetseite eInvoice Validation.Portal genannt. Nach einmaliger, kostenloser Registrierung können PDF-Dokumente hochgeladen und validiert werden.
Einsatz mit conzept 16
Damit auch in conzept 16 ZUGFeRD konforme PDF-Dokumente erstellt werden können, haben wir für das kommende conzept 16 Release die PDF-API erweitert. Nachfolgende Funktion CreateZUGFeRDInvoicePDF wandelt ein bestehendes Dokument in ein ZUGFeRD-konformes PDF um.
sub CreateZUGFeRDInvoicePDF
(
var aFileName : alpha; // Ausgangs-PDF.
var aInvoiceXML : alpha; // XML-Datei ZUGFeRD-invoice.xml.
var aOutFileName : alpha; // Name für das ZUGFeRD-Dokument.
aDescription : alpha; // Beschreibung zur angehängten Rechnung.
aCompress : logic; // Anhang komprimieren j/n.
)
: int;
local
{
tPdf : handle;
tResult : int;
}
{
tPdf # PdfOpen(aFileName,_PdfOpenDefault,'',_PdfImportAll);
if (tPdf > 0)
{
tResult # tPdf->PdfAttachFile(aInvoiceXML,
_PdfAttachAssociateZUGFeRD,aDescription,aCompress);
if (tResult = _ErrOK)
tResult # tPdf->PdfClose(aOutFileName,_PdfModePdfZUGFeRDBasic);
else
tPdf->PdfClose('',_PdfModeCancel);
}
else
tResult # tPdf;
return(tResult);
}
Die Funktion nimmt in den Argumenten aFileName und aInvoiceXML ein bereits existierendes PDF-Dokument sowie das XML-Dokument mit den Rechnungsdaten entgegen. Daraus erstellt sie das ZUGFeRD-PDF (aOutFileName).
Der Code öffnet das Quell-PDF mit der Funktion PdfOpen()
. Anschließend wird mit dem neuen Befehl PdfAttachFile()
das XML-Dokument in das PDF eingebettet. Wichtig ist hierbei die Angabe von _PdfAttachAssociateZUGFeRD
. Jeder Anhang eines ZUGFeRD-PDF muss mit dieser Option eingefügt werden.
Dem Befehl kann eine optionale Beschreibung zum Anhang mitgegeben werden, und ob dieser komprimiert werden soll. Eine Komprimierung ist nicht immer zu empfehlen. Gut komprimieren lassen sich Text-Dokumente, wohingegen bereits komprimierte Dateien, wie zum Beispiel ZIPs beim Komprimieren eher größer werden.
Zum Schluss wird das ZUGFeRD-PDF mit PdfClose()
generiert. Hierbei wird auch das zu generierende Rechnungs-Profil übergeben. Im vorliegenden Fall wird ein Basic-Profil generiert.
Verwandte Artikel:
Erstellen PDF A konformer Dokumente
PDF Verarbeitung in conzept 16
9 Antworten
@wu1003
Wir werden noch diesen Monat eine neue Version releasen.
Wann ist mit der Umsetzung dieses Features zu rechnen?
Kommt in 2016 noch ein Update?
Ist ja schon länger her…
PDF-Anhänge zu extrahieren wäre für uns eine sehr nützliche und hilfreiche Funktion! Hoffendlich liegt die Planung hierzu nicht zu weit in der Zukunft!
In der kommenden Version nocht nicht. Dies ist aber geplant. Hierzu wird die Möglichkeit benötigt, PDF-Anhänge aus dem PDF zu extrahieren.
wird es denn auch eine Möglichkeit geben, aus einer ZUGFeRD-
Rechnung eines Vorlieferanten, die Daten auszulesen ?
Rechnungen als ZUGFeRD-PDF zu vesenden ist bei uns in Planung. Einen Termin können wir Ihnen aber noch nicht nennen.
Das mitliefern des XML-Dokuments incl. dem Dokument im PDF/A3 Format bei ihren Rechnungen aus der Buchhaltung.
Wir bekommen ihre Rechnungen aktuell im PDF-Format, ohne weitere Anhänge. In diesem Zusammenhang könnten wir dies bei uns automatisieren;)
Meinen Sie damit, wann es möglich sein wird, ZUGFeRD-Rechnungen über die PDF-API einzulesen?
Ab wann können wir damit rechnen das wir Rechnung von euch via ZugFerd einlesen können?