diff --git a/account_banking_pain_base/models/account_payment_order.py b/account_banking_pain_base/models/account_payment_order.py index ae419320a..afaab1993 100644 --- a/account_banking_pain_base/models/account_payment_order.py +++ b/account_banking_pain_base/models/account_payment_order.py @@ -304,13 +304,16 @@ class AccountPaymentOrder(models.Model): @api.model def generate_party_agent( - self, parent_node, party_type, order, partner_bank, gen_args): + self, parent_node, party_type, order, partner_bank, gen_args, + bank_line=None): """Generate the piece of the XML file corresponding to BIC This code is mutualized between TRF and DD Starting from Feb 1st 2016, we should be able to do cross-border SEPA transfers without BIC, cf http://www.europeanpaymentscouncil.eu/index.cfm/ - sepa-credit-transfer/iban-and-bic/""" + sepa-credit-transfer/iban-and-bic/ + In some localization (l10n_ch_sepa for example), they need the + bank_line argument""" assert order in ('B', 'C'), "Order can be 'B' or 'C'" if partner_bank.bank_bic: party_agent = etree.SubElement(parent_node, '%sAgt' % party_type) @@ -338,9 +341,12 @@ class AccountPaymentOrder(models.Model): @api.model def generate_party_block( - self, parent_node, party_type, order, partner_bank, gen_args): + self, parent_node, party_type, order, partner_bank, gen_args, + bank_line=None): """Generate the piece of the XML file corresponding to Name+IBAN+BIC - This code is mutualized between TRF and DD""" + This code is mutualized between TRF and DD + In some localization (l10n_ch_sepa for example), they need the + bank_line argument""" assert order in ('B', 'C'), "Order can be 'B' or 'C'" if party_type == 'Cdtr': party_type_label = 'Creditor' @@ -355,7 +361,8 @@ class AccountPaymentOrder(models.Model): # At B level, the order is : Name, IBAN, BIC if order == 'C': self.generate_party_agent( - parent_node, party_type, order, partner_bank, gen_args) + parent_node, party_type, order, partner_bank, gen_args, + bank_line=bank_line) party = etree.SubElement(parent_node, party_type) party_nm = etree.SubElement(party, 'Nm') party_nm.text = party_name @@ -392,7 +399,8 @@ class AccountPaymentOrder(models.Model): party_account_other_id.text = partner_bank.sanitized_acc_number if order == 'B': self.generate_party_agent( - parent_node, party_type, order, partner_bank, gen_args) + parent_node, party_type, order, partner_bank, gen_args, + bank_line=bank_line) return True @api.model diff --git a/account_banking_sepa_credit_transfer/models/account_payment_order.py b/account_banking_sepa_credit_transfer/models/account_payment_order.py index 845e9b682..2986aae4b 100644 --- a/account_banking_sepa_credit_transfer/models/account_payment_order.py +++ b/account_banking_sepa_credit_transfer/models/account_payment_order.py @@ -151,7 +151,7 @@ class AccountPaymentOrder(models.Model): % (line.partner_id.name, line.name)) self.generate_party_block( credit_transfer_transaction_info_2_27, 'Cdtr', - 'C', line.partner_bank_id, gen_args) + 'C', line.partner_bank_id, gen_args, line) self.generate_remittance_info_block( credit_transfer_transaction_info_2_27, line, gen_args) if not pain_flavor.startswith('pain.001.001.02'): diff --git a/account_banking_sepa_direct_debit/models/account_payment_order.py b/account_banking_sepa_direct_debit/models/account_payment_order.py index e90ffba8e..82b9ac116 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_order.py +++ b/account_banking_sepa_direct_debit/models/account_payment_order.py @@ -255,7 +255,7 @@ class AccountPaymentOrder(models.Model): self.generate_party_block( dd_transaction_info_2_28, 'Dbtr', 'C', - line.partner_bank_id, gen_args) + line.partner_bank_id, gen_args, line) self.generate_remittance_info_block( dd_transaction_info_2_28, line, gen_args)