Kommissionsnummer

78 views
Skip to first unread message

Peter

unread,
Jan 6, 2025, 10:17:00 AMJan 6
to ZUGFeRD
Für unseren Empfang von E-Rechnungen müssen wir auch die Kommissionsnummer auslesen. Wir verarbeiten entweder ZUDFeRD-Rechnungen (d.h. den darin enthaltenen XML-Anteil) oder UBL-Rechnungen.

1. Wo findet man bei einer ZUGFeRD-Rechnung (XML-Anteil) die Kommissionsnummer (XPath)?
2. Wo findet man bei einer UBL-Rechnung die Kommissionsnummer (XPath)?
3. Wie könnte man mit Mustang die Kommissionsnummer auslesen?

Vielen Dank für Klärung!

Peter Hoppe


Markus Hörmedinger

unread,
Jan 9, 2025, 10:08:55 AMJan 9
to ZUGFeRD
Hallo,

wir hatten die Herausforderungen, die Lieferscheinnummer über das Mustang-Projekt aus der ZUGFeRD-Rechnung via Java auszulesen.
Dafür gibt es eigentlich das Feld ‘DeliveryNoteReferencedDocument ‘, wo auch die Lieferscheinnummer enthalten ist.
Allerdings bietet die Mustang-Bibliothek dafür keine Möglichkeit dieses Feld auszulesen.
Es wird zwar davon geschrieben über die Klasse Invoice im Mustangprojekt darauf zuzugreifen, aber diese Methode 
existiert  nicht.
In älteren Versionen gab es mal die Möglichkeit eine Standard-Getter-Methode mit Übergabe des Tags aufzurufen, diese wurde aber leider entnommen.

Wir haben den Weg mit einem eigenen Parser gewählt um dieses Feld mit Inhalt auszulesen.
Bedeutet, wir arbeiten zwar mit dem Mustang-Projekt für die Standard-Felder, lesen aber parallel die XML-Struktur über die Bibliothek PDFBox aus,
und parsen diese nach den Tags die wir benötigen und über Mustang nicht erhalten, wie z. B. 
 ‘DeliveryNoteReferencedDocument ‘.

Vielleicht hilft dieser Hinweis oder das Mustang-Projekt bietet irgendwann für alle Tags eine entsprechende Getter-Funktion.

Gruß Markus


Peter

unread,
Jan 10, 2025, 3:56:01 AMJan 10
to ZUGFeRD
Für die Kommissionsnummer des Rechnungsempfängers - Nach Sichtung einiger Testrechnungen und Recherche haben wir uns am Ende für folgende X-Paths entschieden:

Bei cross industry invoice:
  • /CrossIndustryInvoice/SupplyChainTradeTransaction/ApplicableHeaderTradeAgreement/BuyerReference
wenn das Feld leer ist, dann
  • /CrossIndustryInvoice/SupplyChainTradeTransaction/ApplicableHeaderTradeAgreement/BuyerOrderReferencedDocument/IssuerAssignedID
Bei UBL:
  • /Invoice/BuyerReference
wenn das Feld leer ist, dann
  • /Invoice/OrderReference/CustomerReference
wenn das Feld leer ist, dann
  • /Invoice/OrderReference/ID
Für die Lesbarkeit habe ich in den X-Paths die Namespaces  (wie rsm:) weggelassen...

Vielen Dank für die Hinweise!

Gruß Peter
Reply all
Reply to author
Forward
0 new messages