diff --git a/addons/l10n_it_edi/models/account_invoice.py b/addons/l10n_it_edi/models/account_invoice.py
index e0354498b6e..af0a5698c83 100644
--- a/addons/l10n_it_edi/models/account_invoice.py
+++ b/addons/l10n_it_edi/models/account_invoice.py
@@ -480,34 +480,35 @@ class AccountMove(models.Model):
amount_total_import))
# Bank account. <2.4.2.13>
- elements = body_tree.xpath('.//DatiPagamento/DettaglioPagamento/IBAN')
- if elements:
- if invoice_form.partner_id and invoice_form.partner_id.commercial_partner_id:
- bank = self.env['res.partner.bank'].search([
- ('acc_number', '=', elements[0].text),
- ('partner_id.id', '=', invoice_form.partner_id.commercial_partner_id.id)
- ])
- else:
- bank = self.env['res.partner.bank'].search([('acc_number', '=', elements[0].text)])
- if bank:
- invoice_form.partner_bank_id = bank
- else:
- message_to_log.append("%s
%s" % (
- _("Bank account not found, useful informations from XML file:"),
- self._compose_multi_info_message(
- body_tree, ['.//DatiPagamento//Beneficiario',
- './/DatiPagamento//IstitutoFinanziario',
- './/DatiPagamento//IBAN',
- './/DatiPagamento//ABI',
- './/DatiPagamento//CAB',
- './/DatiPagamento//BIC',
- './/DatiPagamento//ModalitaPagamento'])))
- else:
- elements = body_tree.xpath('.//DatiPagamento/DettaglioPagamento')
+ if invoice_form.type not in ('out_invoice', 'in_refund'):
+ elements = body_tree.xpath('.//DatiPagamento/DettaglioPagamento/IBAN')
if elements:
- message_to_log.append("%s
%s" % (
- _("Bank account not found, useful informations from XML file:"),
- self._compose_info_message(body_tree, './/DatiPagamento')))
+ if invoice_form.partner_id and invoice_form.partner_id.commercial_partner_id:
+ bank = self.env['res.partner.bank'].search([
+ ('acc_number', '=', elements[0].text),
+ ('partner_id.id', '=', invoice_form.partner_id.commercial_partner_id.id)
+ ])
+ else:
+ bank = self.env['res.partner.bank'].search([('acc_number', '=', elements[0].text)])
+ if bank:
+ invoice_form.partner_bank_id = bank
+ else:
+ message_to_log.append("%s
%s" % (
+ _("Bank account not found, useful informations from XML file:"),
+ self._compose_multi_info_message(
+ body_tree, ['.//DatiPagamento//Beneficiario',
+ './/DatiPagamento//IstitutoFinanziario',
+ './/DatiPagamento//IBAN',
+ './/DatiPagamento//ABI',
+ './/DatiPagamento//CAB',
+ './/DatiPagamento//BIC',
+ './/DatiPagamento//ModalitaPagamento'])))
+ else:
+ elements = body_tree.xpath('.//DatiPagamento/DettaglioPagamento')
+ if elements:
+ message_to_log.append("%s
%s" % (
+ _("Bank account not found, useful informations from XML file:"),
+ self._compose_info_message(body_tree, './/DatiPagamento')))
# Invoice lines. <2.2.1>
elements = body_tree.xpath('.//DettaglioLinee')