diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index 895c314..0d67752 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -707,6 +707,7 @@
 	if party_type not in ("Customer", "Supplier"):
 		return
 	template = None
+
 	if party_type == "Customer":
 		customer = frappe.get_cached_value(
 			"Customer", party_name, fieldname=["payment_terms", "customer_group"], as_dict=1
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 44c68dc..e3bea25 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -70,6 +70,16 @@
 	"Department",
 ]
 
+demo_master_doctypes = [
+	"item_group",
+	"item",
+	"customer_group",
+	"supplier_group",
+	"customer",
+	"supplier",
+]
+demo_transaction_doctypes = ["purchase_invoice", "sales_invoice", "payment_entry", "journal_entry"]
+
 jinja = {
 	"methods": [
 		"erpnext.stock.serial_batch_bundle.get_serial_or_batch_nos",
diff --git a/erpnext/public/build.json b/erpnext/public/build.json
index b9b48ab..0b63e9f 100644
--- a/erpnext/public/build.json
+++ b/erpnext/public/build.json
@@ -19,6 +19,7 @@
 		"public/js/queries.js",
 		"public/js/sms_manager.js",
 		"public/js/utils/party.js",
+		"public/js/utils/demo.js",
 		"public/js/controllers/stock_controller.js",
 		"public/js/payment/payments.js",
 		"public/js/controllers/taxes_and_totals.js",
diff --git a/erpnext/public/js/erpnext.bundle.js b/erpnext/public/js/erpnext.bundle.js
index d7bea7b..966a9e1 100644
--- a/erpnext/public/js/erpnext.bundle.js
+++ b/erpnext/public/js/erpnext.bundle.js
@@ -28,5 +28,6 @@
 import "./utils/landed_taxes_and_charges_common.js";
 import "./utils/sales_common.js";
 import "./controllers/buying.js";
+import "./utils/demo.js";
 
 // import { sum } from 'frappe/public/utils/util.js'
diff --git a/erpnext/public/js/setup_wizard.js b/erpnext/public/js/setup_wizard.js
index 934fd1f..bcad6eb 100644
--- a/erpnext/public/js/setup_wizard.js
+++ b/erpnext/public/js/setup_wizard.js
@@ -40,6 +40,7 @@
 			{ fieldname: 'fy_start_date', label: __('Financial Year Begins On'), fieldtype: 'Date', reqd: 1 },
 			// end date should be hidden (auto calculated)
 			{ fieldname: 'fy_end_date', label: __('End Date'), fieldtype: 'Date', reqd: 1, hidden: 1 },
+			{ fieldname: 'setup_demo', label: __('Generate dummy data for demo'), fieldtype: 'Check'},
 		],
 
 		onload: function (slide) {
diff --git a/erpnext/public/js/utils/demo.js b/erpnext/public/js/utils/demo.js
new file mode 100644
index 0000000..22d78d8
--- /dev/null
+++ b/erpnext/public/js/utils/demo.js
@@ -0,0 +1,57 @@
+$(document).on("toolbar_setup", function() {
+	if (frappe.boot.sysdefaults.demo_company) {
+		erpnext.setup_clear_button();
+	}
+});
+
+erpnext.setup_clear_button = function() {
+	let message_string = __('Demo data is setup, use this button to clear before starting actual transactions');
+	let $floatingBar = $(`
+		<div class="flex justify-content-center" style="width: 100%;">
+			<div class="flex justify-content-center flex-col shadow rounded p-2"
+					style="
+						width: 50%;
+						background-color: #e0f2fe;
+						position: fixed;
+						bottom: 20px;
+						z-index: 1;">
+			<p style="margin: auto 0; padding-left: 10px; margin-right: 20px; font-size: 15px;">
+					${message_string}
+				</p>
+				<button id="clear-demo" type="button"
+					class="
+						px-4
+						py-2
+						border
+						border-transparent
+						text-white
+					"
+					style="
+						margin: auto 0;
+						height: fit-content;
+						background-color: #007bff;
+						border-radius: 5px;
+						margin-right: 10px
+					"
+				>
+					Clear
+				</button>
+			</div>
+		</div>
+	`);
+
+	$('footer').append($floatingBar);
+
+	$('#clear-demo').on('click', function () {
+		frappe.call({
+			method: "erpnext.setup.demo.clear_demo_data",
+			freeze: true,
+			freeze_message: __('Clearing Demo Data...'),
+			callback: function(r) {
+				frappe.ui.toolbar.clear_cache();
+				frappe.show_alert({ message: __('Demo data cleared'), indicator: 'green' });
+				$('footer').remove($floatingBar);
+			}
+		})
+	});
+}
\ No newline at end of file
diff --git a/erpnext/setup/demo.py b/erpnext/setup/demo.py
new file mode 100644
index 0000000..50bc43d
--- /dev/null
+++ b/erpnext/setup/demo.py
@@ -0,0 +1,170 @@
+# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+import json
+import os
+from random import randint
+
+import frappe
+from frappe.utils import add_days, getdate
+
+import erpnext
+from erpnext.accounts.utils import get_fiscal_year
+from erpnext.setup.setup_wizard.operations.install_fixtures import create_bank_account
+
+
+@frappe.whitelist()
+def setup_demo_data():
+	company = create_demo_company()
+	process_masters()
+	make_transactions(company)
+
+
+@frappe.whitelist()
+def clear_demo_data():
+	company = frappe.db.get_single_value("Global Defaults", "demo_company")
+	create_transaction_deletion_record(company)
+	clear_masters()
+	delete_company(company)
+	default_company = frappe.db.get_single_value("Global Defaults", "default_company")
+	frappe.db.set_default("company", default_company)
+
+
+def create_demo_company():
+	company = frappe.db.get_all("Company")[0].name
+	company_doc = frappe.get_doc("Company", company)
+
+	# Make a dummy company
+	new_company = frappe.new_doc("Company")
+	new_company.company_name = company_doc.company_name + " (Demo)"
+	new_company.abbr = company_doc.abbr + "D"
+	new_company.enable_perpetual_inventory = 1
+	new_company.default_currency = company_doc.default_currency
+	new_company.country = company_doc.country
+	new_company.chart_of_accounts_based_on = "Standard Template"
+	new_company.chart_of_accounts = company_doc.chart_of_accounts
+	new_company.insert()
+
+	# Set Demo Company as default to
+	frappe.db.set_single_value("Global Defaults", "demo_company", new_company.name)
+	frappe.db.set_default("company", new_company.name)
+
+	bank_account = create_bank_account({"company_name": new_company.name})
+	frappe.db.set_value("Company", new_company.name, "default_bank_account", bank_account.name)
+
+	return new_company.name
+
+
+def process_masters():
+	for doctype in frappe.get_hooks("demo_master_doctypes"):
+		data = read_data_file_using_hooks(doctype)
+		if data:
+			for item in json.loads(data):
+				create_demo_record(item)
+
+
+def create_demo_record(doctype):
+	frappe.get_doc(doctype).insert(ignore_permissions=True)
+
+
+def make_transactions(company):
+	start_date = get_fiscal_year(date=getdate())[1]
+	frappe.db.set_single_value("Stock Settings", "allow_negative_stock", 1)
+
+	for doctype in frappe.get_hooks("demo_transaction_doctypes"):
+		data = read_data_file_using_hooks(doctype)
+		if data:
+			for item in json.loads(data):
+				create_transaction(item, company, start_date)
+
+
+def create_transaction(doctype, company, start_date):
+	warehouse = get_warehouse(company)
+	posting_date = (
+		start_date if doctype.get("doctype") == "Purchase Invoice" else get_random_date(start_date)
+	)
+	bank_account, default_receivable_account = frappe.db.get_value(
+		"Company", company, ["default_bank_account", "default_receivable_account"]
+	)
+	bank_field = "paid_to" if doctype.get("party_type") == "Customer" else "paid_from"
+
+	doctype.update(
+		{
+			"company": company,
+			"set_posting_time": 1,
+			"posting_date": posting_date,
+			"set_warehouse": warehouse,
+			bank_field: bank_account,
+			"reference_date": posting_date,
+		}
+	)
+
+	income_account, expense_account = frappe.db.get_value(
+		"Company", company, ["default_income_account", "default_expense_account"]
+	)
+
+	if doctype in ("Purchase Invoice", "Sales Invoice"):
+		for item in doctype.get("items") or []:
+			item.update(
+				{
+					"cost_center": erpnext.get_default_cost_center(company),
+					"income_account": income_account,
+					"expense_account": expense_account,
+				}
+			)
+	elif doctype == "Journal Entry":
+		pass
+		# update_accounts(doctype, bank_account, default_receivable_account)
+
+	doc = frappe.get_doc(doctype)
+	doc.save(ignore_permissions=True)
+	doc.submit()
+
+
+# def update_accounts(doctype, company, bank_account):
+
+
+def get_random_date(start_date):
+	return add_days(start_date, randint(1, 365))
+
+
+def create_transaction_deletion_record(company):
+	transaction_deletion_record = frappe.new_doc("Transaction Deletion Record")
+	transaction_deletion_record.company = company
+	transaction_deletion_record.save(ignore_permissions=True)
+	transaction_deletion_record.submit()
+
+
+def clear_masters():
+	for doctype in frappe.get_hooks("demo_master_doctypes")[::-1]:
+		data = read_data_file_using_hooks(doctype)
+		if data:
+			for item in json.loads(data):
+				clear_demo_record(item)
+
+
+def clear_demo_record(doctype):
+	doc_type = doctype.get("doctype")
+	del doctype["doctype"]
+	doc = frappe.get_doc(doc_type, doctype)
+	frappe.delete_doc(doc.doctype, doc.name, ignore_permissions=True)
+
+
+def delete_company(company):
+	frappe.db.set_single_value("Global Defaults", "demo_company", "")
+	frappe.delete_doc("Company", company, ignore_permissions=True)
+
+
+def read_data_file_using_hooks(doctype):
+	path = os.path.join(os.path.dirname(__file__), "demo_data")
+	with open(os.path.join(path, doctype + ".json"), "r") as f:
+		data = f.read()
+
+	return data
+
+
+def get_warehouse(company):
+	abbr = frappe.db.get_value("Company", company, "abbr")
+	warehouse = "Stores - {0}".format(abbr)
+
+	return warehouse
diff --git a/erpnext/setup/demo_data/customer.json b/erpnext/setup/demo_data/customer.json
new file mode 100644
index 0000000..b27c444
--- /dev/null
+++ b/erpnext/setup/demo_data/customer.json
@@ -0,0 +1,20 @@
+[
+    {
+        "doctype": "Customer",
+        "customer_group": "Demo Customer Group",
+        "territory": "All Territories",
+        "customer_name": "ABC Enterprises"
+    },
+    {
+        "doctype": "Customer",
+        "customer_group": "Demo Customer Group",
+        "territory": "All Territories",
+        "customer_name": "XYZ Corporation"
+    },
+    {
+        "doctype": "Customer",
+        "customer_group": "Demo Customer Group",
+        "territory": "All Territories",
+        "customer_name": "KJPR Pvt. Ltd."
+    }
+]
\ No newline at end of file
diff --git a/erpnext/setup/demo_data/customer_group.json b/erpnext/setup/demo_data/customer_group.json
new file mode 100644
index 0000000..7543335
--- /dev/null
+++ b/erpnext/setup/demo_data/customer_group.json
@@ -0,0 +1,6 @@
+[
+    {
+        "doctype": "Customer Group",
+        "customer_group_name": "Demo Customer Group"
+    }
+]
\ No newline at end of file
diff --git a/erpnext/setup/demo_data/item.json b/erpnext/setup/demo_data/item.json
new file mode 100644
index 0000000..a241337
--- /dev/null
+++ b/erpnext/setup/demo_data/item.json
@@ -0,0 +1,72 @@
+[
+    {
+        "doctype": "Item",
+        "item_group": "Demo Item Group",
+        "item_code": "SKU001",
+        "item_name": "T-shirt",
+        "image": "https://media.istockphoto.com/id/1281631373/vector/mockup-template-men-black-t-shirt-short-sleeve.jpg?s=612x612&w=0&k=20&c=SfYrtFXQS2wJ1-R9ozvxhUabJz3cnmH5HXv2sXW_mZk="
+    },
+    {
+        "doctype": "Item",
+        "item_group": "Demo Item Group",
+        "item_code": "SKU002",
+        "item_name": "Laptop",
+        "image": "https://media.istockphoto.com/id/1297051332/vector/levitation-laptop-mockup.jpg?s=612x612&w=0&k=20&c=E9rp9HY7CaPjjsnZlg8NYBTFOGy7gfBSL7oK6wv5VnY="
+    },
+    {
+        "doctype": "Item",
+        "item_group": "Demo Item Group",
+        "item_code": "SKU003",
+        "item_name": "Book",
+        "image": "https://media.istockphoto.com/id/950152244/vector/vector-mock-up-of-standing-book.jpg?s=612x612&w=0&k=20&c=oDF2LeFoAcPAwJZFEVjWRvT53sMmCQwkVj-3qYy1duw="
+    },
+    {
+        "doctype": "Item",
+        "item_group": "Demo Item Group",
+        "item_code": "SKU004",
+        "item_name": "Smartphone",
+        "image": "https://media.istockphoto.com/id/1308145590/vector/realistic-mobile-phone-mockup-template-isolated-stock-vector.jpg?s=612x612&w=0&k=20&c=63UyujU3S9kAkUh3MXdJcr10xelDjgVyQzRx5Sh5018="
+    },
+    {
+        "doctype": "Item",
+        "item_group": "Demo Item Group",
+        "item_code": "SKU005",
+        "item_name": "Sneakers",
+        "image": "https://media.istockphoto.com/id/1303978937/photo/white-sneaker-on-a-blue-gradient-background-mens-fashion-sport-shoe-sneakers-lifestyle.jpg?s=612x612&w=0&k=20&c=L725fuzFTnm6qEaqE7Urc5q6IR80EgYQEjBn_qtBIQg="
+    },
+    {
+        "doctype": "Item",
+        "item_group": "Demo Item Group",
+        "item_code": "SKU006",
+        "item_name": "Coffee Mug",
+        "image": "https://media.istockphoto.com/id/821282266/photo/white-mug-isolated.jpg?s=612x612&w=0&k=20&c=LJCMPk0D83OKmJHahkiLzAB3OsKr83nMbL7KxSgfpfM="
+    },
+    {
+        "doctype": "Item",
+        "item_group": "Demo Item Group",
+        "item_code": "SKU007",
+        "item_name": "Television",
+        "image": "https://media.istockphoto.com/id/1002728980/vector/wide-tv-monitor-mockup.jpg?s=612x612&w=0&k=20&c=1gDEH7ppC9ap8UBuIQmO1gM_Z8VeEaEUDDo-Aw_k8qs="
+    },
+    {
+        "doctype": "Item",
+        "item_group": "Demo Item Group",
+        "item_code": "SKU008",
+        "item_name": "Backpack",
+        "image": "https://media.istockphoto.com/id/1141208525/photo/yellow-open-backpack.jpg?s=612x612&w=0&k=20&c=k0NOqN9FnIGdkaUNx6-fMIBG2IfWwLT_AbDVefqJT_0="
+    },
+    {
+        "doctype": "Item",
+        "item_group": "Demo Item Group",
+        "item_code": "SKU009",
+        "item_name": "Headphones",
+        "image": "https://media.istockphoto.com/id/860853774/photo/blue-headphones-isolated-on-a-white-background.jpg?s=612x612&w=0&k=20&c=KqMSLWuM_Prrq5XHTe79bnFRU_leFDaXTuKqup5uvrE="
+    },
+    {
+        "doctype": "Item",
+        "item_group": "Demo Item Group",
+        "item_code": "SKU010",
+        "item_name": "Camera",
+        "image": "https://media.istockphoto.com/id/185278433/photo/black-digital-slr-camera-in-a-white-background.jpg?s=612x612&w=0&k=20&c=OOCbhvOF0W-eVhhrm-TxbgLfbKhFfs4Lprjd7hiQBNU="
+    }
+]
\ No newline at end of file
diff --git a/erpnext/setup/demo_data/item_group.json b/erpnext/setup/demo_data/item_group.json
new file mode 100644
index 0000000..acb261f
--- /dev/null
+++ b/erpnext/setup/demo_data/item_group.json
@@ -0,0 +1,7 @@
+[
+    {
+        "doctype": "Item Group",
+        "item_group_name": "Demo Item Group",
+        "parent_item_group": "All Item Groups"
+    }
+]
\ No newline at end of file
diff --git a/erpnext/setup/demo_data/journal_entry.json b/erpnext/setup/demo_data/journal_entry.json
new file mode 100644
index 0000000..b751c7c
--- /dev/null
+++ b/erpnext/setup/demo_data/journal_entry.json
@@ -0,0 +1,25 @@
+[
+    {
+        "cheque_date": "2023-03-14",
+        "cheque_no": "33",
+        "doctype": "Journal Entry",
+        "accounts": [
+         {
+          "party_type": "Customer",
+          "party": "ABC Enterprises",
+          "credit_in_account_currency": 40000.0,
+          "debit_in_account_currency": 0.0,
+          "doctype": "Journal Entry Account",
+          "parentfield": "accounts",
+         },
+         {
+          "credit_in_account_currency": 0.0,
+          "debit_in_account_currency": 40000.0,
+          "doctype": "Journal Entry Account",
+          "parentfield": "accounts",
+         }
+        ],
+        "user_remark": "test",
+        "voucher_type": "Bank Entry"
+    }
+]
\ No newline at end of file
diff --git a/erpnext/setup/demo_data/payment_entry.json b/erpnext/setup/demo_data/payment_entry.json
new file mode 100644
index 0000000..c0767c3
--- /dev/null
+++ b/erpnext/setup/demo_data/payment_entry.json
@@ -0,0 +1,57 @@
+[
+    {
+        "doctype": "Payment Entry",
+        "payment_type": "Receive",
+        "party_type": "Customer",
+        "party": "ABC Enterprises",
+        "paid_amount": 67000,
+        "received_amount": 67000,
+        "reference_no": "#ref0001",
+        "source_exchange_rate": 1,
+        "target_exchange_rate": 1
+    },
+    {
+        "doctype": "Payment Entry",
+        "payment_type": "Receive",
+        "party_type": "Customer",
+        "party": "XYZ Corporation",
+        "paid_amount": 500000,
+        "received_amount": 500000,
+        "reference_no": "#ref0001",
+        "source_exchange_rate": 1,
+        "target_exchange_rate": 1
+    },
+    {
+        "doctype": "Payment Entry",
+        "payment_type": "Receive",
+        "party_type": "Customer",
+        "party": "KJPR Pvt. Ltd.",
+        "paid_amount": 300000,
+        "received_amount": 30000,
+        "reference_no": "#ref0001",
+        "source_exchange_rate": 1,
+        "target_exchange_rate": 1
+    },
+    {
+        "doctype": "Payment Entry",
+        "payment_type": "Pay",
+        "party_type": "Supplier",
+        "party": "DQ Industries",
+        "paid_amount": 85000,
+        "received_amount": 85000,
+        "reference_no": "#ref0005",
+        "source_exchange_rate": 1,
+        "target_exchange_rate": 1
+    },
+    {
+        "doctype": "Payment Entry",
+        "payment_type": "Pay",
+        "party_type": "Supplier",
+        "party": "KC Corp.",
+        "paid_amount": 100000,
+        "received_amount": 100000,
+        "reference_no": "#ref0006",
+        "source_exchange_rate": 1,
+        "target_exchange_rate": 1
+    }
+]
\ No newline at end of file
diff --git a/erpnext/setup/demo_data/purchase_invoice.json b/erpnext/setup/demo_data/purchase_invoice.json
new file mode 100644
index 0000000..7d5e97d
--- /dev/null
+++ b/erpnext/setup/demo_data/purchase_invoice.json
@@ -0,0 +1,162 @@
+[
+    {
+        "conversion_rate": 1.0,
+        "supplier": "DQ Industries",
+        "doctype": "Purchase Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Purchase Invoice Item",
+                "item_code": "SKU001",
+                "parentfield": "items",
+                "qty": 100.0,
+                "rate": 400.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "supplier": "MA Inc.",
+        "doctype": "Purchase Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Purchase Invoice Item",
+                "item_code": "SKU002",
+                "parentfield": "items",
+                "qty": 50.0,
+                "rate": 300.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "supplier": "KC Corp.",
+        "doctype": "Purchase Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Purchase Invoice Item",
+                "item_code": "SKU003",
+                "parentfield": "items",
+                "qty": 75.0,
+                "rate": 523.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "supplier": "DQ Industries",
+        "doctype": "Purchase Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Purchase Invoice Item",
+                "item_code": "SKU004",
+                "parentfield": "items",
+                "qty": 60.0,
+                "rate": 725.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "supplier": "MA Inc.",
+        "doctype": "Purchase Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Purchase Invoice Item",
+                "item_code": "SKU005",
+                "parentfield": "items",
+                "qty": 82.0,
+                "rate": 222.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "supplier": "KC Corp.",
+        "doctype": "Purchase Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Purchase Invoice Item",
+                "item_code": "SKU006",
+                "parentfield": "items",
+                "qty": 50.0,
+                "rate": 420.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "supplier": "DQ Industries",
+        "doctype": "Purchase Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Purchase Invoice Item",
+                "item_code": "SKU007",
+                "parentfield": "items",
+                "qty": 90.0,
+                "rate": 375.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "supplier": "MA Inc.",
+        "doctype": "Purchase Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Purchase Invoice Item",
+                "item_code": "SKU008",
+                "parentfield": "items",
+                "qty": 121.0,
+                "rate": 333.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "supplier": "KC Corp.",
+        "doctype": "Purchase Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Purchase Invoice Item",
+                "item_code": "SKU009",
+                "parentfield": "items",
+                "qty": 76.0,
+                "rate": 700.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "supplier": "DQ Industries",
+        "doctype": "Purchase Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Purchase Invoice Item",
+                "item_code": "SKU010",
+                "parentfield": "items",
+                "qty": 78.0,
+                "rate": 500.0,
+                "conversion_factor": 1
+            }
+        ]
+    }
+]
\ No newline at end of file
diff --git a/erpnext/setup/demo_data/sales_invoice.json b/erpnext/setup/demo_data/sales_invoice.json
new file mode 100644
index 0000000..6bbfcbe
--- /dev/null
+++ b/erpnext/setup/demo_data/sales_invoice.json
@@ -0,0 +1,122 @@
+[
+    {
+        "conversion_rate": 1.0,
+        "customer": "ABC Enterprises",
+        "doctype": "Sales Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Sales Invoice Item",
+                "item_code": "SKU004",
+                "parentfield": "items",
+                "qty": 20.0,
+                "rate": 500.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "customer": "XYZ Corporation",
+        "doctype": "Sales Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Sales Invoice Item",
+                "item_code": "SKU001",
+                "parentfield": "items",
+                "qty": 25.0,
+                "rate": 600.0,
+                "conversion_factor": 1
+            },
+            {
+                "doctype": "Sales Invoice Item",
+                "item_code": "SKU002",
+                "parentfield": "items",
+                "qty": 15.0,
+                "rate": 300.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "customer": "XYZ Corporation",
+        "doctype": "Sales Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Sales Invoice Item",
+                "item_code": "SKU003",
+                "parentfield": "items",
+                "qty": 100,
+                "rate": 300.0,
+                "conversion_factor": 1
+            },
+            {
+                "doctype": "Sales Invoice Item",
+                "item_code": "SKU006",
+                "parentfield": "items",
+                "qty": 100,
+                "rate": 300.0,
+                "conversion_factor": 1
+            },
+            {
+                "doctype": "Sales Invoice Item",
+                "item_code": "SKU007",
+                "parentfield": "items",
+                "qty": 100,
+                "rate": 300.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "customer": "KJPR Pvt. Ltd.",
+        "doctype": "Sales Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Sales Invoice Item",
+                "item_code": "SKU005",
+                "parentfield": "items",
+                "qty": 200.0,
+                "rate": 100.0,
+                "conversion_factor": 1
+            }
+        ]
+    },
+    {
+        "conversion_rate": 1.0,
+        "customer": "ABC Enterprises",
+        "doctype": "Sales Invoice",
+        "update_stock": 1,
+        "items": [
+            {
+                "doctype": "Sales Invoice Item",
+                "item_code": "SKU008",
+                "parentfield": "items",
+                "qty": 20.0,
+                "rate": 500.0,
+                "conversion_factor": 1
+            },
+            {
+                "doctype": "Sales Invoice Item",
+                "item_code": "SKU009",
+                "parentfield": "items",
+                "qty": 40.0,
+                "rate": 300.0,
+                "conversion_factor": 1
+            },
+            {
+                "doctype": "Sales Invoice Item",
+                "item_code": "SKU010",
+                "parentfield": "items",
+                "qty": 50.0,
+                "rate": 900.0,
+                "conversion_factor": 1
+            }
+        ]
+    }
+]
\ No newline at end of file
diff --git a/erpnext/setup/demo_data/supplier.json b/erpnext/setup/demo_data/supplier.json
new file mode 100644
index 0000000..96c83d1
--- /dev/null
+++ b/erpnext/setup/demo_data/supplier.json
@@ -0,0 +1,17 @@
+[
+    {
+        "doctype": "Supplier",
+        "supplier_group": "Demo Supplier Group",
+        "supplier_name": "DQ Industries"
+    },
+    {
+        "doctype": "Supplier",
+        "supplier_group": "Demo Supplier Group",
+        "supplier_name": "MA Inc."
+    },
+    {
+        "doctype": "Supplier",
+        "supplier_group": "Demo Supplier Group",
+        "supplier_name": "KC Corp."
+    }
+]
\ No newline at end of file
diff --git a/erpnext/setup/demo_data/supplier_group.json b/erpnext/setup/demo_data/supplier_group.json
new file mode 100644
index 0000000..17070bf
--- /dev/null
+++ b/erpnext/setup/demo_data/supplier_group.json
@@ -0,0 +1,6 @@
+[
+    {
+        "doctype": "Supplier Group",
+        "supplier_group_name": "Demo Supplier Group"
+    }
+]
\ No newline at end of file
diff --git a/erpnext/setup/doctype/company/test_company.py b/erpnext/setup/doctype/company/test_company.py
index fd2fe30..babd7dd 100644
--- a/erpnext/setup/doctype/company/test_company.py
+++ b/erpnext/setup/doctype/company/test_company.py
@@ -195,6 +195,22 @@
 		child_company.save()
 		self.test_basic_tree()
 
+	def test_demo_data(self):
+		from erpnext.setup.demo import clear_demo_data, setup_demo_data
+
+		setup_demo_data()
+		company_name = frappe.db.get_value("Company", {"name": ("like", "%(Demo)")})
+		self.assertTrue(company_name)
+
+		for transaction in frappe.get_hooks("demo_transaction_doctypes"):
+			self.assertTrue(frappe.db.exists(frappe.unscrub(transaction), {"company": company_name}))
+
+		clear_demo_data()
+		company_name = frappe.db.get_value("Company", {"name": ("like", "%(Demo)")})
+		self.assertFalse(company_name)
+		for transaction in frappe.get_hooks("demo_transaction_doctypes"):
+			self.assertFalse(frappe.db.exists(frappe.unscrub(transaction), {"company": company_name}))
+
 
 def create_company_communication(doctype, docname):
 	comm = frappe.get_doc(
diff --git a/erpnext/setup/doctype/global_defaults/global_defaults.json b/erpnext/setup/doctype/global_defaults/global_defaults.json
index 823d2ba..bd80e1d 100644
--- a/erpnext/setup/doctype/global_defaults/global_defaults.json
+++ b/erpnext/setup/doctype/global_defaults/global_defaults.json
@@ -12,7 +12,8 @@
   "default_currency",
   "hide_currency_symbol",
   "disable_rounded_total",
-  "disable_in_words"
+  "disable_in_words",
+  "demo_company"
  ],
  "fields": [
   {
@@ -71,6 +72,14 @@
    "fieldtype": "Check",
    "in_list_view": 1,
    "label": "Disable In Words"
+  },
+  {
+   "fieldname": "demo_company",
+   "fieldtype": "Link",
+   "hidden": 1,
+   "label": "Demo Company",
+   "options": "Company",
+   "read_only": 1
   }
  ],
  "icon": "fa fa-cog",
diff --git a/erpnext/setup/setup_wizard/operations/install_fixtures.py b/erpnext/setup/setup_wizard/operations/install_fixtures.py
index 535c87d..ae6881b 100644
--- a/erpnext/setup/setup_wizard/operations/install_fixtures.py
+++ b/erpnext/setup/setup_wizard/operations/install_fixtures.py
@@ -490,7 +490,7 @@
 
 def create_bank_account(args):
 	if not args.get("bank_account"):
-		return
+		args["bank_account"] = _("Bank Account")
 
 	company_name = args.get("company_name")
 	bank_account_group = frappe.db.get_value(
diff --git a/erpnext/setup/setup_wizard/setup_wizard.py b/erpnext/setup/setup_wizard/setup_wizard.py
index 65b268e..ad49be6 100644
--- a/erpnext/setup/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/setup_wizard/setup_wizard.py
@@ -5,6 +5,7 @@
 import frappe
 from frappe import _
 
+from ..demo import setup_demo_data
 from .operations import install_fixtures as fixtures
 
 
@@ -37,6 +38,11 @@
 				],
 			},
 			{
+				"status": _("Setting up demo data"),
+				"fail_msg": _("Failed to setup demo data"),
+				"tasks": [{"fn": setup_demo, "args": args, "fail_msg": _("Failed to login")}],
+			},
+			{
 				"status": _("Wrapping up"),
 				"fail_msg": _("Failed to login"),
 				"tasks": [{"fn": fin, "args": args, "fail_msg": _("Failed to login")}],
@@ -63,6 +69,11 @@
 	login_as_first_user(args)
 
 
+def setup_demo(args):
+	if args.get("setup_demo"):
+		setup_demo_data()
+
+
 def login_as_first_user(args):
 	if args.get("email") and hasattr(frappe.local, "login_manager"):
 		frappe.local.login_manager.login_as(args.get("email"))
diff --git a/erpnext/startup/boot.py b/erpnext/startup/boot.py
index db1cc49..bdbf8b4 100644
--- a/erpnext/startup/boot.py
+++ b/erpnext/startup/boot.py
@@ -61,6 +61,8 @@
 		)
 		bootinfo.party_account_types = frappe._dict(party_account_types)
 
+		bootinfo.sysdefaults.demo_company = frappe.db.get_single_value("Global Defaults", "demo_company")
+
 
 def update_page_info(bootinfo):
 	bootinfo.page_info.update(
