fix: set asset's valuation_rate according to asset quantity (#38254)
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index d905fe5..a5940f0 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -731,12 +731,18 @@
def update_assets(self, item, valuation_rate):
assets = frappe.db.get_all(
- "Asset", filters={"purchase_receipt": self.name, "item_code": item.item_code}
+ "Asset",
+ filters={"purchase_receipt": self.name, "item_code": item.item_code},
+ fields=["name", "asset_quantity"],
)
for asset in assets:
- frappe.db.set_value("Asset", asset.name, "gross_purchase_amount", flt(valuation_rate))
- frappe.db.set_value("Asset", asset.name, "purchase_receipt_amount", flt(valuation_rate))
+ frappe.db.set_value(
+ "Asset", asset.name, "gross_purchase_amount", flt(valuation_rate) * asset.asset_quantity
+ )
+ frappe.db.set_value(
+ "Asset", asset.name, "purchase_receipt_amount", flt(valuation_rate) * asset.asset_quantity
+ )
def update_status(self, status):
self.set_status(update=True, status=status)