diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
index 9829a17..ff50dcd 100644
--- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
+++ b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
@@ -353,13 +353,13 @@
 	jv.remark = 'Payment received against Sales Invoice {0}. {1}'.format(si.name, si.remarks)
 
 	# credit customer
-	jv.doclist[1].account = si.debit_to
-	jv.doclist[1].balance = get_balance_on(si.debit_to)
-	jv.doclist[1].credit = si.outstanding_amount
-	jv.doclist[1].against_invoice = si.name
+	jv["entries"][0].account = si.debit_to
+	jv["entries"][0].balance = get_balance_on(si.debit_to)
+	jv["entries"][0].credit = si.outstanding_amount
+	jv["entries"][0].against_invoice = si.name
 
 	# debit bank
-	jv.doclist[2].debit = si.outstanding_amount
+	jv["entries"][1].debit = si.outstanding_amount
 	
 	return jv.as_dict()
 
@@ -371,13 +371,13 @@
 	jv.remark = 'Payment against Purchase Invoice {0}. {1}'.format(pi.name, pi.remarks)
 	
 	# credit supplier
-	jv.doclist[1].account = pi.credit_to
-	jv.doclist[1].balance = get_balance_on(pi.credit_to)
-	jv.doclist[1].debit = pi.outstanding_amount
-	jv.doclist[1].against_voucher = pi.name
+	jv["entries"][0].account = pi.credit_to
+	jv["entries"][0].balance = get_balance_on(pi.credit_to)
+	jv["entries"][0].debit = pi.outstanding_amount
+	jv["entries"][0].against_voucher = pi.name
 
 	# credit bank
-	jv.doclist[2].credit = pi.outstanding_amount
+	jv["entries"][1].credit = pi.outstanding_amount
 	
 	return jv.as_dict()
 
diff --git a/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py b/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py
index c3a3d85..19c3cef 100644
--- a/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py
+++ b/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py
@@ -9,7 +9,7 @@
 class TestJournalVoucher(unittest.TestCase):
 	def test_journal_voucher_with_against_jv(self):
 		self.clear_account_balance()
-		jv_invoice = frappe.copy_doc(test_records[2])
+		jv_invoice = frappe.copy_doc(test_records[1])
 		jv_invoice.insert()
 		jv_invoice.submit()
 		
@@ -17,7 +17,7 @@
 			where against_jv=%s""", jv_invoice.name))
 		
 		jv_payment = frappe.copy_doc(test_records[0])
-		jv_payment.doclist[1].against_jv = jv_invoice.name
+		jv_payment["entries"][0].against_jv = jv_invoice.name
 		jv_payment.insert()
 		jv_payment.submit()
 		
@@ -38,7 +38,7 @@
 		set_perpetual_inventory()
 		
 		jv = frappe.copy_doc(test_records[0])
-		jv.doclist[1].account = "_Test Warehouse - _TC"
+		jv["entries"][0].account = "_Test Warehouse - _TC"
 		jv.insert()
 		
 		from erpnext.accounts.general_ledger import StockAccountInvalidTransaction
@@ -51,10 +51,10 @@
 		self.clear_account_balance()
 		
 		jv = frappe.copy_doc(test_records[0])
-		jv.doclist[2].account = "_Test Account Cost for Goods Sold - _TC"
-		jv.doclist[2].cost_center = "_Test Cost Center - _TC"
-		jv.doclist[2].debit = 20000.0
-		jv.doclist[1].credit = 20000.0
+		jv["entries"][1].account = "_Test Account Cost for Goods Sold - _TC"
+		jv["entries"][1].cost_center = "_Test Cost Center - _TC"
+		jv["entries"][1].debit = 20000.0
+		jv["entries"][0].credit = 20000.0
 		jv.insert()
 		jv.submit()
 		self.assertTrue(frappe.db.get_value("GL Entry", 
@@ -66,10 +66,10 @@
 		self.clear_account_balance()
 		
 		jv = frappe.copy_doc(test_records[0])
-		jv.doclist[2].account = "_Test Account Cost for Goods Sold - _TC"
-		jv.doclist[2].cost_center = "_Test Cost Center - _TC"
-		jv.doclist[2].debit = 20000.0
-		jv.doclist[1].credit = 20000.0
+		jv["entries"][1].account = "_Test Account Cost for Goods Sold - _TC"
+		jv["entries"][1].cost_center = "_Test Cost Center - _TC"
+		jv["entries"][1].debit = 20000.0
+		jv["entries"][0].credit = 20000.0
 		jv.insert()
 		
 		self.assertRaises(BudgetError, jv.submit)
@@ -85,10 +85,10 @@
 		
 		jv = frappe.copy_doc(test_records[0])
 		jv.posting_date = "2013-08-12"
-		jv.doclist[2].account = "_Test Account Cost for Goods Sold - _TC"
-		jv.doclist[2].cost_center = "_Test Cost Center - _TC"
-		jv.doclist[2].debit = 150000.0
-		jv.doclist[1].credit = 150000.0
+		jv["entries"][1].account = "_Test Account Cost for Goods Sold - _TC"
+		jv["entries"][1].cost_center = "_Test Cost Center - _TC"
+		jv["entries"][1].debit = 150000.0
+		jv["entries"][0].credit = 150000.0
 		jv.insert()
 		
 		self.assertRaises(BudgetError, jv.submit)
@@ -101,20 +101,20 @@
 		self.clear_account_balance()
 		
 		jv = frappe.copy_doc(test_records[0])
-		jv.doclist[1].account = "_Test Account Cost for Goods Sold - _TC"
-		jv.doclist[1].cost_center = "_Test Cost Center - _TC"
-		jv.doclist[1].credit = 30000.0
-		jv.doclist[2].debit = 30000.0
+		jv["entries"][0].account = "_Test Account Cost for Goods Sold - _TC"
+		jv["entries"][0].cost_center = "_Test Cost Center - _TC"
+		jv["entries"][0].credit = 30000.0
+		jv["entries"][1].debit = 30000.0
 		jv.submit()
 		
 		self.assertTrue(frappe.db.get_value("GL Entry", 
 			{"voucher_type": "Journal Voucher", "voucher_no": jv.name}))
 		
 		jv1 = frappe.copy_doc(test_records[0])
-		jv1.doclist[2].account = "_Test Account Cost for Goods Sold - _TC"
-		jv1.doclist[2].cost_center = "_Test Cost Center - _TC"
-		jv1.doclist[2].debit = 40000.0
-		jv1.doclist[1].credit = 40000.0
+		jv1["entries"][1].account = "_Test Account Cost for Goods Sold - _TC"
+		jv1["entries"][1].cost_center = "_Test Cost Center - _TC"
+		jv1["entries"][1].debit = 40000.0
+		jv1["entries"][0].credit = 40000.0
 		jv1.submit()
 		
 		self.assertTrue(frappe.db.get_value("GL Entry", 
diff --git a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
index 12facd8..1a31989 100644
--- a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
+++ b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
@@ -17,9 +17,9 @@
 		jv.submit()
 		
 		jv1 = frappe.copy_doc(jv_records[0])
-		jv1.doclist[2].account = "_Test Account Cost for Goods Sold - _TC"
-		jv1.doclist[2].debit = 600.0
-		jv1.doclist[1].credit = 600.0
+		jv1["entries"][1].account = "_Test Account Cost for Goods Sold - _TC"
+		jv1["entries"][1].debit = 600.0
+		jv1["entries"][0].credit = 600.0
 		jv1.insert()
 		jv1.submit()
 		
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index cb5cd31..30425fe 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -74,8 +74,8 @@
 		self.assertEqual(cint(frappe.defaults.get_global_default("auto_accounting_for_stock")), 1)
 		
 		pi = frappe.copy_doc(test_records[1])
-		pi.doclist[1].item_code = "_Test Non Stock Item"
-		pi.doclist[1].expense_account = "_Test Account Cost for Goods Sold - _TC"
+		pi["entries"][0].item_code = "_Test Non Stock Item"
+		pi["entries"][0].expense_account = "_Test Account Cost for Goods Sold - _TC"
 		pi.doclist.pop(2)
 		pi.doclist.pop(3)
 		pi.insert()
@@ -133,7 +133,7 @@
 			
 	def test_purchase_invoice_with_subcontracted_item(self):
 		wrapper = frappe.copy_doc(test_records[0])
-		wrapper.doclist[1].item_code = "_Test FG Item"
+		wrapper["entries"][0].item_code = "_Test FG Item"
 		wrapper.insert()
 		wrapper.load_from_db()
 		
@@ -176,7 +176,7 @@
 		pi = frappe.copy_doc(test_records[0])
 		pi.append("advance_allocation_details", {
 			"journal_voucher": jv.name,
-			"jv_detail_no": jv.doclist[1].name,
+			"jv_detail_no": jv["entries"][0].name,
 			"advance_amount": 400,
 			"allocated_amount": 300,
 			"remarks": jv.remark
diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
index 75a9ab5..fdeb075 100644
--- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
@@ -89,10 +89,10 @@
 		si = frappe.copy_doc(test_records[2])
 		si.currency = "USD"
 		si.conversion_rate = 50
-		si.doclist[1].rate = 1
-		si.doclist[1].price_list_rate = 1
-		si.doclist[2].rate = 3
-		si.doclist[2].price_list_rate = 3
+		si["entries"][0].rate = 1
+		si["entries"][0].price_list_rate = 1
+		si["entries"][1].rate = 3
+		si["entries"][1].price_list_rate = 3
 		si.insert()
 		
 		expected_values = {
@@ -243,8 +243,8 @@
 		for i, tax in enumerate(si.get("other_charges")):
 			tax.idx = i+1
 		
-		si.doclist[1].price_list_rate = 62.5
-		si.doclist[1].price_list_rate = 191
+		si["entries"][0].price_list_rate = 62.5
+		si["entries"][0].price_list_rate = 191
 		for i in [3, 5, 6, 7, 8, 9]:
 			si.doclist[i].included_in_print_rate = 1
 		
@@ -305,10 +305,10 @@
 		si = frappe.copy_doc(test_records[3])
 		si.currency = "USD"
 		si.conversion_rate = 50
-		si.doclist[1].price_list_rate = 55.56
-		si.doclist[1].discount_percentage = 10
-		si.doclist[2].price_list_rate = 187.5
-		si.doclist[2].discount_percentage = 20
+		si["entries"][0].price_list_rate = 55.56
+		si["entries"][0].discount_percentage = 10
+		si["entries"][1].price_list_rate = 187.5
+		si["entries"][1].discount_percentage = 20
 		si.doclist[9].rate = 5000
 		
 		si.insert()
@@ -365,7 +365,7 @@
 			import test_records as jv_test_records
 			
 		jv = frappe.get_doc(frappe.copy_doc(jv_test_records[0]))
-		jv.doclist[1].against_invoice = w.name
+		jv["entries"][0].against_invoice = w.name
 		jv.insert()
 		jv.submit()
 		
@@ -381,7 +381,7 @@
 		tlb.submit()
 		
 		si = frappe.get_doc(frappe.copy_doc(test_records[0]))
-		si.doclist[1].time_log_batch = "_T-Time Log Batch-00001"
+		si["entries"][0].time_log_batch = "_T-Time Log Batch-00001"
 		si.insert()
 		si.submit()
 		
@@ -501,7 +501,7 @@
 			as pr_test_records
 		pr = frappe.copy_doc(pr_test_records[0])
 		pr.naming_series = "_T-Purchase Receipt-"
-		pr.doclist[1].warehouse = "_Test Warehouse No Account - _TC"
+		pr["entries"][0].warehouse = "_Test Warehouse No Account - _TC"
 		pr.insert()
 		pr.submit()
 		
@@ -638,7 +638,7 @@
 		si.append("advance_adjustment_details", {
 			"doctype": "Sales Invoice Advance",
 			"journal_voucher": jv.name,
-			"jv_detail_no": jv.doclist[1].name,
+			"jv_detail_no": jv["entries"][0].name,
 			"advance_amount": 400,
 			"allocated_amount": 300,
 			"remarks": jv.remark
@@ -808,13 +808,13 @@
 		from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
 		
 		se = make_serialized_item()
-		serial_nos = get_serial_nos(se.doclist[1].serial_no)
+		serial_nos = get_serial_nos(se["entries"][0].serial_no)
 		
 		si = frappe.copy_doc(test_records[0])
 		si.update_stock = 1
-		si.doclist[1].item_code = "_Test Serialized Item With Series"
-		si.doclist[1].qty = 1
-		si.doclist[1].serial_no = serial_nos[0]
+		si["entries"][0].item_code = "_Test Serialized Item With Series"
+		si["entries"][0].qty = 1
+		si["entries"][0].serial_no = serial_nos[0]
 		si.insert()
 		si.submit()
 		
@@ -830,7 +830,7 @@
 		si = self.test_serialized()
 		si.cancel()
 
-		serial_nos = get_serial_nos(si.doclist[1].serial_no)
+		serial_nos = get_serial_nos(si["entries"][0].serial_no)
 
 		self.assertEquals(frappe.db.get_value("Serial No", serial_nos[0], "status"), "Available")
 		self.assertEquals(frappe.db.get_value("Serial No", serial_nos[0], "warehouse"), "_Test Warehouse - _TC")
@@ -842,7 +842,7 @@
 		from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
 		
 		se = make_serialized_item()
-		serial_nos = get_serial_nos(se.doclist[1].serial_no)
+		serial_nos = get_serial_nos(se["entries"][0].serial_no)
 		
 		sr = frappe.get_doc("Serial No", serial_nos[0])
 		sr.status = "Not Available"
@@ -850,9 +850,9 @@
 		
 		si = frappe.copy_doc(test_records[0])
 		si.update_stock = 1
-		si.doclist[1].item_code = "_Test Serialized Item With Series"
-		si.doclist[1].qty = 1
-		si.doclist[1].serial_no = serial_nos[0]
+		si["entries"][0].item_code = "_Test Serialized Item With Series"
+		si["entries"][0].qty = 1
+		si["entries"][0].serial_no = serial_nos[0]
 		si.insert()
 
 		self.assertRaises(SerialNoStatusError, si.submit)
diff --git a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py
index 9fee555..ce07f14 100644
--- a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py
+++ b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py
@@ -10,12 +10,12 @@
 class TestShippingRule(unittest.TestCase):
 	def test_from_greater_than_to(self):
 		shipping_rule = frappe.copy_doc(test_records[0])
-		shipping_rule.doclist[1].from_value = 101
+		shipping_rule["shipping_rule_conditions"][0].from_value = 101
 		self.assertRaises(FromGreaterThanToError, shipping_rule.insert)
 		
 	def test_many_zero_to_values(self):
 		shipping_rule = frappe.copy_doc(test_records[0])
-		shipping_rule.doclist[1].to_value = 0
+		shipping_rule["shipping_rule_conditions"][0].to_value = 0
 		self.assertRaises(ManyBlankToValuesError, shipping_rule.insert)
 		
 	def test_overlapping_conditions(self):
@@ -27,8 +27,8 @@
 			((50, 150), (50, 150)),
 		]:
 			shipping_rule = frappe.copy_doc(test_records[0])
-			shipping_rule.doclist[1].from_value = range_a[0]
-			shipping_rule.doclist[1].to_value = range_a[1]
-			shipping_rule.doclist[2].from_value = range_b[0]
-			shipping_rule.doclist[2].to_value = range_b[1]
+			shipping_rule["shipping_rule_conditions"][0].from_value = range_a[0]
+			shipping_rule["shipping_rule_conditions"][0].to_value = range_a[1]
+			shipping_rule["shipping_rule_conditions"][1].from_value = range_b[0]
+			shipping_rule["shipping_rule_conditions"][1].to_value = range_b[1]
 			self.assertRaises(OverlappingConditionError, shipping_rule.insert)
\ No newline at end of file
diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py
index 3580233..104baf9 100644
--- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py
@@ -41,7 +41,7 @@
 
 		po = frappe.get_doc("Purchase Order", po.name)
 		po.is_subcontracted = "No"
-		po.doclist[1].item_code = "_Test Item"
+		po["po_details"][0].item_code = "_Test Item"
 		po.submit()
 		
 		self.assertEquals(frappe.db.get_value("Bin", {"item_code": "_Test Item", 
@@ -107,7 +107,7 @@
 	def test_uom_integer_validation(self):
 		from erpnext.utilities.transaction_base import UOMMustBeIntegerError
 		po = frappe.copy_doc(test_records[0])
-		po.doclist[1].qty = 3.4
+		po["po_details"][0].qty = 3.4
 		self.assertRaises(UOMMustBeIntegerError, po.insert)
 
 
diff --git a/erpnext/manufacturing/doctype/production_order/test_production_order.py b/erpnext/manufacturing/doctype/production_order/test_production_order.py
index d7d4198..31889b5 100644
--- a/erpnext/manufacturing/doctype/production_order/test_production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/test_production_order.py
@@ -27,7 +27,7 @@
 		mr1.submit()
 		
 		mr2 = frappe.copy_doc(se_test_records[0])
-		mr2.doclist[1].item_code = "_Test Item Home Desktop 100"
+		mr2["mtn_details"][0].item_code = "_Test Item Home Desktop 100"
 		mr2.insert()
 		mr2.submit()
 		
diff --git a/erpnext/projects/doctype/time_log_batch/test_time_log_batch.py b/erpnext/projects/doctype/time_log_batch/test_time_log_batch.py
index eaf498c..004c364 100644
--- a/erpnext/projects/doctype/time_log_batch/test_time_log_batch.py
+++ b/erpnext/projects/doctype/time_log_batch/test_time_log_batch.py
@@ -17,7 +17,7 @@
 		
 		self.assertEquals(frappe.db.get_value("Time Log", time_log.name, "status"), "Submitted")
 		tlb = frappe.copy_doc(test_records[0])
-		tlb.doclist[1].time_log = time_log.name
+		tlb["time_log_batch_details"][0].time_log = time_log.name
 		tlb.insert()
 		tlb.submit()
 
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 435ad65..1e71f5c 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -78,14 +78,14 @@
 		from erpnext.stock.doctype.delivery_note.test_delivery_note import test_records as dn_test_records
 		from erpnext.stock.doctype.delivery_note.test_delivery_note import _insert_purchase_receipt
 
-		_insert_purchase_receipt(so.doclist[1].item_code)
+		_insert_purchase_receipt(so["sales_order_details"][0].item_code)
 		
 		dn = frappe.get_doc(frappe.copy_doc(dn_test_records[0]))
-		dn.doclist[1].item_code = so.doclist[1].item_code
-		dn.doclist[1].against_sales_order = so.name
-		dn.doclist[1].prevdoc_detail_docname = so.doclist[1].name
+		dn["delivery_note_details"][0].item_code = so["sales_order_details"][0].item_code
+		dn["delivery_note_details"][0].against_sales_order = so.name
+		dn["delivery_note_details"][0].prevdoc_detail_docname = so["sales_order_details"][0].name
 		if delivered_qty:
-			dn.doclist[1].qty = delivered_qty
+			dn["delivery_note_details"][0].qty = delivered_qty
 		dn.insert()
 		dn.submit()
 		return dn
@@ -110,11 +110,11 @@
 		
 		# submit
 		so = self.create_so()
-		self.check_reserved_qty(so.doclist[1].item_code, so.doclist[1].warehouse, 10.0)
+		self.check_reserved_qty(so["sales_order_details"][0].item_code, so["sales_order_details"][0].warehouse, 10.0)
 		
 		# cancel
 		so.cancel()
-		self.check_reserved_qty(so.doclist[1].item_code, so.doclist[1].warehouse, 0.0)
+		self.check_reserved_qty(so["sales_order_details"][0].item_code, so["sales_order_details"][0].warehouse, 0.0)
 		
 	
 	def test_reserved_qty_for_partial_delivery(self):
@@ -130,21 +130,21 @@
 		# submit dn
 		dn = self.create_dn_against_so(so)
 		
-		self.check_reserved_qty(so.doclist[1].item_code, so.doclist[1].warehouse, 5.0)
+		self.check_reserved_qty(so["sales_order_details"][0].item_code, so["sales_order_details"][0].warehouse, 5.0)
 		
 		# stop so
 		so.load_from_db()
 		so.obj.stop_sales_order()
-		self.check_reserved_qty(so.doclist[1].item_code, so.doclist[1].warehouse, 0.0)
+		self.check_reserved_qty(so["sales_order_details"][0].item_code, so["sales_order_details"][0].warehouse, 0.0)
 		
 		# unstop so
 		so.load_from_db()
 		so.obj.unstop_sales_order()
-		self.check_reserved_qty(so.doclist[1].item_code, so.doclist[1].warehouse, 5.0)
+		self.check_reserved_qty(so["sales_order_details"][0].item_code, so["sales_order_details"][0].warehouse, 5.0)
 		
 		# cancel dn
 		dn.cancel()
-		self.check_reserved_qty(so.doclist[1].item_code, so.doclist[1].warehouse, 10.0)
+		self.check_reserved_qty(so["sales_order_details"][0].item_code, so["sales_order_details"][0].warehouse, 10.0)
 		
 	def test_reserved_qty_for_over_delivery(self):
 		# reset bin
@@ -157,15 +157,15 @@
 		frappe.db.set_default("allow_negative_stock", 1)
 		
 		# set over-delivery tolerance
-		frappe.db.set_value('Item', so.doclist[1].item_code, 'tolerance', 50)
+		frappe.db.set_value('Item', so["sales_order_details"][0].item_code, 'tolerance', 50)
 		
 		# submit dn
 		dn = self.create_dn_against_so(so, 15)
-		self.check_reserved_qty(so.doclist[1].item_code, so.doclist[1].warehouse, 0.0)
+		self.check_reserved_qty(so["sales_order_details"][0].item_code, so["sales_order_details"][0].warehouse, 0.0)
 
 		# cancel dn
 		dn.cancel()
-		self.check_reserved_qty(so.doclist[1].item_code, so.doclist[1].warehouse, 10.0)
+		self.check_reserved_qty(so["sales_order_details"][0].item_code, so["sales_order_details"][0].warehouse, 10.0)
 		
 	def test_reserved_qty_for_so_with_packing_list(self):
 		from erpnext.selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
@@ -183,16 +183,16 @@
 		
 		
 		self.check_reserved_qty(sbom_test_records[0][1]["item_code"], 
-			so.doclist[1].warehouse, 50.0)
+			so["sales_order_details"][0].warehouse, 50.0)
 		self.check_reserved_qty(sbom_test_records[0][2]["item_code"], 
-			so.doclist[1].warehouse, 20.0)
+			so["sales_order_details"][0].warehouse, 20.0)
 		
 		# cancel
 		so.cancel()
 		self.check_reserved_qty(sbom_test_records[0][1]["item_code"], 
-			so.doclist[1].warehouse, 0.0)
+			so["sales_order_details"][0].warehouse, 0.0)
 		self.check_reserved_qty(sbom_test_records[0][2]["item_code"], 
-			so.doclist[1].warehouse, 0.0)
+			so["sales_order_details"][0].warehouse, 0.0)
 			
 	def test_reserved_qty_for_partial_delivery_with_packing_list(self):
 		from erpnext.selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
@@ -216,33 +216,33 @@
 		dn = self.create_dn_against_so(so)
 		
 		self.check_reserved_qty(sbom_test_records[0][1]["item_code"], 
-			so.doclist[1].warehouse, 25.0)
+			so["sales_order_details"][0].warehouse, 25.0)
 		self.check_reserved_qty(sbom_test_records[0][2]["item_code"], 
-			so.doclist[1].warehouse, 10.0)
+			so["sales_order_details"][0].warehouse, 10.0)
 				
 		# stop so
 		so.load_from_db()
 		so.obj.stop_sales_order()
 		
 		self.check_reserved_qty(sbom_test_records[0][1]["item_code"], 
-			so.doclist[1].warehouse, 0.0)
+			so["sales_order_details"][0].warehouse, 0.0)
 		self.check_reserved_qty(sbom_test_records[0][2]["item_code"], 
-			so.doclist[1].warehouse, 0.0)
+			so["sales_order_details"][0].warehouse, 0.0)
 		
 		# unstop so
 		so.load_from_db()
 		so.obj.unstop_sales_order()
 		self.check_reserved_qty(sbom_test_records[0][1]["item_code"], 
-			so.doclist[1].warehouse, 25.0)
+			so["sales_order_details"][0].warehouse, 25.0)
 		self.check_reserved_qty(sbom_test_records[0][2]["item_code"], 
-			so.doclist[1].warehouse, 10.0)
+			so["sales_order_details"][0].warehouse, 10.0)
 		
 		# cancel dn
 		dn.cancel()
 		self.check_reserved_qty(sbom_test_records[0][1]["item_code"], 
-			so.doclist[1].warehouse, 50.0)
+			so["sales_order_details"][0].warehouse, 50.0)
 		self.check_reserved_qty(sbom_test_records[0][2]["item_code"], 
-			so.doclist[1].warehouse, 20.0)
+			so["sales_order_details"][0].warehouse, 20.0)
 			
 	def test_reserved_qty_for_over_delivery_with_packing_list(self):
 		from erpnext.selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
@@ -262,22 +262,22 @@
 		frappe.db.set_default("allow_negative_stock", 1)
 		
 		# set over-delivery tolerance
-		frappe.db.set_value('Item', so.doclist[1].item_code, 'tolerance', 50)
+		frappe.db.set_value('Item', so["sales_order_details"][0].item_code, 'tolerance', 50)
 		
 		# submit dn
 		dn = self.create_dn_against_so(so, 15)
 		
 		self.check_reserved_qty(sbom_test_records[0][1]["item_code"], 
-			so.doclist[1].warehouse, 0.0)
+			so["sales_order_details"][0].warehouse, 0.0)
 		self.check_reserved_qty(sbom_test_records[0][2]["item_code"], 
-			so.doclist[1].warehouse, 0.0)
+			so["sales_order_details"][0].warehouse, 0.0)
 
 		# cancel dn
 		dn.cancel()
 		self.check_reserved_qty(sbom_test_records[0][1]["item_code"], 
-			so.doclist[1].warehouse, 50.0)
+			so["sales_order_details"][0].warehouse, 50.0)
 		self.check_reserved_qty(sbom_test_records[0][2]["item_code"], 
-			so.doclist[1].warehouse, 20.0)
+			so["sales_order_details"][0].warehouse, 20.0)
 
 	def test_warehouse_user(self):
 		frappe.defaults.add_default("Warehouse", "_Test Warehouse 1 - _TC1", "test@example.com", "Restriction")
@@ -293,7 +293,7 @@
 		so.company = "_Test Company 1"
 		so.conversion_rate = 0.02
 		so.plc_conversion_rate = 0.02
-		so.doclist[1].warehouse = "_Test Warehouse 2 - _TC1"
+		so["sales_order_details"][0].warehouse = "_Test Warehouse 2 - _TC1"
 		self.assertRaises(frappe.PermissionError, so.insert)
 
 		frappe.set_user("test2@example.com")
diff --git a/erpnext/setup/install.py b/erpnext/setup/install.py
index 94d435e..5128e36 100644
--- a/erpnext/setup/install.py
+++ b/erpnext/setup/install.py
@@ -137,8 +137,7 @@
 	doc.save()
 
 def set_single_defaults():
-	for dt in frappe.db.sql_list("""select name from `tabDocType` 
-		where issingle=1 and parent != '__default'"""):
+	for dt in frappe.db.sql_list("""select name from `tabDocType` where issingle=1"""):
 		default_values = frappe.db.sql("""select fieldname, `default` from `tabDocField`
 			where parent=%s""", dt)
 		if default_values:
diff --git a/erpnext/stock/doctype/delivery_note/test_delivery_note.py b/erpnext/stock/doctype/delivery_note/test_delivery_note.py
index 1ee4993..e54b5c0 100644
--- a/erpnext/stock/doctype/delivery_note/test_delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/test_delivery_note.py
@@ -14,7 +14,7 @@
 		item_code = pr_test_records[0][1]["item_code"]
 	
 	pr = frappe.copy_doc(pr_test_records[0])
-	pr.doclist[1].item_code = item_code
+	pr["purchase_receipt_details"][0].item_code = item_code
 	pr.insert()
 	pr.submit()
 	
@@ -69,11 +69,11 @@
 		_insert_purchase_receipt()
 		
 		dn = frappe.copy_doc(test_records[0])
-		dn.doclist[1].expense_account = "Cost of Goods Sold - _TC"
-		dn.doclist[1].cost_center = "Main - _TC"
+		dn["delivery_note_details"][0].expense_account = "Cost of Goods Sold - _TC"
+		dn["delivery_note_details"][0].cost_center = "Main - _TC"
 
 		stock_in_hand_account = frappe.db.get_value("Account", 
-			{"master_name": dn.doclist[1].warehouse})
+			{"master_name": dn["delivery_note_details"][0].warehouse})
 		
 		from erpnext.accounts.utils import get_balance_on
 		prev_bal = get_balance_on(stock_in_hand_account, dn.posting_date)
@@ -97,8 +97,8 @@
 		# back dated purchase receipt
 		pr = frappe.copy_doc(pr_test_records[0])
 		pr.posting_date = "2013-01-01"
-		pr.doclist[1].rate = 100
-		pr.doclist[1].base_amount = 100
+		pr["purchase_receipt_details"][0].rate = 100
+		pr["purchase_receipt_details"][0].base_amount = 100
 		
 		pr.insert()
 		pr.submit()
@@ -124,11 +124,11 @@
 		_insert_purchase_receipt("_Test Item Home Desktop 100")
 		
 		dn = frappe.copy_doc(test_records[0])
-		dn.doclist[1].item_code = "_Test Sales BOM Item"
-		dn.doclist[1].qty = 1
+		dn["delivery_note_details"][0].item_code = "_Test Sales BOM Item"
+		dn["delivery_note_details"][0].qty = 1
 	
 		stock_in_hand_account = frappe.db.get_value("Account", 
-			{"master_name": dn.doclist[1].warehouse})
+			{"master_name": dn["delivery_note_details"][0].warehouse})
 		
 		from erpnext.accounts.utils import get_balance_on
 		prev_bal = get_balance_on(stock_in_hand_account, dn.posting_date)
@@ -160,12 +160,12 @@
 		from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
 		
 		se = make_serialized_item()
-		serial_nos = get_serial_nos(se.doclist[1].serial_no)
+		serial_nos = get_serial_nos(se["mtn_details"][0].serial_no)
 		
 		dn = frappe.copy_doc(test_records[0])
-		dn.doclist[1].item_code = "_Test Serialized Item With Series"
-		dn.doclist[1].qty = 1
-		dn.doclist[1].serial_no = serial_nos[0]
+		dn["delivery_note_details"][0].item_code = "_Test Serialized Item With Series"
+		dn["delivery_note_details"][0].qty = 1
+		dn["delivery_note_details"][0].serial_no = serial_nos[0]
 		dn.insert()
 		dn.submit()
 		
@@ -181,7 +181,7 @@
 		dn = self.test_serialized()
 		dn.cancel()
 
-		serial_nos = get_serial_nos(dn.doclist[1].serial_no)
+		serial_nos = get_serial_nos(dn["delivery_note_details"][0].serial_no)
 
 		self.assertEquals(frappe.db.get_value("Serial No", serial_nos[0], "status"), "Available")
 		self.assertEquals(frappe.db.get_value("Serial No", serial_nos[0], "warehouse"), "_Test Warehouse - _TC")
@@ -193,16 +193,16 @@
 		from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
 		
 		se = make_serialized_item()
-		serial_nos = get_serial_nos(se.doclist[1].serial_no)
+		serial_nos = get_serial_nos(se["mtn_details"][0].serial_no)
 		
 		sr = frappe.get_doc("Serial No", serial_nos[0])
 		sr.status = "Not Available"
 		sr.save()
 		
 		dn = frappe.copy_doc(test_records[0])
-		dn.doclist[1].item_code = "_Test Serialized Item With Series"
-		dn.doclist[1].qty = 1
-		dn.doclist[1].serial_no = serial_nos[0]
+		dn["delivery_note_details"][0].item_code = "_Test Serialized Item With Series"
+		dn["delivery_note_details"][0].qty = 1
+		dn["delivery_note_details"][0].serial_no = serial_nos[0]
 		dn.insert()
 
 		self.assertRaises(SerialNoStatusError, dn.submit)
diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py
index 14b9f28..9c51f7b 100644
--- a/erpnext/stock/doctype/material_request/test_material_request.py
+++ b/erpnext/stock/doctype/material_request/test_material_request.py
@@ -104,8 +104,7 @@
 						"t_warehouse": "_Test Warehouse 1 - _TC",
 					}
 				]
-			}, 
-		])
+			})
 		se.insert()
 		se.submit()
 				
diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
index 4c2b3a0..74939b6 100644
--- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
@@ -65,9 +65,9 @@
 		self.assertTrue(gl_entries)
 		
 		stock_in_hand_account = frappe.db.get_value("Account", 
-			{"master_name": pr.doclist[1].warehouse})		
+			{"master_name": pr["purchase_receipt_details"][0].warehouse})		
 		fixed_asset_account = frappe.db.get_value("Account", 
-			{"master_name": pr.doclist[2].warehouse})
+			{"master_name": pr["purchase_receipt_details"][1].warehouse})
 		
 		expected_values = {
 			stock_in_hand_account: [375.0, 0.0],
@@ -94,18 +94,18 @@
 		pr.run_method("calculate_taxes_and_totals")
 		pr.insert()
 		
-		self.assertEquals(pr.doclist[1].rm_supp_cost, 70000.0)
+		self.assertEquals(pr["purchase_receipt_details"][0].rm_supp_cost, 70000.0)
 		self.assertEquals(len(pr.get("pr_raw_material_details")), 2)
 		
 	def test_serial_no_supplier(self):
 		pr = frappe.copy_doc(test_records[0])
-		pr.doclist[1].item_code = "_Test Serialized Item With Series"
-		pr.doclist[1].qty = 1
-		pr.doclist[1].received_qty = 1
+		pr["purchase_receipt_details"][0].item_code = "_Test Serialized Item With Series"
+		pr["purchase_receipt_details"][0].qty = 1
+		pr["purchase_receipt_details"][0].received_qty = 1
 		pr.insert()
 		pr.submit()
 		
-		self.assertEquals(frappe.db.get_value("Serial No", pr.doclist[1].serial_no, 
+		self.assertEquals(frappe.db.get_value("Serial No", pr["purchase_receipt_details"][0].serial_no, 
 			"supplier"), pr.supplier)
 			
 		return pr
@@ -114,7 +114,7 @@
 		pr = self.test_serial_no_supplier()
 		pr.cancel()
 		
-		self.assertFalse(frappe.db.get_value("Serial No", pr.doclist[1].serial_no, 
+		self.assertFalse(frappe.db.get_value("Serial No", pr["purchase_receipt_details"][0].serial_no, 
 			"warehouse"))
 			
 def get_gl_entries(voucher_type, voucher_no):
diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
index 8c764ee..00718f1 100644
--- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
@@ -50,7 +50,7 @@
 		mr.submit()
 
 		stock_in_hand_account = frappe.db.get_value("Account", {"account_type": "Warehouse",
-			"master_name": mr.doclist[1].t_warehouse})
+			"master_name": mr["mtn_details"][0].t_warehouse})
 
 		self.check_stock_ledger_entries("Stock Entry", mr.name,
 			[["_Test Item", "_Test Warehouse - _TC", 50.0]])
@@ -85,7 +85,7 @@
 			[["_Test Item", "_Test Warehouse - _TC", -40.0]])
 
 		stock_in_hand_account = frappe.db.get_value("Account", {"account_type": "Warehouse",
-			"master_name": mi.doclist[1].s_warehouse})
+			"master_name": mi["mtn_details"][0].s_warehouse})
 
 		self.check_gl_entries("Stock Entry", mi.name,
 			sorted([
@@ -101,11 +101,11 @@
 		self.assertFalse(frappe.db.sql("""select * from `tabGL Entry`
 			where voucher_type='Stock Entry' and voucher_no=%s""", mi.name))
 
-		self.assertEquals(frappe.db.get_value("Bin", {"warehouse": mi.doclist[1].s_warehouse,
-			"item_code": mi.doclist[1].item_code}, "actual_qty"), 50)
+		self.assertEquals(frappe.db.get_value("Bin", {"warehouse": mi["mtn_details"][0].s_warehouse,
+			"item_code": mi["mtn_details"][0].item_code}, "actual_qty"), 50)
 
-		self.assertEquals(frappe.db.get_value("Bin", {"warehouse": mi.doclist[1].s_warehouse,
-			"item_code": mi.doclist[1].item_code}, "stock_value"), 5000)
+		self.assertEquals(frappe.db.get_value("Bin", {"warehouse": mi["mtn_details"][0].s_warehouse,
+			"item_code": mi["mtn_details"][0].item_code}, "stock_value"), 5000)
 
 	def test_material_transfer_gl_entry(self):
 		self._clear_stock_account_balance()
@@ -121,10 +121,10 @@
 			[["_Test Item", "_Test Warehouse - _TC", -45.0], ["_Test Item", "_Test Warehouse 1 - _TC", 45.0]])
 
 		stock_in_hand_account = frappe.db.get_value("Account", {"account_type": "Warehouse",
-			"master_name": mtn.doclist[1].s_warehouse})
+			"master_name": mtn["mtn_details"][0].s_warehouse})
 
 		fixed_asset_account = frappe.db.get_value("Account", {"account_type": "Warehouse",
-			"master_name": mtn.doclist[1].t_warehouse})
+			"master_name": mtn["mtn_details"][0].t_warehouse})
 
 
 		self.check_gl_entries("Stock Entry", mtn.name,
@@ -171,12 +171,12 @@
 		self._insert_material_receipt()
 
 		repack = frappe.copy_doc(test_records[3])
-		repack.doclist[2].incoming_rate = 6000
+		repack["mtn_details"][1].incoming_rate = 6000
 		repack.insert()
 		repack.submit()
 
 		stock_in_hand_account = frappe.db.get_value("Account", {"account_type": "Warehouse",
-			"master_name": repack.doclist[2].t_warehouse})
+			"master_name": repack["mtn_details"][1].t_warehouse})
 
 		self.check_gl_entries("Stock Entry", repack.name,
 			sorted([
@@ -223,7 +223,7 @@
 		se1.submit()
 
 		se2 = frappe.copy_doc(test_records[0])
-		se2.doclist[1].item_code = "_Test Item Home Desktop 100"
+		se2["mtn_details"][0].item_code = "_Test Item Home Desktop 100"
 		se2.insert()
 		se2.submit()
 
@@ -247,8 +247,8 @@
 		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Sales Return"
 		se.sales_invoice_no = si.name
-		se.doclist[1].qty = returned_qty
-		se.doclist[1].transfer_qty = returned_qty
+		se["mtn_details"][0].qty = returned_qty
+		se["mtn_details"][0].transfer_qty = returned_qty
 		self.assertRaises(NotUpdateStockError, se.insert)
 
 		self._insert_material_receipt()
@@ -259,9 +259,9 @@
 		# insert a pos invoice with update stock
 		si = frappe.copy_doc(sales_invoice_test_records[1])
 		si.is_pos = si.update_stock = 1
-		si.doclist[1].warehouse = "_Test Warehouse - _TC"
-		si.doclist[1].item_code = item_code
-		si.doclist[1].qty = 5.0
+		si["mtn_details"][0].warehouse = "_Test Warehouse - _TC"
+		si["mtn_details"][0].item_code = item_code
+		si["mtn_details"][0].qty = 5.0
 		si.insert()
 		si.submit()
 
@@ -276,9 +276,9 @@
 		se.sales_invoice_no = si.name
 		se.posting_date = "2013-03-10"
 		se.fiscal_year = "_Test Fiscal Year 2013"
-		se.doclist[1].item_code = "_Test Item Home Desktop 200"
-		se.doclist[1].qty = returned_qty
-		se.doclist[1].transfer_qty = returned_qty
+		se["mtn_details"][0].item_code = "_Test Item Home Desktop 200"
+		se["mtn_details"][0].qty = returned_qty
+		se["mtn_details"][0].transfer_qty = returned_qty
 
 		# check if stock entry gets submitted
 		self.assertRaises(frappe.DoesNotExistError, se.insert)
@@ -289,8 +289,8 @@
 		se.posting_date = "2013-03-10"
 		se.fiscal_year = "_Test Fiscal Year 2013"
 		se.sales_invoice_no = si.name
-		se.doclist[1].qty = returned_qty
-		se.doclist[1].transfer_qty = returned_qty
+		se["mtn_details"][0].qty = returned_qty
+		se["mtn_details"][0].transfer_qty = returned_qty
 		# in both cases item code remains _Test Item when returning
 		se.insert()
 
@@ -322,7 +322,7 @@
 		actual_qty_0 = self._get_actual_qty()
 		# make a delivery note based on this invoice
 		dn = frappe.copy_doc(delivery_note_test_records[0])
-		dn.doclist[1].item_code = item_code
+		dn["delivery_note_details"][0].item_code = item_code
 		dn.insert()
 		dn.submit()
 
@@ -347,7 +347,7 @@
 		se.delivery_note_no = dn.name
 		se.posting_date = "2013-03-10"
 		se.fiscal_year = "_Test Fiscal Year 2013"
-		se.doclist[1].qty = se.doclist[1].transfer_qty = returned_qty
+		se["mtn_details"][0].qty = se["mtn_details"][0].transfer_qty = returned_qty
 
 		se.insert()
 		se.submit()
@@ -411,8 +411,8 @@
 		actual_qty_0 = self._get_actual_qty()
 
 		so = frappe.copy_doc(sales_order_test_records[0])
-		so.doclist[1].item_code = item_code
-		so.doclist[1].qty = 5.0
+		so["sales_order_details"][0].item_code = item_code
+		so["sales_order_details"][0].qty = 5.0
 		so.insert()
 		so.submit()
 
@@ -445,7 +445,7 @@
 		se.delivery_note_no = dn.name
 		se.posting_date = "2013-03-10"
 		se.fiscal_year = "_Test Fiscal Year 2013"
-		se.doclist[1].qty = se.doclist[1].transfer_qty = returned_qty
+		se["mtn_details"][0].qty = se["mtn_details"][0].transfer_qty = returned_qty
 
 		se.insert()
 		se.submit()
@@ -497,8 +497,8 @@
 		se.purchase_receipt_no = pr.name
 		se.posting_date = "2013-03-01"
 		se.fiscal_year = "_Test Fiscal Year 2013"
-		se.doclist[1].qty = se.doclist[1].transfer_qty = 5
-		se.doclist[1].s_warehouse = "_Test Warehouse - _TC"
+		se["mtn_details"][0].qty = se["mtn_details"][0].transfer_qty = 5
+		se["mtn_details"][0].s_warehouse = "_Test Warehouse - _TC"
 		se.insert()
 		se.submit()
 
@@ -523,8 +523,8 @@
 		se.purchase_receipt_no = pr_docname
 		se.posting_date = "2013-03-01"
 		se.fiscal_year = "_Test Fiscal Year 2013"
-		se.doclist[1].qty = se.doclist[1].transfer_qty = 6
-		se.doclist[1].s_warehouse = "_Test Warehouse - _TC"
+		se["mtn_details"][0].qty = se["mtn_details"][0].transfer_qty = 6
+		se["mtn_details"][0].s_warehouse = "_Test Warehouse - _TC"
 
 		self.assertRaises(StockOverReturnError, se.insert)
 
@@ -561,8 +561,8 @@
 		# submit purchase receipt
 		po = frappe.copy_doc(purchase_order_test_records[0])
 		po.is_subcontracted = None
-		po.doclist[1].item_code = "_Test Item"
-		po.doclist[1].rate = 50
+		po["po_details"][0].item_code = "_Test Item"
+		po["po_details"][0].rate = 50
 		po.insert()
 		po.submit()
 
@@ -599,8 +599,8 @@
 		se.purchase_receipt_no = pr.name
 		se.posting_date = "2013-03-01"
 		se.fiscal_year = "_Test Fiscal Year 2013"
-		se.doclist[1].qty = se.doclist[1].transfer_qty = 5
-		se.doclist[1].s_warehouse = "_Test Warehouse - _TC"
+		se["mtn_details"][0].qty = se["mtn_details"][0].transfer_qty = 5
+		se["mtn_details"][0].s_warehouse = "_Test Warehouse - _TC"
 		se.insert()
 		se.submit()
 
@@ -622,43 +622,43 @@
 
 	def test_serial_no_not_reqd(self):
 		se = frappe.copy_doc(test_records[0])
-		se.doclist[1].serial_no = "ABCD"
+		se["mtn_details"][0].serial_no = "ABCD"
 		se.insert()
 		self.assertRaises(SerialNoNotRequiredError, se.submit)
 
 	def test_serial_no_reqd(self):
 		se = frappe.copy_doc(test_records[0])
-		se.doclist[1].item_code = "_Test Serialized Item"
-		se.doclist[1].qty = 2
-		se.doclist[1].transfer_qty = 2
+		se["mtn_details"][0].item_code = "_Test Serialized Item"
+		se["mtn_details"][0].qty = 2
+		se["mtn_details"][0].transfer_qty = 2
 		se.insert()
 		self.assertRaises(SerialNoRequiredError, se.submit)
 
 	def test_serial_no_qty_more(self):
 		se = frappe.copy_doc(test_records[0])
-		se.doclist[1].item_code = "_Test Serialized Item"
-		se.doclist[1].qty = 2
-		se.doclist[1].serial_no = "ABCD\nEFGH\nXYZ"
-		se.doclist[1].transfer_qty = 2
+		se["mtn_details"][0].item_code = "_Test Serialized Item"
+		se["mtn_details"][0].qty = 2
+		se["mtn_details"][0].serial_no = "ABCD\nEFGH\nXYZ"
+		se["mtn_details"][0].transfer_qty = 2
 		se.insert()
 		self.assertRaises(SerialNoQtyError, se.submit)
 
 	def test_serial_no_qty_less(self):
 		se = frappe.copy_doc(test_records[0])
-		se.doclist[1].item_code = "_Test Serialized Item"
-		se.doclist[1].qty = 2
-		se.doclist[1].serial_no = "ABCD"
-		se.doclist[1].transfer_qty = 2
+		se["mtn_details"][0].item_code = "_Test Serialized Item"
+		se["mtn_details"][0].qty = 2
+		se["mtn_details"][0].serial_no = "ABCD"
+		se["mtn_details"][0].transfer_qty = 2
 		se.insert()
 		self.assertRaises(SerialNoQtyError, se.submit)
 
 	def test_serial_no_transfer_in(self):
 		self._clear_stock_account_balance()
 		se = frappe.copy_doc(test_records[0])
-		se.doclist[1].item_code = "_Test Serialized Item"
-		se.doclist[1].qty = 2
-		se.doclist[1].serial_no = "ABCD\nEFGH"
-		se.doclist[1].transfer_qty = 2
+		se["mtn_details"][0].item_code = "_Test Serialized Item"
+		se["mtn_details"][0].qty = 2
+		se["mtn_details"][0].serial_no = "ABCD\nEFGH"
+		se["mtn_details"][0].transfer_qty = 2
 		se.insert()
 		se.submit()
 
@@ -672,12 +672,12 @@
 		self._clear_stock_account_balance()
 		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Material Issue"
-		se.doclist[1].item_code = "_Test Serialized Item"
-		se.doclist[1].qty = 2
-		se.doclist[1].s_warehouse = "_Test Warehouse 1 - _TC"
-		se.doclist[1].t_warehouse = None
-		se.doclist[1].serial_no = "ABCD\nEFGH"
-		se.doclist[1].transfer_qty = 2
+		se["mtn_details"][0].item_code = "_Test Serialized Item"
+		se["mtn_details"][0].qty = 2
+		se["mtn_details"][0].s_warehouse = "_Test Warehouse 1 - _TC"
+		se["mtn_details"][0].t_warehouse = None
+		se["mtn_details"][0].serial_no = "ABCD\nEFGH"
+		se["mtn_details"][0].transfer_qty = 2
 		se.insert()
 		self.assertRaises(SerialNoNotExistsError, se.submit)
 
@@ -686,10 +686,10 @@
 		self.test_serial_by_series()
 
 		se = frappe.copy_doc(test_records[0])
-		se.doclist[1].item_code = "_Test Serialized Item With Series"
-		se.doclist[1].qty = 1
-		se.doclist[1].serial_no = "ABCD00001"
-		se.doclist[1].transfer_qty = 1
+		se["mtn_details"][0].item_code = "_Test Serialized Item With Series"
+		se["mtn_details"][0].qty = 1
+		se["mtn_details"][0].serial_no = "ABCD00001"
+		se["mtn_details"][0].transfer_qty = 1
 		se.insert()
 		self.assertRaises(SerialNoDuplicateError, se.submit)
 
@@ -697,7 +697,7 @@
 		self._clear_stock_account_balance()
 		se = make_serialized_item()
 
-		serial_nos = get_serial_nos(se.doclist[1].serial_no)
+		serial_nos = get_serial_nos(se["mtn_details"][0].serial_no)
 
 		self.assertTrue(frappe.db.exists("Serial No", serial_nos[0]))
 		self.assertTrue(frappe.db.exists("Serial No", serial_nos[1]))
@@ -710,28 +710,28 @@
 
 		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Material Transfer"
-		se.doclist[1].item_code = "_Test Serialized Item"
-		se.doclist[1].qty = 1
-		se.doclist[1].transfer_qty = 1
-		se.doclist[1].serial_no = "ABCD00001"
-		se.doclist[1].s_warehouse = "_Test Warehouse - _TC"
-		se.doclist[1].t_warehouse = "_Test Warehouse 1 - _TC"
+		se["mtn_details"][0].item_code = "_Test Serialized Item"
+		se["mtn_details"][0].qty = 1
+		se["mtn_details"][0].transfer_qty = 1
+		se["mtn_details"][0].serial_no = "ABCD00001"
+		se["mtn_details"][0].s_warehouse = "_Test Warehouse - _TC"
+		se["mtn_details"][0].t_warehouse = "_Test Warehouse 1 - _TC"
 		se.insert()
 		self.assertRaises(SerialNoItemError, se.submit)
 
 	def test_serial_move(self):
 		self._clear_stock_account_balance()
 		se = make_serialized_item()
-		serial_no = get_serial_nos(se.doclist[1].serial_no)[0]
+		serial_no = get_serial_nos(se["mtn_details"][0].serial_no)[0]
 
 		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Material Transfer"
-		se.doclist[1].item_code = "_Test Serialized Item With Series"
-		se.doclist[1].qty = 1
-		se.doclist[1].transfer_qty = 1
-		se.doclist[1].serial_no = serial_no
-		se.doclist[1].s_warehouse = "_Test Warehouse - _TC"
-		se.doclist[1].t_warehouse = "_Test Warehouse 1 - _TC"
+		se["mtn_details"][0].item_code = "_Test Serialized Item With Series"
+		se["mtn_details"][0].qty = 1
+		se["mtn_details"][0].transfer_qty = 1
+		se["mtn_details"][0].serial_no = serial_no
+		se["mtn_details"][0].s_warehouse = "_Test Warehouse - _TC"
+		se["mtn_details"][0].t_warehouse = "_Test Warehouse 1 - _TC"
 		se.insert()
 		se.submit()
 		self.assertTrue(frappe.db.get_value("Serial No", serial_no, "warehouse"), "_Test Warehouse 1 - _TC")
@@ -745,12 +745,12 @@
 
 		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Material Transfer"
-		se.doclist[1].item_code = "_Test Serialized Item With Series"
-		se.doclist[1].qty = 1
-		se.doclist[1].transfer_qty = 1
-		se.doclist[1].serial_no = "ABCD00001"
-		se.doclist[1].s_warehouse = "_Test Warehouse 1 - _TC"
-		se.doclist[1].t_warehouse = "_Test Warehouse - _TC"
+		se["mtn_details"][0].item_code = "_Test Serialized Item With Series"
+		se["mtn_details"][0].qty = 1
+		se["mtn_details"][0].transfer_qty = 1
+		se["mtn_details"][0].serial_no = "ABCD00001"
+		se["mtn_details"][0].s_warehouse = "_Test Warehouse 1 - _TC"
+		se["mtn_details"][0].t_warehouse = "_Test Warehouse - _TC"
 		se.insert()
 		self.assertRaises(SerialNoWarehouseError, se.submit)
 
@@ -759,7 +759,7 @@
 		se = self.test_serial_by_series()
 		se.cancel()
 
-		serial_no = get_serial_nos(se.doclist[1].serial_no)[0]
+		serial_no = get_serial_nos(se["mtn_details"][0].serial_no)[0]
 		self.assertFalse(frappe.db.get_value("Serial No", serial_no, "warehouse"))
 		
 	def test_warehouse_company_validation(self):
@@ -771,7 +771,7 @@
 
 		from erpnext.stock.utils import InvalidWarehouseCompany
 		st1 = frappe.copy_doc(test_records[0])
-		st1.doclist[1].t_warehouse="_Test Warehouse 2 - _TC1"
+		st1["mtn_details"][0].t_warehouse="_Test Warehouse 2 - _TC1"
 		st1.insert()
 		self.assertRaises(InvalidWarehouseCompany, st1.submit)
 		
@@ -790,13 +790,13 @@
 		frappe.set_user("test@example.com")
 		st1 = frappe.copy_doc(test_records[0])
 		st1.company = "_Test Company 1"
-		st1.doclist[1].t_warehouse="_Test Warehouse 2 - _TC1"
+		st1["mtn_details"][0].t_warehouse="_Test Warehouse 2 - _TC1"
 		self.assertRaises(frappe.PermissionErrorp, st1.insert)
 
 		frappe.set_user("test2@example.com")
 		st1 = frappe.copy_doc(test_records[0])
 		st1.company = "_Test Company 1"
-		st1.doclist[1].t_warehouse="_Test Warehouse 2 - _TC1"
+		st1["mtn_details"][0].t_warehouse="_Test Warehouse 2 - _TC1"
 		st1.insert()
 		st1.submit()
 		
@@ -822,9 +822,9 @@
 
 def make_serialized_item():
 	se = frappe.copy_doc(test_records[0])
-	se.doclist[1].item_code = "_Test Serialized Item With Series"
-	se.doclist[1].qty = 2
-	se.doclist[1].transfer_qty = 2
+	se["mtn_details"][0].item_code = "_Test Serialized Item With Series"
+	se["mtn_details"][0].qty = 2
+	se["mtn_details"][0].transfer_qty = 2
 	se.insert()
 	se.submit()
 	return se
diff --git a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
index 083879d..0553830 100644
--- a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
@@ -228,9 +228,9 @@
 		pr1 = frappe.copy_doc(stock_entry)
 		pr1.posting_date = "2012-12-15"
 		pr1.posting_time = "02:00"
-		pr1.doclist[1].qty = 10
-		pr1.doclist[1].transfer_qty = 10
-		pr1.doclist[1].incoming_rate = 700
+		pr1["mtn_details"][0].qty = 10
+		pr1["mtn_details"][0].transfer_qty = 10
+		pr1["mtn_details"][0].incoming_rate = 700
 		pr1.insert()
 		pr1.submit()
 		
@@ -238,11 +238,11 @@
 		pr2.posting_date = "2012-12-25"
 		pr2.posting_time = "03:00"
 		pr2.purpose = "Material Issue"
-		pr2.doclist[1].s_warehouse = "_Test Warehouse - _TC"
-		pr2.doclist[1].t_warehouse = None
-		pr2.doclist[1].qty = 15
-		pr2.doclist[1].transfer_qty = 15
-		pr2.doclist[1].incoming_rate = 0
+		pr2["mtn_details"][0].s_warehouse = "_Test Warehouse - _TC"
+		pr2["mtn_details"][0].t_warehouse = None
+		pr2["mtn_details"][0].qty = 15
+		pr2["mtn_details"][0].transfer_qty = 15
+		pr2["mtn_details"][0].incoming_rate = 0
 		pr2.insert()
 		pr2.submit()
 		
@@ -250,11 +250,11 @@
 		pr3.posting_date = "2012-12-31"
 		pr3.posting_time = "08:00"
 		pr3.purpose = "Material Issue"
-		pr3.doclist[1].s_warehouse = "_Test Warehouse - _TC"
-		pr3.doclist[1].t_warehouse = None
-		pr3.doclist[1].qty = 20
-		pr3.doclist[1].transfer_qty = 20
-		pr3.doclist[1].incoming_rate = 0
+		pr3["mtn_details"][0].s_warehouse = "_Test Warehouse - _TC"
+		pr3["mtn_details"][0].t_warehouse = None
+		pr3["mtn_details"][0].qty = 20
+		pr3["mtn_details"][0].transfer_qty = 20
+		pr3["mtn_details"][0].incoming_rate = 0
 		pr3.insert()
 		pr3.submit()
 		
@@ -263,9 +263,9 @@
 		pr4.posting_date = "2013-01-05"
 		pr4.fiscal_year = "_Test Fiscal Year 2013"
 		pr4.posting_time = "07:00"
-		pr4.doclist[1].qty = 15
-		pr4.doclist[1].transfer_qty = 15
-		pr4.doclist[1].incoming_rate = 1200
+		pr4["mtn_details"][0].qty = 15
+		pr4["mtn_details"][0].transfer_qty = 15
+		pr4["mtn_details"][0].incoming_rate = 1200
 		pr4.insert()
 		pr4.submit()
 		
