Demo data for fixed asset depreciation
diff --git a/erpnext/demo/user/fixed_asset.py b/erpnext/demo/user/fixed_asset.py
new file mode 100644
index 0000000..bf3199e
--- /dev/null
+++ b/erpnext/demo/user/fixed_asset.py
@@ -0,0 +1,59 @@
+
+# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+
+import frappe
+from frappe.utils.make_random import get_random
+from erpnext.accounts.doctype.asset.asset import make_purchase_invoice, make_sales_invoice
+from erpnext.accounts.doctype.asset.depreciation import post_depreciation_entries, scrap_asset
+
+def work():
+	frappe.set_user(frappe.db.get_global('demo_accounts_user'))
+
+	asset_list = make_asset_purchase_entry()
+
+	if not asset_list:
+		# fixed_asset.work() already run
+		return
+		
+	# post depreciation entries as on today
+	post_depreciation_entries()
+	
+	# scrap a random asset
+	frappe.db.set_value("Company", "Wind Power LLC", "disposal_account", "Gain/Loss on Asset Disposal - WPL")
+	
+	asset = get_random_asset()
+	scrap_asset(asset.name)
+	
+	# Sell a random asset
+	sell_an_asset()	
+
+def make_asset_purchase_entry():
+	asset_list = frappe.get_all("Asset", filters={"purchase_invoice": ["in", ("", None)]}, 
+		fields=["name", "item_code", "gross_purchase_amount", "company", "purchase_date"])
+				
+	# make purchase invoice
+	for asset in asset_list:
+		pi = make_purchase_invoice(asset.name, asset.item_code, asset.gross_purchase_amount, 
+			asset.company, asset.purchase_date)
+		pi.supplier = get_random("Supplier")
+		pi.save()
+		pi.submit()
+		
+	return asset_list
+
+def sell_an_asset():
+	asset = get_random_asset()
+	si = make_sales_invoice(asset.name, asset.item_code, "Wind Power LLC")
+	si.customer = get_random("Customer")
+	si.get("items")[0].rate = asset.value_after_depreciation * 0.8 \
+		if asset.value_after_depreciation else asset.gross_purchase_amount * 0.9
+	si.save()
+	si.submit()
+	
+def get_random_asset():
+	return frappe.db.sql(""" select name, item_code, value_after_depreciation, gross_purchase_amount
+		from `tabAsset` 
+		where docstatus=1 and status not in ("Scrapped", "Sold") order by rand() limit 1""", as_dict=1)[0]
diff --git a/erpnext/demo/user/hr.py b/erpnext/demo/user/hr.py
index bd86507..50f15bb 100644
--- a/erpnext/demo/user/hr.py
+++ b/erpnext/demo/user/hr.py
@@ -124,4 +124,4 @@
 
 def get_random_item():
 	return frappe.db.sql_list(""" select name from `tabItem` where
-		has_variants = 0 order by rand() limit 1""")[0]
+		has_variants=0 and is_stock_item=0 and is_fixed_asset=0 order by rand() limit 1""")[0]