From fe5e42d2dc9a3570635bb75876ea8172862dae60 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Fri, 24 Jan 2025 13:53:48 +0530 Subject: [PATCH] fix: precision issue in stock entry (cherry picked from commit 9f3b8520fe06879d90838619a268c0bac76d95c5) --- erpnext/stock/doctype/stock_entry/stock_entry.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index c95de8b48a2..a2da35c0ef2 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -3244,12 +3244,13 @@ def create_serial_and_batch_bundle(parent_doc, row, child, type_of_transaction=N } ) + precision = frappe.get_precision("Stock Entry Detail", "qty") if row.serial_nos and row.batches_to_be_consume: doc.has_serial_no = 1 doc.has_batch_no = 1 batchwise_serial_nos = get_batchwise_serial_nos(child.item_code, row) for batch_no, qty in row.batches_to_be_consume.items(): - while qty > 0: + while flt(qty, precision) > 0: qty -= 1 doc.append( "entries", @@ -3270,8 +3271,9 @@ def create_serial_and_batch_bundle(parent_doc, row, child, type_of_transaction=N precision = frappe.get_precision("Serial and Batch Entry", "qty") doc.has_batch_no = 1 for batch_no, qty in row.batches_to_be_consume.items(): - qty = flt(qty, precision) - doc.append("entries", {"batch_no": batch_no, "warehouse": row.warehouse, "qty": qty * -1}) + if flt(qty, precision) > 0: + qty = flt(qty, precision) + doc.append("entries", {"batch_no": batch_no, "warehouse": row.warehouse, "qty": qty * -1}) if not doc.entries: return None