fix: incorrect qty after transaction in stock ledger entry
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
index 43fbc00..b81f8a0 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
@@ -258,6 +258,7 @@
sl_entries.append(args)
+ qty_after_transaction = 0
for serial_no in serial_nos:
args = self.get_sle_for_items(row, [serial_no])
@@ -271,11 +272,19 @@
if previous_sle and row.warehouse != previous_sle.get("warehouse"):
# If serial no exists in different warehouse
+ warehouse = previous_sle.get("warehouse", '') or row.warehouse
+
+ if not qty_after_transaction:
+ qty_after_transaction = get_stock_balance(row.item_code,
+ warehouse, self.posting_date, self.posting_time)
+
+ qty_after_transaction -= 1
+
new_args = args.copy()
new_args.update({
'actual_qty': -1,
- 'qty_after_transaction': cint(previous_sle.get('qty_after_transaction')) - 1,
- 'warehouse': previous_sle.get("warehouse", '') or row.warehouse,
+ 'qty_after_transaction': qty_after_transaction,
+ 'warehouse': warehouse,
'valuation_rate': previous_sle.get("valuation_rate")
})