From a2ffdc78054d70c2daa7f8d00a712b8a328002c2 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Wed, 29 Jan 2025 12:46:44 +0530 Subject: [PATCH] fix: return qty error due to precision (backport #45536) (#45581) fix: return qty error due to precision (cherry picked from commit 3078578692f01ff90b2f5a2a4d2955b0e528d19f) Co-authored-by: Dany Robert --- erpnext/controllers/sales_and_purchase_return.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/erpnext/controllers/sales_and_purchase_return.py b/erpnext/controllers/sales_and_purchase_return.py index 2079338b09a..66ec8851727 100644 --- a/erpnext/controllers/sales_and_purchase_return.py +++ b/erpnext/controllers/sales_and_purchase_return.py @@ -174,7 +174,11 @@ def validate_quantity(doc, key, args, ref, valid_items, already_returned_items): ) for column in fields: - returned_qty = flt(already_returned_data.get(column, 0)) if len(already_returned_data) > 0 else 0 + returned_qty = ( + flt(already_returned_data.get(column, 0), stock_qty_precision) + if len(already_returned_data) > 0 + else 0 + ) if column == "stock_qty" and not args.get("return_qty_from_rejected_warehouse"): reference_qty = ref.get(column) @@ -186,7 +190,7 @@ def validate_quantity(doc, key, args, ref, valid_items, already_returned_items): reference_qty = ref.get(column) * ref.get("conversion_factor", 1.0) current_stock_qty = args.get(column) * args.get("conversion_factor", 1.0) - max_returnable_qty = flt(reference_qty, stock_qty_precision) - returned_qty + max_returnable_qty = flt(flt(reference_qty, stock_qty_precision) - returned_qty, stock_qty_precision) label = column.replace("_", " ").title() if reference_qty: