Skip to Content

Contributors

Address format in SEPA XML files

Hello OCA Contributors,

There is an ongoing change in the european regulation regarding the format of address in Sepa direct debit and Sepa credit transfer XML files. See here for the presentation of the regulation and here for the full spec.

Banks in Belgium are already rejecting some XML files generated from the version 12 and 16 of account_banking_sepa_credit_transfer.

There are two possible formats : structured and hybrid. Using the structured format doesn't seem possible because it requires the street name and number to be separated. In Odoo both pieces of information are in the same field. The hybrid format should therefore be used, but from what I see, the XML files already seem to be consistent with this format.

Have you encountered the same problems ? Or do you have more information about this issue ?

Thank you and have a nice day,

-- 
Victor Champonnois - Coop IT Easy

by Victor - 10:26 - 30 Oct 2025

Follow-Ups

  • Re: Address format in SEPA XML files

    FWIW manually stripping <PstCd> and <AdrLine> from the XML solved this, probably forcing hybrid mode acceptance from Triodos Bank.

    Looking at our own address information versus the specs provided, as being parsed in a v14 XML:

            <Nm>Therp BV</Nm>
            <PstlAdr>
              <PstCd>3812 NR</PstCd>
              <TwnNm>Amersfoort</TwnNm>
              <Ctry>NL</Ctry>
              <AdrLine>Oude Fabriekstraat 1 2/2.14</AdrLine>
            </PstlAdr>
    

    3) Under the unstructured address format, PSUs and scheme participants provide the address
    of the payer and/or of the payee with a maximum of 2 occurrences of the unstructured
    address element “Address Line” <AdrLine>, possibly in combination with the structured
    address element “Country” <Ctry>1. [...]

    Meaning we were good before...


    4) The provision of a structured address about the payer and/or the payee for EPC payments
    must comply with following requirements:
    • Data element “Address Line” <AdrLine> cannot be used [...]

    5) The hybrid address is a mix of structured and unstructured address details. It allows the
    combination of structured ISO 20022 address elements and up to two occurrences of 70
    characters of unstructured “Address Line” <AdrLine>.
    [...] The structured
    elements “Country” <Ctry> and “Town Name” <TwnNm> are mandatory.

    Emphasis mine, and I'd say the bank is out of order for rejecting our address per 5) but I suppose standards could be giving them some leeway.


    On 10/30/25 12:22, Tom Blauwendraat wrote:

    We have the same issue with bank-payment 14.0 modules generating files that are now not accepted by the Dutch Triodos bank.

    On 10/30/25 10:27, Victor Champonnois wrote:
    Hello OCA Contributors,

    There is an ongoing change in the european regulation regarding the format of address in Sepa direct debit and Sepa credit transfer XML files. See here for the presentation of the regulation and here for the full spec.

    Banks in Belgium are already rejecting some XML files generated from the version 12 and 16 of account_banking_sepa_credit_transfer.

    There are two possible formats : structured and hybrid. Using the structured format doesn't seem possible because it requires the street name and number to be separated. In Odoo both pieces of information are in the same field. The hybrid format should therefore be used, but from what I see, the XML files already seem to be consistent with this format.

    Have you encountered the same problems ? Or do you have more information about this issue ?

    Thank you and have a nice day,

    -- 
    Victor Champonnois - Coop IT Easy

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    --
    Met vriendelijke groet, Sincerely,

    Gijs-Jan Otten
    Therp BV | gjotten@therp.nl | +31 20 309 30 93



    by Gijs-Jan Otten - 02:46 - 30 Oct 2025
  • Re: Address format in SEPA XML files

    FWIW manually stripping <PstCd> and <AdrLine> from the XML solved this, probably forcing hybrid mode acceptance from Triodos Bank.

    Looking at our own address information versus the specs provided, as being parsed in a v14 XML:

            <Nm>Therp BV</Nm>
            <PstlAdr>
              <PstCd>3812 NR</PstCd>
              <TwnNm>Amersfoort</TwnNm>
              <Ctry>NL</Ctry>
              <AdrLine>Oude Fabriekstraat 1 2/2.14</AdrLine>
            </PstlAdr>
    

    3) Under the unstructured address format, PSUs and scheme participants provide the address
    of the payer and/or of the payee with a maximum of 2 occurrences of the unstructured
    address element “Address Line” <AdrLine>, possibly in combination with the structured
    address element “Country” <Ctry>1. [...]

    4)The provision of a structured address about the payer and/or the payee for EPC payments
    must comply with following requirements:
    • Data element “Address Line” <AdrLine> cannot be used [...]

    5) The hybrid address is a mix of structured and unstructured address details. It allows the
    combination of structured ISO 20022 address elements and up to two occurrences of 70
    characters of unstructured “Address Line” <AdrLine>.
    [...] The structured
    elements “Country” <Ctry> and “Town Name” <TwnNm> are mandatory.

    Emphasis mine.

    I'd say the bank is out of order for rejecting our address per 5), but I suppose standards could be giving them some leeway.

    Minimum viable solution here seems to be stripping everything but <Ctry> and <TwnNm>.


    On 10/30/25 12:22, Tom Blauwendraat wrote:

    We have the same issue with bank-payment 14.0 modules generating files that are now not accepted by the Dutch Triodos bank.

    On 10/30/25 10:27, Victor Champonnois wrote:
    Hello OCA Contributors,

    There is an ongoing change in the european regulation regarding the format of address in Sepa direct debit and Sepa credit transfer XML files. See here for the presentation of the regulation and here for the full spec.

    Banks in Belgium are already rejecting some XML files generated from the version 12 and 16 of account_banking_sepa_credit_transfer.

    There are two possible formats : structured and hybrid. Using the structured format doesn't seem possible because it requires the street name and number to be separated. In Odoo both pieces of information are in the same field. The hybrid format should therefore be used, but from what I see, the XML files already seem to be consistent with this format.

    Have you encountered the same problems ? Or do you have more information about this issue ?

    Thank you and have a nice day,

    -- 
    Victor Champonnois - Coop IT Easy

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    --
    Met vriendelijke groet, Sincerely,

    Gijs-Jan Otten
    Therp BV | gjotten@therp.nl | +31 20 309 30 93



    by Gijs-Jan Otten - 02:40 - 30 Oct 2025
  • Re: Address format in SEPA XML files

    We have the same issue with bank-payment 14.0 modules generating files that are now not accepted by the Dutch Triodos bank.

    On 10/30/25 10:27, Victor Champonnois wrote:
    Hello OCA Contributors,

    There is an ongoing change in the european regulation regarding the format of address in Sepa direct debit and Sepa credit transfer XML files. See here for the presentation of the regulation and here for the full spec.

    Banks in Belgium are already rejecting some XML files generated from the version 12 and 16 of account_banking_sepa_credit_transfer.

    There are two possible formats : structured and hybrid. Using the structured format doesn't seem possible because it requires the street name and number to be separated. In Odoo both pieces of information are in the same field. The hybrid format should therefore be used, but from what I see, the XML files already seem to be consistent with this format.

    Have you encountered the same problems ? Or do you have more information about this issue ?

    Thank you and have a nice day,

    -- 
    Victor Champonnois - Coop IT Easy

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Tom Blauwendraat - 12:20 - 30 Oct 2025
  • Re: Address format in SEPA XML files
    Dear Victor,

    I was aware of this change from unstructured addresses to structured addresses in SEPA XML files, as described in the EPC specs. To anticipate this change, I worked on it in august 2024, cf this commit on account_banking_pain_base https://github.com/akretion/banking/commit/e0ccf2d734c1aaea5e26f826c030eb57d392b04f

    On v16.0, structured addresses in SEPA credit transfer XML files and SEPA direct debit XML files is implemented in my "big" PR here : https://github.com/OCA/bank-payment/pull/1174
    I am fully aware of the problem with the separation of street name and number. I didn't want account_banking_pain_base to depend on base_address_extended, because it would be a very big impact for a very small need.
    My implementation strategy was the following :
    - if base_address_extended is installed, it use the fields added by that module
    - if base_address_extended is not installed, I separate street number and street name "on the fly" with code. It's not always perfect, it works most of the time and, when it doesn't work, the street number is empty and the street name has the whole street field.
    Cf the code :
    you can have a look at the method _improved_street_split() at line 99.

    Look at the test suite to see the result with real life content :

    In 18.0, it is implemented in OCA/bank-payment-alternative (which was created from my "big" PR on 16.0 #1174) :
    The only change is that the module account_banking_pain_base has been renamed to account_banking_sepa_base.

    Porting this on OCA/bank-payment should be pretty easy.

    Alexis

    Le jeu. 30 oct. 2025 à 10:27, Victor Champonnois <notifications@odoo-community.org> a écrit :
    Hello OCA Contributors,

    There is an ongoing change in the european regulation regarding the format of address in Sepa direct debit and Sepa credit transfer XML files. See here for the presentation of the regulation and here for the full spec.

    Banks in Belgium are already rejecting some XML files generated from the version 12 and 16 of account_banking_sepa_credit_transfer.

    There are two possible formats : structured and hybrid. Using the structured format doesn't seem possible because it requires the street name and number to be separated. In Odoo both pieces of information are in the same field. The hybrid format should therefore be used, but from what I see, the XML files already seem to be consistent with this format.

    Have you encountered the same problems ? Or do you have more information about this issue ?

    Thank you and have a nice day,

    -- 
    Victor Champonnois - Coop IT Easy

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Alexis de Lattre - 11:10 - 30 Oct 2025
  • Re: Address format in SEPA XML files
    Hi,

    As far as I understand, this concerns the account payment modules of the OCA? For 16 (I haven't checked for 12), as far as I understand, the node TwnNm (City) is missing in the address block, which, according to the aforementioned EPC document, is mandatory in hybrid mode along with Ctry (Country). This means that version 16 still uses the unstructured format.

    The code i looked at: https://github.com/OCA/bank-payment/blob/37ed97c155bdba85b79b5a8227b76b95c6294cdb/account_banking_pain_base/models/account_payment_order.py#L530

    Regarding the street, i.e., the separation of name and number: in Odoo Enterprise, both (i.e., partner.street and partner.street2) are handled using AdrLine. The OCA module does this as well (except for street2) and will hopefully be processed in the same way.

    Best regards,
    Christian


    Von: "Victor Champonnois" <notifications@odoo-community.org>
    An: "Odoo Community Association, (OCA) Contributors" <contributors@odoo-community.org>
    Gesendet: Donnerstag, 30. Oktober 2025 10:27:31
    Betreff: Address format in SEPA XML files

    Hello OCA Contributors,

    There is an ongoing change in the european regulation regarding the format of address in Sepa direct debit and Sepa credit transfer XML files. See here for the presentation of the regulation and here for the full spec.

    Banks in Belgium are already rejecting some XML files generated from the version 12 and 16 of account_banking_sepa_credit_transfer.

    There are two possible formats : structured and hybrid. Using the structured format doesn't seem possible because it requires the street name and number to be separated. In Odoo both pieces of information are in the same field. The hybrid format should therefore be used, but from what I see, the XML files already seem to be consistent with this format.

    Have you encountered the same problems ? Or do you have more information about this issue ?

    Thank you and have a nice day,

    -- 
    Victor Champonnois - Coop IT Easy

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe



    by Christian Zöllner - 11:06 - 30 Oct 2025