Verwendete Standards
infra:NET erzeugt elektronische Rechnungen im “UN/CEFACT Cross Industry Invoice”-Format (kurz CII), welches die Vorgaben der CE Norm 16931 zur elektronischen Rechnungsstellung in Europa erfüllt. Das CII-Format ist ein XML-Schema, d.h. es werden XML-Dateien erstellt, die diesem XML-Schema entsprechen. Des Weiteren erfüllt infra:NET die Anforderungen der durch die Koordinierungsstelle für IT-Standards (kurz KoSIT) definierten Regeln für elektronische Rechnungen in der öffentlichen Verwaltung (xRechnung).
Die von infra:NET erzeugten elektronischen Rechnungen können wahlweise als XML (xRechnung) oder eingebettet in eine PDF-Datei (ZUGFeRD) bereitgestellt werden. „ZUGFeRD“ ist nur im deutschsprachigen Raum gebräuchlich – international wird der ursprünglich aus Frankreich stammende Standard „Factur-X“ verwendet – beides beschreibt aber grundsätzlich das gleiche: eine in einer dem ISO-Standard PDF/A-3 entsprechenden Datei eingebettete XML-Rechnung im CII-Format (siehe oben). Die von infra:NET erzeugten PDF-Dateien erfüllen die Vorgaben der Version 2.3 (ZUGFeRD Profil “EN16931/Comfort”) bzw. 1.0.0.7 (Factur-X).
Eine Konformitätsprüfung der erzeugten elektronischen Rechnungen ist zum Beispiel mit dem E-Rechnungs-Validator im Serviceportal des Landes Baden-Württemberg unter folgender Internet-Adresse möglich: https://erechnungsvalidator.service-bw.de/
Als Dateiformat ist hier nur XML zugelassen (xRechnung). Um eine ZUGFeRD-Rechnung zu prüfen, kann die in der PDF eingebette XML (factur-x.xml) zunächst extrahiert und anschließend im Portal zur Prüfung hochgeladen werden.
KoSIT Profilversion 3.0.2
Die aktuelle Version des infraPDFEnhancers ist eine vollständige Überarbeitung der Ausgabe von elektronischen Rechnungen (xRechnung/ZUGFeRD) basierend auf der von der KoSIT veröffentlichten Profilversion 3.0.2. In der Regel sind die von KoSIT definierten xRechnungs-Versionen abwärtskompatibel, d.h. die nach der aktuellen Vorschrift generierten elektronischen Rechnungen können auch von Programmen verarbeitet werden, die noch nicht auf den neuen Standard aktualisiert wurden. Dafür gibt es aber von unserer Seite keine Garantie.
Voraussetzungen
Die Erfüllung der Vorgaben des aktuellen xRechnungs-Profils setzt das Vorhandensein bestimmter Angaben in den elektronischen Rechnungsdokumenten voraus – insbesondere bezüglich der Identifikation aller Teilnehmer (Sender/Empfänger) und deren (elektronischer) Kontaktadressen (z.B. Mail-Adressen). Diese müssen in infra:NET korrekt eingepflegt sein, damit eine elektronische Rechnung entsprechend der o.g. Standards erzeugt werden kann.
Im Detail sind folgende Informationen zwingend in infra:NET zu hinterlegen:
- Ihre Umsatzsteuer-Identifikationsnummer (UStId)
Entweder in Standort-Daten (Tabelle 148) oder Konfigurations-Modul 934
- Ihre Anschrift (Absender)
Entweder in Standort-Daten (Tabell 148), in Modul 729 (Eigene Anschriften, Tabelle 153) oder Konfigurations-Modul 934. Kann keine Firmen-EMail-Adresse ermittelt werden, wird die EMail-Adresse des Sachbearbeiters verwendet.
- Ihr Ansprechpartner (Sachbearbeiter) mit EMail-Adresse
Name, Rufnummer und EMail-Adresse des Sachbearbeiters aus Modul 913. Fehlende Daten werden aus den Firmendaten (Standort Tabelle 148 oder eigene Anschriften Tabelle 153).
- Rechnungsbezug (Bestellnummer/LeitwegID)
Für Rechnungen an Behörden ist die zur Bestellung gehörende LeitwegID anzugeben (Feld 253 im Auftragskopf). Ist dieses Feld nicht gefüllt, wird statt dessen die Bestellnummer (Feld 19 im Auftragskopf) als Bezug übergeben.
- Mengeneinheiten müssen dem UN/CEFACT-Standard (=EDIFACT) entsprechen bzw. in diesen abbildbar sein. Die gebräuchlichsten Mengeneinheiten werden im Standard abgebildet (anpassbar).
https://www.unece.org/fileadmin/DAM/cefact/recommendations/rec20/rec20_rev3_Annex3e.pdf
Konfiguration in infra:NET
Um mit infra:NET elektronische Rechnungen erstellen zu können, muss das PlugIn “infraPDFEnhancer” in der infra:NET INI-Datei aktiviert sein und ein entsprechendes Druckmedium vorbereitet werden. Als Medien-Typ eigenen sich Dateiausgabe und EMailversand. Das entsprechend vorbereitete Druckmedium muss beim Rechnungsdruck einem aktiven Kanal zugeordnet werden (siehe infra:NET Medienkonfiguration) und ist für alle Dokument-Typen verwendbar (Rechnung, Gutschrift, Korrektur, Abschlag, Schlussrechnung).
Wichtig: Um die Wiederholdruckdateien im ZUGFeRD-Format abzustellen, muss der Wiederholdruck so eingestellt werden, dass das Wiederholdruckmedium von dem Kanal bezogen wird, auf dem im Echtlauf die elektronische Rechnung erstellt wird.
Folgende Einstellungen sind in der Medienkonfigurationsdatei printer.ini für das elektronische Rechnungsdruckmedium zu hinterlegen:
PDFEnhancer: Yes
PDFEnhancerType: ZUGFERD oder XRECHNUNG
PDFEnhancerXML: 43ar.xml
PDFEnhancerXSL: Trim(INI(PATH,MDD))infraEN16931CII.xsl
Hinweis: Im Standard befindet sich die XML-Template-Datei “43ar.xml” zusammen mit der XSL-Transformations-Datei “infraEN16931CII.xsl” im MIL-Verzeichnis der infra:NET Anwendung.
Technische Details
Bei der Erzeugung der elektronischen Rechnung werden beim Druckvorgang zunächst Informationen aus der “normalen” Dokumenterstellung in einer internen XML-Datei gesammelt. Diese Informationen werden über die Ausgabe-Operatoren des vom elektronischen Rechnungsmedium verwendeten Druckformulars (z.B. 43AR.MIL) in den jeweiligen Drucktabellen gesammelt. Dabei entstehen XML-Knoten der folgenden Form:
<Tab130>
<Value Table=”DISPAUF” Field=”TEIL”>0110012</Value>
…
</Tab130>
Bezieht ein V-Operator Daten aus einem Datensatz der Datenbank, werden Tabellen- und Feldnamen aus dem Datadictionary übernommen. Ansonsten werden Index und Position als “Table” und “Field”-Attribut verwendet.
Da durch individuelle Anpassungen an den Druckformularen und abhängig von der Ausgabekonfiguration ggf. vom Standard abweichende Informationen entstehen können, werden die XML-Knoten bei der Druckaufbereitung mit standardisierten Daten aus dem im Druckmedium angegebenen XML-Template (siehe Einstellung “PDFEnhancerXML”) überschrieben und ergänzt. Das XML-Template enthält vorgegebene Knoten und Attribute, die über infra-Makros mit Daten versorgt werden.
Das Ergebnis dieser Informationszusammenstellung kann zu Testzwecken durch einen Schalter in der Medienkonfigurationsdatei printer.ini beim Rechnungsdruckmedium sichtbar gemacht werden:
Debug: Yes
Im Zielverzeichnis der PDF-Dateiausgabe wird damit eine XML-Datei der Form “Dateiname-debug.xml” erstellt.
Im nächsten Schritt erfolgt die Umwandlung der gesammelten Informationen in das xRechnungs-Format durch eine sogenannte XSL Transformation (kurz XSLT) mittels der im Rechnungsdruckmedium angegebenen XSL-Datei (siehe Einstellung “PDFEnhancerXSL”). Bei einer XSL-Datei handelt es sich um ein XML-Dokument mit Programmieranweisungen zur Umwandlung eines XML-Dokuments in ein Ausgabedokument beliebiger Struktur – in unserem Fall ein XML-Dokument entsprechend dem “UN/CEFACT Cross Industry Invoice”-Format. Die so generierte XML-Datei wird bei Verwendung des ZUGFeRD-Rechnungsformats anschließend in eine PDF-Datei eingebettet.
Der Prozess ist so gestaltet, dass Erweiterungen und Anpassungen durch Änderungen an der XML-Template-Datei (Bereitstellen von Informationen) und XSL-Transformations-Datei (Umwandlung in Zielformat) realisiert werden können. Die Verwendung von XSLT ermöglicht eine sehr flexible Ausgabeformatierung durch den Einsatz von Bedingungen und einer Vielzahl von Formatierungsfunktionen.
https://www.w3schools.com/xml/xsl_functions.asp