Merge pull request #5811 from nabinhait/demo2

Demo data for Payment Entry
diff --git a/erpnext/demo/setup_data.py b/erpnext/demo/setup_data.py
index 98892d4..f5c4eb3 100644
--- a/erpnext/demo/setup_data.py
+++ b/erpnext/demo/setup_data.py
@@ -68,7 +68,7 @@
 
 def setup_fiscal_year():
 	fiscal_year = None
-	for year in xrange(2014, now_datetime().year + 1, 1):
+	for year in xrange(2010, now_datetime().year + 1, 1):
 		try:
 			fiscal_year = frappe.get_doc({
 				"doctype": "Fiscal Year",
diff --git a/erpnext/demo/user/accounts.py b/erpnext/demo/user/accounts.py
index d3df627..e7dceb3 100644
--- a/erpnext/demo/user/accounts.py
+++ b/erpnext/demo/user/accounts.py
@@ -8,11 +8,13 @@
 import random
 from frappe.utils import random_string
 from frappe.desk import query_report
+from erpnext.accounts.doctype.journal_entry.journal_entry import get_payment_entry_against_invoice
+from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
 
 def work():
 	frappe.set_user(frappe.db.get_global('demo_accounts_user'))
 
-	if random.random() < 0.5:
+	if random.random() <= 0.6:
 		from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice
 		report = "Ordered Items to be Billed"
 		for so in list(set([r[0] for r in query_report.run(report)["result"]
@@ -26,7 +28,7 @@
 			si.submit()
 			frappe.db.commit()
 
-	if random.random() < 0.5:
+	if random.random() <= 0.6:
 		from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
 		report = "Received Items to be Billed"
 		for pr in list(set([r[0] for r in query_report.run(report)["result"]
@@ -38,30 +40,33 @@
 			pi.submit()
 			frappe.db.commit()
 
-	from erpnext.accounts.doctype.journal_entry.journal_entry import get_payment_entry_against_invoice
+	if random.random() < 0.5:
+		make_payment_entries("Sales Invoice", "Accounts Receivable")
 
 	if random.random() < 0.5:
-		report = "Accounts Receivable"
-		for si in list(set([r[3] for r in query_report.run(report,
-		{"report_date": frappe.flags.current_date })["result"]
-		if r[2]=="Sales Invoice"]))[:random.randint(1, 5)]:
-			jv = frappe.get_doc(get_payment_entry_against_invoice("Sales Invoice", si))
-			jv.posting_date = frappe.flags.current_date
-			jv.cheque_no = random_string(6)
-			jv.cheque_date = frappe.flags.current_date
-			jv.insert()
-			jv.submit()
-			frappe.db.commit()
+		make_payment_entries("Purchase Invoice", "Accounts Payable")
 
-	if random.random() < 0.5:
-		report = "Accounts Payable"
-		for pi in list(set([r[3] for r in query_report.run(report,
-			{"report_date": frappe.flags.current_date })["result"]
-				if r[2]=="Purchase Invoice"]))[:random.randint(1, 5)]:
-			jv = frappe.get_doc(get_payment_entry_against_invoice("Purchase Invoice", pi))
-			jv.posting_date = frappe.flags.current_date
-			jv.cheque_no = random_string(6)
-			jv.cheque_date = frappe.flags.current_date
-			jv.insert()
-			jv.submit()
-			frappe.db.commit()
+def make_payment_entries(ref_doctype, report):
+	outstanding_invoices = list(set([r[3] for r in query_report.run(report, 
+	{"report_date": frappe.flags.current_date })["result"] if r[2]==ref_doctype]))
+	
+	# make Payment Entry
+	for inv in outstanding_invoices[:random.randint(1, 2)]:
+		pe = get_payment_entry(ref_doctype, inv)
+		pe.posting_date = frappe.flags.current_date
+		pe.reference_no = random_string(6)
+		pe.reference_date = frappe.flags.current_date
+		pe.insert()
+		pe.submit()
+		frappe.db.commit()
+		outstanding_invoices.remove(inv)
+		
+	# make payment via JV
+	for inv in outstanding_invoices[:1]:
+		jv = frappe.get_doc(get_payment_entry_against_invoice(ref_doctype, inv))
+		jv.posting_date = frappe.flags.current_date
+		jv.cheque_no = random_string(6)
+		jv.cheque_date = frappe.flags.current_date
+		jv.insert()
+		jv.submit()
+		frappe.db.commit()		
\ No newline at end of file
diff --git a/erpnext/demo/user/sales.py b/erpnext/demo/user/sales.py
index 7432ba0..6b36b46 100644
--- a/erpnext/demo/user/sales.py
+++ b/erpnext/demo/user/sales.py
@@ -45,7 +45,7 @@
 
 	add_random_children(b, "items", rows=4, randomize = {
 		"qty": (1, 5),
-		"item_code": ("Item", {"has_variants": "0"})
+		"item_code": ("Item", {"has_variants": "0", "is_fixed_asset": 0})
 	}, unique="item_code")
 
 	b.insert()
@@ -88,7 +88,7 @@
 
 		add_random_children(qtn, "items", rows=3, randomize = {
 			"qty": (1, 5),
-			"item_code": ("Item", {"has_variants": "0"})
+			"item_code": ("Item", {"has_variants": "0", "is_fixed_asset": 0})
 		}, unique="item_code")
 
 		qtn.insert()