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

DefinedTradeContact missing in Zugferd 2.1, EN16931/Comfort #210

Closed
WernerK61 opened this issue Apr 5, 2023 · 9 comments
Closed

DefinedTradeContact missing in Zugferd 2.1, EN16931/Comfort #210

WernerK61 opened this issue Apr 5, 2023 · 9 comments

Comments

@WernerK61
Copy link

Hi,

documentation for Zugferd 2.1 says that DefinedTradeContact is used in EN16931/Comfort.

If output profile XRechnung is used, then DefinedTradeContact is correctly written,
but if EN16931/Comfort is used, then DefinedTradeContact is omitted.

I guess that the reason is that in InvoiceDescriptor21Writer.cs Line 1185 Profile.Comfort is missing:
_writeOptionalContact(writer, "ram:DefinedTradeContact", contact, Profile.Extended | Profile.XRechnung1 | Profile.XRechnung);

Is this a bug, or is this DefinedTradeContact in EN16931 intentionally missing for some reason ?

Regards
Werner

@stephanstapel
Copy link
Owner

I see your point. Things are a bit more complicated unfortunately. Please search for DefinedTradeContact in the TA document.

DefinedTradeContact is written in Comfort profile only for the parties:

  • SellerTradeParty
  • BuyerTradeParty

but not:

  • ShipToTradeParty
  • UltimateShipToTradeParty
  • ShipFromTradeParty
  • InvoicerTradeParty (not yet implemented)
  • PayeeTradeParty (not yet implemented)
  • SellerTaxRepresentativeTradeParty (not yet implemented)
  • ProductEndUserTradeParty (not yet implemented)

i.e. trade party is not trade party anymore. I honestly have no idea how to implement this as _writeOptionalParty() is used for all sorts of parties.

@KSafadi
Copy link

KSafadi commented Jun 25, 2024

Same issue for me. When Profile basic is used, then DefinedTradeContact is omitted. When using XRECHNUNG, everything works.

@stephanstapel
Copy link
Owner

@KSafadi: yes, that should be alright. It is defined like this in the specification.
btw: which type of party are you writing to the invoice file? There are multiple scenarios, when DefinedTradeContact is written and when not

@KSafadi
Copy link

KSafadi commented Jun 25, 2024

@stephanstapel alright! I am writing to the SellerTradeParty.

@stephanstapel
Copy link
Owner

In case of SellerTradeParty, it should be written only in these profiles:

grafik

@stephanstapel
Copy link
Owner

_writeOptionalContact(writer, "ram:DefinedTradeContact", contact, Profile.Extended | Profile.XRechnung1 | Profile.XRechnung);

@KSafadi
Copy link

KSafadi commented Jun 25, 2024

@stephanstapel ah okay that makes sense. Thank you.

@marvinvalent
Copy link

@stephanstapel I don't understand. Wouldn't that call of _writeOptionalContact need Profile.Comfort added to the Profile-parameter for it to be written in the profile for EN 16931?

@stephanstapel
Copy link
Owner

@marvinvalent : you are right, thanks

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

No branches or pull requests

4 participants