diff --git a/erpnext/stock/dashboard_chart_source/warehouse_wise_stock_value/warehouse_wise_stock_value.py b/erpnext/stock/dashboard_chart_source/warehouse_wise_stock_value/warehouse_wise_stock_value.py
index da2f935..05a5068 100644
--- a/erpnext/stock/dashboard_chart_source/warehouse_wise_stock_value/warehouse_wise_stock_value.py
+++ b/erpnext/stock/dashboard_chart_source/warehouse_wise_stock_value/warehouse_wise_stock_value.py
@@ -25,6 +25,10 @@
 		wh["balance"] = balance[0][0]
 
 	warehouses  = [x for x in warehouses if not (x.get('balance') == None)]
+
+	if not warehouses:
+		return []
+
 	sorted_warehouse_map = sorted(warehouses, key = lambda i: i['balance'],reverse=True)
 
 	if len(sorted_warehouse_map) > 10:
diff --git a/erpnext/stock/dashboard_fixtures.py b/erpnext/stock/dashboard_fixtures.py
new file mode 100644
index 0000000..db955c3
--- /dev/null
+++ b/erpnext/stock/dashboard_fixtures.py
@@ -0,0 +1,207 @@
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+import frappe
+import json
+from frappe.utils import nowdate
+from erpnext.accounts.utils import get_fiscal_year
+
+def get_data():
+	return frappe._dict({
+		"dashboards": get_dashboards(),
+		"charts": get_charts(),
+		"number_cards": get_number_cards(),
+	})
+
+def get_company_for_dashboards():
+	company = frappe.defaults.get_defaults().company
+	if company:
+		return company
+	else:
+		company_list = frappe.get_list("Company")
+		if company_list:
+			return company_list[0].name
+	return None
+
+company = frappe.get_doc("Company", get_company_for_dashboards())
+fiscal_year = get_fiscal_year(nowdate(), as_dict=1).get("name")
+
+def get_dashboards():
+	return [{
+		"name": "Stock",
+		"dashboard_name": "Stock",
+		"charts": [
+			{ "chart": "Item Shortage Summary", "width": "Half"},
+			{ "chart": "Stock Ageing", "width": "Half"},
+			{ "chart": "Item Wise Annual Revenue", "width": "Half"},
+			{ "chart": "Item Wise Annual Expenditure", "width": "Half"},
+			{ "chart": "Warehouse wise Stock Value", "width": "Full"}
+		],
+		"cards": [
+			{ "card": "Purchase Receipts to Bill"},
+			{ "card": "Amount Payable against Receipt"},
+			{ "card": "Delivery Notes to Bill"},
+			{ "card": "Amount Receivable against Delivery"}
+		]
+	}]
+
+def get_charts():
+	return [
+		{
+			"name": "Item Shortage Summary",
+			"chart_name": "Item Shortage Summary",
+			"chart_type": "Report",
+			"doctype": "Dashboard Chart",
+			"filters_json": json.dumps({
+				"company": company.name
+			}),
+			"is_custom": 1,
+			"is_public": 1,
+			"owner": "Administrator",
+			"report_name": "Item Shortage Report",
+			"type": "Bar"
+		},
+		{
+			"name": "Stock Ageing",
+			"chart_name": "Stock Ageing",
+			"chart_type": "Report",
+			"custom_options": json.dumps({
+				"colors": ["#5e64ff"]
+				}),
+			"doctype": "Dashboard Chart",
+			"filters_json": json.dumps({
+				"company": company.name,
+				"to_date": nowdate(),
+				"show_warehouse_wise_stock": 0
+			}),
+			"is_custom": 1,
+			"is_public": 1,
+			"owner": "Administrator",
+			"report_name": "Stock Ageing",
+			"type": "Bar"
+		},
+		{
+			"name": "Item Wise Annual Revenue",
+			"chart_name": "Item Wise Annual Revenue",
+			"chart_type": "Report",
+			"custom_options": json.dumps({
+				"axisOptions": {"shortenYAxisNumbers": 1},
+				"tooltipOptions": {},
+				"colors":["#5e64ff"]
+			}),
+			"doctype": "Dashboard Chart",
+			"filters_json": json.dumps({
+				"period": "Monthly",
+				"based_on": "Item",
+				"fiscal_year": fiscal_year,
+				"company": company.name
+			}),
+			"is_custom": 1,
+			"is_public": 1,
+			"owner": "Administrator",
+			"report_name": "Delivery Note Trends",
+			"type": "Bar"
+		},
+		{
+			"name": "Item Wise Annual Expenditure",
+			"chart_name": "Item Wise Annual Expenditure",
+			"chart_type": "Report",
+			"custom_options": json.dumps({
+				"axisOptions": {"shortenYAxisNumbers": 1},
+				"tooltipOptions": {},
+				"colors":["#5e64ff"]
+			}),
+			"doctype": "Dashboard Chart",
+			"filters_json": json.dumps({
+				"period": "Monthly",
+				"based_on": "Item",
+				"fiscal_year": fiscal_year,
+				"company": company.name,
+				"period_based_on": "posting_date"
+			}),
+			"is_custom": 1,
+			"is_public": 1,
+			"owner": "Administrator",
+			"report_name": "Purchase Receipt Trends",
+			"type": "Bar"
+		},
+		{
+			"name": "Warehouse wise Stock Value",
+			"chart_name": "Warehouse wise Stock Value",
+			"chart_type": "Custom",
+			"doctype": "Dashboard Chart",
+			"filters_json": json.dumps({}),
+			"is_custom": 0,
+			"is_public": 1,
+			"owner": "Administrator",
+			"source": "Warehouse wise Stock Value",
+			"type": "Bar"
+		}
+
+	]
+
+def get_number_cards():
+	return [
+		{
+			"name": "Amount Payable against Receipt",
+			"label": "Amount Payable against Receipt",
+			"function": "Sum",
+			"aggregate_function_based_on": "base_grand_total",
+			"doctype": "Number Card",
+			"document_type": "Purchase Receipt",
+			"filters_json": json.dumps(
+				[["Purchase Receipt","status","=","To Bill",False],
+				["Purchase Receipt","company","=", company.name, False]]
+			),
+			"is_public": 1,
+			"owner": "Administrator",
+			"show_percentage_stats": 1,
+			"stats_time_interval": "Daily"
+		},
+		{
+			"name": "Amount Receivable against Delivery",
+			"label": "Amount Receivable against Delivery",
+			"function": "Sum",
+			"aggregate_function_based_on": "base_grand_total",
+			"doctype": "Number Card",
+			"document_type": "Delivery Note",
+			"filters_json": json.dumps(
+				[["Delivery Note","company","=",company.name,False],
+				["Delivery Note","status","=","To Bill",False]]
+			),
+			"is_public": 1,
+			"owner": "Administrator",
+			"show_percentage_stats": 1,
+			"stats_time_interval": "Daily"
+		},
+		{
+			"name": "Purchase Receipts to Bill",
+			"label": "Purchase Receipts to Bill",
+			"function": "Count",
+			"doctype": "Number Card",
+			"document_type": "Purchase Receipt",
+			"filters_json": json.dumps(
+				[["Purchase Receipt","status","=","To Bill",False],
+				["Purchase Receipt","company","=", company.name, False]]
+			),
+			"is_public": 1,
+			"owner": "Administrator",
+			"show_percentage_stats": 1,
+			"stats_time_interval": "Daily"
+		},
+		{
+			"name": "Delivery Notes to Bill",
+			"label": "Delivery Notes to Bill",
+			"function": "Count",
+			"doctype": "Number Card",
+			"document_type": "Delivery Note",
+			"filters_json": json.dumps(
+				[["Delivery Note","company","=",company.name,False],
+				["Delivery Note","status","=","To Bill",False]]
+			),
+			"is_public": 1,
+			"owner": "Administrator",
+			"show_percentage_stats": 1,
+			"stats_time_interval": "Daily"
+		}
+	]
\ No newline at end of file
diff --git a/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py b/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py
index 2108b51..d088b00 100644
--- a/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py
+++ b/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py
@@ -17,6 +17,9 @@
 	return conditions["columns"], data, None, chart_data
 
 def get_chart_data(data):
+	if not data:
+		return []
+
 	labels, datapoints = [], []
 
 	if len(data) > 10:
diff --git a/erpnext/stock/report/item_shortage_report/item_shortage_report.py b/erpnext/stock/report/item_shortage_report/item_shortage_report.py
index 07749eb..086d833 100644
--- a/erpnext/stock/report/item_shortage_report/item_shortage_report.py
+++ b/erpnext/stock/report/item_shortage_report/item_shortage_report.py
@@ -11,7 +11,7 @@
 	data = get_data(conditions, filters)
 
 	if not data:
-		return [], []
+		return [], [], None, []
 
 	chart_data = get_chart_data(data)
 
diff --git a/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py b/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py
index ac235f7..627c23b 100644
--- a/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py
+++ b/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py
@@ -17,6 +17,9 @@
 	return conditions["columns"], data, None, chart_data
 
 def get_chart_data(data):
+	if not data:
+		return []
+
 	labels, datapoints = [], []
 
 	if len(data) > 10:
diff --git a/erpnext/stock/report/stock_ageing/stock_ageing.py b/erpnext/stock/report/stock_ageing/stock_ageing.py
index 48f22c2..c5b8f43 100644
--- a/erpnext/stock/report/stock_ageing/stock_ageing.py
+++ b/erpnext/stock/report/stock_ageing/stock_ageing.py
@@ -234,6 +234,9 @@
 	return "and {}".format(" and ".join(conditions)) if conditions else ""
 
 def get_chart_data(data, filters):
+	if not data:
+		return []
+
 	labels, datapoints = [], []
 
 	if filters.get("show_warehouse_wise_stock"):
