From 2678694c5f2185f3a4f55394e9f491b3b86de0ad Mon Sep 17 00:00:00 2001 From: Pugazhendhi Velu Date: Wed, 19 Nov 2025 14:19:26 +0000 Subject: [PATCH] fix(manufacturing): apply precision for bom amount and rm_cost_per_qty (cherry picked from commit 57f9353d90be7bdc393c647dee1c0b5d9b07a095) --- erpnext/manufacturing/doctype/bom/bom.py | 4 +++- .../doctype/subcontracting_order/subcontracting_order.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py index 89f90e1658c..72d238cfba2 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -801,7 +801,9 @@ class BOM(WebsiteGenerator): ) d.base_rate = flt(d.rate) * flt(self.conversion_rate) - d.amount = flt(d.rate, d.precision("rate")) * flt(d.qty, d.precision("qty")) + d.amount = flt( + flt(d.rate, d.precision("rate")) * flt(d.qty, d.precision("qty")), d.precision("amount") + ) d.base_amount = d.amount * flt(self.conversion_rate) d.qty_consumed_per_unit = flt(d.stock_qty, d.precision("stock_qty")) / flt( self.quantity, self.precision("quantity") diff --git a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py index 2f9a04e7e93..4f87e695dfc 100644 --- a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py +++ b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py @@ -187,7 +187,7 @@ class SubcontractingOrder(SubcontractingController): for item in self.get("items"): bom = frappe.get_doc("BOM", item.bom) rm_cost = sum(flt(rm_item.amount) for rm_item in bom.items) - item.rm_cost_per_qty = rm_cost / flt(bom.quantity) + item.rm_cost_per_qty = flt(rm_cost / flt(bom.quantity), item.precision("rm_cost_per_qty")) def calculate_items_qty_and_amount(self): total_qty = total = 0