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

BuyerOrderReferencedDocument / IssuerAssignedID #466

Open
J-N-K opened this issue Sep 9, 2024 · 4 comments · May be fixed by #470
Open

BuyerOrderReferencedDocument / IssuerAssignedID #466

J-N-K opened this issue Sep 9, 2024 · 4 comments · May be fixed by #470

Comments

@J-N-K
Copy link
Contributor

J-N-K commented Sep 9, 2024

In #247 wurde die Möglichkeit geschaffen, die Zeilennummer der Bestellung anzugeben. Das reicht für uns leider nicht, da wir häufig mehrere Bestellungen (nicht mehrere Lieferungen zu einer Bestellung) auf einer Rechnung haben. Wir lösen das im Augenblick mit einem Freitext (in getNotes), das ist allerdings eher eine Notlösung.

Prinzipiell könnte man das natürlich genauso lösen wie in #247, das ist aber etwas unschön, weil die API damit zukünftig sehr unübersichtlich wird (wenn jemand auch FormattedIssueDateTime oder etwas aus dem Bereich QuotationReferencedDocument nutzen möchte). IMO wäre die saubere Implementierung hier in IDatedReferencedDocument mit getIssuerAssignedId, getLineID und getFormattedDate. Technisch ist das nicht wahnsinnig kompliziert, würde aber entweder zu doppelter Funktionalität führen (wenn getBuyerOrderReferencedDocumentLineID erhalten bleibt) oder wäre nicht backward-compatible.

Edit: added translation

#247 added the option to use the order line id. Unfortunately that is not enough for us since we often include different orders (not just several shipments related to one order) in one invoice. We currently use a free text (in getNotes) but this is only a workaround.

In principle this could be solved similar to #247, but that's not very nice, it clutters the API (especially if future additions for FormattedIssueDateTime or something from QuotationReferencedDocument are requested). IMO the cleanest implementation would be a IDatedReferencedDocument with getIssuerAssignedId, getLineID and getFormattedDate. Technically that's not challenging, but it either duplicates existing functionality (if getBuyerOrderReferencedDocumentLineID stays in API) or is nor backward-compatible.

@jstaerk
Copy link
Collaborator

jstaerk commented Sep 9, 2024

confirm it's possible and document it (also on the website), see also
https://zugferd.org/e-invoicing/1.0.0/faq.en.html#_how_do_collective_invoices_work_in_factur_x_extended

@J-N-K
Copy link
Contributor Author

J-N-K commented Sep 9, 2024

I would volunteer to implement a change if an agreement can be reached how code should look like.

@jstaerk
Copy link
Collaborator

jstaerk commented Sep 9, 2024

We need a solution in

  • \library\src\main\java\org\mustangproject\ZUGFeRD\IZUGFeRDExportableItem.java
  • \library\src\main\java\org\mustangproject\ZUGFeRD\ZUGFeRD2PullProvider.java
  • as well as \library\src\main\java\org\mustangproject\Item.java
  • and if possible also reading, ideally from CII and UBL in \library\src\main\java\org\mustangproject\ZUGFeRD\ZUGFeRDInvoiceImporter.java
  • and a test , potentially integrated in \library\src\test\java\org\mustangproject\ZUGFeRD\ZF2PushTest.java:testPushEdge

we do already have a getBuyerOrderReferencedDocumentLineID() so I would pragmatically settle for a item's getBuyerOrderReferencedDocument. (getReferencedDocuments() is fairly new but it only covers additionalReferencedDocuments not BuyerOrderReferencedDocuments)

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 a pull request may close this issue.

3 participants
@jstaerk @J-N-K and others