feat: capture Rate of stock UOM in purchase (#24315)
* feat: capture Rate of stock UOM in purchase
* fix: review changes
* added server side code
* added stock uom rate in sales transactions
* fix: review changes
* fix: resolving conflicts
* adding patch
* fix: removing patch
diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py
index 9473573..8c0a62c 100644
--- a/erpnext/controllers/stock_controller.py
+++ b/erpnext/controllers/stock_controller.py
@@ -24,6 +24,7 @@
self.validate_inspection()
self.validate_serialized_batch()
self.validate_customer_provided_item()
+ self.set_rate_of_stock_uom()
self.validate_internal_transfer()
self.validate_putaway_capacity()
@@ -395,6 +396,11 @@
if frappe.db.get_value('Item', d.item_code, 'is_customer_provided_item'):
d.allow_zero_valuation_rate = 1
+ def set_rate_of_stock_uom(self):
+ if self.doctype in ["Purchase Receipt", "Purchase Invoice", "Purchase Order", "Sales Invoice", "Sales Order", "Delivery Note", "Quotation"]:
+ for d in self.get("items"):
+ d.stock_uom_rate = d.rate / d.conversion_factor
+
def validate_internal_transfer(self):
if self.doctype in ('Sales Invoice', 'Delivery Note', 'Purchase Invoice', 'Purchase Receipt') \
and self.is_internal_transfer():