fix(manufacturing): apply precision for bom amount and rm_cost_per_qty

(cherry picked from commit 57f9353d90)
This commit is contained in:
Pugazhendhi Velu
2025-11-19 14:19:26 +00:00
committed by Mergify
parent b6a80da457
commit 2678694c5f
2 changed files with 4 additions and 2 deletions

View File

@@ -801,7 +801,9 @@ class BOM(WebsiteGenerator):
) )
d.base_rate = flt(d.rate) * flt(self.conversion_rate) 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.base_amount = d.amount * flt(self.conversion_rate)
d.qty_consumed_per_unit = flt(d.stock_qty, d.precision("stock_qty")) / flt( d.qty_consumed_per_unit = flt(d.stock_qty, d.precision("stock_qty")) / flt(
self.quantity, self.precision("quantity") self.quantity, self.precision("quantity")

View File

@@ -187,7 +187,7 @@ class SubcontractingOrder(SubcontractingController):
for item in self.get("items"): for item in self.get("items"):
bom = frappe.get_doc("BOM", item.bom) bom = frappe.get_doc("BOM", item.bom)
rm_cost = sum(flt(rm_item.amount) for rm_item in bom.items) 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): def calculate_items_qty_and_amount(self):
total_qty = total = 0 total_qty = total = 0