GithubHelp home page GithubHelp logo

Comments (8)

stephanstapel avatar stephanstapel commented on June 12, 2024

Do you have an xml example on how this looks with multiple reference documents?

from zugferd-csharp.

mbreig avatar mbreig commented on June 12, 2024

Have a look at https://edna-bundesverband.de/wp-content/uploads/ZUGFeRD-2-Umsetzungsempfehlungen-v.2.0.2.pdf page 33 chapter "2.5.3.12" (sorry this document is in German)
I think for every referenced invoice there might be a "ram:InvoiceReferencedDocument"-node with none or one date (BT-26) and the document reference (BT-25). For BT-25 I would take the unique invoice number.

from zugferd-csharp.

stephanstapel avatar stephanstapel commented on June 12, 2024

Alright. But how would it look with multiple reference documents?
Like this:

<ram:InvoiceReferencedDocument>
  <ram:IssuerAssignedID>RECHNUNG000</ram:IssuerAssignedID>
  <ram:FormattedIssueDateTime>
    <qdt:DateTimeString format="102">20190902</qdt:DateTimeString>
  </ram:FormattedIssueDateTime>
</ram:InvoiceReferencedDocument>
<ram:InvoiceReferencedDocument>
  <ram:IssuerAssignedID>RECHNUNG000</ram:IssuerAssignedID>
  <ram:FormattedIssueDateTime>
    <qdt:DateTimeString format="102">20190902</qdt:DateTimeString>
  </ram:FormattedIssueDateTime>
</ram:InvoiceReferencedDocument>

?

from zugferd-csharp.

mbreig avatar mbreig commented on June 12, 2024

Yes that seemed to be correct for me (except the use of the same dokid and -date in both nodes).

I think it is like the additional documents that are included in the xml-file via the node "AdditionalReferencedDocument".

And so there must be an

AddInvoiceReferencedDocument

like there is an

AddAdditionalReferencedDocument

for the included files.

from zugferd-csharp.

stephanstapel avatar stephanstapel commented on June 12, 2024

alright. Unfortunately this will break the API, i.e. it'll be necessary to release a new major version then

from zugferd-csharp.

mbreig avatar mbreig commented on June 12, 2024

I have checked a sample XRechnung-file with a list of two refrenced invoices (your sample above) in the kosit validator and it did not accept this file (with only one referenced invoice everything is fine).
A short look in the ZUGFeRD-reference shows that there is only one "InvoiceReferencedDocument"-node allowed. XRechnung v2.2 says"0..*". And this is not a misprint because the description of this node says: "Eine Gruppe von Informationselementen, die Informationen รผber eine oder mehrere vorausgegangene Rechnung(en) enthalten"
I hate it.
Because of the different "interpretation" of the e-invoice specification it make no sence at this time to modify your API.
Sorry for creating this issue.
Regards Marcus

from zugferd-csharp.

stephanstapel avatar stephanstapel commented on June 12, 2024

Thanks a lot for your investigation!
Unfortunately this is not the first time that there is 'something' between the docs and the implementation.

How about going for a list, stating in the docs that currently only 0..1 is supported by the validators and adding a occurrency check to the validator which is executed automatically before saving a file?

from zugferd-csharp.

mbreig avatar mbreig commented on June 12, 2024

I think this idea sounds good.

from zugferd-csharp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.