fix: incorrect SLE for `Moving Average` valuation method
diff --git a/erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py b/erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py
index acbbe90..194f0ca 100644
--- a/erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py
+++ b/erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py
@@ -194,6 +194,7 @@
 def get_data(filters=None):
 	filters = frappe._dict(filters or {})
 	item_warehouse_map = get_item_warehouse_combinations(filters)
+	valuation_method = frappe.db.get_single_value("Stock Settings", "valuation_method")
 
 	data = []
 	if item_warehouse_map:
@@ -206,7 +207,9 @@
 				continue
 
 			for row in report_data:
-				if has_difference(row, precision, filters.difference_in):
+				if has_difference(
+					row, precision, filters.difference_in, item_warehouse.valuation_method or valuation_method
+				):
 					data.append(add_item_warehouse_details(row, item_warehouse))
 					break
 
@@ -229,6 +232,7 @@
 		.select(
 			bin.item_code,
 			bin.warehouse,
+			item.valuation_method,
 		)
 		.where(
 			(item.is_stock_item == 1)
@@ -248,36 +252,38 @@
 	return query.run(as_dict=1)
 
 
-def has_difference(row, precision, difference_in):
-	has_qty_difference = flt(row.difference_in_qty, precision) or flt(row.fifo_qty_diff, precision)
-	has_value_difference = (
-		flt(row.diff_value_diff, precision)
-		or flt(row.fifo_value_diff, precision)
-		or flt(row.fifo_difference_diff, precision)
-	)
-	has_valuation_difference = flt(row.valuation_diff, precision) or flt(
-		row.fifo_valuation_diff, precision
-	)
+def has_difference(row, precision, difference_in, valuation_method):
+	if valuation_method == "Moving Average":
+		qty_diff = flt(row.difference_in_qty, precision)
+		value_diff = flt(row.diff_value_diff, precision)
+		valuation_diff = flt(row.valuation_diff, precision)
+	else:
+		qty_diff = flt(row.difference_in_qty, precision) or flt(row.fifo_qty_diff, precision)
+		value_diff = (
+			flt(row.diff_value_diff, precision)
+			or flt(row.fifo_value_diff, precision)
+			or flt(row.fifo_difference_diff, precision)
+		)
+		valuation_diff = flt(row.valuation_diff, precision) or flt(row.fifo_valuation_diff, precision)
 
-	if difference_in == "Qty" and has_qty_difference:
+	if difference_in == "Qty" and qty_diff:
 		return True
-	elif difference_in == "Value" and has_value_difference:
+	elif difference_in == "Value" and value_diff:
 		return True
-	elif difference_in == "Valuation" and has_valuation_difference:
+	elif difference_in == "Valuation" and valuation_diff:
 		return True
 	elif difference_in not in ["Qty", "Value", "Valuation"] and (
-		has_qty_difference or has_value_difference or has_valuation_difference
+		qty_diff or value_diff or valuation_diff
 	):
 		return True
 
-	return False
-
 
 def add_item_warehouse_details(row, item_warehouse):
 	row.update(
 		{
 			"item_code": item_warehouse.item_code,
 			"warehouse": item_warehouse.warehouse,
+			"valuation_method": item_warehouse.valuation_method,
 		}
 	)