From d84601b2a3a96be811c6360e869b0864857c5fb7 Mon Sep 17 00:00:00 2001 From: FATHIH MOHAMMED <99068504+FathihMohammed@users.noreply.github.com> Date: Thu, 9 Jan 2025 13:27:27 +0000 Subject: [PATCH] fix: precision loss causing process loss variance --- erpnext/stock/doctype/stock_entry/stock_entry.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index 4b4ee6ad0f1..5dee819ad11 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -483,7 +483,7 @@ class StockEntry(StockController): if self.process_loss_qty: total += flt(self.process_loss_qty, precision) - if self.fg_completed_qty != total: + if self.fg_completed_qty != flt(total, precision): frappe.throw( _( "The finished product {0} quantity {1} and For Quantity {2} cannot be different" @@ -610,7 +610,9 @@ class StockEntry(StockController): completed_qty = ( d.completed_qty + d.process_loss_qty + (allowance_percentage / 100 * d.completed_qty) ) - if total_completed_qty > flt(completed_qty): + if flt(total_completed_qty, self.precision("fg_completed_qty")) > flt( + completed_qty, self.precision("fg_completed_qty") + ): job_card = frappe.db.get_value("Job Card", {"operation_id": d.name}, "name") if not job_card: frappe.throw(