diff --git a/addons/l10n_it_edi/models/account_edi_format.py b/addons/l10n_it_edi/models/account_edi_format.py index 7202d37cd08..c731deb3ee6 100644 --- a/addons/l10n_it_edi/models/account_edi_format.py +++ b/addons/l10n_it_edi/models/account_edi_format.py @@ -431,10 +431,6 @@ class AccountEdiFormat(models.Model): invoice_line_form.sequence = int(line_elements[0].text) # Product. - line_elements = element.xpath('.//Descrizione') - if line_elements: - invoice_line_form.name = " ".join(line_elements[0].text.split()) - elements_code = element.xpath('.//CodiceArticolo') if elements_code: for element_code in elements_code: @@ -446,18 +442,23 @@ class AccountEdiFormat(models.Model): invoice_line_form.product_id = product break if partner: - product_supplier = self.env['product.supplierinfo'].search([('partner_id', '=', partner.id), ('product_code', '=', code.text)], limit=1) - if product_supplier and product_supplier.product_id: + product_supplier = self.env['product.supplierinfo'].search([('partner_id', '=', partner.id), ('product_code', '=', code.text)], limit=2) + if product_supplier and len(product_supplier) == 1 and product_supplier.product_id: invoice_line_form.product_id = product_supplier.product_id break if not invoice_line_form.product_id: for element_code in elements_code: code = element_code.xpath('.//CodiceValore')[0] - product = self.env['product.product'].search([('default_code', '=', code.text)], limit=1) - if product: + product = self.env['product.product'].search([('default_code', '=', code.text)], limit=2) + if product and len(product) == 1: invoice_line_form.product_id = product break + # Label. + line_elements = element.xpath('.//Descrizione') + if line_elements: + invoice_line_form.name = " ".join(line_elements[0].text.split()) + # Price Unit. line_elements = element.xpath('.//PrezzoUnitario') if line_elements: