From 57f9353d90be7bdc393c647dee1c0b5d9b07a095 Mon Sep 17 00:00:00 2001 From: Pugazhendhi Velu Date: Wed, 19 Nov 2025 14:19:26 +0000 Subject: [PATCH 1/2] fix(manufacturing): apply precision for bom amount and rm_cost_per_qty --- 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 b020b7c5fcf..f707aa6dde1 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -914,7 +914,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 dc5f11953c4..221396f64d4 100644 --- a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py +++ b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py @@ -202,7 +202,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 From 9194e6350aa92e88e10638718c1121c55ea45300 Mon Sep 17 00:00:00 2001 From: Pugazhendhi Velu Date: Fri, 21 Nov 2025 06:43:20 +0000 Subject: [PATCH 2/2] fix: apply precision for scrap items amount --- erpnext/manufacturing/doctype/bom/bom.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py index d65d42a086b..96e0afd2a27 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -941,7 +941,10 @@ class BOM(WebsiteGenerator): d.base_rate = flt(d.rate, d.precision("rate")) * flt( self.conversion_rate, self.precision("conversion_rate") ) - d.amount = flt(d.rate, d.precision("rate")) * flt(d.stock_qty, d.precision("stock_qty")) + d.amount = flt( + flt(d.rate, d.precision("rate")) * flt(d.stock_qty, d.precision("stock_qty")), + d.precision("amount"), + ) d.base_amount = flt(d.amount, d.precision("amount")) * flt( self.conversion_rate, self.precision("conversion_rate") )