Gern stehe ich zur fachlichen Unterstützung in XML-Technologien, C#.NET, VisualBasic.NET und Java zur Verfügung. Sprechen Sie mich einfach an: Mail oder ☎ 0151 . 750 360 61


XML: wichtige Einsatzgebiete / XRechnung

XRechnung

XRechnung

➪ XRechnung ist der grundsätzliche, XML-basierte Standard für Datenaustausch bei elektronischen Rechnungen, die an die öffentlichen Verwaltungen in Deutschland gerichtet sind. XRechnung setzt die Vorgaben des Europäischen Komitees für Normung (CEN) um.

Auf dieser Seite:

Schon seit Jahren gibt es Bestrebungen, elektronische Rechnungen zu standardisieren. In vielen Ländern dieser Erde wird um die Standards gerungen, von denen sich noch keiner verbindlich durchgesetzt hat. In Deutschland gibt's gleich zwei dieser Standards von herausragender Bedeutung, die der relevanten CEN-Norm EN 16931 genügen: XRechnung und ZUGFeRD 2.0.

Der wesentliche Unterschied zwischen beiden ist, dass bei ZUGFeRD 2.0 die XML-Datei in einer PDF-Datei eingebettet ist. Bei der XRechnung wird auf die PDF-Datei verzichtet. ZUGFeRD wird von sehr namhaften Stellen offiziell unterstützt, wobei ich mir nicht sicher bin, wie viele Unternehmen bzw. Institutionen diesen Standard auch in bedeutendem Umfang praktisch einsetzen.

Ab November 2018 (mit einer teilweisen Übergangsfrist bis November 2019) müssen öffentliche Auftraggeber XRechnung als Grundlage für die Einführung der elektronischen Rechnung berücksichtigen. Das ist verbindlich für Rechnungen an staatliche Stellen (B2G: Business-to-Government), nicht aber für den Geschäftsverkehr zwischen Unternehmen (B2B) oder zwischen Unternehmen und Endkunden (B2C).

Hinter der Webseite http://www.xoev.de/de/xrechnung verbirgt sich die Koordinierungsstelle für IT Standards (KoSIT) in Bremen. Die XRechnung beinhaltet ein semantisches Datenmodell, semantische Datentypen und nationale Geschäftsregeln.

Die Testsuite mit zahlreichen UNECE- und UBL-Beispieldateien liegt in https://github.com/itplr-kosit/xrechnung-testsuite. Die UNECE-Schemadateien (z.B. für CrossIndustryInvoice) finden Sie unter https://www.unece.org/cefact/xml_schemas/index. Die UBL-Schemadateien stehen zur Verfügung unter http://docs.oasis-open.org/ubl/os-UBL-2.1/.

Die UBL-2.1-Schemadateien

Die Liste der bereitgestellten UBL-2.1-Schemadateien ist beeindruckend. Es geht bei weitem nicht um simple Rechnungen, sondern um komplexe Geschäftsprozesse. Allein im maindoc-Verzeichnis finden Sie diese Dateien:

Hinzu kommen die XML-Schema-Dateien aus dem common-Verzeichnis:


CCTS_CCT_SchemaModule-2.1.xsd
UBL-CommonAggregateComponents-2.1.xsd
      bindet ein: UBL-CommonBasicComponents-2.1.xsd
UBL-CommonBasicComponents-2.1.xsd
      bindet ein: UBL-QualifiedDataTypes-2.1.xsd
      bindet ein: UBL-UnqualifiedDataTypes-2.1.xsd
UBL-CommonExtensionComponents-2.1.xsd
      bindet ein: UBL-ExtensionContentDataType-2.1.xsd
      bindet ein: UBL-UnqualifiedDataTypes-2.1.xsd
      bindet ein: UBL-CommonBasicComponents-2.1.xsd
UBL-CommonSignatureComponents-2.1.xsd
      bindet ein: UBL-SignatureAggregateComponents-2.1.xsd
UBL-CoreComponentParameters-2.1.xsd
UBL-ExtensionContentDataType-2.1.xsd
      bindet ein: UBL-CommonSignatureComponents-2.1.xsd
UBL-QualifiedDataTypes-2.1.xsd
      bindet ein: UBL-UnqualifiedDataTypes-2.1.xsd
UBL-SignatureAggregateComponents-2.1.xsd
      bindet ein: UBL-SignatureBasicComponents-2.1.xsd
      bindet ein: UBL-CommonBasicComponents-2.1.xsd
      bindet ein: UBL-xmldsig-core-schema-2.1.xsd
      bindet ein: UBL-XAdESv132-2.1.xsd
      bindet ein: UBL-XAdESv141-2.1.xsd
UBL-SignatureBasicComponents-2.1.xsd
      bindet ein: UBL-QualifiedDataTypes-2.1.xsd
      bindet ein: UBL-UnqualifiedDataTypes-2.1.xsd
UBL-UnqualifiedDataTypes-2.1.xsd
      bindet ein: CCTS_CCT_SchemaModule-2.1.xsd
UBL-XAdESv132-2.1.xsd
      bindet ein: UBL-xmldsig-core-schema-2.1.xsd
UBL-XAdESv141-2.1.xsd
      bindet ein: UBL-XAdESv132-2.1.xsd
UBL-xmldsig-core-schema-2.1.xsd

Die UBL-XML-Schema-Dokumente von XRechnung binden sich via xs:include und xs:import wechselseitig ein. Auf den ersten Blick mag es verwundern, dass einzelne XML-Schemata wiederholt in andere XSDs eingebunden werden, in die dieselben XML-Schemata durch andere Inports/Includes mittelbar bereits eingebunden sind.

Der Versuch, scheinbar "überflüssige" Einbindungen zu entfernen, scheitert indes schnell. XSDs, die ein oder mehrere andere XML-Schema-Dokumente importieren, schaffen mit deren Hilfe neue Datenstrukturen. Wollten Sie ein via xs:import eingebundenes XML-Schema entfernen, gibt es Konflikte, weil der benötigte Namespace nicht zur Verfügung steht. Damit kann die neue Datenstruktur nicht gebildet werden, die ihrerseits in anderen XML-Schema-Dokumenten benötigt wird.

Aus der Liste der oben genannten XML-Schema-Dateien habe ich hier nur eine skizzenhafte Übersicht der Einbindungen erstellt, die sich auf UBL-Invoice-2.1.xsd beziehen:

pic/XRechnung1.png


CCTS_CCT_SchemaModule-2.1.xsd
      eingebunden In: UBL-UnqualifiedDataTypes-2.1.xsd
UBL-CommonAggregateComponents-2.1.xsd
UBL-CommonBasicComponents-2.1.xsd
      eingebunden In: UBL-CommonAggregateComponents-2.1.xsd
      eingebunden In: UBL-CommonExtensionComponents-2.1.xsd
      eingebunden In: UBL-SignatureAggregateComponents-2.1.xsd
UBL-CommonExtensionComponents-2.1.xsd
UBL-CommonSignatureComponents-2.1.xsd
      eingebunden In: UBL-ExtensionContentDataType-2.1.xsd
UBL-CoreComponentParameters-2.1.xsd
UBL-ExtensionContentDataType-2.1.xsd
      eingebunden In: UBL-CommonExtensionComponents-2.1.xsd
UBL-QualifiedDataTypes-2.1.xsd
      eingebunden In: UBL-CommonBasicComponents-2.1.xsd
      eingebunden In: UBL-SignatureBasicComponents-2.1.xsd
UBL-SignatureAggregateComponents-2.1.xsd
      eingebunden In: UBL-CommonSignatureComponents-2.1.xsd
UBL-SignatureBasicComponents-2.1.xsd
      eingebunden In: UBL-SignatureAggregateComponents-2.1.xsd
UBL-UnqualifiedDataTypes-2.1.xsd
      eingebunden In: UBL-CommonBasicComponents-2.1.xsd
      eingebunden In: UBL-CommonExtensionComponents-2.1.xsd
      eingebunden In: UBL-QualifiedDataTypes-2.1.xsd
      eingebunden In: UBL-SignatureBasicComponents-2.1.xsd
UBL-XAdESv132-2.1.xsd
      eingebunden In: UBL-SignatureAggregateComponents-2.1.xsd
      eingebunden In: UBL-XAdESv141-2.1.xsd
UBL-XAdESv141-2.1.xsd
      eingebunden In: UBL-SignatureAggregateComponents-2.1.xsd
UBL-xmldsig-core-schema-2.1.xsd
      eingebunden In: UBL-SignatureAggregateComponents-2.1.xsd
      eingebunden In: UBL-XAdESv132-2.1.xsd

wg / 6. Oktober 2018



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/XRechnung.html