Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

changed additional references by line from String to List and implemented it on Item #454

Merged
merged 6 commits into from
Aug 28, 2024

Conversation

MellowGiant
Copy link
Contributor

Wir stehen vor der Herausforderung Sammelrechnungen abbilden zu müssen. Hierzu ist es erforderlich je Rechnungsposition eine Liste von Details (u.a. Vertragsnummer) zu hinterlegen, damit der Rechnungsempfänger die Position korrekt zuordnen kann.
Nach eingehender Betrachtung der ZUGFeRD Dokumentation sind wir zu dem Schluss gekommen, dass die positionsbezogenen Referenzen in BT-128 zu hinterlegen sind. Dies entspricht dem Pfad CrossIndustryInvoice / SupplyChainTradeTransaction / IncludedSupplyChainTradeLineItem / SpecifiedLineTradeSettlement / AdditionalReferencedDocument, welcher in ZF2 als Liste mehrerer Referenzen vorgesehen ist.
Bisher ist von mustangproject hierfür nur ein String vorgesehen gewesen (IZUGFeRDExportableItem.getAdditionalReferencedDocumentID), welcher allerdings nur im Interface existiert und nicht implementiert ist. Die Funktionalität Item.addReferencedDocument() halten wir für unseren Anwendungsfall für die falsche Stelle, da diese Werte unter ~ / IncludedSupplyChainTradeLineItem / SpecifiedLineTradeAgreement eingefügt werden und keinem BusinessTerm zugeordnet sind.
Ich habe nun am Item die vorhandene Methode ersetzt, durch die Möglichkeit eine Liste zu erfassen. Für ZF1 wird nur das erste Element ausgelesen und dessen ID gesetzt. Der Import wurde ebenfalls angepasst.

Eventuell kann hiermit auch issue #250 geschlossen werden.

@jstaerk
Copy link
Collaborator

jstaerk commented Aug 27, 2024

Vielen Dank, ich hätte aber noch zwei Fragen

  1. Bei Sammelrechnungen würde ich wie im ZUGFeRD-Beispiel Extended_innergemeinschLieferungMehrereBestellungen.pdf
    abweichenden zeilenbasierte Einträge in BuyerOrderReferenceDocuments und nicht in der AdditionalReferencedDocument erwarten, vor allem in der
    IssuerAssignedID, die LineID für Dokumentenweit dieselbe
    Rechnung ist auch in EN16931 zeilenweise möglich und nötig?

  2. kann getAdditionalReferencedDocumentID
    nicht deprecated gesetzt oder die funktion emuliert werden statt dass es entfernt wird?
    Die Änderung der Signatur einer öffentlichen Methode würde eine neue Major-Version der Bibliothek voraussetzen.

@MellowGiant
Copy link
Contributor Author

MellowGiant commented Aug 27, 2024

zu 1.
Wir erstellen monatliche Abrechnungen über alle aktiven Verträge. Die abzurechnenden Positionen je Debitor werden dabei in einer Rechnung zusammengefasst. Da jeder Debitor mehrere Verträge haben kann, ist es erforderlich je Rechnungsposition eine Zuordnung zu mehreren Referenzen herzustellen. Nur so kann der Debitor die Position anhand einer Vertragsnummer, der Kostenstelle und weiteren Informationen intern korrekt zuordnen.
BuyerOrderReferencedDocument bietet einen Bezug zu einer Bestellung, welche bei uns nicht vorliegt. Laut 1. FACTUR-X 1.0.06 DE.pdf Abschnitt 7.5 ist für unseren Anwendungsfall BT-128 der passende Ort.

zu 2.
Hier war ich wohl zu voreilig und muss mich entschuldigen. Sie können gerne eine entsprechende Korrektur vornehmen. Falls gewünscht, kann ich diese auch nachreichen.

@jstaerk
Copy link
Collaborator

jstaerk commented Aug 27, 2024

Hallo,
korrektur wäre super nett, ich glaube ich müsste erst auschecken und jonglieren.
mit freundlichen Grüßen
Jochen Stärk

@MellowGiant MellowGiant force-pushed the additionalReferences branch from e2c706a to a69b1ea Compare August 27, 2024 13:28
@jstaerk jstaerk merged commit 3f44af0 into ZUGFeRD:master Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants