From 393fe75363946d191ef2d3284dd2b64c8ca42984 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Thu, 30 Apr 2026 12:53:10 +0530 Subject: [PATCH] fix: show in and out qty in the stock ledger report for stock recos (cherry picked from commit da081254a6c2dd0638a51d8c73afd136ec60efe5) --- .../stock/report/stock_ledger/stock_ledger.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/erpnext/stock/report/stock_ledger/stock_ledger.py b/erpnext/stock/report/stock_ledger/stock_ledger.py index 45af9474d1f..3f59dc6be3b 100644 --- a/erpnext/stock/report/stock_ledger/stock_ledger.py +++ b/erpnext/stock/report/stock_ledger/stock_ledger.py @@ -73,6 +73,7 @@ def execute(filters=None): inv_dimension_wise_dict, filters, inv_dimension_key=inv_dimension_key, opening_row=opening_row ) + item_wh_wise_prev_sle = {} for sle in sl_entries: item_detail = item_details[sle.item_code] @@ -114,6 +115,21 @@ def execute(filters=None): elif sle.voucher_type == "Stock Reconciliation": sle["in_out_rate"] = sle.valuation_rate + if ( + sle.voucher_type == "Stock Reconciliation" + and not sle.in_qty + and not sle.out_qty + and not sle.actual_qty + ): + if prev_sle := item_wh_wise_prev_sle.get((sle.item_code, sle.warehouse)): + bal_qty = prev_sle.get("qty_after_transaction", 0) + qty = sle.qty_after_transaction - bal_qty + if qty > 0: + sle.in_qty = qty + elif qty < 0: + sle.out_qty = qty + + item_wh_wise_prev_sle[(sle.item_code, sle.warehouse)] = sle data.append(sle) if include_uom: