Merge pull request #16049 from rohitwaghchaure/incorrect_stock_value_difference_calculation
[Fix] Incorrect stock value difference because of negative stock
diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py
index 53267d6..43140fa 100644
--- a/erpnext/stock/stock_ledger.py
+++ b/erpnext/stock/stock_ledger.py
@@ -176,7 +176,11 @@
# rounding as per precision
self.stock_value = flt(self.stock_value, self.precision)
- stock_value_difference = self.stock_value - self.prev_stock_value
+ if self.prev_stock_value < 0 and self.stock_value >= 0:
+ stock_value_difference = sle.actual_qty * self.valuation_rate
+ else:
+ stock_value_difference = self.stock_value - self.prev_stock_value
+
self.prev_stock_value = self.stock_value
# update current sle