Merge pull request #16099 from SaiFi0102/SO-Validate-Set-GrossProfit
Set Gross Profit on server-side validation of Sales Order
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index 719f4c7..7739592 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -41,6 +41,7 @@
self.validate_selling_price()
self.set_qty_as_per_stock_uom()
self.set_po_nos()
+ self.set_gross_profit()
set_default_income_account_for_item(self)
def set_missing_values(self, for_validate=False):
@@ -348,6 +349,12 @@
if po_nos and po_nos[0].get('po_no'):
self.po_no = ', '.join(list(set([d.po_no for d in po_nos if d.po_no])))
+ def set_gross_profit(self):
+ if self.doctype == "Sales Order":
+ for item in self.items:
+ item.gross_profit = flt(((item.base_rate - item.valuation_rate) * item.stock_qty), self.precision("amount", item))
+
+
def validate_items(self):
# validate items to see if they have is_sales_item enabled
from erpnext.controllers.buying_controller import validate_item_type