From 373696d47020fad0045be8bfdc224ad12f1d101c Mon Sep 17 00:00:00 2001 From: Sudharsanan11 Date: Wed, 27 May 2026 10:54:07 +0530 Subject: [PATCH] fix(stock): set outgoing rate as zero for inward transactions --- erpnext/stock/report/stock_ledger/stock_ledger.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/erpnext/stock/report/stock_ledger/stock_ledger.py b/erpnext/stock/report/stock_ledger/stock_ledger.py index e8588d90be6..f6abae53f5e 100644 --- a/erpnext/stock/report/stock_ledger/stock_ledger.py +++ b/erpnext/stock/report/stock_ledger/stock_ledger.py @@ -108,10 +108,11 @@ def execute(filters=None): if sle.serial_no: update_available_serial_nos(available_serial_nos, sle) - if sle.actual_qty: + if sle.actual_qty < 0: sle["in_out_rate"] = flt(sle.stock_value_difference / sle.actual_qty, precision) + sle["incoming_rate"] = 0 - elif sle.voucher_type == "Stock Reconciliation": + elif sle.voucher_type == "Stock Reconciliation" and sle.actual_qty < 0: sle["in_out_rate"] = sle.valuation_rate if ( @@ -192,7 +193,7 @@ def get_segregated_bundle_entries(sle, bundle_details, batch_balance_dict, filte new_sle.update(row) new_sle.update( { - "in_out_rate": flt(new_sle.stock_value_difference / row.qty) if row.qty else 0, + "in_out_rate": flt(new_sle.stock_value_difference / row.qty) if row.qty < 0 else 0, "in_qty": row.qty if row.qty > 0 else 0, "out_qty": row.qty if row.qty < 0 else 0, "qty_after_transaction": qty_before_transaction + row.qty,