Does Tryton support SEPA for German Banking Industry (DK)?

I tried to create XML files in order to wire money from my bank account. XML files were rejected with a meaningless error message. Bank people could not tell me more, but said that they are relying on EBICS standard. HERE is a collection of EBICS standards, common in Germany. Does Tryton support EBICS standards? - Or is there a “German flavour” of EBICS, not (yet) supported by Tryton ?

See the Tryton generated xml file attached. Is that a valid one? Or did I do things wrong?

Cheers,
Wolf

anonymized.XML.pdf (21,6 KB)

The file you attached seems to be pain.001.001.03 which is a SEPA standard already supported by tryton. Not sure if there is something specific for germany.

Found a little more… Cooperative banks are providing a xml verification service. Processed my xml and get these error messages:

line#	column#	message

12 	14 	serious error unexpected element PstlAdr from name space 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03'.
18 	9 	recommentation usage of element <Document><CstmrCdtTrfInitn><GrpHdr><InitgPty><Id> not recommended.
44 	13 	recommentation usage of element <Document><CstmrCdtTrfInitn><PmtInf><Dbtr><PstlAdr> not recommended.
45 	10 	serious error unexpected element StrtNm from name space 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03'.
46 	10 	serious error unexpected element PstCd from name space 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03'.
47 	10 	serious error unexpected element TwnNm from name space 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03'.
78 	13 	recommentation usage of element <Document><CstmrCdtTrfInitn><PmtInf><CdtTrfTxInf><Cdtr><PstlAdr> wird nicht empfohlen.
79 	10 	serious error unexpected element StrtNm from name space 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03'.
80 	10 	serious error unexpected element PstCd from name space 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03'.
81 	10 	serious error unexpected element TwnNm from name space 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03'.
88 	10 	serious error unexpected element Ccy from name space 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03'.

(original German error messages translated)

Hope this tells something.

Cheers,
Wolf

This seems to be a difference between ISO 20022 and its use in EBICS:

pain.001.001.03 > GroupHeader32 > PartyIdentification32 contains an optional “PostalAddress”, which has the tag PstlAdr

Anyhow the Spezifikation für Datenformate (Anlage 3 des DFÜ-Abkommens) - EBICS (section 2) says (emphasis by me):

The ISO Standard 20022 is the basis for data formats […]. To ensure an efficient use within the SEPA area restrictions to the ISO standard were passed by the European Payments Council (EPC), […].

The current version of this document (Version 3.7 of April 5th, 2023) contains pain.001.001.09. For
pain.001.001.03 you need an older version (e.g. Anlage3_Archiv_V2_7.zip from the Archiv - EBICS). Anyway, both version clearly state

  • No postal address in Initiating Party
  • Only AddLines for the postal address of Debitor and Creditor

Version 2.7 of the Specification (section 2) contains this text, which is not there in the current version (emphasis by me):

The version numbers for the ISO schemas are pain.001.001.03, pain.002.001.03 and
pain.008.001.02, the middle sections of the numbers indicating a variant of the message ver-
sion (001 means ISO). Therefore, the DK has set the middle number section of the
namespaces and names of the schema files to 003 while realising the rules and restrictions
specified by the EPC’s Implementation Guidelines.

Thus it is hard to judge whether the validator is wrong (using pain.001.003.03 schema to validate a pain.001.001.03 document), or the XML is wrong.

@herrdeh Just for curious: Change pain.001.001.03 into pain.001.001.09 and try validating the file.

I wonder:

  • Does any Tryton user actually use pain.001.001.03 for German, French, Swiss or Austrian banks? (These are participating in EBICS according to EBICS Story - SIZ GmbH - EBICS.org)
  • What other differing standards exist in Europe - and can we find a common ground?

Further reading:

Looks a little better, but still throws a lot of errors:

12 	14 	Schwerer Fehler Unerwartetes Element PstlAdr aus dem Namensraum 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.09'.
18 	9 	Empfehlung Die Verwendung des Elements wird nicht empfohlen {1}.
41 	26 	Fehler Das Element muss leer sein.
41 	36 	Fehler Das Pflichtelement <Document><CstmrCdtTrfInitn><PmtInf><ReqdExctnDt><Dt>oder <Document><CstmrCdtTrfInitn><PmtInf><ReqdExctnDt><DtTm> fehlt.
44 	13 	Empfehlung Die Verwendung des Elements <Document><CstmrCdtTrfInitn><PmtInf><Dbtr><PstlAdr> wird nicht empfohlen .
59 	14 	Schwerer Fehler Unerwartetes Element BIC aus dem Namensraum 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.09'.
60 	9 	Fehler Das Pflichtelement <Document><CstmrCdtTrfInitn><PmtInf><DbtrAgt><FinInstnId><BICFI>oder <Document><CstmrCdtTrfInitn><PmtInf><DbtrAgt><FinInstnId><Othr> fehlt.
73 	14 	Schwerer Fehler Unerwartetes Element BIC aus dem Namensraum 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.09'.
74 	9 	Fehler Das Pflichtelement <Document><CstmrCdtTrfInitn><PmtInf><CdtTrfTxInf><CdtrAgt><FinInstnId><BICFI> fehlt.
78 	13 	Empfehlung Die Verwendung des Elements <Document><CstmrCdtTrfInitn><PmtInf><CdtTrfTxInf><Cdtr><PstlAdr> wird nicht empfohlen .
82 	13 	Fehler Das Pflichtelement <Document><CstmrCdtTrfInitn><PmtInf><CdtTrfTxInf><Cdtr><PstlAdr><Ctry> fehlt.
88 	10 	Schwerer Fehler Unerwartetes Element Ccy aus dem Namensraum 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.09'.

Well, to me it looks even worse. Anyhow, this was just an ideas. Thanks for trying :slight_smile:

@herrdeh Please try the module account_payment_sepa_cfonb and use the respective CFONB variants for export.

Rational/Background:

While the documentation of account_payment_sepa_cfonb only says “adds CFONB flavors to SEPA messages”, the original issue for introducing the module contains some information: “CFONB has redefined a subset of the SEPA norm.” This sounds much like the Standard I quoted above.

The links in that issue are still available in the way back machine (1, 2) and according to the breadcrumb 1 and 2 are the corresponding current pages.

Given that CFONB and German Zentralen Kreditausschuss are working together in EBICS, and the CFONB website linking to the same EBICS documents, it’s worth a try.

If this does not work, one needs to implement account_payment_sepa_gbic.

Further notes:

1 Like

This is what I really love about Tryton:
Although there is so much resistance, there are always fellows who are doing their best to nevertheless improve Tryton’s accessibility. Thank you, Hartmut!

I installed and activated trytond_account_payment_sepa_cfonb and created new payments. But structure of xml files is looking exactly the same, only actual amounts and indentifyers are different. But I could not find any control to activate “cfonb” flavour. Is there one? - Or what should I do to set or activate
cfonb?

Cheers,
Wolf

PS: Hard to believe how much time and energy we are wasting because people in charge are refusing to provide some basic hints on usage of their products. But not enough - when trying to help them out, we are not appreciated, but blamed. A little strange this is…

This module installs a new flavor, so in order to change the generated file format you must change the format on the payment journal and generate a new file. This way the new file will be generated using the new format. Otherwisee it is always generated exactly the same way.

2 Likes

This looks promising !
After having created a new payment journal and a new xml file, the latter could be validated and is accepted by my bank. I don’t have a payment to make at the moment, so I could not do the final test, but I think it will run through.

Dear friends @htgoebel and @pokoli - I’m really deeply indebted to you, thank you so much for all your effort.

Let me now finalize tests, I’ll then sum up the procedure and publish it in Tryton community wiki and our German Tryton Buch. Give me a few days…

Have a nice weekend,
Wolf

1 Like

Ref: DK for SEPA (#13167) · Issues · Tryton / Tryton · GitLab

I had to google “DK” and found out it’s short for “Deutsche Kreditwirtschaft”. I never have heard this abbreviation before - do other German fellows have? - My first idea with “DK” is “Denmark” - so would eg. account_payment_sepa_de be a better name?

W

This was formerly called “Zentralerkreditausschuss”, see Die Deutsche Kreditwirtschaft – Wikipedia. I know DK since a few days rec^herching on this EBICS topic.

For the records:

This is not really about EBICS but SEPA flavor. Because EBICS is the communication protocol when SEPA is one of the format that can be used with EBICS.

1 Like

I asked the people at ebics.de, and this is what I read from the answer:

  • EBICS defines the communication protocol, which is independent of the format of the transported messages.
  • Participating organizations (countries) define which messages types/formats are allowed to be transported in their region. Anyhow, “since all SEPA country (must) follow the same rules, of course all XML messges in SEPA are the same”.
    (Why there are subset then they did not explain.)

So I assume we are best by creating separate modules per country/organization.

JFTR the international abbreviation for DK is according to EBICS GBIC for “German Banking Industry Committee”

1 Like