GithubHelp home page GithubHelp logo

Comments (5)

csautereau avatar csautereau commented on August 26, 2024

I do not see this as an error.
Buyer electronic address is 0..1 in EN16931
This is the address to which the invoice has to be sent.

You may have confused with Contact email address (which is also 0..1 in fact)
No modification has to be done.

from einvoicing-en16931.

JannickWeisshaupt avatar JannickWeisshaupt commented on August 26, 2024

I do not see this as an error. Buyer electronic address is 0..1 in EN16931 This is the address to which the invoice has to be sent.

You may have confused with Contact email address (which is also 0..1 in fact) No modification has to be done.

@csautereau Thanks for your opinion. However please try out the example invoice or read my post carefully.
Hint: Failed validation != Working validation with rejection

from einvoicing-en16931.

csautereau avatar csautereau commented on August 26, 2024

I have tried your example.

The schematron gives an error with an invoice with more than one
ram:URIUniversalCommunication
<ram:URIID schemeID="EM">[email protected]</ram:URIID>
</ram:URIUniversalCommunication>

On BUYER (and any Party).

If I delete the secund email on your invoice example, validation passes fine.
Then the error is to provide 2 ram:URIUniversalCommunication, which is not allowed for EN16931.

Now the rule is "
The Buyer electronic  address  (BT-49) shall have a Scheme identifier.

If I delete the shemeID="EM" in your example corrected (only 1 ram:URIUniversalCommunication), then schematron rejects with the comment :

[BR-62]-The Seller electronic address (BT-34) shall have a Scheme identifier.

Which is normal as your example in fact plays with ram:URIUniversalCommunication of the Seller (and not the buyer)

To finish, If if delete the shemeID="EM" for the Buyer (BT-49, the result is also a mistake with comment

[BR-63]-The Buyer electronic address (BT-49) shall have a Scheme identifier.

Conclusion for me : Schematron is correct on the control of SchemeID presence for Party's Electronic Address (BT-49, BT-34) and also on cardinalities which must be 0..1 (and not multiple)

KR

from einvoicing-en16931.

JannickWeisshaupt avatar JannickWeisshaupt commented on August 26, 2024

@csautereau There is a difference between a crashing schematron and a schematron that found errors in the invoice.
I don't care whether the invoice should be rejected or accepted, but the bug is that, because of the buggy rule, the schematron crashes and is unable to generate a correct report.

Try for yourself and add other schematron errors into the invoice, e.g. BR-CO-10. Those should now be reported as well.
Also look at the output for my example invoice. Is the rule stated, which was wrong, i.e. ?

from einvoicing-en16931.

oriol avatar oriol commented on August 26, 2024

The rule is improved with a [1] to check for the first occurrence of the URIUniversalCommunication avoiding crashes. This will not raise any error in case there are more than one URIUniversalCommunication in the document instance. In order to check for this two new rules have been added in the EN16931-CII-Syntax. CII-SR-459 and CII-SR-460 to warn in case more than one URIUniversalCommunication exist.

from einvoicing-en16931.

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.