fix: Recalculate sales commission on item update
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index 9d86cb2..6b45c54 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -139,7 +139,7 @@
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 1fb1ae0..05080d7 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.json
+++ b/erpnext/selling/doctype/sales_order/sales_order.json
@@ -1530,6 +1530,7 @@
"read_only": 1
},
{
+ "allow_on_submit": 1,
"fieldname": "amount_eligible_for_commission",
"fieldtype": "Currency",
"label": "Amount Eligible for Commission",
@@ -1657,7 +1658,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 2896203..d43b38d 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -519,6 +519,8 @@
pass
def on_update_after_submit(self):
+ self.calculate_commission()
+ self.calculate_contribution()
self.check_credit_limit()
def before_update_after_submit(self):