E-Rechnungen mit ZUGFeRD
Produktlinie
Standard
|Expert
Betriebsart
CLOUD ABO
|ON-PREMISES
Module
Leistung & CRM
Budget & Teilprojekt
Fremdkosten
Ressourcenplanung
Business Intelligence
Mit Vertec können ab Version 6.3.0.12 E-Rechnungen nach ZUGFeRD 2.0 und ab Version 6.4.0.16 Rechnungen nach ZUGFeRD 2.1 Standard erstellt werden. Dafür werden im Code des Office-Berichts die XML-Metadaten generiert und dem Reporting-Mechanismus übergeben, welcher die Metadaten ins PDF integriert.
Dafür gibt es in den Office-Berichten eine Methode
metadata_zugferd(context)
Diese gibt ein Tuple zurück bestehend aus :
Als eingebaute Profile werden die folgenden ZUGFeRD Profile unterstützt:
Der mitgelieferte Standardbericht Rechnung mit Leistungsliste enthält einen entsprechenden Beispielcode für das Profil EN 16931.
Kunden, die ihre Rechnungen nach ZUGFeRD Standard oder als X-Rechnungen verwenden wollen, müssen diesen Code gemäss den Anforderungen ihrer Rechnungsempfänger inhaltlich entsprechend anpassen.
def metadata_zugferd(context):
Zuerst wird das Template erstellt. Das XML wird mit der in Vertec eingebauten Template Engine in Python erstellt. Im XML können damit Variablen verwendet werden, welche die Zahlen aus Vertec enthalten. Mit der Methode vtcapp.rendertemplate() wird das XML dann erstellt.
zugferd_template = u"""<?xml version="1.0" encoding="UTF-8"?> <rsm:CrossIndustryInvoice xmlns:a="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"..> <rsm:ExchangedDocumentContext> <ram:GuidelineSpecifiedDocumentContextParameter> <ram:ID>urn:cen.eu:en16931:2017</ram:ID> </ram:GuidelineSpecifiedDocumentContextParameter> ...""" rechnung = context.rootlist[0] # Render the transferred template for ZUFGeRD zugferdxml = vtcapp.rendertemplate(zugferd_template, rechnung=rechnung)
Die Methode gibt das Schema sowie das fertige XML zurück, welches vom Reporting Mechanismus ins PDF integriert wird.
Als ZUGFeRD 2.0 (Standard):
return ("EN 16931", zugferdxml)
Als ZUGFeRD 2.1 (ab Version 6.4.0.16):
return ("EN 16931", zugferdxml, "2.1.1")
def metadata_zugferd(context):
Zuerst wird das Template erstellt. Das XML wird mit der in Vertec eingebauten Template Engine in Python erstellt. Im XML können damit Variablen verwendet werden, welche die Zahlen aus Vertec enthalten. Mit der Methode vtcapp.rendertemplate() wird das XML dann erstellt.
zugferd_template = u"""<?xml version="1.0" encoding="UTF-8"?> <rsm:CrossIndustryInvoice xmlns:a="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"..> <rsm:ExchangedDocumentContext> <ram:GuidelineSpecifiedDocumentContextParameter> <ram:ID>urn:cen.eu:en16931:2017</ram:ID> </ram:GuidelineSpecifiedDocumentContextParameter> ...""" rechnung = context.rootlist[0] # Render the transferred template for ZUFGeRD zugferdxml = vtcapp.rendertemplate(zugferd_template, rechnung=rechnung)
Ausserdem wird das Schema als XML übergeben:
schema = u"""<?xpacket begin="?" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/" rdf:about=""> ..."""
Die Methode gibt das fertige XML sowie das Schema zurück, welches vom Reporting Mechanismus ins PDF integriert wird.
return ("", zugferdxml, Schema)
Weitere Informationen zu ZUGFeRD finden Sie auf der offiziellen FeRD-Website.