diff --git a/sale_margin_no_onchange/sale.py b/sale_margin_no_onchange/sale.py
index d577c1b..0de39ce 100644
--- a/sale_margin_no_onchange/sale.py
+++ b/sale_margin_no_onchange/sale.py
@@ -42,6 +42,10 @@ class SaleOrderLine(models.Model):
string='Margin in Company Currency', readonly=True, store=True,
compute='_compute_margin',
digits=dp.get_precision('Account'))
+ margin_rate = fields.Float(
+ string="Margin Rate", readonly=True, store=True,
+ compute='_compute_margin',
+ digits=(16, 2), help="Margin rate in percentage of the sale price")
@api.one
@api.depends(
@@ -51,6 +55,7 @@ class SaleOrderLine(models.Model):
standard_price_sale_cur = 0.0
margin_sale_cur = 0.0
margin_comp_cur = 0.0
+ margin_rate = 0.0
if self.order_id and self.order_id.currency_id:
# it works in _get_current_rate
# even if we set date = False in context
@@ -65,9 +70,12 @@ class SaleOrderLine(models.Model):
margin_comp_cur = self.order_id.currency_id.with_context(
date=self.order_id.date_order).compute(
margin_sale_cur, self.order_id.company_id.currency_id)
+ if self.price_subtotal:
+ margin_rate = 100 * margin_sale_cur / self.price_subtotal
self.standard_price_sale_currency = standard_price_sale_cur
self.margin_sale_currency = margin_sale_cur
self.margin_company_currency = margin_comp_cur
+ self.margin_rate = margin_rate
# We want to copy standard_price on sale order line
@api.model
diff --git a/sale_margin_no_onchange/sale_view.xml b/sale_margin_no_onchange/sale_view.xml
index f8c6b4e..5719813 100644
--- a/sale_margin_no_onchange/sale_view.xml
+++ b/sale_margin_no_onchange/sale_view.xml
@@ -28,6 +28,7 @@
+