[fix] [minor] stock related reports fixed for serialized item
diff --git a/public/js/stock_analytics.js b/public/js/stock_analytics.js
index 5b58113..f704a86 100644
--- a/public/js/stock_analytics.js
+++ b/public/js/stock_analytics.js
@@ -11,7 +11,7 @@
 			parent: $(wrapper).find('.layout-main'),
 			appframe: wrapper.appframe,
 			doctypes: ["Item", "Item Group", "Warehouse", "Stock Ledger Entry", "Brand", 
-				"Fiscal Year"],
+				"Fiscal Year", "Serial No"],
 			tree_grid: {
 				show: true, 
 				parent_field: "parent_item_group", 
diff --git a/public/js/stock_grid_report.js b/public/js/stock_grid_report.js
index 2cd38c0..bfe364b 100644
--- a/public/js/stock_grid_report.js
+++ b/public/js/stock_grid_report.js
@@ -14,7 +14,7 @@
 		// value
 		if(sl.qty > 0) {
 			// incoming - rate is given
-			var rate = sl.incoming_rate;	
+			var rate = sl.incoming_rate;
 			var add_qty = sl.qty;
 			if(wh.balance_qty < 0) {
 				// negative valuation
@@ -34,11 +34,14 @@
 			if(add_qty)
 				wh.fifo_stack.push([add_qty, sl.incoming_rate, sl.posting_date]);				
 		} else {
+			// called everytime for maintaining fifo stack
+			var fifo_value_diff = this.get_fifo_value_diff(wh, sl);
+
 			// outgoing
 			if(sl.serial_no) {
 				var value_diff = -1 * this.get_serialized_value_diff(sl);
 			} else if(is_fifo) {
-				var value_diff = this.get_fifo_value_diff(wh, sl);
+				var value_diff = fifo_value_diff;
 			} else {
 				// average rate for weighted average
 				var rate = (wh.balance_qty.toFixed(2) == 0.00 ? 0 : 
@@ -84,11 +87,6 @@
 				qty = qty - batch[0];
 			}
 		}
-		if(qty) {
-			// msgprint("Negative values not allowed for FIFO valuation!\
-			// Item " + sl.item_code.bold() + " on " + dateutil.str_to_user(sl.posting_datetime).bold() +
-			// " becomes negative. Values computed will not be accurate.");
-		}
 	
 		// reset the updated stack
 		wh.fifo_stack = fifo_stack.reverse();
diff --git a/stock/page/stock_ageing/stock_ageing.js b/stock/page/stock_ageing/stock_ageing.js
index 920ac84..a83573e 100644
--- a/stock/page/stock_ageing/stock_ageing.js
+++ b/stock/page/stock_ageing/stock_ageing.js
@@ -25,7 +25,7 @@
 			page: wrapper,
 			parent: $(wrapper).find('.layout-main'),
 			appframe: wrapper.appframe,
-			doctypes: ["Item", "Warehouse", "Stock Ledger Entry", "Item Group", "Brand"],
+			doctypes: ["Item", "Warehouse", "Stock Ledger Entry", "Item Group", "Brand", "Serial No"],
 		})
 	},
 	setup_columns: function() {
@@ -175,7 +175,7 @@
 			grid: { hoverable: true, clickable: true },
 			xaxis: {  
 				ticks: $.map(me.data, function(item, idx) { return [[idx+1, item.name]] }),
-				max: 20
+				max: 15
 			},
 			series: { downsample: { threshold: 1000 } }
 		}
diff --git a/stock/page/stock_ledger/stock_ledger.js b/stock/page/stock_ledger/stock_ledger.js
index c83fc0e..0aa8a1f 100644
--- a/stock/page/stock_ledger/stock_ledger.js
+++ b/stock/page/stock_ledger/stock_ledger.js
@@ -21,7 +21,7 @@
 			page: wrapper,
 			parent: $(wrapper).find('.layout-main'),
 			appframe: wrapper.appframe,
-			doctypes: ["Item", "Item Group", "Warehouse", "Stock Ledger Entry", "Brand"],
+			doctypes: ["Item", "Item Group", "Warehouse", "Stock Ledger Entry", "Brand", "Serial No"],
 		})
 	},
 
diff --git a/stock/page/stock_level/stock_level.js b/stock/page/stock_level/stock_level.js
index df7c8c5..62ae6c7 100644
--- a/stock/page/stock_level/stock_level.js
+++ b/stock/page/stock_level/stock_level.js
@@ -27,7 +27,7 @@
 			parent: $(wrapper).find('.layout-main'),
 			appframe: wrapper.appframe,
 			doctypes: ["Item", "Warehouse", "Stock Ledger Entry", "Production Order", 
-				"Material Request Item", "Purchase Order Item", "Sales Order Item", "Brand"],
+				"Material Request Item", "Purchase Order Item", "Sales Order Item", "Brand", "Serial No"],
 		});
 		
 		this.wrapper.bind("make", function() {