diff --git a/addons/sale_management/models/sale_order.py b/addons/sale_management/models/sale_order.py index 54c8ab0a530..35c5eda5756 100644 --- a/addons/sale_management/models/sale_order.py +++ b/addons/sale_management/models/sale_order.py @@ -202,13 +202,14 @@ class SaleOrderOption(models.Model): if not self.product_id: return product = self.product_id.with_context(lang=self.order_id.partner_id.lang) - self.price_unit = product.list_price self.name = product.get_product_multiline_description_sale() self.uom_id = self.uom_id or product.uom_id - pricelist = self.order_id.pricelist_id - if pricelist and product: - partner_id = self.order_id.partner_id.id - self.price_unit = pricelist.with_context(uom=self.uom_id.id).get_product_price(product, self.quantity, partner_id) + # To compute the dicount a so line is created in cache + values = self._get_values_to_add_to_order() + new_sol = self.env['sale.order.line'].new(values) + new_sol._onchange_discount() + self.discount = new_sol.discount + self.price_unit = new_sol._get_display_price(product) def button_add_to_order(self): self.add_option_to_order()