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: