From 5117494a52dab116d1c35aa2a330158f3362b8b3 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Fri, 29 Mar 2024 17:57:58 +0530 Subject: [PATCH] fix: Recalculate sales commission on item update (cherry picked from commit f76da50b7ef67b70f2412bf20671448cfc89ecca) --- erpnext/controllers/selling_controller.py | 2 +- erpnext/selling/doctype/sales_order/sales_order.json | 3 ++- erpnext/selling/doctype/sales_order/sales_order.py | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py index c1b3a6fcedf..c3c08049bbf 100644 --- a/erpnext/controllers/selling_controller.py +++ b/erpnext/controllers/selling_controller.py @@ -139,7 +139,7 @@ class SellingController(StockController): self.in_words = money_in_words(amount, self.currency) def calculate_commission(self): - if not self.meta.get_field("commission_rate") or self.docstatus.is_submitted(): + if not self.meta.get_field("commission_rate"): return self.round_floats_in(self, ("amount_eligible_for_commission", "commission_rate")) diff --git a/erpnext/selling/doctype/sales_order/sales_order.json b/erpnext/selling/doctype/sales_order/sales_order.json index 1c144749074..3a045d5ff2d 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.json +++ b/erpnext/selling/doctype/sales_order/sales_order.json @@ -1529,6 +1529,7 @@ "read_only": 1 }, { + "allow_on_submit": 1, "fieldname": "amount_eligible_for_commission", "fieldtype": "Currency", "label": "Amount Eligible for Commission", @@ -1644,7 +1645,7 @@ "idx": 105, "is_submittable": 1, "links": [], - "modified": "2024-03-20 16:04:43.627183", + "modified": "2024-03-29 16:27:41.539613", "modified_by": "Administrator", "module": "Selling", "name": "Sales Order", diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 3c7215cae30..be423de240f 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -517,6 +517,8 @@ class SalesOrder(SellingController): pass def on_update_after_submit(self): + self.calculate_commission() + self.calculate_contribution() self.check_credit_limit() def before_update_after_submit(self):