diff --git a/erpnext/__init__.py b/erpnext/__init__.py
index 882d1ec..95f03f5 100644
--- a/erpnext/__init__.py
+++ b/erpnext/__init__.py
@@ -5,7 +5,7 @@
 from erpnext.hooks import regional_overrides
 from frappe.utils import getdate
 
-__version__ = '10.0.1'
+__version__ = '10.0.2'
 
 def get_default_company(user=None):
 	'''Get default company for user'''
diff --git a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py
index 7ec8245..64cd3ad 100644
--- a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py
+++ b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py
@@ -94,6 +94,7 @@
 		pe.reference_no = "1"
 		pe.reference_date = "2016-01-01"
 		pe.source_exchange_rate = 1
+		pe.paid_to = payable
 		pe.insert()
 		pe.submit()
 
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index 4b0b991..8ab8411 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -27,6 +27,7 @@
 		unlink_payment_on_cancel_of_invoice(0)
 
 	def test_gl_entries_without_perpetual_inventory(self):
+		frappe.db.set_value("Company", "_Test Company", "round_off_account", "Round Off - _TC")
 		wrapper = frappe.copy_doc(test_records[0])
 		set_perpetual_inventory(0, wrapper.company)
 		self.assertTrue(not cint(erpnext.is_perpetual_inventory_enabled(wrapper.company)))
diff --git a/erpnext/buying/doctype/supplier/supplier.json b/erpnext/buying/doctype/supplier/supplier.json
index e6cea53..efaec83 100644
--- a/erpnext/buying/doctype/supplier/supplier.json
+++ b/erpnext/buying/doctype/supplier/supplier.json
@@ -941,8 +941,8 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-08-31 16:10:44.049915", 
- "modified_by": "tundebabzy@gmail.com", 
+ "modified": "2017-12-26 04:50:15.317590", 
+ "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Supplier", 
  "name_case": "Title Case", 
diff --git a/erpnext/crm/doctype/lead/lead.py b/erpnext/crm/doctype/lead/lead.py
index a5dfc5c..85bbf2a 100644
--- a/erpnext/crm/doctype/lead/lead.py
+++ b/erpnext/crm/doctype/lead/lead.py
@@ -129,7 +129,6 @@
 			}
 		}}, target_doc, set_missing_values, ignore_permissions=ignore_permissions)
 
-	print(doclist)
 	return doclist
 
 @frappe.whitelist()
diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index c83bcd6..6841354 100644
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -245,6 +245,7 @@
 			callback: function(r) {
 				if(!r.exc) {
 					var doc = frappe.model.sync(r.message);
+					cur_frm.dirty();
 					cur_frm.refresh();
 				}
 			}
diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py
index 8693414..d065b09 100644
--- a/erpnext/stock/doctype/item/test_item.py
+++ b/erpnext/stock/doctype/item/test_item.py
@@ -5,13 +5,14 @@
 import unittest
 import frappe
 
-from frappe.test_runner import make_test_records
+from frappe.test_runner import make_test_objects
 from erpnext.controllers.item_variant import (create_variant, ItemVariantExistsError,
 	InvalidItemAttributeValueError, get_variant)
 from erpnext.stock.doctype.item.item import StockExistsForTemplate
 
 from frappe.model.rename_doc import rename_doc
 from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
+from erpnext.stock.get_item_details import get_item_details
 
 test_ignore = ["BOM"]
 test_dependencies = ["Warehouse"]
@@ -53,7 +54,9 @@
 		return item
 
 	def test_get_item_details(self):
-		from erpnext.stock.get_item_details import get_item_details
+		# delete modified item price record and make as per test_records
+		frappe.db.sql("""delete from `tabItem Price`""")
+
 		to_check = {
 			"item_code": "_Test Item",
 			"item_name": "_Test Item",
@@ -76,7 +79,8 @@
 			"conversion_factor": 1.0,
 		}
 
-		make_test_records("Item Price")
+		make_test_objects("Item Price")
+		print(frappe.get_all("Item Price"))
 
 		details = get_item_details({
 			"item_code": "_Test Item",
@@ -88,7 +92,10 @@
 			"price_list_currency": "_Test Currency",
 			"plc_conversion_rate": 1,
 			"order_type": "Sales",
-			"customer": "_Test Customer"
+			"customer": "_Test Customer",
+			"conversion_factor": 1,
+			"price_list_uom_dependant": 1,
+			"ignore_pricing_rule": 1
 		})
 
 		for key, value in to_check.iteritems():
