diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py index d7b5b687da1..bf791c9fb5b 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -916,7 +916,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") @@ -939,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") ) 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