Begleitdokumente

Dieses Dokument soll dazu dienen die Zusammenhänge der plus.e-Invoicing-Konfiguration und dem von der Lösung erzeugten elektronischen Rechnungsdokuments nachvollziehen zu können. Der Fokus soll dabei darauf liegen, wie Begleitdokumente in ein solches elektronisches Rechnungsdokument eingefügt werden können.

Die Funktionalität zur Einbettung von Begleitdokumenten wurde mit der Version 1.1.3.0 eingeführt.

Motivation/Problembeschreibung

Die ZUGFeRD/XRechnung-Spezifikation erlaubt eine Einbettung von Begleitdokumenten auf Zeilenebene und Dokumentenebene, "die Informationen über rechnungsbegründende Unterlagen enthält, die Belege für die in der Rechnung gestellten Ansprüche enthalten" (ZUGFeRD-2.1.1 - Spezifikation_TA.pdf). Um dies zu unterstützen, wurde die Funktionalität in plus.e-Invoicing eingeführt.

Spezifikation

Zur korrekten Platzierung der Daten, muss die entsprechende Stelle im resultierenden elektronischen Rechnungsdokument identifiziert werden. Hierzu wurde das Dokument ZUGFeRD-2.1.1 - Spezifikation_TA.pdf der ZUGFeRD 2.1.1 Spezifikation verwendet. Die entsprechende Dokumentation kann hier heruntergeladen werden. Dieses Dokument ist sowohl für das Profil ZUGFeRD 2.1.1 als auch für XRECHNUNG (entspricht EN 16931 (COMFORT)) gültig.

Begleitdokumente auf Dokumentenebene

Gemäß der Spezifikation ergibt sich AdditionalReferencedDocument als passendes Element zur Angabe der Begleitdokumente auf Dokumentenebene:

Begleitdokumente auf Dokumentenebene

Der komplette Pfad des Elements ergibt sich zu: CrossIndustryInvoice/SupplyChainTradeTransaction/ApplicableHeaderTradeAgreement/AdditionalReferencedDocument

Begleitdokumente auf Zeilenebene

Gemäß der Spezifikation ergibt sich AdditionalReferencedDocument als passendes Element zur Angabe der Begleitdokumente auf Zeilenebene:

Begleitdokumente auf Zeilenebene

Der komplette Pfad des Elements ergibt sich zu: CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/IncludedSupplyChainTradeLineItem/SpecifiedLineTradeAgreement/AdditionalReferencedDocument

Kinderelemente für *AdditionalReferencedDocument*

Die für die Umsetzung der Funktionalität wichtigen Elemente sind in der folgenden Tabelle aufgelistet:

Name des Elements Beschreibung Kardinalität
IssuerAssignedID Die Kennung der Ausschreibung oder des Loses, auf die/das sich die Rechnung bezieht, oder eine vom Verkäufer angegebene Kennung für ein Objekt, auf dem die Rechnung basiert, oder eine Kennung der rechnungsbegründenden Unterlage. 1..1
TypeCode Der Code 916 "Referenzpapier" wird benutzt, um die Kennung der rechnungsbegründenden Unterlage zu referenzieren. (BT-122) Der Code 50 "Price/sales catalogue response" wird benutzt, um die Ausschreibung oder das Los zu referenzieren. (BT-17) Der Code 130 "Rechnungsdatenblatt" wird benutzt, um eine vom Verkäufer angegebene Kennung für ein Objekt zu referenzieren. (BT-18) 1..1
AttachmentBinaryObject Ein als Binärobjekt eingebettetes oder zusammen mit der Rechnung gesendetes Anhangsdokument 0..1
AttachmentBinaryObject/mimeCode Der MIME-Code des Anhangsdokuments required
AttachmentBinaryObject/filename Der Dateiname des Anhangsdokuments required

Allgemeine Anmerkung

Die ZUGFeRD Spezifikation unterstützt prinzipiell das Einbetten von Begleitdokumenten direkt in das erzeugte XML-Dokument. Es wird jedoch empfohlen, dass Begleitdokumente direkt in das PDF/A3-Dokument eingebettet und innerhalb des XML mit relativem Pfad referenziert werden. Alternativ könnte eine solche Referenzierung auch auf eine Internetressource hinweisen. Das Element, dass für eine solche Referenzierung verwendet werden könnte, ist das Element URIID.

Notwendige Konfiguration

Hinweis: Diese Änderungen sind bei Verwendung der Standardkonfiguration automatisch eingetragen.

Setup-Zeilen

Zur Unterstützung von Begleitdokumenten im Rechnungsdokument ist es notwendig die Setup-Zeilen entsprechend anzupassen. Da Begleitdokumente sowohl auf Dokumentebene als auch auf Zeilenebene eingebettet werden können, sind zwei unterschiedliche Platzhaltereinträge notwendig. Die entsprechenden Typen dieser Zeilen sind AccompanyingDocumentDocumentLevelPlaceholder sowie AccompanyingDocumentLineLevelPlaceholder. Dies sorgt in erster Linie dafür, dass während der der Erstellung eines elektronischen Rechnungsdokuments kein Fehler auftritt. Zur konformen Unterstützung ist das Hinzufügen von Zeilen des Typs AccompanyingDocument, mit entsprechender Angabe der Spezialberechnungsmethode vom Typ AccompanyingDocument-*, notwendig. Die Bedeutung dieser Spezialberechnungsmethoden ist im Einrichtungsleitfaden SetupLines genauer beschrieben.

Profile

Weitere notwendige Änderungen sind das Einfügen des Wertes für Basiszeile für Begleitdokumente, sowie das Aktivieren der Option Begleitdokumente einbetten in den Profileinstellungen. Der Wert der Basiszeile gibt den Names des Elternelementes vor, den der Platzhaltereintrag repräsentiert.

Code Zuordnungen

Zur Abbildung der unterstützten Dateitypen auf den entsprechenden im Xml-Dokument angegebenen MimeCode, müssen in der Tabelle Code Zuordnungen die korrekten Einträge vom Typ MimeCode erstellt werden.

Beispiel

Die folgende Abbildung zeigt ein XRechnungs-Dokument mit eingebetten Begleitdokumenten auf Rechnungs- und Zeilenebene. Die interessanten Stellen sind mit Kommentaren markiert.

<?xml version="1.0" encoding="UTF-8"?>
<rsm:CrossIndustryInvoice xmlns:a="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100">
  ...
  <rsm:SupplyChainTradeTransaction>
    <ram:IncludedSupplyChainTradeLineItem>
      ...
      <ram:SpecifiedTradeProduct>
        <ram:SellerAssignedID>1896-S</ram:SellerAssignedID>
        <ram:Name>ATHENS Schreibtisch</ram:Name>
      </ram:SpecifiedTradeProduct>
      <ram:SpecifiedLineTradeAgreement>
        <!-- Begleitdokument auf Zeilenebene -->
        <ram:AdditionalReferencedDocument>
          <ram:IssuerAssignedID>10</ram:IssuerAssignedID>
          <ram:TypeCode>916</ram:TypeCode>
          <ram:AttachmentBinaryObject filename="helloWorld.jpg" mimeCode="image/jpeg">/9j/4...i5JwPaolLlLjHmP/9k=</ram:AttachmentBinaryObject>
        </ram:AdditionalReferencedDocument>
        ...
      </ram:SpecifiedLineTradeAgreement>
      ...
    </ram:IncludedSupplyChainTradeLineItem>
    <ram:IncludedSupplyChainTradeLineItem>
      ...
    </ram:IncludedSupplyChainTradeLineItem>
    <ram:ApplicableHeaderTradeAgreement>
      ...
      <!-- Begleitdokument auf Dokumentenebene -->
      <ram:AdditionalReferencedDocument>
        <ram:IssuerAssignedID>9</ram:IssuerAssignedID>
        <ram:TypeCode>916</ram:TypeCode>
        <ram:AttachmentBinaryObject filename="hello_world.jpg" mimeCode="image/jpeg">/9j/4AAQS...lLlLjHmP/9k=</ram:AttachmentBinaryObject>
      </ram:AdditionalReferencedDocument>
    </ram:ApplicableHeaderTradeAgreement>
    <ram:ApplicableHeaderTradeDelivery>
      ...
    </ram:ApplicableHeaderTradeDelivery>
    <ram:ApplicableHeaderTradeSettlement>
      ...
    </ram:ApplicableHeaderTradeSettlement>
  </rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>