diff --git a/erpnext/accounts/Print Format/Cheque Printing Format/Cheque Printing Format.txt b/erpnext/accounts/Print Format/Cheque Printing Format/Cheque Printing Format.json
similarity index 100%
rename from erpnext/accounts/Print Format/Cheque Printing Format/Cheque Printing Format.txt
rename to erpnext/accounts/Print Format/Cheque Printing Format/Cheque Printing Format.json
diff --git a/erpnext/accounts/Print Format/POS Invoice/POS Invoice.txt b/erpnext/accounts/Print Format/POS Invoice/POS Invoice.json
similarity index 100%
rename from erpnext/accounts/Print Format/POS Invoice/POS Invoice.txt
rename to erpnext/accounts/Print Format/POS Invoice/POS Invoice.json
diff --git a/erpnext/accounts/Print Format/Payment Receipt Voucher/Payment Receipt Voucher.txt b/erpnext/accounts/Print Format/Payment Receipt Voucher/Payment Receipt Voucher.json
similarity index 100%
rename from erpnext/accounts/Print Format/Payment Receipt Voucher/Payment Receipt Voucher.txt
rename to erpnext/accounts/Print Format/Payment Receipt Voucher/Payment Receipt Voucher.json
diff --git a/erpnext/accounts/Print Format/Sales Invoice Classic/Sales Invoice Classic.txt b/erpnext/accounts/Print Format/Sales Invoice Classic/Sales Invoice Classic.json
similarity index 100%
rename from erpnext/accounts/Print Format/Sales Invoice Classic/Sales Invoice Classic.txt
rename to erpnext/accounts/Print Format/Sales Invoice Classic/Sales Invoice Classic.json
diff --git a/erpnext/accounts/Print Format/Sales Invoice Modern/Sales Invoice Modern.txt b/erpnext/accounts/Print Format/Sales Invoice Modern/Sales Invoice Modern.json
similarity index 100%
rename from erpnext/accounts/Print Format/Sales Invoice Modern/Sales Invoice Modern.txt
rename to erpnext/accounts/Print Format/Sales Invoice Modern/Sales Invoice Modern.json
diff --git a/erpnext/accounts/Print Format/Sales Invoice Spartan/Sales Invoice Spartan.txt b/erpnext/accounts/Print Format/Sales Invoice Spartan/Sales Invoice Spartan.json
similarity index 100%
rename from erpnext/accounts/Print Format/Sales Invoice Spartan/Sales Invoice Spartan.txt
rename to erpnext/accounts/Print Format/Sales Invoice Spartan/Sales Invoice Spartan.json
diff --git a/erpnext/accounts/Print Format/SalesInvoice/SalesInvoice.txt b/erpnext/accounts/Print Format/SalesInvoice/SalesInvoice.json
similarity index 100%
rename from erpnext/accounts/Print Format/SalesInvoice/SalesInvoice.txt
rename to erpnext/accounts/Print Format/SalesInvoice/SalesInvoice.json
diff --git a/erpnext/accounts/doctype/account/account.txt b/erpnext/accounts/doctype/account/account.json
similarity index 100%
rename from erpnext/accounts/doctype/account/account.txt
rename to erpnext/accounts/doctype/account/account.json
diff --git a/erpnext/accounts/doctype/accounts_settings/accounts_settings.txt b/erpnext/accounts/doctype/accounts_settings/accounts_settings.json
similarity index 100%
rename from erpnext/accounts/doctype/accounts_settings/accounts_settings.txt
rename to erpnext/accounts/doctype/accounts_settings/accounts_settings.json
diff --git a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.txt b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.json
similarity index 100%
rename from erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.txt
rename to erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.json
diff --git a/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt b/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.json
similarity index 100%
rename from erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt
rename to erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.json
diff --git a/erpnext/accounts/doctype/budget_detail/budget_detail.txt b/erpnext/accounts/doctype/budget_detail/budget_detail.json
similarity index 100%
rename from erpnext/accounts/doctype/budget_detail/budget_detail.txt
rename to erpnext/accounts/doctype/budget_detail/budget_detail.json
diff --git a/erpnext/accounts/doctype/budget_distribution/budget_distribution.txt b/erpnext/accounts/doctype/budget_distribution/budget_distribution.json
similarity index 100%
rename from erpnext/accounts/doctype/budget_distribution/budget_distribution.txt
rename to erpnext/accounts/doctype/budget_distribution/budget_distribution.json
diff --git a/erpnext/accounts/doctype/budget_distribution/test_budget_distribution.py b/erpnext/accounts/doctype/budget_distribution/test_budget_distribution.py
index 57fc162..4626bae 100644
--- a/erpnext/accounts/doctype/budget_distribution/test_budget_distribution.py
+++ b/erpnext/accounts/doctype/budget_distribution/test_budget_distribution.py
@@ -1,49 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	{
-		"doctype": "Budget Distribution",
-		"distribution_id": "_Test Distribution",
-		"fiscal_year": "_Test Fiscal Year 2013",
-		"budget_distribution_details": [
-			{
-				"month": "January",
-				"percentage_allocation": "8"
-			}, {
-				"month": "February",
-				"percentage_allocation": "8"
-			}, {
-				"month": "March",
-				"percentage_allocation": "8"
-			}, {
-				"month": "April",
-				"percentage_allocation": "8"
-			}, {
-				"month": "May",
-				"percentage_allocation": "8"
-			}, {
-				"month": "June",
-				"percentage_allocation": "8"
-			}, {
-				"month": "July",
-				"percentage_allocation": "8"
-			}, {
-				"month": "August",
-				"percentage_allocation": "8"
-			}, {
-				"month": "September",
-				"percentage_allocation": "8"
-			}, {
-				"month": "October",
-				"percentage_allocation": "8"
-			}, {
-				"month": "November",
-				"percentage_allocation": "10"
-			}, {
-				"month": "December",
-				"percentage_allocation": "10"
-			}
-		]
-	}
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Budget Distribution')
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.txt b/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.json
similarity index 100%
rename from erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.txt
rename to erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.json
diff --git a/erpnext/accounts/doctype/c_form/c_form.txt b/erpnext/accounts/doctype/c_form/c_form.json
similarity index 100%
rename from erpnext/accounts/doctype/c_form/c_form.txt
rename to erpnext/accounts/doctype/c_form/c_form.json
diff --git a/erpnext/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.txt b/erpnext/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.json
similarity index 100%
rename from erpnext/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.txt
rename to erpnext/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.json
diff --git a/erpnext/accounts/doctype/chart_of_accounts/chart_of_accounts.txt b/erpnext/accounts/doctype/chart_of_accounts/chart_of_accounts.json
similarity index 100%
rename from erpnext/accounts/doctype/chart_of_accounts/chart_of_accounts.txt
rename to erpnext/accounts/doctype/chart_of_accounts/chart_of_accounts.json
diff --git a/erpnext/accounts/doctype/cost_center/cost_center.txt b/erpnext/accounts/doctype/cost_center/cost_center.json
similarity index 100%
rename from erpnext/accounts/doctype/cost_center/cost_center.txt
rename to erpnext/accounts/doctype/cost_center/cost_center.json
diff --git a/erpnext/accounts/doctype/cost_center/test_cost_center.py b/erpnext/accounts/doctype/cost_center/test_cost_center.py
index 2fd7ecf..d23d38a 100644
--- a/erpnext/accounts/doctype/cost_center/test_cost_center.py
+++ b/erpnext/accounts/doctype/cost_center/test_cost_center.py
@@ -1,19 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"doctype": "Cost Center",
-		"cost_center_name": "_Test Cost Center",
-		"parent_cost_center": "_Test Company - _TC",
-		"company": "_Test Company",
-		"group_or_ledger": "Ledger",
-		"distribution_id": "_Test Distribution",
-	}, {
-		"doctype": "Budget Detail",
-		"parentfield": "budget_details",
-		"account": "_Test Account Cost for Goods Sold - _TC",
-		"budget_allocated": 100000,
-		"fiscal_year": "_Test Fiscal Year 2013"
-	}],
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Cost Center')
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/fiscal_year/fiscal_year.txt b/erpnext/accounts/doctype/fiscal_year/fiscal_year.json
similarity index 100%
rename from erpnext/accounts/doctype/fiscal_year/fiscal_year.txt
rename to erpnext/accounts/doctype/fiscal_year/fiscal_year.json
diff --git a/erpnext/accounts/doctype/fiscal_year/fiscal_year.py b/erpnext/accounts/doctype/fiscal_year/fiscal_year.py
index aa393e0..6e72c9a 100644
--- a/erpnext/accounts/doctype/fiscal_year/fiscal_year.py
+++ b/erpnext/accounts/doctype/fiscal_year/fiscal_year.py
@@ -12,7 +12,7 @@
 		
 	def set_as_default(self):
 		frappe.db.set_value("Global Defaults", None, "current_fiscal_year", self.name)
-		frappe.get_obj("Global Defaults").on_update()
+		frappe.get_doc("Global Defaults").on_update()
 		
 		# clear cache
 		frappe.clear_cache()
diff --git a/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py b/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py
index cd9b1f4..d0e6c6c 100644
--- a/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py
+++ b/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py
@@ -3,35 +3,4 @@
 
 from __future__ import unicode_literals
 
-test_records = [
-	[{
-		"doctype": "Fiscal Year", 
-		"year": "_Test Fiscal Year 2012", 
-		"year_start_date": "2012-01-01",
-		"year_end_date": "2012-12-31"
-	}],
-	[{
-		"doctype": "Fiscal Year", 
-		"year": "_Test Fiscal Year 2013", 
-		"year_start_date": "2013-01-01",
-		"year_end_date": "2013-12-31"
-	}],
-	[{
-		"doctype": "Fiscal Year",
-		"year": "_Test Fiscal Year 2014", 
-		"year_start_date": "2014-01-01",
-		"year_end_date": "2014-12-31"
-	}],
-	[{
-		"doctype": "Fiscal Year",
-		"year": "_Test Fiscal Year 2015", 
-		"year_start_date": "2015-01-01",
-		"year_end_date": "2015-12-31"
-	}],
-	[{
-		"doctype": "Fiscal Year",
-		"year": "_Test Fiscal Year 2016", 
-		"year_start_date": "2016-01-01",
-		"year_end_date": "2016-12-31"
-	}],
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Fiscal Year')
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/gl_entry/gl_entry.txt b/erpnext/accounts/doctype/gl_entry/gl_entry.json
similarity index 100%
rename from erpnext/accounts/doctype/gl_entry/gl_entry.txt
rename to erpnext/accounts/doctype/gl_entry/gl_entry.json
diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.txt b/erpnext/accounts/doctype/journal_voucher/journal_voucher.json
similarity index 100%
rename from erpnext/accounts/doctype/journal_voucher/journal_voucher.txt
rename to erpnext/accounts/doctype/journal_voucher/journal_voucher.json
diff --git a/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py b/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py
index 20a342d..c3a3d85 100644
--- a/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py
+++ b/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py
@@ -9,14 +9,14 @@
 class TestJournalVoucher(unittest.TestCase):
 	def test_journal_voucher_with_against_jv(self):
 		self.clear_account_balance()
-		jv_invoice = frappe.get_doc(copy=test_records[2])
+		jv_invoice = frappe.copy_doc(test_records[2])
 		jv_invoice.insert()
 		jv_invoice.submit()
 		
 		self.assertTrue(not frappe.db.sql("""select name from `tabJournal Voucher Detail`
 			where against_jv=%s""", jv_invoice.name))
 		
-		jv_payment = frappe.get_doc(copy=test_records[0])
+		jv_payment = frappe.copy_doc(test_records[0])
 		jv_payment.doclist[1].against_jv = jv_invoice.name
 		jv_payment.insert()
 		jv_payment.submit()
@@ -37,7 +37,7 @@
 		from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
 		set_perpetual_inventory()
 		
-		jv = frappe.get_doc(copy=test_records[0])
+		jv = frappe.copy_doc(test_records[0])
 		jv.doclist[1].account = "_Test Warehouse - _TC"
 		jv.insert()
 		
@@ -50,7 +50,7 @@
 		frappe.db.set_value("Company", "_Test Company", "monthly_bgt_flag", "Ignore")
 		self.clear_account_balance()
 		
-		jv = frappe.get_doc(copy=test_records[0])
+		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
@@ -65,7 +65,7 @@
 		frappe.db.set_value("Company", "_Test Company", "monthly_bgt_flag", "Stop")
 		self.clear_account_balance()
 		
-		jv = frappe.get_doc(copy=test_records[0])
+		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
@@ -83,7 +83,7 @@
 		
 		frappe.db.set_value("Company", "_Test Company", "yearly_bgt_flag", "Stop")
 		
-		jv = frappe.get_doc(copy=test_records[0])
+		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"
@@ -100,7 +100,7 @@
 		frappe.db.set_value("Company", "_Test Company", "monthly_bgt_flag", "Stop")
 		self.clear_account_balance()
 		
-		jv = frappe.get_doc(copy=test_records[0])
+		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
@@ -110,7 +110,7 @@
 		self.assertTrue(frappe.db.get_value("GL Entry", 
 			{"voucher_type": "Journal Voucher", "voucher_no": jv.name}))
 		
-		jv1 = frappe.get_doc(copy=test_records[0])
+		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
@@ -128,81 +128,4 @@
 		frappe.db.sql("""delete from `tabGL Entry`""")
 		
 
-test_records = [
-	[{
-		"company": "_Test Company", 
-		"doctype": "Journal Voucher", 
-		"fiscal_year": "_Test Fiscal Year 2013", 
-		"naming_series": "_T-Journal Voucher-",
-		"posting_date": "2013-02-14", 
-		"user_remark": "test",
-		"voucher_type": "Bank Voucher",
-		"cheque_no": "33",
-		"cheque_date": "2013-02-14"
-	}, 
-	{
-		"account": "_Test Customer - _TC", 
-		"doctype": "Journal Voucher Detail", 
-		"credit": 400.0,
-		"debit": 0.0,
-		"parentfield": "entries"
-	}, 
-	{
-		"account": "_Test Account Bank Account - _TC", 
-		"doctype": "Journal Voucher Detail", 
-		"debit": 400.0,
-		"credit": 0.0,
-		"parentfield": "entries"
-	}],
-	[{
-		"company": "_Test Company", 
-		"doctype": "Journal Voucher", 
-		"fiscal_year": "_Test Fiscal Year 2013", 
-		"naming_series": "_T-Journal Voucher-",
-		"posting_date": "2013-02-14", 
-		"user_remark": "test",
-		"voucher_type": "Bank Voucher",
-		"cheque_no": "33",
-		"cheque_date": "2013-02-14"
-	}, 
-	{
-		"account": "_Test Supplier - _TC", 
-		"doctype": "Journal Voucher Detail", 
-		"credit": 0.0,
-		"debit": 400.0,
-		"parentfield": "entries"
-	}, 
-	{
-		"account": "_Test Account Bank Account - _TC", 
-		"doctype": "Journal Voucher Detail", 
-		"debit": 0.0,
-		"credit": 400.0,
-		"parentfield": "entries"
-	}],
-	[{
-		"company": "_Test Company", 
-		"doctype": "Journal Voucher", 
-		"fiscal_year": "_Test Fiscal Year 2013", 
-		"naming_series": "_T-Journal Voucher-",
-		"posting_date": "2013-02-14", 
-		"user_remark": "test",
-		"voucher_type": "Bank Voucher",
-		"cheque_no": "33",
-		"cheque_date": "2013-02-14"
-	}, 
-	{
-		"account": "_Test Customer - _TC", 
-		"doctype": "Journal Voucher Detail", 
-		"credit": 0.0,
-		"debit": 400.0,
-		"parentfield": "entries"
-	}, 
-	{
-		"account": "Sales - _TC", 
-		"doctype": "Journal Voucher Detail", 
-		"credit": 400.0,
-		"debit": 0.0,
-		"parentfield": "entries",
-		"cost_center": "_Test Cost Center - _TC"
-	}],
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Journal Voucher')
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt b/erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.json
similarity index 100%
rename from erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt
rename to erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.json
diff --git a/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.txt b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.json
similarity index 100%
rename from erpnext/accounts/doctype/mode_of_payment/mode_of_payment.txt
rename to erpnext/accounts/doctype/mode_of_payment/mode_of_payment.json
diff --git a/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.txt b/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.json
similarity index 100%
rename from erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.txt
rename to erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.json
diff --git a/erpnext/accounts/doctype/payment_to_invoice_matching_tool/test_payment_to_invoice_matching_tool.py b/erpnext/accounts/doctype/payment_to_invoice_matching_tool/test_payment_to_invoice_matching_tool.py
index fed0252..2198909 100644
--- a/erpnext/accounts/doctype/payment_to_invoice_matching_tool/test_payment_to_invoice_matching_tool.py
+++ b/erpnext/accounts/doctype/payment_to_invoice_matching_tool/test_payment_to_invoice_matching_tool.py
@@ -5,4 +5,4 @@
 import unittest
 import frappe
 
-test_records = []
\ No newline at end of file
+test_records = frappe.get_test_records('Payment To Invoice Matching Tool')
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/payment_to_invoice_matching_tool_detail/payment_to_invoice_matching_tool_detail.txt b/erpnext/accounts/doctype/payment_to_invoice_matching_tool_detail/payment_to_invoice_matching_tool_detail.json
similarity index 100%
rename from erpnext/accounts/doctype/payment_to_invoice_matching_tool_detail/payment_to_invoice_matching_tool_detail.txt
rename to erpnext/accounts/doctype/payment_to_invoice_matching_tool_detail/payment_to_invoice_matching_tool_detail.json
diff --git a/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.txt b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.json
similarity index 100%
rename from erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.txt
rename to erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.json
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 9ffe451..12facd8 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
@@ -12,18 +12,18 @@
 		frappe.db.sql("""delete from `tabGL Entry`""")
 		
 		from erpnext.accounts.doctype.journal_voucher.test_journal_voucher import test_records as jv_records
-		jv = frappe.get_doc(copy=jv_records[2])
+		jv = frappe.copy_doc(jv_records[2])
 		jv.insert()
 		jv.submit()
 		
-		jv1 = frappe.get_doc(copy=jv_records[0])
+		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.insert()
 		jv1.submit()
 		
-		pcv = frappe.get_doc(copy=test_record)
+		pcv = frappe.copy_doc(test_record)
 		pcv.insert()
 		pcv.submit()
 		
diff --git a/erpnext/accounts/doctype/pos_setting/pos_setting.txt b/erpnext/accounts/doctype/pos_setting/pos_setting.json
similarity index 100%
rename from erpnext/accounts/doctype/pos_setting/pos_setting.txt
rename to erpnext/accounts/doctype/pos_setting/pos_setting.json
diff --git a/erpnext/accounts/doctype/pos_setting/pos_setting.py b/erpnext/accounts/doctype/pos_setting/pos_setting.py
index ed3f5f4..65761c9 100755
--- a/erpnext/accounts/doctype/pos_setting/pos_setting.py
+++ b/erpnext/accounts/doctype/pos_setting/pos_setting.py
@@ -10,11 +10,7 @@
 
 class PosSetting(Document):
 	def get_series(self):
-		import frappe.model.doctype
-		docfield = frappe.model.doctype.get('Sales Invoice')
-		series = [d.options for d in docfield 
-			if d.doctype == 'DocField' and d.fieldname == 'naming_series']
-		return series and series[0] or ''
+		frappe.get_meta("Sales Invoice").get_field("naming_series").options or ""
 
 	def validate(self):
 		self.check_for_duplicate()
diff --git a/erpnext/accounts/doctype/pos_setting/test_pos_setting.py b/erpnext/accounts/doctype/pos_setting/test_pos_setting.py
index 42125cd..d563be9 100644
--- a/erpnext/accounts/doctype/pos_setting/test_pos_setting.py
+++ b/erpnext/accounts/doctype/pos_setting/test_pos_setting.py
@@ -1,19 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"doctype": "POS Setting",
-		"name": "_Test POS Setting",
-		"currency": "INR",
-		"selling_price_list": "_Test Price List",
-		"company": "_Test Company",
-		"warehouse": "_Test Warehouse - _TC",
-		"territory": "_Test Territory", 
-		"cash_bank_account": "_Test Account Bank Account - _TC",
-		"income_account": "Sales - _TC",
-		"cost_center": "_Test Cost Center - _TC",
-		"expense_account": "_Test Account Cost for Goods Sold - _TC",
-		"naming_series": "_T-Sales Invoice-"
-	}]
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Pos Setting')
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/pricing_rule/pricing_rule.txt b/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
similarity index 100%
rename from erpnext/accounts/doctype/pricing_rule/pricing_rule.txt
rename to erpnext/accounts/doctype/pricing_rule/pricing_rule.json
diff --git a/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py b/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py
index c1bd319..5e42797 100644
--- a/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py
+++ b/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py
@@ -19,7 +19,7 @@
 			"price": 0, 
 			"discount_percentage": 10, 
 		}]
-		frappe.get_doc(copy=test_record).insert()
+		frappe.copy_doc(test_record).insert()
 		
 		args = frappe._dict({
 			"item_code": "_Test Item",
@@ -38,7 +38,7 @@
 		details = get_item_details(args)
 		self.assertEquals(details.get("discount_percentage"), 10)
 		
-		prule = frappe.get_doc(copy=test_record)
+		prule = frappe.copy_doc(test_record)
 		prule.applicable_for = "Customer"
 		self.assertRaises(MandatoryError, prule.insert)
 		prule.customer = "_Test Customer"
@@ -47,7 +47,7 @@
 		details = get_item_details(args)
 		self.assertEquals(details.get("discount_percentage"), 20)
 		
-		prule = frappe.get_doc(copy=test_record)
+		prule = frappe.copy_doc(test_record)
 		prule.apply_on = "Item Group"
 		prule.item_group = "All Item Groups"
 		prule.discount_percentage = 15
@@ -57,7 +57,7 @@
 		details = get_item_details(args)
 		self.assertEquals(details.get("discount_percentage"), 10)
 		
-		prule = frappe.get_doc(copy=test_record)
+		prule = frappe.copy_doc(test_record)
 		prule.applicable_for = "Campaign"
 		prule.campaign = "_Test Campaign"
 		prule.discount_percentage = 5
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.txt b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
similarity index 100%
rename from erpnext/accounts/doctype/purchase_invoice/purchase_invoice.txt
rename to erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index eb8b93a..b374796 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -6,7 +6,6 @@
 
 from frappe.utils import cint, cstr, flt, formatdate
 
-from frappe.model.code import get_obj
 from frappe import msgprint, _
 from erpnext.setup.utils import get_company_currency
 
@@ -267,7 +266,7 @@
 	def on_submit(self):
 		self.check_prev_docstatus()
 		
-		get_obj('Authorization Control').validate_approving_authority(self.doctype, 
+		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype, 
 			self.company, self.grand_total)
 		
 		# this sequence because outstanding may get -negative
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index fa79c37..cb5cd31 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -19,7 +19,7 @@
 		set_perpetual_inventory(0)
 		self.assertTrue(not cint(frappe.defaults.get_global_default("auto_accounting_for_stock")))
 		
-		wrapper = frappe.get_doc(copy=test_records[0])
+		wrapper = frappe.copy_doc(test_records[0])
 		wrapper.insert()
 		wrapper.submit()
 		wrapper.load_from_db()
@@ -45,7 +45,7 @@
 		set_perpetual_inventory(1)
 		self.assertEqual(cint(frappe.defaults.get_global_default("auto_accounting_for_stock")), 1)
 		
-		pi = frappe.get_doc(copy=test_records[1])
+		pi = frappe.copy_doc(test_records[1])
 		pi.insert()
 		pi.submit()
 		
@@ -73,7 +73,7 @@
 		set_perpetual_inventory()
 		self.assertEqual(cint(frappe.defaults.get_global_default("auto_accounting_for_stock")), 1)
 		
-		pi = frappe.get_doc(copy=test_records[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.doclist.pop(2)
@@ -99,7 +99,7 @@
 		set_perpetual_inventory(0)
 			
 	def test_purchase_invoice_calculation(self):
-		wrapper = frappe.get_doc(copy=test_records[0])
+		wrapper = frappe.copy_doc(test_records[0])
 		wrapper.insert()
 		wrapper.load_from_db()
 		
@@ -132,7 +132,7 @@
 			self.assertEqual(tax.total, expected_values[i][2])
 			
 	def test_purchase_invoice_with_subcontracted_item(self):
-		wrapper = frappe.get_doc(copy=test_records[0])
+		wrapper = frappe.copy_doc(test_records[0])
 		wrapper.doclist[1].item_code = "_Test FG Item"
 		wrapper.insert()
 		wrapper.load_from_db()
@@ -169,11 +169,11 @@
 		from erpnext.accounts.doctype.journal_voucher.test_journal_voucher \
 			import test_records as jv_test_records
 			
-		jv = frappe.get_doc(copy=jv_test_records[1])
+		jv = frappe.copy_doc(jv_test_records[1])
 		jv.insert()
 		jv.submit()
 		
-		pi = frappe.get_doc(copy=test_records[0])
+		pi = frappe.copy_doc(test_records[0])
 		pi.append("advance_allocation_details", {
 			"journal_voucher": jv.name,
 			"jv_detail_no": jv.doclist[1].name,
@@ -198,212 +198,4 @@
 		self.assertTrue(not frappe.db.sql("""select name from `tabJournal Voucher Detail`
 			where against_voucher=%s""", pi.name))
 	
-test_records = [
-	[
-		# parent
-		{
-			"doctype": "Purchase Invoice",
-			"naming_series": "BILL",
-			"supplier_name": "_Test Supplier",
-			"credit_to": "_Test Supplier - _TC",
-			"bill_no": "NA",
-			"posting_date": "2013-02-03",
-			"fiscal_year": "_Test Fiscal Year 2013",
-			"company": "_Test Company",
-			"currency": "INR",
-			"conversion_rate": 1,
-			"grand_total_import": 0, # for feed
-			"buying_price_list": "_Test Price List"
-		},
-		# items
-		{
-			"doctype": "Purchase Invoice Item",
-			"parentfield": "entries",
-			"item_code": "_Test Item Home Desktop 100",
-			"item_name": "_Test Item Home Desktop 100",
-			"qty": 10,
-			"rate": 50,
-			"amount": 500,
-			"base_rate": 50,
-			"base_amount": 500,
-			"uom": "_Test UOM",
-			"item_tax_rate": json.dumps({"_Test Account Excise Duty - _TC": 10}),
-			"expense_account": "_Test Account Cost for Goods Sold - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"conversion_factor": 1.0,
-		
-		},
-		{
-			"doctype": "Purchase Invoice Item",
-			"parentfield": "entries",
-			"item_code": "_Test Item Home Desktop 200",
-			"item_name": "_Test Item Home Desktop 200",
-			"qty": 5,
-			"rate": 150,
-			"amount": 750,
-			"base_rate": 150,
-			"base_amount": 750,
-			"uom": "_Test UOM",
-			"expense_account": "_Test Account Cost for Goods Sold - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"conversion_factor": 1.0,
-		},
-		# taxes
-		{
-			"doctype": "Purchase Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "Actual",
-			"account_head": "_Test Account Shipping Charges - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Shipping Charges",
-			"category": "Valuation and Total",
-			"add_deduct_tax": "Add",
-			"rate": 100
-		},
-		{
-			"doctype": "Purchase Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Net Total",
-			"account_head": "_Test Account Customs Duty - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Customs Duty",
-			"category": "Valuation",
-			"add_deduct_tax": "Add",
-			"rate": 10
-		},
-		{
-			"doctype": "Purchase Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Net Total",
-			"account_head": "_Test Account Excise Duty - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Excise Duty",
-			"category": "Total",
-			"add_deduct_tax": "Add",
-			"rate": 12
-		},
-		{
-			"doctype": "Purchase Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Amount",
-			"account_head": "_Test Account Education Cess - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Education Cess",
-			"category": "Total",
-			"add_deduct_tax": "Add",
-			"rate": 2,
-			"row_id": 3
-		},
-		{
-			"doctype": "Purchase Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Amount",
-			"account_head": "_Test Account S&H Education Cess - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "S&H Education Cess",
-			"category": "Total",
-			"add_deduct_tax": "Add",
-			"rate": 1,
-			"row_id": 3
-		},
-		{
-			"doctype": "Purchase Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Total",
-			"account_head": "_Test Account CST - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "CST",
-			"category": "Total",
-			"add_deduct_tax": "Add",
-			"rate": 2,
-			"row_id": 5
-		},
-		{
-			"doctype": "Purchase Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Net Total",
-			"account_head": "_Test Account VAT - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "VAT",
-			"category": "Total",
-			"add_deduct_tax": "Add",
-			"rate": 12.5
-		},
-		{
-			"doctype": "Purchase Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Total",
-			"account_head": "_Test Account Discount - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Discount",
-			"category": "Total",
-			"add_deduct_tax": "Deduct",
-			"rate": 10,
-			"row_id": 7
-		},
-	],
-	[
-		# parent
-		{
-			"doctype": "Purchase Invoice",
-			"naming_series": "_T-Purchase Invoice-",
-			"supplier_name": "_Test Supplier",
-			"credit_to": "_Test Supplier - _TC",
-			"bill_no": "NA",
-			"posting_date": "2013-02-03",
-			"fiscal_year": "_Test Fiscal Year 2013",
-			"company": "_Test Company",
-			"currency": "INR",
-			"conversion_rate": 1.0,
-			"grand_total_import": 0, # for feed
-			"buying_price_list": "_Test Price List"
-		},
-		# items
-		{
-			"doctype": "Purchase Invoice Item",
-			"parentfield": "entries",
-			"item_code": "_Test Item",
-			"item_name": "_Test Item",
-			"qty": 10.0,
-			"rate": 50.0,
-			"uom": "_Test UOM",
-			"expense_account": "_Test Account Cost for Goods Sold - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"conversion_factor": 1.0,
-		},
-		# taxes
-		{
-			"doctype": "Purchase Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "Actual",
-			"account_head": "_Test Account Shipping Charges - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Shipping Charges",
-			"category": "Valuation and Total",
-			"add_deduct_tax": "Add",
-			"rate": 100.0
-		},
-		{
-			"doctype": "Purchase Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "Actual",
-			"account_head": "_Test Account VAT - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "VAT",
-			"category": "Total",
-			"add_deduct_tax": "Add",
-			"rate": 120.0
-		},
-		{
-			"doctype": "Purchase Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "Actual",
-			"account_head": "_Test Account Customs Duty - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Customs Duty",
-			"category": "Valuation",
-			"add_deduct_tax": "Add",
-			"rate": 150.0
-		},
-	]
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Purchase Invoice')
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.txt b/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
similarity index 100%
rename from erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.txt
rename to erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
diff --git a/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.txt b/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
similarity index 100%
rename from erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.txt
rename to erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.txt b/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json
similarity index 100%
rename from erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.txt
rename to erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json
diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.txt b/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.json
similarity index 100%
rename from erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.txt
rename to erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.json
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
similarity index 100%
rename from erpnext/accounts/doctype/sales_invoice/sales_invoice.txt
rename to erpnext/accounts/doctype/sales_invoice/sales_invoice.json
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index 5bb8df8..d55d3a5 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -11,7 +11,6 @@
 from frappe.utils import comma_and
 from frappe.model.naming import make_autoname
 
-from frappe.model.code import get_obj
 from frappe import _, msgprint
 
 from erpnext.accounts.party import get_party_account, get_due_date
@@ -78,7 +77,7 @@
 		else:
 			# Check for Approving Authority
 			if not self.recurring_id:
-				get_obj('Authorization Control').validate_approving_authority(self.doctype, 
+				frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype, 
 				 	self.company, self.grand_total, self)
 				
 		self.check_prev_docstatus()
diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
index 87c8923..4e366b3 100644
--- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
@@ -10,14 +10,14 @@
 
 class TestSalesInvoice(unittest.TestCase):
 	def make(self):
-		w = frappe.get_doc(copy=test_records[0])
+		w = frappe.copy_doc(test_records[0])
 		w.is_pos = 0
 		w.insert()
 		w.submit()
 		return w
 		
 	def test_double_submission(self):
-		w = frappe.get_doc(copy=test_records[0])
+		w = frappe.copy_doc(test_records[0])
 		w.docstatus = '0'
 		w.insert()
 		
@@ -28,7 +28,7 @@
 		self.assertRaises(DocstatusTransitionError, w.submit)
 		
 	def test_timestamp_change(self):
-		w = frappe.get_doc(copy=test_records[0])
+		w = frappe.copy_doc(test_records[0])
 		w.docstatus = '0'
 		w.insert()
 
@@ -43,7 +43,7 @@
 		self.assertRaises(TimestampMismatchError, w2.save)
 		
 	def test_sales_invoice_calculation_base_currency(self):
-		si = frappe.get_doc(copy=test_records[2])
+		si = frappe.copy_doc(test_records[2])
 		si.insert()
 		
 		expected_values = {
@@ -87,7 +87,7 @@
 		self.assertEquals(si.grand_total_export, 1627.05)
 		
 	def test_sales_invoice_calculation_export_currency(self):
-		si = frappe.get_doc(copy=test_records[2])
+		si = frappe.copy_doc(test_records[2])
 		si.currency = "USD"
 		si.conversion_rate = 50
 		si.doclist[1].rate = 1
@@ -137,7 +137,7 @@
 		self.assertEquals(si.grand_total_export, 32.54)
 
 	def test_sales_invoice_discount_amount(self):
-		si = frappe.get_doc(copy=test_records[3])
+		si = frappe.copy_doc(test_records[3])
 		si.discount_amount = 104.95
 		si.append("other_charges", {
 			"doctype": "Sales Taxes and Charges",
@@ -192,7 +192,7 @@
 		self.assertEquals(si.grand_total_export, 1500)
 
 	def test_discount_amount_gl_entry(self):
-		si = frappe.get_doc(copy=test_records[3])
+		si = frappe.copy_doc(test_records[3])
 		si.discount_amount = 104.95
 		si.append("other_charges", {
 			"doctype": "Sales Taxes and Charges",
@@ -240,7 +240,7 @@
 		self.assertFalse(gle)
 
 	def test_inclusive_rate_validations(self):
-		si = frappe.get_doc(copy=test_records[2])
+		si = frappe.copy_doc(test_records[2])
 		for i, tax in enumerate(si.get("other_charges")):
 			tax.idx = i+1
 		
@@ -258,7 +258,7 @@
 		
 	def test_sales_invoice_calculation_base_currency_with_tax_inclusive_price(self):
 		# prepare
-		si = frappe.get_doc(copy=test_records[3])
+		si = frappe.copy_doc(test_records[3])
 		si.insert()
 		
 		expected_values = {
@@ -303,7 +303,7 @@
 		
 	def test_sales_invoice_calculation_export_currency_with_tax_inclusive_price(self):
 		# prepare
-		si = frappe.get_doc(copy=test_records[3])
+		si = frappe.copy_doc(test_records[3])
 		si.currency = "USD"
 		si.conversion_rate = 50
 		si.doclist[1].price_list_rate = 55.56
@@ -403,7 +403,7 @@
 	def test_sales_invoice_gl_entry_without_aii(self):
 		self.clear_stock_account_balance()
 		set_perpetual_inventory(0)
-		si = frappe.get_doc(copy=test_records[1])
+		si = frappe.copy_doc(test_records[1])
 		si.insert()
 		si.submit()
 		
@@ -447,7 +447,7 @@
 		pos[0]["cash_bank_account"] = "_Test Account Bank Account - _TC"
 		pos[0]["paid_amount"] = 600.0
 
-		si = frappe.get_doc(copy=pos)
+		si = frappe.copy_doc(pos)
 		si.insert()
 		si.submit()
 		
@@ -500,7 +500,7 @@
 		# insert purchase receipt
 		from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import test_records \
 			as pr_test_records
-		pr = frappe.get_doc(copy=pr_test_records[0])
+		pr = frappe.copy_doc(pr_test_records[0])
 		pr.naming_series = "_T-Purchase Receipt-"
 		pr.doclist[1].warehouse = "_Test Warehouse No Account - _TC"
 		pr.insert()
@@ -511,7 +511,7 @@
 		si_doclist[0]["posting_time"] = "12:05"
 		si_doclist[1]["warehouse"] = "_Test Warehouse No Account - _TC"
 
-		si = frappe.get_doc(copy=si_doclist)
+		si = frappe.copy_doc(si_doclist)
 		si.insert()
 		si.submit()
 		
@@ -605,7 +605,7 @@
 	def _insert_purchase_receipt(self):
 		from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import test_records \
 			as pr_test_records
-		pr = frappe.get_doc(copy=pr_test_records[0])
+		pr = frappe.copy_doc(pr_test_records[0])
 		pr.naming_series = "_T-Purchase Receipt-"
 		pr.insert()
 		pr.submit()
@@ -613,7 +613,7 @@
 	def _insert_delivery_note(self):
 		from erpnext.stock.doctype.delivery_note.test_delivery_note import test_records \
 			as dn_test_records
-		dn = frappe.get_doc(copy=dn_test_records[0])
+		dn = frappe.copy_doc(dn_test_records[0])
 		dn.naming_series = "_T-Delivery Note-"
 		dn.insert()
 		dn.submit()
@@ -624,18 +624,18 @@
 			import test_records as pos_setting_test_records
 		frappe.db.sql("""delete from `tabPOS Setting`""")
 		
-		ps = frappe.get_doc(copy=pos_setting_test_records[0])
+		ps = frappe.copy_doc(pos_setting_test_records[0])
 		ps.insert()
 		
 	def test_sales_invoice_with_advance(self):
 		from erpnext.accounts.doctype.journal_voucher.test_journal_voucher \
 			import test_records as jv_test_records
 			
-		jv = frappe.get_doc(copy=jv_test_records[0])
+		jv = frappe.copy_doc(jv_test_records[0])
 		jv.insert()
 		jv.submit()
 		
-		si = frappe.get_doc(copy=test_records[0])
+		si = frappe.copy_doc(test_records[0])
 		si.append("advance_adjustment_details", {
 			"doctype": "Sales Invoice Advance",
 			"journal_voucher": jv.name,
@@ -665,7 +665,7 @@
 		from frappe.utils import get_first_day, get_last_day, add_to_date, nowdate, getdate
 		from erpnext.accounts.utils import get_fiscal_year
 		today = nowdate()
-		base_si = frappe.get_doc(copy=test_records[0])
+		base_si = frappe.copy_doc(test_records[0])
 		base_si.update({
 			"convert_into_recurring_invoice": 1,
 			"recurring_type": "Monthly",
@@ -678,13 +678,13 @@
 		})
 		
 		# monthly
-		si1 = frappe.get_doc(copy=base_si.doclist)
+		si1 = frappe.copy_doc(base_si.doclist)
 		si1.insert()
 		si1.submit()
 		self._test_recurring_invoice(si1, True)
 		
 		# monthly without a first and last day period
-		si2 = frappe.get_doc(copy=base_si.doclist)
+		si2 = frappe.copy_doc(base_si.doclist)
 		si2.update({
 			"invoice_period_from_date": today,
 			"invoice_period_to_date": add_to_date(today, days=30)
@@ -694,7 +694,7 @@
 		self._test_recurring_invoice(si2, False)
 		
 		# quarterly
-		si3 = frappe.get_doc(copy=base_si.doclist)
+		si3 = frappe.copy_doc(base_si.doclist)
 		si3.update({
 			"recurring_type": "Quarterly",
 			"invoice_period_from_date": get_first_day(today),
@@ -705,7 +705,7 @@
 		self._test_recurring_invoice(si3, True)
 		
 		# quarterly without a first and last day period
-		si4 = frappe.get_doc(copy=base_si.doclist)
+		si4 = frappe.copy_doc(base_si.doclist)
 		si4.update({
 			"recurring_type": "Quarterly",
 			"invoice_period_from_date": today,
@@ -716,7 +716,7 @@
 		self._test_recurring_invoice(si4, False)
 		
 		# yearly
-		si5 = frappe.get_doc(copy=base_si.doclist)
+		si5 = frappe.copy_doc(base_si.doclist)
 		si5.update({
 			"recurring_type": "Yearly",
 			"invoice_period_from_date": get_first_day(today),
@@ -727,7 +727,7 @@
 		self._test_recurring_invoice(si5, True)
 		
 		# yearly without a first and last day period
-		si6 = frappe.get_doc(copy=base_si.doclist)
+		si6 = frappe.copy_doc(base_si.doclist)
 		si6.update({
 			"recurring_type": "Yearly",
 			"invoice_period_from_date": today,
@@ -738,7 +738,7 @@
 		self._test_recurring_invoice(si6, False)
 		
 		# change posting date but keep recuring day to be today
-		si7 = frappe.get_doc(copy=base_si.doclist)
+		si7 = frappe.copy_doc(base_si.doclist)
 		si7.update({
 			"posting_date": add_to_date(today, days=-1)
 		})
@@ -811,7 +811,7 @@
 		se = make_serialized_item()
 		serial_nos = get_serial_nos(se.doclist[1].serial_no)
 		
-		si = frappe.get_doc(copy=test_records[0])
+		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
@@ -849,7 +849,7 @@
 		sr.status = "Not Available"
 		sr.save()
 		
-		si = frappe.get_doc(copy=test_records[0])
+		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
@@ -860,386 +860,4 @@
 
 test_dependencies = ["Journal Voucher", "POS Setting", "Contact", "Address"]
 
-test_records = [
-	[
-		{
-			"naming_series": "_T-Sales Invoice-",
-			"company": "_Test Company", 
-			"is_pos": 0,
-			"conversion_rate": 1.0, 
-			"currency": "INR", 
-			"debit_to": "_Test Customer - _TC",
-			"customer": "_Test Customer",
-			"customer_name": "_Test Customer",
-			"doctype": "Sales Invoice", 
-			"due_date": "2013-01-23", 
-			"fiscal_year": "_Test Fiscal Year 2013", 
-			"grand_total": 561.8, 
-			"grand_total_export": 561.8, 
-			"net_total": 500.0, 
-			"plc_conversion_rate": 1.0, 
-			"posting_date": "2013-01-23", 
-			"price_list_currency": "INR", 
-			"selling_price_list": "_Test Price List", 
-			"territory": "_Test Territory"
-		}, 
-		{
-			"base_amount": 500.0, 
-			"base_rate": 500.0, 
-			"description": "138-CMS Shoe", 
-			"doctype": "Sales Invoice Item", 
-			"amount": 500.0, 
-			"rate": 500.0, 
-			"income_account": "Sales - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"item_name": "138-CMS Shoe", 
-			"parentfield": "entries",
-			"qty": 1.0
-		}, 
-		{
-			"account_head": "_Test Account VAT - _TC", 
-			"charge_type": "On Net Total", 
-			"description": "VAT", 
-			"doctype": "Sales Taxes and Charges", 
-			"parentfield": "other_charges",
-			"rate": 6,
-		}, 
-		{
-			"account_head": "_Test Account Service Tax - _TC", 
-			"charge_type": "On Net Total", 
-			"description": "Service Tax", 
-			"doctype": "Sales Taxes and Charges", 
-			"parentfield": "other_charges",
-			"rate": 6.36,
-		},
-		{
-			"parentfield": "sales_team",
-			"doctype": "Sales Team",
-			"sales_person": "_Test Sales Person 1",
-			"allocated_percentage": 65.5,
-		},
-		{
-			"parentfield": "sales_team",
-			"doctype": "Sales Team",
-			"sales_person": "_Test Sales Person 2",
-			"allocated_percentage": 34.5,
-		},
-	],
-	[
-		{
-			"naming_series": "_T-Sales Invoice-",
-			"company": "_Test Company", 
-			"is_pos": 0,
-			"conversion_rate": 1.0, 
-			"currency": "INR", 
-			"debit_to": "_Test Customer - _TC",
-			"customer": "_Test Customer",
-			"customer_name": "_Test Customer",
-			"doctype": "Sales Invoice", 
-			"due_date": "2013-01-23", 
-			"fiscal_year": "_Test Fiscal Year 2013", 
-			"grand_total": 630.0, 
-			"grand_total_export": 630.0, 
-			"net_total": 500.0, 
-			"plc_conversion_rate": 1.0, 
-			"posting_date": "2013-03-07", 
-			"price_list_currency": "INR", 
-			"selling_price_list": "_Test Price List", 
-			"territory": "_Test Territory"
-		}, 
-		{
-			"item_code": "_Test Item",
-			"item_name": "_Test Item", 
-			"description": "_Test Item", 
-			"doctype": "Sales Invoice Item", 
-			"parentfield": "entries",
-			"qty": 1.0,
-			"base_rate": 500.0,
-			"base_amount": 500.0, 
-			"price_list_rate": 500.0, 
-			"amount": 500.0, 
-			"income_account": "Sales - _TC",
-			"expense_account": "_Test Account Cost for Goods Sold - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-		}, 
-		{
-			"account_head": "_Test Account VAT - _TC", 
-			"charge_type": "On Net Total", 
-			"description": "VAT", 
-			"doctype": "Sales Taxes and Charges", 
-			"parentfield": "other_charges",
-			"rate": 16,
-		}, 
-		{
-			"account_head": "_Test Account Service Tax - _TC", 
-			"charge_type": "On Net Total", 
-			"description": "Service Tax", 
-			"doctype": "Sales Taxes and Charges", 
-			"parentfield": "other_charges",
-			"rate": 10
-		}
-	],
-	[
-		{
-			"naming_series": "_T-Sales Invoice-",
-			"company": "_Test Company", 
-			"is_pos": 0,
-			"conversion_rate": 1.0, 
-			"currency": "INR", 
-			"debit_to": "_Test Customer - _TC",
-			"customer": "_Test Customer",
-			"customer_name": "_Test Customer",
-			"doctype": "Sales Invoice", 
-			"due_date": "2013-01-23", 
-			"fiscal_year": "_Test Fiscal Year 2013", 
-			"grand_total_export": 0, 
-			"plc_conversion_rate": 1.0, 
-			"posting_date": "2013-01-23", 
-			"price_list_currency": "INR", 
-			"selling_price_list": "_Test Price List", 
-			"territory": "_Test Territory",
-		},
-		# items
-		{
-			"doctype": "Sales Invoice Item",
-			"parentfield": "entries",
-			"item_code": "_Test Item Home Desktop 100",
-			"item_name": "_Test Item Home Desktop 100",
-			"qty": 10,
-			"price_list_rate": 50,
-			"rate": 50,
-			"stock_uom": "_Test UOM",
-			"item_tax_rate": json.dumps({"_Test Account Excise Duty - _TC": 10}),
-			"income_account": "Sales - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-		
-		},
-		{
-			"doctype": "Sales Invoice Item",
-			"parentfield": "entries",
-			"item_code": "_Test Item Home Desktop 200",
-			"item_name": "_Test Item Home Desktop 200",
-			"qty": 5,
-			"price_list_rate": 150,
-			"rate": 150,
-			"stock_uom": "_Test UOM",
-			"income_account": "Sales - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-		
-		},
-		# taxes
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "Actual",
-			"account_head": "_Test Account Shipping Charges - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Shipping Charges",
-			"rate": 100
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Net Total",
-			"account_head": "_Test Account Customs Duty - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Customs Duty",
-			"rate": 10
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Net Total",
-			"account_head": "_Test Account Excise Duty - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Excise Duty",
-			"rate": 12
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Amount",
-			"account_head": "_Test Account Education Cess - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Education Cess",
-			"rate": 2,
-			"row_id": 3
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Amount",
-			"account_head": "_Test Account S&H Education Cess - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "S&H Education Cess",
-			"rate": 1,
-			"row_id": 3
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Total",
-			"account_head": "_Test Account CST - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "CST",
-			"rate": 2,
-			"row_id": 5
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Net Total",
-			"account_head": "_Test Account VAT - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "VAT",
-			"rate": 12.5
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Total",
-			"account_head": "_Test Account Discount - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Discount",
-			"rate": -10,
-			"row_id": 7
-		},
-	],
-	[
-		{
-			"naming_series": "_T-Sales Invoice-",
-			"company": "_Test Company", 
-			"is_pos": 0,
-			"conversion_rate": 1.0, 
-			"currency": "INR", 
-			"debit_to": "_Test Customer - _TC",
-			"customer": "_Test Customer",
-			"customer_name": "_Test Customer",
-			"doctype": "Sales Invoice", 
-			"due_date": "2013-01-23", 
-			"fiscal_year": "_Test Fiscal Year 2013", 
-			"grand_total_export": 0, 
-			"plc_conversion_rate": 1.0, 
-			"posting_date": "2013-01-23", 
-			"price_list_currency": "INR", 
-			"selling_price_list": "_Test Price List", 
-			"territory": "_Test Territory",
-		},
-		# items
-		{
-			"doctype": "Sales Invoice Item",
-			"parentfield": "entries",
-			"item_code": "_Test Item Home Desktop 100",
-			"item_name": "_Test Item Home Desktop 100",
-			"qty": 10,
-			"price_list_rate": 62.5,
-			"stock_uom": "_Test UOM",
-			"item_tax_rate": json.dumps({"_Test Account Excise Duty - _TC": 10}),
-			"income_account": "Sales - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-		
-		},
-		{
-			"doctype": "Sales Invoice Item",
-			"parentfield": "entries",
-			"item_code": "_Test Item Home Desktop 200",
-			"item_name": "_Test Item Home Desktop 200",
-			"qty": 5,
-			"price_list_rate": 190.66,
-			"stock_uom": "_Test UOM",
-			"income_account": "Sales - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-		
-		},
-		# taxes
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Net Total",
-			"account_head": "_Test Account Excise Duty - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Excise Duty",
-			"rate": 12,
-			"included_in_print_rate": 1,
-			"idx": 1
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Amount",
-			"account_head": "_Test Account Education Cess - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Education Cess",
-			"rate": 2,
-			"row_id": 1,
-			"included_in_print_rate": 1,
-			"idx": 2
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Amount",
-			"account_head": "_Test Account S&H Education Cess - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "S&H Education Cess",
-			"rate": 1,
-			"row_id": 1,
-			"included_in_print_rate": 1,
-			"idx": 3
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Total",
-			"account_head": "_Test Account CST - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "CST",
-			"rate": 2,
-			"row_id": 3,
-			"included_in_print_rate": 1,
-			"idx": 4
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Net Total",
-			"account_head": "_Test Account VAT - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "VAT",
-			"rate": 12.5,
-			"included_in_print_rate": 1,
-			"idx": 5
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Net Total",
-			"account_head": "_Test Account Customs Duty - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Customs Duty",
-			"rate": 10,
-			"idx": 6
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "Actual",
-			"account_head": "_Test Account Shipping Charges - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Shipping Charges",
-			"rate": 100,
-			"idx": 7
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Total",
-			"account_head": "_Test Account Discount - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Discount",
-			"rate": -10,
-			"row_id": 7,
-			"idx": 8
-		},
-	],
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Sales Invoice')
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.txt b/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json
similarity index 100%
rename from erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.txt
rename to erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json
diff --git a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.txt b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
similarity index 100%
rename from erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.txt
rename to erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.txt b/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
similarity index 100%
rename from erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.txt
rename to erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.txt b/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.json
similarity index 100%
rename from erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.txt
rename to erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.json
diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges_master/test_sales_taxes_and_charges_master.py b/erpnext/accounts/doctype/sales_taxes_and_charges_master/test_sales_taxes_and_charges_master.py
index 670edc4..e31474d 100644
--- a/erpnext/accounts/doctype/sales_taxes_and_charges_master/test_sales_taxes_and_charges_master.py
+++ b/erpnext/accounts/doctype/sales_taxes_and_charges_master/test_sales_taxes_and_charges_master.py
@@ -1,154 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[
-		{
-			"doctype": "Sales Taxes and Charges Master",
-			"title": "_Test Sales Taxes and Charges Master",
-			"company": "_Test Company"
-		},
-		{
-			"account_head": "_Test Account VAT - _TC", 
-			"charge_type": "On Net Total", 
-			"description": "VAT", 
-			"doctype": "Sales Taxes and Charges", 
-			"parentfield": "other_charges",
-			"rate": 6,
-		}, 
-		{
-			"account_head": "_Test Account Service Tax - _TC", 
-			"charge_type": "On Net Total", 
-			"description": "Service Tax", 
-			"doctype": "Sales Taxes and Charges", 
-			"parentfield": "other_charges",
-			"rate": 6.36,
-		},
-		{
-			"doctype": "Applicable Territory",
-			"parentfield": "valid_for_territories",
-			"territory": "All Territories"
-		},
-		{
-			"doctype": "Applicable Territory",
-			"parentfield": "valid_for_territories",
-			"territory": "_Test Territory Rest Of The World"
-		}
-	],
-	[
-		{
-			"doctype": "Sales Taxes and Charges Master",
-			"title": "_Test India Tax Master",
-			"company": "_Test Company"
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "Actual",
-			"account_head": "_Test Account Shipping Charges - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Shipping Charges",
-			"rate": 100
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Net Total",
-			"account_head": "_Test Account Customs Duty - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Customs Duty",
-			"rate": 10
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Net Total",
-			"account_head": "_Test Account Excise Duty - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Excise Duty",
-			"rate": 12
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Amount",
-			"account_head": "_Test Account Education Cess - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Education Cess",
-			"rate": 2,
-			"row_id": 3
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Amount",
-			"account_head": "_Test Account S&H Education Cess - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "S&H Education Cess",
-			"rate": 1,
-			"row_id": 3
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Total",
-			"account_head": "_Test Account CST - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "CST",
-			"rate": 2,
-			"row_id": 5
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Net Total",
-			"account_head": "_Test Account VAT - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "VAT",
-			"rate": 12.5
-		},
-		{
-			"doctype": "Sales Taxes and Charges",
-			"parentfield": "other_charges",
-			"charge_type": "On Previous Row Total",
-			"account_head": "_Test Account Discount - _TC",
-			"cost_center": "_Test Cost Center - _TC",
-			"description": "Discount",
-			"rate": -10,
-			"row_id": 7
-		},
-		{
-			"doctype": "Applicable Territory",
-			"parentfield": "valid_for_territories",
-			"territory": "_Test Territory India"
-		}
-	],
-	[
-		{
-			"doctype": "Sales Taxes and Charges Master",
-			"title": "_Test Sales Taxes and Charges Master - Rest of the World",
-			"company": "_Test Company"
-		},
-		{
-			"account_head": "_Test Account VAT - _TC", 
-			"charge_type": "On Net Total", 
-			"description": "VAT", 
-			"doctype": "Sales Taxes and Charges", 
-			"parentfield": "other_charges",
-			"rate": 12,
-		}, 
-		{
-			"account_head": "_Test Account Service Tax - _TC", 
-			"charge_type": "On Net Total", 
-			"description": "Service Tax", 
-			"doctype": "Sales Taxes and Charges", 
-			"parentfield": "other_charges",
-			"rate": 4,
-		},
-		{
-			"doctype": "Applicable Territory",
-			"parentfield": "valid_for_territories",
-			"territory": "_Test Territory Rest Of The World"
-		}
-	],
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Sales Taxes And Charges Master')
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/shipping_rule/shipping_rule.txt b/erpnext/accounts/doctype/shipping_rule/shipping_rule.json
similarity index 100%
rename from erpnext/accounts/doctype/shipping_rule/shipping_rule.txt
rename to erpnext/accounts/doctype/shipping_rule/shipping_rule.json
diff --git a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py
index fe763e7..0f41a56 100644
--- a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py
+++ b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py
@@ -7,12 +7,12 @@
 
 class TestShippingRule(unittest.TestCase):
 	def test_from_greater_than_to(self):
-		shipping_rule = frappe.get_doc(copy=test_records[0])
+		shipping_rule = frappe.copy_doc(test_records[0])
 		shipping_rule.doclist[1].from_value = 101
 		self.assertRaises(FromGreaterThanToError, shipping_rule.insert)
 		
 	def test_many_zero_to_values(self):
-		shipping_rule = frappe.get_doc(copy=test_records[0])
+		shipping_rule = frappe.copy_doc(test_records[0])
 		shipping_rule.doclist[1].to_value = 0
 		self.assertRaises(ManyBlankToValuesError, shipping_rule.insert)
 		
@@ -24,120 +24,11 @@
 			((50, 150), (25, 175)),
 			((50, 150), (50, 150)),
 		]:
-			shipping_rule = frappe.get_doc(copy=test_records[0])
+			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]
 			self.assertRaises(OverlappingConditionError, shipping_rule.insert)
 
-test_records = [
-	[
-		{
-			"doctype": "Shipping Rule",
-			"label": "_Test Shipping Rule",
-			"name": "_Test Shipping Rule",
-			"calculate_based_on": "Net Total",
-			"company": "_Test Company",
-			"account": "_Test Account Shipping Charges - _TC",
-			"cost_center": "_Test Cost Center - _TC"
-		},
-		{
-			"doctype": "Shipping Rule Condition",
-			"parentfield": "shipping_rule_conditions",
-			"from_value": 0,
-			"to_value": 100,
-			"shipping_amount": 50.0
-		},
-		{
-			"doctype": "Shipping Rule Condition",
-			"parentfield": "shipping_rule_conditions",
-			"from_value": 101,
-			"to_value": 200,
-			"shipping_amount": 100.0
-		},
-		{
-			"doctype": "Shipping Rule Condition",
-			"parentfield": "shipping_rule_conditions",
-			"from_value": 201,
-			"shipping_amount": 0.0
-		},
-		{
-			"doctype": "Applicable Territory",
-			"parentfield": "valid_for_territories",
-			"territory": "_Test Territory"
-		}
-	],
-	[
-		{
-			"doctype": "Shipping Rule",
-			"name": "_Test Shipping Rule - India",
-			"label": "_Test Shipping Rule - India",
-			"calculate_based_on": "Net Total",
-			"company": "_Test Company",
-			"account": "_Test Account Shipping Charges - _TC",
-			"cost_center": "_Test Cost Center - _TC"
-		},
-		{
-			"doctype": "Shipping Rule Condition",
-			"parentfield": "shipping_rule_conditions",
-			"from_value": 0,
-			"to_value": 100,
-			"shipping_amount": 50.0
-		},
-		{
-			"doctype": "Shipping Rule Condition",
-			"parentfield": "shipping_rule_conditions",
-			"from_value": 101,
-			"to_value": 200,
-			"shipping_amount": 100.0
-		},
-		{
-			"doctype": "Shipping Rule Condition",
-			"parentfield": "shipping_rule_conditions",
-			"from_value": 201,
-			"shipping_amount": 0.0
-		},
-		{
-			"doctype": "Applicable Territory",
-			"parentfield": "valid_for_territories",
-			"territory": "_Test Territory India"
-		}
-	],
-	[
-		{
-			"doctype": "Shipping Rule",
-			"name": "_Test Shipping Rule - Rest of the World",
-			"label": "_Test Shipping Rule - Rest of the World",
-			"calculate_based_on": "Net Total",
-			"company": "_Test Company",
-			"account": "_Test Account Shipping Charges - _TC",
-			"cost_center": "_Test Cost Center - _TC"
-		},
-		{
-			"doctype": "Shipping Rule Condition",
-			"parentfield": "shipping_rule_conditions",
-			"from_value": 0,
-			"to_value": 1000,
-			"shipping_amount": 500.0
-		},
-		{
-			"doctype": "Shipping Rule Condition",
-			"parentfield": "shipping_rule_conditions",
-			"from_value": 1001,
-			"to_value": 2000,
-			"shipping_amount": 1000.0
-		},
-		{
-			"doctype": "Shipping Rule Condition",
-			"parentfield": "shipping_rule_conditions",
-			"from_value": 2001,
-			"shipping_amount": 1500.0
-		},
-		{
-			"doctype": "Applicable Territory",
-			"parentfield": "valid_for_territories",
-			"territory": "_Test Territory Rest Of The World"
-		}
-	],
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Shipping Rule')
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/shipping_rule_condition/shipping_rule_condition.txt b/erpnext/accounts/doctype/shipping_rule_condition/shipping_rule_condition.json
similarity index 100%
rename from erpnext/accounts/doctype/shipping_rule_condition/shipping_rule_condition.txt
rename to erpnext/accounts/doctype/shipping_rule_condition/shipping_rule_condition.json
diff --git a/erpnext/accounts/page/accounts_browser/accounts_browser.txt b/erpnext/accounts/page/accounts_browser/accounts_browser.json
similarity index 100%
rename from erpnext/accounts/page/accounts_browser/accounts_browser.txt
rename to erpnext/accounts/page/accounts_browser/accounts_browser.json
diff --git a/erpnext/accounts/page/financial_analytics/financial_analytics.txt b/erpnext/accounts/page/financial_analytics/financial_analytics.json
similarity index 100%
rename from erpnext/accounts/page/financial_analytics/financial_analytics.txt
rename to erpnext/accounts/page/financial_analytics/financial_analytics.json
diff --git a/erpnext/accounts/page/trial_balance/trial_balance.txt b/erpnext/accounts/page/trial_balance/trial_balance.json
similarity index 100%
rename from erpnext/accounts/page/trial_balance/trial_balance.txt
rename to erpnext/accounts/page/trial_balance/trial_balance.json
diff --git a/erpnext/accounts/report/accounts_payable/accounts_payable.txt b/erpnext/accounts/report/accounts_payable/accounts_payable.json
similarity index 100%
rename from erpnext/accounts/report/accounts_payable/accounts_payable.txt
rename to erpnext/accounts/report/accounts_payable/accounts_payable.json
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.txt b/erpnext/accounts/report/accounts_receivable/accounts_receivable.json
similarity index 100%
rename from erpnext/accounts/report/accounts_receivable/accounts_receivable.txt
rename to erpnext/accounts/report/accounts_receivable/accounts_receivable.json
diff --git a/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.txt b/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.json
similarity index 100%
rename from erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.txt
rename to erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.json
diff --git a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.txt b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.json
similarity index 100%
rename from erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.txt
rename to erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.json
diff --git a/erpnext/accounts/report/budget_variance_report/budget_variance_report.txt b/erpnext/accounts/report/budget_variance_report/budget_variance_report.json
similarity index 100%
rename from erpnext/accounts/report/budget_variance_report/budget_variance_report.txt
rename to erpnext/accounts/report/budget_variance_report/budget_variance_report.json
diff --git a/erpnext/accounts/report/customer_account_head/customer_account_head.txt b/erpnext/accounts/report/customer_account_head/customer_account_head.json
similarity index 100%
rename from erpnext/accounts/report/customer_account_head/customer_account_head.txt
rename to erpnext/accounts/report/customer_account_head/customer_account_head.json
diff --git a/erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt b/erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.json
similarity index 100%
rename from erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt
rename to erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.json
diff --git a/erpnext/accounts/report/general_ledger/general_ledger.txt b/erpnext/accounts/report/general_ledger/general_ledger.json
similarity index 100%
rename from erpnext/accounts/report/general_ledger/general_ledger.txt
rename to erpnext/accounts/report/general_ledger/general_ledger.json
diff --git a/erpnext/accounts/report/gross_profit/gross_profit.txt b/erpnext/accounts/report/gross_profit/gross_profit.json
similarity index 100%
rename from erpnext/accounts/report/gross_profit/gross_profit.txt
rename to erpnext/accounts/report/gross_profit/gross_profit.json
diff --git a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.txt b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.json
similarity index 100%
rename from erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.txt
rename to erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.json
diff --git a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.txt b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.json
similarity index 100%
rename from erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.txt
rename to erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.json
diff --git a/erpnext/accounts/report/ordered_items_to_be_billed/ordered_items_to_be_billed.txt b/erpnext/accounts/report/ordered_items_to_be_billed/ordered_items_to_be_billed.json
similarity index 100%
rename from erpnext/accounts/report/ordered_items_to_be_billed/ordered_items_to_be_billed.txt
rename to erpnext/accounts/report/ordered_items_to_be_billed/ordered_items_to_be_billed.json
diff --git a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.txt b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.json
similarity index 100%
rename from erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.txt
rename to erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.json
diff --git a/erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.txt b/erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.json
similarity index 100%
rename from erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.txt
rename to erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.json
diff --git a/erpnext/accounts/report/purchase_order_items_to_be_billed/purchase_order_items_to_be_billed.txt b/erpnext/accounts/report/purchase_order_items_to_be_billed/purchase_order_items_to_be_billed.json
similarity index 100%
rename from erpnext/accounts/report/purchase_order_items_to_be_billed/purchase_order_items_to_be_billed.txt
rename to erpnext/accounts/report/purchase_order_items_to_be_billed/purchase_order_items_to_be_billed.json
diff --git a/erpnext/accounts/report/purchase_register/purchase_register.txt b/erpnext/accounts/report/purchase_register/purchase_register.json
similarity index 100%
rename from erpnext/accounts/report/purchase_register/purchase_register.txt
rename to erpnext/accounts/report/purchase_register/purchase_register.json
diff --git a/erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.txt b/erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.json
similarity index 100%
rename from erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.txt
rename to erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.json
diff --git a/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.txt b/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.json
similarity index 100%
rename from erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.txt
rename to erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.json
diff --git a/erpnext/accounts/report/sales_partners_commission/sales_partners_commission.txt b/erpnext/accounts/report/sales_partners_commission/sales_partners_commission.json
similarity index 100%
rename from erpnext/accounts/report/sales_partners_commission/sales_partners_commission.txt
rename to erpnext/accounts/report/sales_partners_commission/sales_partners_commission.json
diff --git a/erpnext/accounts/report/sales_register/sales_register.txt b/erpnext/accounts/report/sales_register/sales_register.json
similarity index 100%
rename from erpnext/accounts/report/sales_register/sales_register.txt
rename to erpnext/accounts/report/sales_register/sales_register.json
diff --git a/erpnext/accounts/report/supplier_account_head/supplier_account_head.txt b/erpnext/accounts/report/supplier_account_head/supplier_account_head.json
similarity index 100%
rename from erpnext/accounts/report/supplier_account_head/supplier_account_head.txt
rename to erpnext/accounts/report/supplier_account_head/supplier_account_head.json
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index e0c1e3a..b096cbf 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -138,14 +138,14 @@
 		d['against_fld'] = against_fld[d['against_voucher_type']]
 
 		# cancel JV
-		jv_obj = frappe.get_obj('Journal Voucher', d['voucher_no'], with_children=1)
+		jv_obj = frappe.get_doc('Journal Voucher', d['voucher_no'])
 		jv_obj.make_gl_entries(cancel=1, adv_adj=1)
 		
 		# update ref in JV Detail
 		update_against_doc(d, jv_obj)
 
 		# re-submit JV
-		jv_obj = frappe.get_obj('Journal Voucher', d['voucher_no'], with_children =1)
+		jv_obj = frappe.get_doc('Journal Voucher', d['voucher_no'])
 		jv_obj.make_gl_entries(cancel = 0, adv_adj =1)
 
 
diff --git a/erpnext/buying/Print Format/Purchase Order Classic/Purchase Order Classic.txt b/erpnext/buying/Print Format/Purchase Order Classic/Purchase Order Classic.json
similarity index 100%
rename from erpnext/buying/Print Format/Purchase Order Classic/Purchase Order Classic.txt
rename to erpnext/buying/Print Format/Purchase Order Classic/Purchase Order Classic.json
diff --git a/erpnext/buying/Print Format/Purchase Order Modern/Purchase Order Modern.txt b/erpnext/buying/Print Format/Purchase Order Modern/Purchase Order Modern.json
similarity index 100%
rename from erpnext/buying/Print Format/Purchase Order Modern/Purchase Order Modern.txt
rename to erpnext/buying/Print Format/Purchase Order Modern/Purchase Order Modern.json
diff --git a/erpnext/buying/Print Format/Purchase Order Spartan/Purchase Order Spartan.txt b/erpnext/buying/Print Format/Purchase Order Spartan/Purchase Order Spartan.json
similarity index 100%
rename from erpnext/buying/Print Format/Purchase Order Spartan/Purchase Order Spartan.txt
rename to erpnext/buying/Print Format/Purchase Order Spartan/Purchase Order Spartan.json
diff --git a/erpnext/buying/doctype/buying_settings/buying_settings.txt b/erpnext/buying/doctype/buying_settings/buying_settings.json
similarity index 100%
rename from erpnext/buying/doctype/buying_settings/buying_settings.txt
rename to erpnext/buying/doctype/buying_settings/buying_settings.json
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.txt b/erpnext/buying/doctype/purchase_common/purchase_common.json
similarity index 100%
rename from erpnext/buying/doctype/purchase_common/purchase_common.txt
rename to erpnext/buying/doctype/purchase_common/purchase_common.json
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.txt b/erpnext/buying/doctype/purchase_order/purchase_order.json
similarity index 100%
rename from erpnext/buying/doctype/purchase_order/purchase_order.txt
rename to erpnext/buying/doctype/purchase_order/purchase_order.json
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index f6ef8a2..b850497 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -6,7 +6,6 @@
 
 from frappe.utils import cstr, flt
 
-from frappe.model.code import get_obj
 from frappe import msgprint
 
 	
@@ -36,7 +35,7 @@
 		validate_status(self.status, ["Draft", "Submitted", "Stopped", 
 			"Cancelled"])
 
-		pc_obj = get_obj(dt='Purchase Common')
+		pc_obj = frappe.get_doc(dt='Purchase Common')
 		pc_obj.validate_for_items(self)
 		self.check_for_stopped_status(pc_obj)
 
@@ -68,7 +67,7 @@
 						d.prevdoc_detail_docname, "schedule_date")
 	
 	def get_last_purchase_rate(self):
-		get_obj('Purchase Common').get_last_purchase_rate(self)
+		frappe.get_doc('Purchase Common').get_last_purchase_rate(self)
 
 	# Check for Stopped status 
 	def check_for_stopped_status(self, pc_obj):
@@ -81,7 +80,7 @@
 		
 	def update_bin(self, is_submit, is_stopped = 0):
 		from erpnext.stock.utils import update_bin
-		pc_obj = get_obj('Purchase Common')
+		pc_obj = frappe.get_doc('Purchase Common')
 		for d in self.get('po_details'):
 			#1. Check if is_stock_item == 'Yes'
 			if frappe.db.get_value("Item", d.item_code, "is_stock_item") == "Yes":
@@ -144,12 +143,12 @@
 		msgprint(self.doctype + ": " + self.name + " has been %s." % ((status == 'Submitted') and 'Unstopped' or cstr(status)))
 
 	def on_submit(self):
-		purchase_controller = frappe.get_obj("Purchase Common")
+		purchase_controller = frappe.get_doc("Purchase Common")
 		
 		self.update_prevdoc_status()
 		self.update_bin(is_submit = 1, is_stopped = 0)
 		
-		get_obj('Authorization Control').validate_approving_authority(self.doctype, 
+		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype, 
 			self.company, self.grand_total)
 		
 		purchase_controller.update_last_purchase_rate(self, is_submit = 1)
@@ -157,7 +156,7 @@
 		frappe.db.set(self,'status','Submitted')
 	 
 	def on_cancel(self):
-		pc_obj = get_obj(dt = 'Purchase Common')		
+		pc_obj = frappe.get_doc(dt = 'Purchase Common')		
 		self.check_for_stopped_status(pc_obj)
 		
 		# Check if Purchase Receipt has been submitted against current Purchase Order
diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py
index 997d6dc..0acb836 100644
--- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py
@@ -11,7 +11,7 @@
 	def test_make_purchase_receipt(self):		
 		from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt
 
-		po = frappe.get_doc(copy=test_records[0]).insert()
+		po = frappe.copy_doc(test_records[0]).insert()
 
 		self.assertRaises(frappe.ValidationError, make_purchase_receipt, 
 			po.name)
@@ -34,7 +34,7 @@
 		
 		from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt
 
-		po = frappe.get_doc(copy=test_records[0]).insert()
+		po = frappe.copy_doc(test_records[0]).insert()
 
 		self.assertRaises(frappe.ValidationError, make_purchase_receipt, 
 			po.name)
@@ -77,7 +77,7 @@
 	def test_make_purchase_invoice(self):
 		from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_invoice
 
-		po = frappe.get_doc(copy=test_records[0]).insert()
+		po = frappe.copy_doc(test_records[0]).insert()
 
 		self.assertRaises(frappe.ValidationError, make_purchase_invoice, 
 			po.name)
@@ -93,58 +93,24 @@
 		frappe.get_doc(pi).insert()
 		
 	def test_subcontracting(self):
-		po = frappe.get_doc(copy=test_records[0])
+		po = frappe.copy_doc(test_records[0])
 		po.insert()
 		self.assertEquals(len(po.get("po_raw_material_details")), 2)
 
 	def test_warehouse_company_validation(self):
 		from erpnext.stock.utils import InvalidWarehouseCompany
-		po = frappe.get_doc(copy=test_records[0])
+		po = frappe.copy_doc(test_records[0])
 		po.company = "_Test Company 1"
 		po.conversion_rate = 0.0167
 		self.assertRaises(InvalidWarehouseCompany, po.insert)
 
 	def test_uom_integer_validation(self):
 		from erpnext.utilities.transaction_base import UOMMustBeIntegerError
-		po = frappe.get_doc(copy=test_records[0])
+		po = frappe.copy_doc(test_records[0])
 		po.doclist[1].qty = 3.4
 		self.assertRaises(UOMMustBeIntegerError, po.insert)
 
 
 test_dependencies = ["BOM"]
 
-test_records = [
-	[
-		{
-			"company": "_Test Company", 
-			"naming_series": "_T-Purchase Order-",
-			"conversion_rate": 1.0, 
-			"currency": "INR", 
-			"doctype": "Purchase Order", 
-			"fiscal_year": "_Test Fiscal Year 2013", 
-			"transaction_date": "2013-02-12", 
-			"is_subcontracted": "Yes",
-			"supplier": "_Test Supplier",
-			"supplier_name": "_Test Supplier",
-			"net_total": 5000.0, 
-			"grand_total": 5000.0,
-			"grand_total_import": 5000.0,
-			"buying_price_list": "_Test Price List"
-		}, 
-		{
-			"conversion_factor": 1.0, 
-			"description": "_Test FG Item", 
-			"doctype": "Purchase Order Item", 
-			"item_code": "_Test FG Item", 
-			"item_name": "_Test FG Item", 
-			"parentfield": "po_details", 
-			"qty": 10.0,
-			"rate": 500.0,
-			"base_amount": 5000.0,
-			"warehouse": "_Test Warehouse - _TC", 
-			"stock_uom": "_Test UOM", 
-			"uom": "_Test UOM",
-			"schedule_date": "2013-03-01"
-		}
-	],
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Purchase Order')
\ No newline at end of file
diff --git a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.txt b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
similarity index 100%
rename from erpnext/buying/doctype/purchase_order_item/purchase_order_item.txt
rename to erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
diff --git a/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.txt b/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json
similarity index 100%
rename from erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.txt
rename to erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json
diff --git a/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.txt b/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.json
similarity index 100%
rename from erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.txt
rename to erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.json
diff --git a/erpnext/buying/doctype/quality_inspection/quality_inspection.txt b/erpnext/buying/doctype/quality_inspection/quality_inspection.json
similarity index 100%
rename from erpnext/buying/doctype/quality_inspection/quality_inspection.txt
rename to erpnext/buying/doctype/quality_inspection/quality_inspection.json
diff --git a/erpnext/buying/doctype/quality_inspection_reading/quality_inspection_reading.txt b/erpnext/buying/doctype/quality_inspection_reading/quality_inspection_reading.json
similarity index 100%
rename from erpnext/buying/doctype/quality_inspection_reading/quality_inspection_reading.txt
rename to erpnext/buying/doctype/quality_inspection_reading/quality_inspection_reading.json
diff --git a/erpnext/buying/doctype/supplier/supplier.txt b/erpnext/buying/doctype/supplier/supplier.json
similarity index 100%
rename from erpnext/buying/doctype/supplier/supplier.txt
rename to erpnext/buying/doctype/supplier/supplier.json
diff --git a/erpnext/buying/doctype/supplier/test_supplier.py b/erpnext/buying/doctype/supplier/test_supplier.py
index d5bd4cb..1f7c3e0 100644
--- a/erpnext/buying/doctype/supplier/test_supplier.py
+++ b/erpnext/buying/doctype/supplier/test_supplier.py
@@ -1,11 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"doctype": "Supplier",
-		"supplier_name": "_Test Supplier",
-		"supplier_type": "_Test Supplier Type",
-		"company": "_Test Company"
-	}]
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Supplier')
\ No newline at end of file
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.txt b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
similarity index 100%
rename from erpnext/buying/doctype/supplier_quotation/supplier_quotation.txt
rename to erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
index 6fced37..004954f 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
@@ -3,7 +3,6 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.model.code import get_obj
 
 from erpnext.controllers.buying_controller import BuyingController
 class SupplierQuotation(BuyingController):
@@ -48,7 +47,7 @@
 
 			
 	def validate_common(self):
-		pc = get_obj('Purchase Common')
+		pc = frappe.get_doc('Purchase Common')
 		pc.validate_for_items(self)
 
 @frappe.whitelist()
diff --git a/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py
index fc1d25d..d526fd1 100644
--- a/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py
+++ b/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py
@@ -11,7 +11,7 @@
 	def test_make_purchase_order(self):
 		from erpnext.buying.doctype.supplier_quotation.supplier_quotation import make_purchase_order
 
-		sq = frappe.get_doc(copy=test_records[0]).insert()
+		sq = frappe.copy_doc(test_records[0]).insert()
 
 		self.assertRaises(frappe.ValidationError, make_purchase_order, 
 			sq.name)
@@ -31,35 +31,4 @@
 
 		frappe.get_doc(po).insert()
 		
-test_records = [
-	[
-		{
-			"company": "_Test Company", 
-			"conversion_rate": 1.0, 
-			"currency": "INR", 
-			"doctype": "Supplier Quotation", 
-			"fiscal_year": "_Test Fiscal Year 2013", 
-			"transaction_date": "2013-02-12", 
-			"is_subcontracted": "No",
-			"supplier": "_Test Supplier",
-			"supplier_name": "_Test Supplier",
-			"net_total": 5000.0, 
-			"grand_total": 5000.0,
-			"grand_total_import": 5000.0,
-			"naming_series": "_T-Supplier Quotation-",
-			"buying_price_list": "_Test Price List"
-		}, 
-		{
-			"description": "_Test FG Item", 
-			"doctype": "Supplier Quotation Item", 
-			"item_code": "_Test FG Item", 
-			"item_name": "_Test FG Item", 
-			"parentfield": "quotation_items", 
-			"qty": 10.0,
-			"rate": 500.0,
-			"base_amount": 5000.0,
-			"warehouse": "_Test Warehouse - _TC", 
-			"uom": "_Test UOM",
-		}
-	],
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Supplier Quotation')
\ No newline at end of file
diff --git a/erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.txt b/erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json
similarity index 100%
rename from erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.txt
rename to erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json
diff --git a/erpnext/buying/page/purchase_analytics/purchase_analytics.txt b/erpnext/buying/page/purchase_analytics/purchase_analytics.json
similarity index 100%
rename from erpnext/buying/page/purchase_analytics/purchase_analytics.txt
rename to erpnext/buying/page/purchase_analytics/purchase_analytics.json
diff --git a/erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.txt b/erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.json
similarity index 100%
rename from erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.txt
rename to erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.json
diff --git a/erpnext/buying/report/purchase_order_trends/purchase_order_trends.txt b/erpnext/buying/report/purchase_order_trends/purchase_order_trends.json
similarity index 100%
rename from erpnext/buying/report/purchase_order_trends/purchase_order_trends.txt
rename to erpnext/buying/report/purchase_order_trends/purchase_order_trends.json
diff --git a/erpnext/buying/report/requested_items_to_be_ordered/requested_items_to_be_ordered.txt b/erpnext/buying/report/requested_items_to_be_ordered/requested_items_to_be_ordered.json
similarity index 100%
rename from erpnext/buying/report/requested_items_to_be_ordered/requested_items_to_be_ordered.txt
rename to erpnext/buying/report/requested_items_to_be_ordered/requested_items_to_be_ordered.json
diff --git a/erpnext/buying/report/supplier_addresses_and_contacts/supplier_addresses_and_contacts.txt b/erpnext/buying/report/supplier_addresses_and_contacts/supplier_addresses_and_contacts.json
similarity index 100%
rename from erpnext/buying/report/supplier_addresses_and_contacts/supplier_addresses_and_contacts.txt
rename to erpnext/buying/report/supplier_addresses_and_contacts/supplier_addresses_and_contacts.json
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 4801c75..2d54b74 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -5,7 +5,6 @@
 import frappe
 from frappe import _, throw
 from frappe.utils import flt, cint, today, cstr
-from frappe.model.code import get_obj
 from erpnext.setup.utils import get_company_currency
 from erpnext.accounts.utils import get_fiscal_year, validate_fiscal_year
 from erpnext.utilities.transaction_base import TransactionBase
@@ -481,7 +480,7 @@
 		
 		total_outstanding = total_outstanding[0][0] if total_outstanding else 0
 		if total_outstanding:
-			get_obj('Account', account).check_credit_limit(total_outstanding)
+			frappe.get_doc('Account', account).check_credit_limit(total_outstanding)
 
 
 @frappe.whitelist()
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index dee9833..24c5db1 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -262,8 +262,7 @@
 				/ ref_doc_qty)*100
 			frappe.db.set_value(ref_dt, ref_dn, "per_billed", per_billed)
 			
-			from frappe.model.meta import has_field
-			if has_field(ref_dt, "billing_status"):
+			if frappe.get_meta(ref_dt).get_field("billing_status"):
 				if per_billed < 0.001: billing_status = "Not Billed"
 				elif per_billed >= 99.99: billing_status = "Fully Billed"
 				else: billing_status = "Partly Billed"
diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py
index 3ff780d..a24834e 100644
--- a/erpnext/controllers/stock_controller.py
+++ b/erpnext/controllers/stock_controller.py
@@ -131,7 +131,7 @@
 			warehouse_account = self.get_warehouse_account()
 		for voucher_type, voucher_no in future_stock_vouchers:
 			existing_gle = gle.get((voucher_type, voucher_no), [])
-			voucher_obj = frappe.get_obj(voucher_type, voucher_no)
+			voucher_obj = frappe.get_doc(voucher_type, voucher_no)
 			expected_gle = voucher_obj.get_gl_entries(warehouse_account)
 			if expected_gle:
 				matched = True
@@ -276,7 +276,7 @@
 
 	for voucher_type, voucher_no in future_stock_vouchers:
 		existing_gle = gle.get((voucher_type, voucher_no), [])
-		voucher_obj = frappe.get_obj(voucher_type, voucher_no)
+		voucher_obj = frappe.get_doc(voucher_type, voucher_no)
 		expected_gle = voucher_obj.get_gl_entries(warehouse_account)
 		if expected_gle:
 			if not existing_gle or not compare_existing_and_expected_gle(existing_gle, 
diff --git a/erpnext/home/doctype/feed/feed.txt b/erpnext/home/doctype/feed/feed.json
similarity index 100%
rename from erpnext/home/doctype/feed/feed.txt
rename to erpnext/home/doctype/feed/feed.json
diff --git a/erpnext/home/page/activity/activity.txt b/erpnext/home/page/activity/activity.json
similarity index 100%
rename from erpnext/home/page/activity/activity.txt
rename to erpnext/home/page/activity/activity.json
diff --git a/erpnext/hr/doctype/appraisal/appraisal.txt b/erpnext/hr/doctype/appraisal/appraisal.json
similarity index 100%
rename from erpnext/hr/doctype/appraisal/appraisal.txt
rename to erpnext/hr/doctype/appraisal/appraisal.json
diff --git a/erpnext/hr/doctype/appraisal_goal/appraisal_goal.txt b/erpnext/hr/doctype/appraisal_goal/appraisal_goal.json
similarity index 100%
rename from erpnext/hr/doctype/appraisal_goal/appraisal_goal.txt
rename to erpnext/hr/doctype/appraisal_goal/appraisal_goal.json
diff --git a/erpnext/hr/doctype/appraisal_template/appraisal_template.txt b/erpnext/hr/doctype/appraisal_template/appraisal_template.json
similarity index 100%
rename from erpnext/hr/doctype/appraisal_template/appraisal_template.txt
rename to erpnext/hr/doctype/appraisal_template/appraisal_template.json
diff --git a/erpnext/hr/doctype/appraisal_template_goal/appraisal_template_goal.txt b/erpnext/hr/doctype/appraisal_template_goal/appraisal_template_goal.json
similarity index 100%
rename from erpnext/hr/doctype/appraisal_template_goal/appraisal_template_goal.txt
rename to erpnext/hr/doctype/appraisal_template_goal/appraisal_template_goal.json
diff --git a/erpnext/hr/doctype/attendance/attendance.txt b/erpnext/hr/doctype/attendance/attendance.json
similarity index 100%
rename from erpnext/hr/doctype/attendance/attendance.txt
rename to erpnext/hr/doctype/attendance/attendance.json
diff --git a/erpnext/hr/doctype/branch/branch.txt b/erpnext/hr/doctype/branch/branch.json
similarity index 100%
rename from erpnext/hr/doctype/branch/branch.txt
rename to erpnext/hr/doctype/branch/branch.json
diff --git a/erpnext/hr/doctype/branch/test_branch.py b/erpnext/hr/doctype/branch/test_branch.py
index f1db481..52f2fe4 100644
--- a/erpnext/hr/doctype/branch/test_branch.py
+++ b/erpnext/hr/doctype/branch/test_branch.py
@@ -1,4 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [{"doctype":"Branch", "branch":"_Test Branch"}]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Branch')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/deduction_type/deduction_type.txt b/erpnext/hr/doctype/deduction_type/deduction_type.json
similarity index 100%
rename from erpnext/hr/doctype/deduction_type/deduction_type.txt
rename to erpnext/hr/doctype/deduction_type/deduction_type.json
diff --git a/erpnext/hr/doctype/deduction_type/test_deduction_type.py b/erpnext/hr/doctype/deduction_type/test_deduction_type.py
index 6f46d24..577edc4 100644
--- a/erpnext/hr/doctype/deduction_type/test_deduction_type.py
+++ b/erpnext/hr/doctype/deduction_type/test_deduction_type.py
@@ -1,13 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	{
-			"doctype": "Deduction Type",
-			"deduction_name": "_Test Professional Tax"
-	},
-	{
-			"doctype": "Deduction Type",
-			"deduction_name": "_Test TDS"
-	}
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Deduction Type')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/department/department.txt b/erpnext/hr/doctype/department/department.json
similarity index 100%
rename from erpnext/hr/doctype/department/department.txt
rename to erpnext/hr/doctype/department/department.json
diff --git a/erpnext/hr/doctype/department/test_department.py b/erpnext/hr/doctype/department/test_department.py
index 654c250..6642bc2 100644
--- a/erpnext/hr/doctype/department/test_department.py
+++ b/erpnext/hr/doctype/department/test_department.py
@@ -3,7 +3,6 @@
 
 test_ignore = ["Leave Block List"]
 
-test_records = [
-	{"doctype":"Department", "department_name":"_Test Department"},
-	{"doctype":"Department", "department_name":"_Test Department 1"}
-]
+
+import frappe
+test_records = frappe.get_test_records('Department')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/designation/designation.txt b/erpnext/hr/doctype/designation/designation.json
similarity index 100%
rename from erpnext/hr/doctype/designation/designation.txt
rename to erpnext/hr/doctype/designation/designation.json
diff --git a/erpnext/hr/doctype/designation/test_designation.py b/erpnext/hr/doctype/designation/test_designation.py
index 2ed331c..cb327e7 100644
--- a/erpnext/hr/doctype/designation/test_designation.py
+++ b/erpnext/hr/doctype/designation/test_designation.py
@@ -1,4 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [{"doctype":"Designation", "designation_name":"_Test Designation"}]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Designation')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/earning_type/earning_type.txt b/erpnext/hr/doctype/earning_type/earning_type.json
similarity index 100%
rename from erpnext/hr/doctype/earning_type/earning_type.txt
rename to erpnext/hr/doctype/earning_type/earning_type.json
diff --git a/erpnext/hr/doctype/earning_type/test_earning_type.py b/erpnext/hr/doctype/earning_type/test_earning_type.py
index a7184a1..7b84af6 100644
--- a/erpnext/hr/doctype/earning_type/test_earning_type.py
+++ b/erpnext/hr/doctype/earning_type/test_earning_type.py
@@ -1,15 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	{
-			"doctype": "Earning Type",
-			"earning_name": "_Test Basic Salary",
-			"taxable": "Yes"
-	},
-	{
-			"doctype": "Earning Type",
-			"earning_name": "_Test Allowance",
-			"taxable": "Yes"
-	}
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Earning Type')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/employee/employee.txt b/erpnext/hr/doctype/employee/employee.json
similarity index 100%
rename from erpnext/hr/doctype/employee/employee.txt
rename to erpnext/hr/doctype/employee/employee.json
diff --git a/erpnext/hr/doctype/employee/test_employee.py b/erpnext/hr/doctype/employee/test_employee.py
index cfafb63..699e439 100644
--- a/erpnext/hr/doctype/employee/test_employee.py
+++ b/erpnext/hr/doctype/employee/test_employee.py
@@ -1,40 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [[{
-	"doctype":"Employee",
-	"employee_name": "_Test Employee",
-	"naming_series": "_T-Employee-",
-	"date_of_joining": "2010-01-01",
-	"date_of_birth": "1980-01-01",
-	"gender": "Female",
-	"status": "Active",
-	"company": "_Test Company",
-	"user_id": "test@example.com",
-	"department": "_Test Department"
-}],
-[{
-	"doctype":"Employee",
-	"employee_name": "_Test Employee 1",
-	"naming_series": "_T-Employee-",
-	"date_of_joining": "2010-01-01",
-	"date_of_birth": "1980-01-01",
-	"gender": "Male",
-	"status": "Active",
-	"company": "_Test Company",
-	"user_id": "test1@example.com",
-	"department": "_Test Department 1"
-}],
-[{
-	"doctype":"Employee",
-	"employee_name": "_Test Employee 2",
-	"naming_series": "_T-Employee-",
-	"date_of_joining": "2010-01-01",
-	"date_of_birth": "1980-01-01",
-	"gender": "Male",
-	"status": "Active",
-	"company": "_Test Company",
-	"user_id": "test2@example.com",
-	"department": "_Test Department 1"
-}]
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Employee')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/employee_education/employee_education.txt b/erpnext/hr/doctype/employee_education/employee_education.json
similarity index 100%
rename from erpnext/hr/doctype/employee_education/employee_education.txt
rename to erpnext/hr/doctype/employee_education/employee_education.json
diff --git a/erpnext/hr/doctype/employee_external_work_history/employee_external_work_history.txt b/erpnext/hr/doctype/employee_external_work_history/employee_external_work_history.json
similarity index 100%
rename from erpnext/hr/doctype/employee_external_work_history/employee_external_work_history.txt
rename to erpnext/hr/doctype/employee_external_work_history/employee_external_work_history.json
diff --git a/erpnext/hr/doctype/employee_internal_work_history/employee_internal_work_history.txt b/erpnext/hr/doctype/employee_internal_work_history/employee_internal_work_history.json
similarity index 100%
rename from erpnext/hr/doctype/employee_internal_work_history/employee_internal_work_history.txt
rename to erpnext/hr/doctype/employee_internal_work_history/employee_internal_work_history.json
diff --git a/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.txt b/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.json
similarity index 100%
rename from erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.txt
rename to erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.json
diff --git a/erpnext/hr/doctype/employment_type/employment_type.txt b/erpnext/hr/doctype/employment_type/employment_type.json
similarity index 100%
rename from erpnext/hr/doctype/employment_type/employment_type.txt
rename to erpnext/hr/doctype/employment_type/employment_type.json
diff --git a/erpnext/hr/doctype/employment_type/test_employment_type.py b/erpnext/hr/doctype/employment_type/test_employment_type.py
index d2624dc..8a080f9 100644
--- a/erpnext/hr/doctype/employment_type/test_employment_type.py
+++ b/erpnext/hr/doctype/employment_type/test_employment_type.py
@@ -1,5 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [[{"doctype":"Employment Type", 
-	"employee_type_name": "_Test Employment Type"}]]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Employment Type')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.txt b/erpnext/hr/doctype/expense_claim/expense_claim.json
similarity index 100%
rename from erpnext/hr/doctype/expense_claim/expense_claim.txt
rename to erpnext/hr/doctype/expense_claim/expense_claim.json
diff --git a/erpnext/hr/doctype/expense_claim_detail/expense_claim_detail.txt b/erpnext/hr/doctype/expense_claim_detail/expense_claim_detail.json
similarity index 100%
rename from erpnext/hr/doctype/expense_claim_detail/expense_claim_detail.txt
rename to erpnext/hr/doctype/expense_claim_detail/expense_claim_detail.json
diff --git a/erpnext/hr/doctype/expense_claim_type/expense_claim_type.txt b/erpnext/hr/doctype/expense_claim_type/expense_claim_type.json
similarity index 100%
rename from erpnext/hr/doctype/expense_claim_type/expense_claim_type.txt
rename to erpnext/hr/doctype/expense_claim_type/expense_claim_type.json
diff --git a/erpnext/hr/doctype/grade/grade.txt b/erpnext/hr/doctype/grade/grade.json
similarity index 100%
rename from erpnext/hr/doctype/grade/grade.txt
rename to erpnext/hr/doctype/grade/grade.json
diff --git a/erpnext/hr/doctype/grade/test_grade.py b/erpnext/hr/doctype/grade/test_grade.py
index e0330e6..fabab8d 100644
--- a/erpnext/hr/doctype/grade/test_grade.py
+++ b/erpnext/hr/doctype/grade/test_grade.py
@@ -1,4 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [{"doctype":"Grade", "grade_name":"_Test Grade"}]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Grade')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/holiday/holiday.txt b/erpnext/hr/doctype/holiday/holiday.json
similarity index 100%
rename from erpnext/hr/doctype/holiday/holiday.txt
rename to erpnext/hr/doctype/holiday/holiday.json
diff --git a/erpnext/hr/doctype/holiday_list/holiday_list.txt b/erpnext/hr/doctype/holiday_list/holiday_list.json
similarity index 100%
rename from erpnext/hr/doctype/holiday_list/holiday_list.txt
rename to erpnext/hr/doctype/holiday_list/holiday_list.json
diff --git a/erpnext/hr/doctype/holiday_list/test_holiday_list.py b/erpnext/hr/doctype/holiday_list/test_holiday_list.py
index 4acd339..959f826 100644
--- a/erpnext/hr/doctype/holiday_list/test_holiday_list.py
+++ b/erpnext/hr/doctype/holiday_list/test_holiday_list.py
@@ -1,16 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [[{
-		"doctype": "Holiday List",
-		"holiday_list_name": "_Test Holiday List",
-		"fiscal_year": "_Test Fiscal Year 2013",
-		"is_default": 1
-	}, {
-		"doctype": "Holiday",
-		"parent": "_Test Holiday List",
-		"parenttype": "Holiday List",
-		"parentfield": "holiday_list_details",
-		"holiday_date": "2013-01-01",
-		"description": "New Year"
-	}]]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Holiday List')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/hr_settings/hr_settings.txt b/erpnext/hr/doctype/hr_settings/hr_settings.json
similarity index 100%
rename from erpnext/hr/doctype/hr_settings/hr_settings.txt
rename to erpnext/hr/doctype/hr_settings/hr_settings.json
diff --git a/erpnext/hr/doctype/hr_settings/hr_settings.py b/erpnext/hr/doctype/hr_settings/hr_settings.py
index 602558b..861408d 100644
--- a/erpnext/hr/doctype/hr_settings/hr_settings.py
+++ b/erpnext/hr/doctype/hr_settings/hr_settings.py
@@ -30,6 +30,6 @@
 			if not self.stop_birthday_reminders:
 				for employee in frappe.db.sql_list("""select name from `tabEmployee` where status='Active' and 
 					ifnull(date_of_birth, '')!=''"""):
-					frappe.get_obj("Employee", employee).update_dob_event()
+					frappe.get_doc("Employee", employee).update_dob_event()
 					
 			frappe.msgprint(frappe._("Updated Birthday Reminders"))
\ No newline at end of file
diff --git a/erpnext/hr/doctype/job_applicant/job_applicant.txt b/erpnext/hr/doctype/job_applicant/job_applicant.json
similarity index 100%
rename from erpnext/hr/doctype/job_applicant/job_applicant.txt
rename to erpnext/hr/doctype/job_applicant/job_applicant.json
diff --git a/erpnext/hr/doctype/job_opening/job_opening.txt b/erpnext/hr/doctype/job_opening/job_opening.json
similarity index 100%
rename from erpnext/hr/doctype/job_opening/job_opening.txt
rename to erpnext/hr/doctype/job_opening/job_opening.json
diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation.txt b/erpnext/hr/doctype/leave_allocation/leave_allocation.json
similarity index 100%
rename from erpnext/hr/doctype/leave_allocation/leave_allocation.txt
rename to erpnext/hr/doctype/leave_allocation/leave_allocation.json
diff --git a/erpnext/hr/doctype/leave_application/leave_application.txt b/erpnext/hr/doctype/leave_application/leave_application.json
similarity index 100%
rename from erpnext/hr/doctype/leave_application/leave_application.txt
rename to erpnext/hr/doctype/leave_application/leave_application.json
diff --git a/erpnext/hr/doctype/leave_application/test_leave_application.py b/erpnext/hr/doctype/leave_application/test_leave_application.py
index 3ed9d56..89c9833 100644
--- a/erpnext/hr/doctype/leave_application/test_leave_application.py
+++ b/erpnext/hr/doctype/leave_application/test_leave_application.py
@@ -194,51 +194,4 @@
 		
 test_dependencies = ["Leave Block List"]		
 
-test_records = [
-	[{
-		"doctype": "Leave Allocation",
-		"leave_type": "_Test Leave Type",
-		"fiscal_year": "_Test Fiscal Year 2013",
-		"employee":"_T-Employee-0001",
-		"new_leaves_allocated": 15,
-		"docstatus": 1
-	}],
-	[{
-		"doctype": "Leave Application",
-		"leave_type": "_Test Leave Type",
-		"from_date": "2013-05-01",
-		"to_date": "2013-05-05",
-		"posting_date": "2013-01-02",
-		"fiscal_year": "_Test Fiscal Year 2013",
-		"employee": "_T-Employee-0001",
-		"company": "_Test Company"
-	}],
-	[{
-		"doctype": "Leave Allocation",
-		"leave_type": "_Test Leave Type",
-		"fiscal_year": "_Test Fiscal Year 2013",
-		"employee":"_T-Employee-0002",
-		"new_leaves_allocated": 15,
-		"docstatus": 1
-	}],
-	[{
-		"doctype": "Leave Application",
-		"leave_type": "_Test Leave Type",
-		"from_date": "2013-05-01",
-		"to_date": "2013-05-05",
-		"posting_date": "2013-01-02",
-		"fiscal_year": "_Test Fiscal Year 2013",
-		"employee": "_T-Employee-0002",
-		"company": "_Test Company"
-	}],
-	[{
-		"doctype": "Leave Application",
-		"leave_type": "_Test Leave Type LWP",
-		"from_date": "2013-01-15",
-		"to_date": "2013-01-15",
-		"posting_date": "2013-01-02",
-		"fiscal_year": "_Test Fiscal Year 2013",
-		"employee": "_T-Employee-0001",
-		"company": "_Test Company",
-	}]
-]
+test_records = frappe.get_test_records('Leave Application')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/leave_block_list/leave_block_list.txt b/erpnext/hr/doctype/leave_block_list/leave_block_list.json
similarity index 100%
rename from erpnext/hr/doctype/leave_block_list/leave_block_list.txt
rename to erpnext/hr/doctype/leave_block_list/leave_block_list.json
diff --git a/erpnext/hr/doctype/leave_block_list/test_leave_block_list.py b/erpnext/hr/doctype/leave_block_list/test_leave_block_list.py
index 811d897..8878658 100644
--- a/erpnext/hr/doctype/leave_block_list/test_leave_block_list.py
+++ b/erpnext/hr/doctype/leave_block_list/test_leave_block_list.py
@@ -32,23 +32,4 @@
 		
 test_dependencies = ["Employee"]
 
-test_records = [[{
-		"doctype":"Leave Block List",
-		"leave_block_list_name": "_Test Leave Block List",
-		"year": "_Test Fiscal Year 2013",
-		"company": "_Test Company"
-	}, {
-		"doctype": "Leave Block List Date",
-		"parent": "_Test Leave Block List",
-		"parenttype": "Leave Block List",
-		"parentfield": "leave_block_list_dates",
-		"block_date": "2013-01-02",
-		"reason": "First work day"
-	}, {
-		"doctype": "Leave Block List Allow",
-		"parent": "_Test Leave Block List",
-		"parenttype": "Leave Block List",
-		"parentfield": "leave_block_list_allowed",
-		"allow_user": "test1@example.com",
-		}
-	]]
\ No newline at end of file
+test_records = frappe.get_test_records('Leave Block List')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/leave_block_list_allow/leave_block_list_allow.txt b/erpnext/hr/doctype/leave_block_list_allow/leave_block_list_allow.json
similarity index 100%
rename from erpnext/hr/doctype/leave_block_list_allow/leave_block_list_allow.txt
rename to erpnext/hr/doctype/leave_block_list_allow/leave_block_list_allow.json
diff --git a/erpnext/hr/doctype/leave_block_list_date/leave_block_list_date.txt b/erpnext/hr/doctype/leave_block_list_date/leave_block_list_date.json
similarity index 100%
rename from erpnext/hr/doctype/leave_block_list_date/leave_block_list_date.txt
rename to erpnext/hr/doctype/leave_block_list_date/leave_block_list_date.json
diff --git a/erpnext/hr/doctype/leave_control_panel/leave_control_panel.txt b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.json
similarity index 100%
rename from erpnext/hr/doctype/leave_control_panel/leave_control_panel.txt
rename to erpnext/hr/doctype/leave_control_panel/leave_control_panel.json
diff --git a/erpnext/hr/doctype/leave_control_panel/leave_control_panel.py b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.py
index 81ab56b..4a8795a 100644
--- a/erpnext/hr/doctype/leave_control_panel/leave_control_panel.py
+++ b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.py
@@ -5,7 +5,6 @@
 import frappe
 
 from frappe.utils import cint, cstr, flt, nowdate
-from frappe.model.code import get_obj
 from frappe import msgprint, _
 
 	
diff --git a/erpnext/hr/doctype/leave_type/leave_type.txt b/erpnext/hr/doctype/leave_type/leave_type.json
similarity index 100%
rename from erpnext/hr/doctype/leave_type/leave_type.txt
rename to erpnext/hr/doctype/leave_type/leave_type.json
diff --git a/erpnext/hr/doctype/leave_type/test_leave_type.py b/erpnext/hr/doctype/leave_type/test_leave_type.py
index 50c3e79..59fff57 100644
--- a/erpnext/hr/doctype/leave_type/test_leave_type.py
+++ b/erpnext/hr/doctype/leave_type/test_leave_type.py
@@ -1,14 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"leave_type_name": "_Test Leave Type",
-		"doctype": "Leave Type"
-	}],
-	[{
-		"leave_type_name": "_Test Leave Type LWP",
-		"doctype": "Leave Type",
-		"is_lwp": 1
-	}]
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Leave Type')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/salary_manager/salary_manager.txt b/erpnext/hr/doctype/salary_manager/salary_manager.json
similarity index 100%
rename from erpnext/hr/doctype/salary_manager/salary_manager.txt
rename to erpnext/hr/doctype/salary_manager/salary_manager.json
diff --git a/erpnext/hr/doctype/salary_manager/salary_manager.py b/erpnext/hr/doctype/salary_manager/salary_manager.py
index 0079b2e..ac64963 100644
--- a/erpnext/hr/doctype/salary_manager/salary_manager.py
+++ b/erpnext/hr/doctype/salary_manager/salary_manager.py
@@ -4,7 +4,6 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.utils import cint, flt
-from frappe.model.code import get_obj
 from frappe import msgprint
 
 from frappe.model.document import Document
@@ -128,7 +127,7 @@
 		ss_list = self.get_sal_slip_list()		
 		not_submitted_ss = []
 		for ss in ss_list:
-			ss_obj = get_obj("Salary Slip",ss[0],with_children=1)
+			ss_obj = frappe.get_doc("Salary Slip",ss[0])
 			try:
 				frappe.db.set(ss_obj.doc, 'email_check', cint(self.send_mail))
 				if cint(self.send_email) == 1:
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.txt b/erpnext/hr/doctype/salary_slip/salary_slip.json
similarity index 100%
rename from erpnext/hr/doctype/salary_slip/salary_slip.txt
rename to erpnext/hr/doctype/salary_slip/salary_slip.json
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py
index cfd39fc..981935f 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.py
@@ -7,7 +7,6 @@
 from frappe.utils import add_days, cint, cstr, flt, getdate, nowdate, _round
 from frappe.model.naming import make_autoname
 
-from frappe.model.code import get_obj
 from frappe import msgprint, _
 from erpnext.setup.utils import get_company_currency
 
@@ -52,7 +51,7 @@
 		if not self.month:
 			self.month = "%02d" % getdate(nowdate()).month
 			
-		m = get_obj('Salary Manager').get_month_details(self.fiscal_year, self.month)
+		m = frappe.get_doc('Salary Manager').get_month_details(self.fiscal_year, self.month)
 		holidays = self.get_holidays_for_employee(m)
 		
 		if not cint(frappe.db.get_value("HR Settings", "HR Settings",
diff --git a/erpnext/hr/doctype/salary_slip/test_salary_slip.py b/erpnext/hr/doctype/salary_slip/test_salary_slip.py
index c14901a..ab59044 100644
--- a/erpnext/hr/doctype/salary_slip/test_salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/test_salary_slip.py
@@ -9,7 +9,7 @@
 		frappe.db.sql("""delete from `tabLeave Application`""")
 		frappe.db.sql("""delete from `tabSalary Slip`""")
 		from erpnext.hr.doctype.leave_application.test_leave_application import test_records as leave_applications
-		la = frappe.get_doc(copy=leave_applications[4])
+		la = frappe.copy_doc(leave_applications[4])
 		la.insert()
 		la.status = "Approved"
 		la.submit()
@@ -19,7 +19,7 @@
 		
 	def test_salary_slip_with_holidays_included(self):
 		frappe.db.set_value("HR Settings", "HR Settings", "include_holidays_in_total_working_days", 1)
-		ss = frappe.get_doc(copy=test_records[0])
+		ss = frappe.copy_doc(test_records[0])
 		ss.insert()
 		self.assertEquals(ss.total_days_in_month, 31)
 		self.assertEquals(ss.payment_days, 30)
@@ -31,7 +31,7 @@
 		self.assertEquals(ss.net_pay, 14867.74)
 		
 	def test_salary_slip_with_holidays_excluded(self):
-		ss = frappe.get_doc(copy=test_records[0])
+		ss = frappe.copy_doc(test_records[0])
 		ss.insert()
 		self.assertEquals(ss.total_days_in_month, 30)
 		self.assertEquals(ss.payment_days, 29)
@@ -44,45 +44,4 @@
 
 test_dependencies = ["Leave Application"]
 
-test_records = [
-	[
-		{
-			"doctype": "Salary Slip",
-			"employee": "_T-Employee-0001",
-			"employee_name": "_Test Employee",
-			"company": "_Test Company",
-			"fiscal_year": "_Test Fiscal Year 2013",
-			"month": "01",
-			"total_days_in_month": 31,
-			"payment_days": 31
-		},
-		{
-			"doctype": "Salary Slip Earning",
-			"parentfield": "earning_details",
-			"e_type": "_Test Basic Salary",
-			"e_amount": 15000,
-			"e_depends_on_lwp": 1
-		},
-		{
-			"doctype": "Salary Slip Earning",
-			"parentfield": "earning_details",
-			"e_type": "_Test Allowance",
-			"e_amount": 500,
-			"e_depends_on_lwp": 0
-		},
-		{
-			"doctype": "Salary Slip Deduction",
-			"parentfield": "deduction_details",
-			"d_type": "_Test Professional Tax",
-			"d_amount": 100,
-			"d_depends_on_lwp": 0
-		},
-		{
-			"doctype": "Salary Slip Deduction",
-			"parentfield": "deduction_details",
-			"d_type": "_Test TDS",
-			"d_amount": 50,
-			"d_depends_on_lwp": 1
-		},
-	]
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Salary Slip')
\ No newline at end of file
diff --git a/erpnext/hr/doctype/salary_slip_deduction/salary_slip_deduction.txt b/erpnext/hr/doctype/salary_slip_deduction/salary_slip_deduction.json
similarity index 100%
rename from erpnext/hr/doctype/salary_slip_deduction/salary_slip_deduction.txt
rename to erpnext/hr/doctype/salary_slip_deduction/salary_slip_deduction.json
diff --git a/erpnext/hr/doctype/salary_slip_earning/salary_slip_earning.txt b/erpnext/hr/doctype/salary_slip_earning/salary_slip_earning.json
similarity index 100%
rename from erpnext/hr/doctype/salary_slip_earning/salary_slip_earning.txt
rename to erpnext/hr/doctype/salary_slip_earning/salary_slip_earning.json
diff --git a/erpnext/hr/doctype/salary_structure/salary_structure.txt b/erpnext/hr/doctype/salary_structure/salary_structure.json
similarity index 100%
rename from erpnext/hr/doctype/salary_structure/salary_structure.txt
rename to erpnext/hr/doctype/salary_structure/salary_structure.json
diff --git a/erpnext/hr/doctype/salary_structure_deduction/salary_structure_deduction.txt b/erpnext/hr/doctype/salary_structure_deduction/salary_structure_deduction.json
similarity index 100%
rename from erpnext/hr/doctype/salary_structure_deduction/salary_structure_deduction.txt
rename to erpnext/hr/doctype/salary_structure_deduction/salary_structure_deduction.json
diff --git a/erpnext/hr/doctype/salary_structure_earning/salary_structure_earning.txt b/erpnext/hr/doctype/salary_structure_earning/salary_structure_earning.json
similarity index 100%
rename from erpnext/hr/doctype/salary_structure_earning/salary_structure_earning.txt
rename to erpnext/hr/doctype/salary_structure_earning/salary_structure_earning.json
diff --git a/erpnext/hr/doctype/upload_attendance/upload_attendance.txt b/erpnext/hr/doctype/upload_attendance/upload_attendance.json
similarity index 100%
rename from erpnext/hr/doctype/upload_attendance/upload_attendance.txt
rename to erpnext/hr/doctype/upload_attendance/upload_attendance.json
diff --git a/erpnext/hr/doctype/upload_attendance/upload_attendance.py b/erpnext/hr/doctype/upload_attendance/upload_attendance.py
index 8a54415..1ba31e9 100644
--- a/erpnext/hr/doctype/upload_attendance/upload_attendance.py
+++ b/erpnext/hr/doctype/upload_attendance/upload_attendance.py
@@ -10,9 +10,6 @@
 from frappe.utils.datautils import UnicodeWriter
 from frappe.model.document import Document
 
-# doclist = None
-doclist = frappe.local('uploadattendance_doclist')
-
 class UploadAttendance(Document):
 	pass
 
@@ -22,7 +19,6 @@
 		raise frappe.PermissionError
 	
 	args = frappe.local.form_dict
-	frappe.local.uploadattendance_doclist = frappe.model.doctype.get("Attendance")
 
 	w = UnicodeWriter()
 	w = add_header(w)
@@ -34,13 +30,8 @@
 	frappe.response['type'] = 'csv'
 	frappe.response['doctype'] = "Attendance"
 	
-def getdocfield(fieldname):
-	"""get docfield from doclist of doctype"""
-	l = [d for d in doclist if d.doctype=='DocField' and d.fieldname==fieldname]
-	return l and l[0] or None
-
 def add_header(w):
-	status = ", ".join(getdocfield("status").options.strip().split("\n"))
+	status = ", ".join((frappe.get_meta("Attendance").get_field("status").options or "").strip().split("\n"))
 	w.writerow(["Notes:"])
 	w.writerow(["Please do not change the template headings"])
 	w.writerow(["Status should be one of these values: " + status])
@@ -94,7 +85,7 @@
 	return existing_attendance
 	
 def get_naming_series():
-	series = getdocfield("naming_series").options.strip().split("\n")
+	series = frappe.get_meta("Attendance").get_field("naming_series").options.strip().split("\n")
 	if not series:
 		msgprint("""Please create naming series for Attendance \
 			through Setup -> Numbering Series.""", raise_exception=1)
diff --git a/erpnext/hr/report/employee_birthday/employee_birthday.txt b/erpnext/hr/report/employee_birthday/employee_birthday.json
similarity index 100%
rename from erpnext/hr/report/employee_birthday/employee_birthday.txt
rename to erpnext/hr/report/employee_birthday/employee_birthday.json
diff --git a/erpnext/hr/report/employee_information/employee_information.txt b/erpnext/hr/report/employee_information/employee_information.json
similarity index 100%
rename from erpnext/hr/report/employee_information/employee_information.txt
rename to erpnext/hr/report/employee_information/employee_information.json
diff --git a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.txt b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.json
similarity index 100%
rename from erpnext/hr/report/employee_leave_balance/employee_leave_balance.txt
rename to erpnext/hr/report/employee_leave_balance/employee_leave_balance.json
diff --git a/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.txt b/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.json
similarity index 100%
rename from erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.txt
rename to erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.json
diff --git a/erpnext/hr/report/monthly_salary_register/monthly_salary_register.txt b/erpnext/hr/report/monthly_salary_register/monthly_salary_register.json
similarity index 100%
rename from erpnext/hr/report/monthly_salary_register/monthly_salary_register.txt
rename to erpnext/hr/report/monthly_salary_register/monthly_salary_register.json
diff --git a/erpnext/manufacturing/doctype/bom/bom.txt b/erpnext/manufacturing/doctype/bom/bom.json
similarity index 100%
rename from erpnext/manufacturing/doctype/bom/bom.txt
rename to erpnext/manufacturing/doctype/bom/bom.json
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index 14e18f2..6fdf641 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -5,7 +5,6 @@
 import frappe
 from frappe.utils import cint, cstr, flt, now, nowdate
 
-from frappe.model.code import get_obj
 from frappe import msgprint, _
 
 
@@ -282,7 +281,7 @@
 	def update_cost_and_exploded_items(self, bom_list=[]):
 		bom_list = self.traverse_tree(bom_list)
 		for bom in bom_list:
-			bom_obj = get_obj("BOM", bom, with_children=1)
+			bom_obj = frappe.get_doc("BOM", bom)
 			bom_obj.on_update()
 			
 		return bom_list
diff --git a/erpnext/manufacturing/doctype/bom/test_bom.py b/erpnext/manufacturing/doctype/bom/test_bom.py
index 9bd9a07..074daa4 100644
--- a/erpnext/manufacturing/doctype/bom/test_bom.py
+++ b/erpnext/manufacturing/doctype/bom/test_bom.py
@@ -6,95 +6,7 @@
 import unittest
 import frappe
 
-test_records = [
-	[
-		{
-			"doctype": "BOM", 
-			"item": "_Test Item Home Desktop Manufactured", 
-			"quantity": 1.0,
-			"is_active": 1,
-			"is_default": 1,
-			"docstatus": 1
-		}, 
-		{
-			"doctype": "BOM Item", 
-			"item_code": "_Test Serialized Item With Series", 
-			"parentfield": "bom_materials", 
-			"qty": 1.0, 
-			"rate": 5000.0, 
-			"amount": 5000.0, 
-			"stock_uom": "_Test UOM"
-		}, 
-		{
-			"doctype": "BOM Item", 
-			"item_code": "_Test Item 2", 
-			"parentfield": "bom_materials", 
-			"qty": 2.0, 
-			"rate": 1000.0,
-			"amount": 2000.0,
-			"stock_uom": "_Test UOM"
-		}
-	],
-
-	[
-		{
-			"doctype": "BOM", 
-			"item": "_Test FG Item", 
-			"quantity": 1.0,
-			"is_active": 1,
-			"is_default": 1,
-			"docstatus": 1
-		}, 
-		{
-			"doctype": "BOM Item", 
-			"item_code": "_Test Item", 
-			"parentfield": "bom_materials", 
-			"qty": 1.0, 
-			"rate": 5000.0, 
-			"amount": 5000.0, 
-			"stock_uom": "_Test UOM"
-		}, 
-		{
-			"doctype": "BOM Item", 
-			"item_code": "_Test Item Home Desktop 100", 
-			"parentfield": "bom_materials", 
-			"qty": 2.0, 
-			"rate": 1000.0,
-			"amount": 2000.0,
-			"stock_uom": "_Test UOM"
-		}
-	],
-	
-	[
-		{
-			"doctype": "BOM", 
-			"item": "_Test FG Item 2", 
-			"quantity": 1.0,
-			"is_active": 1,
-			"is_default": 1,
-			"docstatus": 1
-		}, 
-		{
-			"doctype": "BOM Item", 
-			"item_code": "_Test Item", 
-			"parentfield": "bom_materials", 
-			"qty": 1.0, 
-			"rate": 5000.0, 
-			"amount": 5000.0, 
-			"stock_uom": "_Test UOM"
-		}, 
-		{
-			"doctype": "BOM Item", 
-			"item_code": "_Test Item Home Desktop Manufactured", 
-			"bom_no": "BOM/_Test Item Home Desktop Manufactured/001",
-			"parentfield": "bom_materials", 
-			"qty": 2.0, 
-			"rate": 1000.0,
-			"amount": 2000.0,
-			"stock_uom": "_Test UOM"
-		}
-	],
-]
+test_records = frappe.get_test_records('Bom')
 
 class TestBOM(unittest.TestCase):
 	def test_get_items(self):
@@ -115,5 +27,4 @@
 		
 	def test_get_items_list(self):
 		from erpnext.manufacturing.doctype.bom.bom import get_bom_items
-		self.assertEquals(len(get_bom_items(bom="BOM/_Test FG Item 2/001", qty=1, fetch_exploded=1)), 3)
-
+		self.assertEquals(len(get_bom_items(bom="BOM/_Test FG Item 2/001", qty=1, fetch_exploded=1)), 3)
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.txt b/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json
similarity index 100%
rename from erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.txt
rename to erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json
diff --git a/erpnext/manufacturing/doctype/bom_item/bom_item.txt b/erpnext/manufacturing/doctype/bom_item/bom_item.json
similarity index 100%
rename from erpnext/manufacturing/doctype/bom_item/bom_item.txt
rename to erpnext/manufacturing/doctype/bom_item/bom_item.json
diff --git a/erpnext/manufacturing/doctype/bom_operation/bom_operation.txt b/erpnext/manufacturing/doctype/bom_operation/bom_operation.json
similarity index 100%
rename from erpnext/manufacturing/doctype/bom_operation/bom_operation.txt
rename to erpnext/manufacturing/doctype/bom_operation/bom_operation.json
diff --git a/erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.txt b/erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.json
similarity index 100%
rename from erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.txt
rename to erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.json
diff --git a/erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.py b/erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.py
index cf7750a..34f45bd 100644
--- a/erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.py
+++ b/erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.py
@@ -4,7 +4,6 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.utils import cstr, flt
-from frappe.model.code import get_obj
 from frappe import msgprint, _
 	
 from frappe.model.document import Document
@@ -16,7 +15,7 @@
 		bom_list = self.get_parent_boms()
 		updated_bom = []
 		for bom in bom_list:
-			bom_obj = get_obj("BOM", bom, with_children=1)
+			bom_obj = frappe.get_doc("BOM", bom)
 			updated_bom = bom_obj.update_cost_and_exploded_items(updated_bom)
 			
 		frappe.msgprint(_("BOM replaced"))
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.txt b/erpnext/manufacturing/doctype/production_order/production_order.json
similarity index 100%
rename from erpnext/manufacturing/doctype/production_order/production_order.txt
rename to erpnext/manufacturing/doctype/production_order/production_order.json
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py
index f878cd8..fd97980 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/production_order.py
@@ -5,7 +5,6 @@
 import frappe
 
 from frappe.utils import cstr, flt, nowdate
-from frappe.model.code import get_obj
 from frappe import msgprint, _
 
 class OverProductionError(frappe.ValidationError): pass
diff --git a/erpnext/manufacturing/doctype/production_order/test_production_order.py b/erpnext/manufacturing/doctype/production_order/test_production_order.py
index b3d655a..1af4815 100644
--- a/erpnext/manufacturing/doctype/production_order/test_production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/test_production_order.py
@@ -17,16 +17,16 @@
 		frappe.db.sql("""delete from `tabBin`""")
 		frappe.db.sql("""delete from `tabGL Entry`""")
 		
-		pro_bean = frappe.get_doc(copy = test_records[0])
+		pro_bean = frappe.copy_doc(test_records[0])
 		pro_bean.insert()
 		pro_bean.submit()
 		
 		from erpnext.stock.doctype.stock_entry.test_stock_entry import test_records as se_test_records
-		mr1 = frappe.get_doc(copy = se_test_records[0])
+		mr1 = frappe.copy_doc(se_test_records[0])
 		mr1.insert()
 		mr1.submit()
 		
-		mr2 = frappe.get_doc(copy = se_test_records[0])
+		mr2 = frappe.copy_doc(se_test_records[0])
 		mr2.doclist[1].item_code = "_Test Item Home Desktop 100"
 		mr2.insert()
 		mr2.submit()
@@ -63,17 +63,4 @@
 			
 		
 
-test_records = [
-	[
-		{
-			"bom_no": "BOM/_Test FG Item/001", 
-			"company": "_Test Company", 
-			"doctype": "Production Order", 
-			"production_item": "_Test FG Item", 
-			"qty": 10.0, 
-			"fg_warehouse": "_Test Warehouse 1 - _TC",
-			"wip_warehouse": "_Test Warehouse - _TC",
-			"stock_uom": "Nos"
-		}
-	]
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Production Order')
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/production_plan_item/production_plan_item.txt b/erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json
similarity index 100%
rename from erpnext/manufacturing/doctype/production_plan_item/production_plan_item.txt
rename to erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json
diff --git a/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.txt b/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json
similarity index 100%
rename from erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.txt
rename to erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.txt b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
similarity index 100%
rename from erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.txt
rename to erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
index c925c0c..8c9c3cd 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
@@ -5,7 +5,6 @@
 import frappe
 from frappe.utils import cstr, flt, cint, nowdate, add_days
 
-from frappe.model.code import get_obj
 from frappe import msgprint, _
 
 from frappe.model.document import Document
diff --git a/erpnext/manufacturing/doctype/workstation/workstation.txt b/erpnext/manufacturing/doctype/workstation/workstation.json
similarity index 100%
rename from erpnext/manufacturing/doctype/workstation/workstation.txt
rename to erpnext/manufacturing/doctype/workstation/workstation.json
diff --git a/erpnext/manufacturing/report/completed_production_orders/completed_production_orders.txt b/erpnext/manufacturing/report/completed_production_orders/completed_production_orders.json
similarity index 100%
rename from erpnext/manufacturing/report/completed_production_orders/completed_production_orders.txt
rename to erpnext/manufacturing/report/completed_production_orders/completed_production_orders.json
diff --git a/erpnext/manufacturing/report/issued_items_against_production_order/issued_items_against_production_order.txt b/erpnext/manufacturing/report/issued_items_against_production_order/issued_items_against_production_order.json
similarity index 100%
rename from erpnext/manufacturing/report/issued_items_against_production_order/issued_items_against_production_order.txt
rename to erpnext/manufacturing/report/issued_items_against_production_order/issued_items_against_production_order.json
diff --git a/erpnext/manufacturing/report/open_production_orders/open_production_orders.txt b/erpnext/manufacturing/report/open_production_orders/open_production_orders.json
similarity index 100%
rename from erpnext/manufacturing/report/open_production_orders/open_production_orders.txt
rename to erpnext/manufacturing/report/open_production_orders/open_production_orders.json
diff --git a/erpnext/manufacturing/report/production_orders_in_progress/production_orders_in_progress.txt b/erpnext/manufacturing/report/production_orders_in_progress/production_orders_in_progress.json
similarity index 100%
rename from erpnext/manufacturing/report/production_orders_in_progress/production_orders_in_progress.txt
rename to erpnext/manufacturing/report/production_orders_in_progress/production_orders_in_progress.json
diff --git a/erpnext/patches/4_0/update_user_properties.py b/erpnext/patches/4_0/update_user_properties.py
index da8635e..0c3aa4a 100644
--- a/erpnext/patches/4_0/update_user_properties.py
+++ b/erpnext/patches/4_0/update_user_properties.py
@@ -4,7 +4,6 @@
 from __future__ import unicode_literals
 import frappe
 import frappe.permissions
-import frappe.model.doctype
 import frappe.defaults
 
 def execute():
@@ -79,7 +78,7 @@
 	# add restrict rights to HR User and HR Manager
 	frappe.db.sql("""update `tabDocPerm` set `restrict`=1 where parent in ('Employee', 'Leave Application')
 		and role in ('HR User', 'HR Manager') and permlevel=0 and `read`=1""")
-	frappe.model.doctype.clear_cache()
+	frappe.clear_cache()
 	
 	# add Employee restrictions (in on_update method)
 	for employee in frappe.db.sql_list("""select name from `tabEmployee`
diff --git a/erpnext/projects/doctype/activity_type/activity_type.txt b/erpnext/projects/doctype/activity_type/activity_type.json
similarity index 100%
rename from erpnext/projects/doctype/activity_type/activity_type.txt
rename to erpnext/projects/doctype/activity_type/activity_type.json
diff --git a/erpnext/projects/doctype/activity_type/test_activity_type.py b/erpnext/projects/doctype/activity_type/test_activity_type.py
index b893317..ec31979 100644
--- a/erpnext/projects/doctype/activity_type/test_activity_type.py
+++ b/erpnext/projects/doctype/activity_type/test_activity_type.py
@@ -1,8 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{"activity_type":"_Test Activity Type"}],
-	[{"activity_type":"_Test Activity Type 1"}],
-	[{"activity_type":"_Test Activity Type 2"}]
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Activity Type')
\ No newline at end of file
diff --git a/erpnext/projects/doctype/project/project.txt b/erpnext/projects/doctype/project/project.json
similarity index 100%
rename from erpnext/projects/doctype/project/project.txt
rename to erpnext/projects/doctype/project/project.json
diff --git a/erpnext/projects/doctype/project/test_project.py b/erpnext/projects/doctype/project/test_project.py
index b4ea021..7769ff4 100644
--- a/erpnext/projects/doctype/project/test_project.py
+++ b/erpnext/projects/doctype/project/test_project.py
@@ -1,11 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [[{
-	"project_name": "_Test Project",
-	"status": "Open"
-}],
-[{
-	"project_name": "_Test Project 1",
-	"status": "Open"
-}]]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Project')
\ No newline at end of file
diff --git a/erpnext/projects/doctype/project_milestone/project_milestone.txt b/erpnext/projects/doctype/project_milestone/project_milestone.json
similarity index 100%
rename from erpnext/projects/doctype/project_milestone/project_milestone.txt
rename to erpnext/projects/doctype/project_milestone/project_milestone.json
diff --git a/erpnext/projects/doctype/task/task.txt b/erpnext/projects/doctype/task/task.json
similarity index 100%
rename from erpnext/projects/doctype/task/task.txt
rename to erpnext/projects/doctype/task/task.json
diff --git a/erpnext/projects/doctype/task/test_task.py b/erpnext/projects/doctype/task/test_task.py
index af7ad28..c345649 100644
--- a/erpnext/projects/doctype/task/test_task.py
+++ b/erpnext/projects/doctype/task/test_task.py
@@ -1,10 +1,8 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{"subject": "_Test Task", "project":"_Test Project", "status":"Open"}],
-	[{"subject": "_Test Task 1", "status":"Open"}],
-	[{"subject": "_Test Task 2", "status":"Open"}]
-]
+
+import frappe
+test_records = frappe.get_test_records('Task')
 
 test_ignore = ["Customer"]
\ No newline at end of file
diff --git a/erpnext/projects/doctype/time_log/test_time_log.py b/erpnext/projects/doctype/time_log/test_time_log.py
index c0bfa75..eedad0b 100644
--- a/erpnext/projects/doctype/time_log/test_time_log.py
+++ b/erpnext/projects/doctype/time_log/test_time_log.py
@@ -11,13 +11,4 @@
 		ts = frappe.get_doc(frappe.copy_doc(test_records[0]))
 		self.assertRaises(OverlapError, ts.insert)
 
-test_records = [[{
-	"doctype": "Time Log",
-	"from_time": "2013-01-01 10:00:00.000000",
-	"to_time": "2013-01-01 11:00:00.000000",
-	"activity_type": "_Test Activity Type",
-	"note": "_Test Note",
-	"docstatus": 1
-}]]
-
-test_ignore = ["Sales Invoice", "Time Log Batch"]
\ No newline at end of file
+test_records = frappe.get_test_records('Time Log')
\ No newline at end of file
diff --git a/erpnext/projects/doctype/time_log/time_log.txt b/erpnext/projects/doctype/time_log/time_log.json
similarity index 100%
rename from erpnext/projects/doctype/time_log/time_log.txt
rename to erpnext/projects/doctype/time_log/time_log.json
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 e059c04..eaf498c 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
@@ -6,7 +6,7 @@
 class TimeLogBatchTest(unittest.TestCase):
 	def test_time_log_status(self):
 		from erpnext.projects.doctype.time_log.test_time_log import test_records as time_log_records
-		time_log = frappe.get_doc(copy=time_log_records[0])
+		time_log = frappe.copy_doc(time_log_records[0])
 		time_log.update({
 			"from_time": "2013-01-02 10:00:00.000000",
 			"to_time": "2013-01-02 11:00:00.000000",
@@ -16,7 +16,7 @@
 		time_log.submit()
 		
 		self.assertEquals(frappe.db.get_value("Time Log", time_log.name, "status"), "Submitted")
-		tlb = frappe.get_doc(copy=test_records[0])
+		tlb = frappe.copy_doc(test_records[0])
 		tlb.doclist[1].time_log = time_log.name
 		tlb.insert()
 		tlb.submit()
@@ -25,15 +25,4 @@
 		tlb.cancel()
 		self.assertEquals(frappe.db.get_value("Time Log", time_log.name, "status"), "Submitted")
 
-test_records = [[
-	{
-		"doctype": "Time Log Batch",
-		"rate": "500"
-	},
-	{
-		"doctype": "Time Log Batch Detail",
-		"parenttype": "Time Log Batch",
-		"parentfield": "time_log_batch_details",
-		"time_log": "_T-Time Log-00001",
-	}
-]]
\ No newline at end of file
+test_records = frappe.get_test_records('Time Log Batch')
\ No newline at end of file
diff --git a/erpnext/projects/doctype/time_log_batch/time_log_batch.txt b/erpnext/projects/doctype/time_log_batch/time_log_batch.json
similarity index 100%
rename from erpnext/projects/doctype/time_log_batch/time_log_batch.txt
rename to erpnext/projects/doctype/time_log_batch/time_log_batch.json
diff --git a/erpnext/projects/doctype/time_log_batch_detail/time_log_batch_detail.txt b/erpnext/projects/doctype/time_log_batch_detail/time_log_batch_detail.json
similarity index 100%
rename from erpnext/projects/doctype/time_log_batch_detail/time_log_batch_detail.txt
rename to erpnext/projects/doctype/time_log_batch_detail/time_log_batch_detail.json
diff --git a/erpnext/projects/report/daily_time_log_summary/daily_time_log_summary.txt b/erpnext/projects/report/daily_time_log_summary/daily_time_log_summary.json
similarity index 100%
rename from erpnext/projects/report/daily_time_log_summary/daily_time_log_summary.txt
rename to erpnext/projects/report/daily_time_log_summary/daily_time_log_summary.json
diff --git a/erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.txt b/erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.json
similarity index 100%
rename from erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.txt
rename to erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.json
diff --git a/erpnext/selling/Print Format/Quotation Classic/Quotation Classic.txt b/erpnext/selling/Print Format/Quotation Classic/Quotation Classic.json
similarity index 100%
rename from erpnext/selling/Print Format/Quotation Classic/Quotation Classic.txt
rename to erpnext/selling/Print Format/Quotation Classic/Quotation Classic.json
diff --git a/erpnext/selling/Print Format/Quotation Modern/Quotation Modern.txt b/erpnext/selling/Print Format/Quotation Modern/Quotation Modern.json
similarity index 100%
rename from erpnext/selling/Print Format/Quotation Modern/Quotation Modern.txt
rename to erpnext/selling/Print Format/Quotation Modern/Quotation Modern.json
diff --git a/erpnext/selling/Print Format/Quotation Spartan/Quotation Spartan.txt b/erpnext/selling/Print Format/Quotation Spartan/Quotation Spartan.json
similarity index 100%
rename from erpnext/selling/Print Format/Quotation Spartan/Quotation Spartan.txt
rename to erpnext/selling/Print Format/Quotation Spartan/Quotation Spartan.json
diff --git a/erpnext/selling/Print Format/Sales Order Classic/Sales Order Classic.txt b/erpnext/selling/Print Format/Sales Order Classic/Sales Order Classic.json
similarity index 100%
rename from erpnext/selling/Print Format/Sales Order Classic/Sales Order Classic.txt
rename to erpnext/selling/Print Format/Sales Order Classic/Sales Order Classic.json
diff --git a/erpnext/selling/Print Format/Sales Order Modern/Sales Order Modern.txt b/erpnext/selling/Print Format/Sales Order Modern/Sales Order Modern.json
similarity index 100%
rename from erpnext/selling/Print Format/Sales Order Modern/Sales Order Modern.txt
rename to erpnext/selling/Print Format/Sales Order Modern/Sales Order Modern.json
diff --git a/erpnext/selling/Print Format/Sales Order Spartan/Sales Order Spartan.txt b/erpnext/selling/Print Format/Sales Order Spartan/Sales Order Spartan.json
similarity index 100%
rename from erpnext/selling/Print Format/Sales Order Spartan/Sales Order Spartan.txt
rename to erpnext/selling/Print Format/Sales Order Spartan/Sales Order Spartan.json
diff --git a/erpnext/selling/doctype/campaign/campaign.txt b/erpnext/selling/doctype/campaign/campaign.json
similarity index 100%
rename from erpnext/selling/doctype/campaign/campaign.txt
rename to erpnext/selling/doctype/campaign/campaign.json
diff --git a/erpnext/selling/doctype/campaign/test_campaign.py b/erpnext/selling/doctype/campaign/test_campaign.py
index d3bf61e..5d7c9a4 100644
--- a/erpnext/selling/doctype/campaign/test_campaign.py
+++ b/erpnext/selling/doctype/campaign/test_campaign.py
@@ -1,7 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{"doctype":"Campaign", "campaign_name":"_Test Campaign"}],
-	[{"doctype":"Campaign", "campaign_name":"_Test Campaign 1"}],
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Campaign')
\ No newline at end of file
diff --git a/erpnext/selling/doctype/customer/customer.txt b/erpnext/selling/doctype/customer/customer.json
similarity index 100%
rename from erpnext/selling/doctype/customer/customer.txt
rename to erpnext/selling/doctype/customer/customer.json
diff --git a/erpnext/selling/doctype/customer/test_customer.py b/erpnext/selling/doctype/customer/test_customer.py
index b6a7116..be60795 100644
--- a/erpnext/selling/doctype/customer/test_customer.py
+++ b/erpnext/selling/doctype/customer/test_customer.py
@@ -49,29 +49,4 @@
 
 test_ignore = ["Price List"]
 			
-test_records = [
-	[{
-		"doctype": "Customer",
-		"customer_name": "_Test Customer",
-		"customer_type": "Individual",
-		"customer_group": "_Test Customer Group",
-		"territory": "_Test Territory",
-		"company": "_Test Company"
-	}],
-	[{
-		"doctype": "Customer",
-		"customer_name": "_Test Customer 1",
-		"customer_type": "Individual",
-		"customer_group": "_Test Customer Group",
-		"territory": "_Test Territory",
-		"company": "_Test Company"
-	}],
-	[{
-		"doctype": "Customer",
-		"customer_name": "_Test Customer 2",
-		"customer_type": "Individual",
-		"customer_group": "_Test Customer Group",
-		"territory": "_Test Territory",
-		"company": "_Test Company"
-	}]
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Customer')
\ No newline at end of file
diff --git a/erpnext/selling/doctype/industry_type/industry_type.txt b/erpnext/selling/doctype/industry_type/industry_type.json
similarity index 100%
rename from erpnext/selling/doctype/industry_type/industry_type.txt
rename to erpnext/selling/doctype/industry_type/industry_type.json
diff --git a/erpnext/selling/doctype/industry_type/test_industry_type.py b/erpnext/selling/doctype/industry_type/test_industry_type.py
index 91679c7..31c5bb2 100644
--- a/erpnext/selling/doctype/industry_type/test_industry_type.py
+++ b/erpnext/selling/doctype/industry_type/test_industry_type.py
@@ -1,7 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{"doctype":"Industry Type", "industry":"_Test Industry"}],
-	[{"doctype":"Industry Type", "industry":"_Test Industry 1"}],
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Industry Type')
\ No newline at end of file
diff --git a/erpnext/selling/doctype/installation_note/installation_note.txt b/erpnext/selling/doctype/installation_note/installation_note.json
similarity index 100%
rename from erpnext/selling/doctype/installation_note/installation_note.txt
rename to erpnext/selling/doctype/installation_note/installation_note.json
diff --git a/erpnext/selling/doctype/installation_note_item/installation_note_item.txt b/erpnext/selling/doctype/installation_note_item/installation_note_item.json
similarity index 100%
rename from erpnext/selling/doctype/installation_note_item/installation_note_item.txt
rename to erpnext/selling/doctype/installation_note_item/installation_note_item.json
diff --git a/erpnext/selling/doctype/lead/lead.txt b/erpnext/selling/doctype/lead/lead.json
similarity index 100%
rename from erpnext/selling/doctype/lead/lead.txt
rename to erpnext/selling/doctype/lead/lead.json
diff --git a/erpnext/selling/doctype/lead/test_lead.py b/erpnext/selling/doctype/lead/test_lead.py
index a403e93..697f2e1 100644
--- a/erpnext/selling/doctype/lead/test_lead.py
+++ b/erpnext/selling/doctype/lead/test_lead.py
@@ -3,16 +3,7 @@
 
 from __future__ import unicode_literals
 
-test_records = [
-	[{"doctype":"Lead", "lead_name": "_Test Lead", "status":"Open", 
-		"email_id":"test_lead@example.com", "territory": "_Test Territory"}],
-	[{"doctype":"Lead", "lead_name": "_Test Lead 1", "status":"Open", 
-		"email_id":"test_lead1@example.com"}],
-	[{"doctype":"Lead", "lead_name": "_Test Lead 2", "status":"Contacted", 
-		"email_id":"test_lead2@example.com"}],
-	[{"doctype":"Lead", "lead_name": "_Test Lead 3", "status":"Converted", 
-		"email_id":"test_lead3@example.com"}],
-]
+test_records = frappe.get_test_records('Lead')
 
 import frappe
 import unittest
@@ -28,5 +19,4 @@
 		
 		customer[0]["company"] = "_Test Company"
 		customer[0]["customer_group"] = "_Test Customer Group"
-		frappe.get_doc(customer).insert()
-		
\ No newline at end of file
+		frappe.get_doc(customer).insert()
\ No newline at end of file
diff --git a/erpnext/selling/doctype/opportunity/opportunity.txt b/erpnext/selling/doctype/opportunity/opportunity.json
similarity index 100%
rename from erpnext/selling/doctype/opportunity/opportunity.txt
rename to erpnext/selling/doctype/opportunity/opportunity.json
diff --git a/erpnext/selling/doctype/opportunity_item/opportunity_item.txt b/erpnext/selling/doctype/opportunity_item/opportunity_item.json
similarity index 100%
rename from erpnext/selling/doctype/opportunity_item/opportunity_item.txt
rename to erpnext/selling/doctype/opportunity_item/opportunity_item.json
diff --git a/erpnext/selling/doctype/quotation/quotation.txt b/erpnext/selling/doctype/quotation/quotation.json
similarity index 100%
rename from erpnext/selling/doctype/quotation/quotation.txt
rename to erpnext/selling/doctype/quotation/quotation.json
diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
index 6b24858..900d764 100644
--- a/erpnext/selling/doctype/quotation/quotation.py
+++ b/erpnext/selling/doctype/quotation/quotation.py
@@ -5,7 +5,6 @@
 import frappe
 from frappe.utils import cstr
 
-from frappe.model.code import get_obj
 from frappe import _, msgprint
 
 from erpnext.controllers.selling_controller import SellingController
@@ -74,7 +73,7 @@
 		self.check_item_table()
 		
 		# Check for Approving Authority
-		get_obj('Authorization Control').validate_approving_authority(self.doctype, self.company, self.grand_total, self)
+		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype, self.company, self.grand_total, self)
 			
 		#update enquiry status
 		self.update_opportunity()
diff --git a/erpnext/selling/doctype/quotation/test_quotation.py b/erpnext/selling/doctype/quotation/test_quotation.py
index b9f4921..54aa1c4 100644
--- a/erpnext/selling/doctype/quotation/test_quotation.py
+++ b/erpnext/selling/doctype/quotation/test_quotation.py
@@ -11,7 +11,7 @@
 	def test_make_sales_order(self):
 		from erpnext.selling.doctype.quotation.quotation import make_sales_order
 		
-		quotation = frappe.get_doc(copy=test_records[0])
+		quotation = frappe.copy_doc(test_records[0])
 		quotation.insert()
 		
 		self.assertRaises(frappe.ValidationError, make_sales_order, quotation.name)
@@ -32,37 +32,4 @@
 		frappe.get_doc(sales_order).insert()
 
 
-test_records = [
-	[
-		{
-			"company": "_Test Company", 
-			"conversion_rate": 1.0, 
-			"currency": "INR", 
-			"quotation_to": "Customer",
-			"customer": "_Test Customer", 
-			"customer_name": "_Test Customer",
-			"customer_group": "_Test Customer Group", 
-			"doctype": "Quotation", 
-			"fiscal_year": "_Test Fiscal Year 2013", 
-			"order_type": "Sales",
-			"plc_conversion_rate": 1.0, 
-			"price_list_currency": "INR", 
-			"selling_price_list": "_Test Price List", 
-			"territory": "_Test Territory", 
-			"transaction_date": "2013-02-21",
-			"grand_total": 1000.0, 
-			"grand_total_export": 1000.0, 
-		}, 
-		{
-			"description": "CPU", 
-			"doctype": "Quotation Item", 
-			"item_code": "_Test Item Home Desktop 100", 
-			"item_name": "CPU", 
-			"parentfield": "quotation_details", 
-			"qty": 10.0,
-			"base_rate": 100.0,
-			"rate": 100.0,
-			"base_amount": 1000.0,
-		}
-	],	
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Quotation')
\ No newline at end of file
diff --git a/erpnext/selling/doctype/quotation_item/quotation_item.txt b/erpnext/selling/doctype/quotation_item/quotation_item.json
similarity index 100%
rename from erpnext/selling/doctype/quotation_item/quotation_item.txt
rename to erpnext/selling/doctype/quotation_item/quotation_item.json
diff --git a/erpnext/selling/doctype/sales_bom/sales_bom.txt b/erpnext/selling/doctype/sales_bom/sales_bom.json
similarity index 100%
rename from erpnext/selling/doctype/sales_bom/sales_bom.txt
rename to erpnext/selling/doctype/sales_bom/sales_bom.json
diff --git a/erpnext/selling/doctype/sales_bom/test_sales_bom.py b/erpnext/selling/doctype/sales_bom/test_sales_bom.py
index 02ca68f..6d39ee2 100644
--- a/erpnext/selling/doctype/sales_bom/test_sales_bom.py
+++ b/erpnext/selling/doctype/sales_bom/test_sales_bom.py
@@ -1,23 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[
-		{
-			"doctype": "Sales BOM", 
-			"new_item_code": "_Test Sales BOM Item"
-		}, 
-		{
-			"doctype": "Sales BOM Item", 
-			"item_code": "_Test Item", 
-			"parentfield": "sales_bom_items", 
-			"qty": 5.0
-		}, 
-		{
-			"doctype": "Sales BOM Item", 
-			"item_code": "_Test Item Home Desktop 100", 
-			"parentfield": "sales_bom_items", 
-			"qty": 2.0
-		}
-	],
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Sales Bom')
\ No newline at end of file
diff --git a/erpnext/selling/doctype/sales_bom_item/sales_bom_item.txt b/erpnext/selling/doctype/sales_bom_item/sales_bom_item.json
similarity index 100%
rename from erpnext/selling/doctype/sales_bom_item/sales_bom_item.txt
rename to erpnext/selling/doctype/sales_bom_item/sales_bom_item.json
diff --git a/erpnext/selling/doctype/sales_order/sales_order.txt b/erpnext/selling/doctype/sales_order/sales_order.json
similarity index 100%
rename from erpnext/selling/doctype/sales_order/sales_order.txt
rename to erpnext/selling/doctype/sales_order/sales_order.json
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index e553b26..0dbb78a 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -7,7 +7,6 @@
 
 from frappe.utils import cstr, flt, getdate
 
-from frappe.model.code import get_obj
 from frappe import msgprint
 from frappe.model.mapper import get_mapped_doc
 
@@ -161,7 +160,7 @@
 
 		self.check_credit(self.grand_total)
 		
-		get_obj('Authorization Control').validate_approving_authority(self.doctype, self.grand_total, self)
+		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype, self.grand_total, self)
 		
 		self.update_prevdoc_status('submit')
 		frappe.db.set(self, 'status', 'Submitted')
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 62411b0..e56de33 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -12,7 +12,7 @@
 	def test_make_material_request(self):
 		from erpnext.selling.doctype.sales_order.sales_order import make_material_request
 		
-		so = frappe.get_doc(copy=test_records[0]).insert()
+		so = frappe.copy_doc(test_records[0]).insert()
 		
 		self.assertRaises(frappe.ValidationError, make_material_request, 
 			so.name)
@@ -27,7 +27,7 @@
 	def test_make_delivery_note(self):
 		from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note
 
-		so = frappe.get_doc(copy=test_records[0]).insert()
+		so = frappe.copy_doc(test_records[0]).insert()
 
 		self.assertRaises(frappe.ValidationError, make_delivery_note, 
 			so.name)
@@ -42,7 +42,7 @@
 	def test_make_sales_invoice(self):
 		from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice
 
-		so = frappe.get_doc(copy=test_records[0]).insert()
+		so = frappe.copy_doc(test_records[0]).insert()
 
 		self.assertRaises(frappe.ValidationError, make_sales_invoice, 
 			so.name)
@@ -68,7 +68,7 @@
 		if not so_doclist:
 			so_doclist = test_records[0]
 		
-		w = frappe.get_doc(copy=so_doclist)
+		w = frappe.copy_doc(so_doclist)
 		w.insert()
 		w.submit()
 
@@ -290,7 +290,7 @@
 		frappe.set_user("test@example.com")
 
 		from frappe.model.bean import BeanPermissionError
-		so = frappe.get_doc(copy = test_records[0])
+		so = frappe.copy_doc(test_records[0])
 		so.company = "_Test Company 1"
 		so.conversion_rate = 0.02
 		so.plc_conversion_rate = 0.02
@@ -304,39 +304,4 @@
 
 test_dependencies = ["Sales BOM", "Currency Exchange"]
 	
-test_records = [
-	[
-		{
-			"company": "_Test Company", 
-			"conversion_rate": 1.0, 
-			"currency": "INR", 
-			"customer": "_Test Customer", 
-			"customer_name": "_Test Customer",
-			"customer_group": "_Test Customer Group", 
-			"doctype": "Sales Order", 
-			"fiscal_year": "_Test Fiscal Year 2013", 
-			"order_type": "Sales",
-			"delivery_date": "2013-02-23",
-			"plc_conversion_rate": 1.0, 
-			"price_list_currency": "INR", 
-			"selling_price_list": "_Test Price List", 
-			"territory": "_Test Territory", 
-			"transaction_date": "2013-02-21",
-			"grand_total": 1000.0, 
-			"grand_total_export": 1000.0, 
-			"naming_series": "_T-Sales Order-"
-		}, 
-		{
-			"description": "CPU", 
-			"doctype": "Sales Order Item", 
-			"item_code": "_Test Item Home Desktop 100", 
-			"item_name": "CPU", 
-			"parentfield": "sales_order_details", 
-			"qty": 10.0,
-			"base_rate": 100.0,
-			"rate": 100.0,
-			"base_amount": 1000.0,
-			"warehouse": "_Test Warehouse - _TC",
-		}
-	],	
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Sales Order')
\ No newline at end of file
diff --git a/erpnext/selling/doctype/sales_order_item/sales_order_item.txt b/erpnext/selling/doctype/sales_order_item/sales_order_item.json
similarity index 100%
rename from erpnext/selling/doctype/sales_order_item/sales_order_item.txt
rename to erpnext/selling/doctype/sales_order_item/sales_order_item.json
diff --git a/erpnext/selling/doctype/sales_team/sales_team.txt b/erpnext/selling/doctype/sales_team/sales_team.json
similarity index 100%
rename from erpnext/selling/doctype/sales_team/sales_team.txt
rename to erpnext/selling/doctype/sales_team/sales_team.json
diff --git a/erpnext/selling/doctype/selling_settings/selling_settings.txt b/erpnext/selling/doctype/selling_settings/selling_settings.json
similarity index 100%
rename from erpnext/selling/doctype/selling_settings/selling_settings.txt
rename to erpnext/selling/doctype/selling_settings/selling_settings.json
diff --git a/erpnext/selling/doctype/sms_center/sms_center.txt b/erpnext/selling/doctype/sms_center/sms_center.json
similarity index 100%
rename from erpnext/selling/doctype/sms_center/sms_center.txt
rename to erpnext/selling/doctype/sms_center/sms_center.json
diff --git a/erpnext/selling/doctype/sms_center/sms_center.py b/erpnext/selling/doctype/sms_center/sms_center.py
index 51f9d77..487df38 100644
--- a/erpnext/selling/doctype/sms_center/sms_center.py
+++ b/erpnext/selling/doctype/sms_center/sms_center.py
@@ -5,7 +5,6 @@
 import frappe
 
 from frappe.utils import cstr
-from frappe.model.code import get_obj
 from frappe import msgprint, _
 
 from frappe.model.document import Document
@@ -74,4 +73,4 @@
 		else:
 			receiver_list = self.get_receiver_nos()
 		if receiver_list:
-			msgprint(get_obj('SMS Control', 'SMS Control').send_sms(receiver_list, cstr(self.message)))
\ No newline at end of file
+			msgprint(frappe.get_doc('SMS Control', 'SMS Control').send_sms(receiver_list, cstr(self.message)))
\ No newline at end of file
diff --git a/erpnext/selling/page/sales_analytics/sales_analytics.txt b/erpnext/selling/page/sales_analytics/sales_analytics.json
similarity index 100%
rename from erpnext/selling/page/sales_analytics/sales_analytics.txt
rename to erpnext/selling/page/sales_analytics/sales_analytics.json
diff --git a/erpnext/selling/page/sales_browser/sales_browser.txt b/erpnext/selling/page/sales_browser/sales_browser.json
similarity index 100%
rename from erpnext/selling/page/sales_browser/sales_browser.txt
rename to erpnext/selling/page/sales_browser/sales_browser.json
diff --git a/erpnext/selling/page/sales_funnel/sales_funnel.txt b/erpnext/selling/page/sales_funnel/sales_funnel.json
similarity index 100%
rename from erpnext/selling/page/sales_funnel/sales_funnel.txt
rename to erpnext/selling/page/sales_funnel/sales_funnel.json
diff --git a/erpnext/selling/report/available_stock_for_packing_items/available_stock_for_packing_items.txt b/erpnext/selling/report/available_stock_for_packing_items/available_stock_for_packing_items.json
similarity index 100%
rename from erpnext/selling/report/available_stock_for_packing_items/available_stock_for_packing_items.txt
rename to erpnext/selling/report/available_stock_for_packing_items/available_stock_for_packing_items.json
diff --git a/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.txt b/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.json
similarity index 100%
rename from erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.txt
rename to erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.json
diff --git a/erpnext/selling/report/customer_addresses_and_contacts/customer_addresses_and_contacts.txt b/erpnext/selling/report/customer_addresses_and_contacts/customer_addresses_and_contacts.json
similarity index 100%
rename from erpnext/selling/report/customer_addresses_and_contacts/customer_addresses_and_contacts.txt
rename to erpnext/selling/report/customer_addresses_and_contacts/customer_addresses_and_contacts.json
diff --git a/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.txt b/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.json
similarity index 100%
rename from erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.txt
rename to erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.json
diff --git a/erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.txt b/erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.json
similarity index 100%
rename from erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.txt
rename to erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.json
diff --git a/erpnext/selling/report/lead_details/lead_details.txt b/erpnext/selling/report/lead_details/lead_details.json
similarity index 100%
rename from erpnext/selling/report/lead_details/lead_details.txt
rename to erpnext/selling/report/lead_details/lead_details.json
diff --git a/erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.txt b/erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.json
similarity index 100%
rename from erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.txt
rename to erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.json
diff --git a/erpnext/selling/report/quotation_trends/quotation_trends.txt b/erpnext/selling/report/quotation_trends/quotation_trends.json
similarity index 100%
rename from erpnext/selling/report/quotation_trends/quotation_trends.txt
rename to erpnext/selling/report/quotation_trends/quotation_trends.json
diff --git a/erpnext/selling/report/sales_order_trends/sales_order_trends.txt b/erpnext/selling/report/sales_order_trends/sales_order_trends.json
similarity index 100%
rename from erpnext/selling/report/sales_order_trends/sales_order_trends.txt
rename to erpnext/selling/report/sales_order_trends/sales_order_trends.json
diff --git a/erpnext/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.txt b/erpnext/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.json
similarity index 100%
rename from erpnext/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.txt
rename to erpnext/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.json
diff --git a/erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.txt b/erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.json
similarity index 100%
rename from erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.txt
rename to erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.json
diff --git a/erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.txt b/erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.json
similarity index 100%
rename from erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.txt
rename to erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.json
diff --git a/erpnext/setup/doctype/applicable_territory/applicable_territory.txt b/erpnext/setup/doctype/applicable_territory/applicable_territory.json
similarity index 100%
rename from erpnext/setup/doctype/applicable_territory/applicable_territory.txt
rename to erpnext/setup/doctype/applicable_territory/applicable_territory.json
diff --git a/erpnext/setup/doctype/authorization_control/authorization_control.txt b/erpnext/setup/doctype/authorization_control/authorization_control.json
similarity index 100%
rename from erpnext/setup/doctype/authorization_control/authorization_control.txt
rename to erpnext/setup/doctype/authorization_control/authorization_control.json
diff --git a/erpnext/setup/doctype/authorization_rule/authorization_rule.txt b/erpnext/setup/doctype/authorization_rule/authorization_rule.json
similarity index 100%
rename from erpnext/setup/doctype/authorization_rule/authorization_rule.txt
rename to erpnext/setup/doctype/authorization_rule/authorization_rule.json
diff --git a/erpnext/setup/doctype/backup_manager/backup_manager.txt b/erpnext/setup/doctype/backup_manager/backup_manager.json
similarity index 100%
rename from erpnext/setup/doctype/backup_manager/backup_manager.txt
rename to erpnext/setup/doctype/backup_manager/backup_manager.json
diff --git a/erpnext/setup/doctype/brand/brand.txt b/erpnext/setup/doctype/brand/brand.json
similarity index 100%
rename from erpnext/setup/doctype/brand/brand.txt
rename to erpnext/setup/doctype/brand/brand.json
diff --git a/erpnext/setup/doctype/brand/test_brand.py b/erpnext/setup/doctype/brand/test_brand.py
index c66413f..34dc6de 100644
--- a/erpnext/setup/doctype/brand/test_brand.py
+++ b/erpnext/setup/doctype/brand/test_brand.py
@@ -1,9 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"doctype": "Brand",
-		"brand": "_Test Brand"
-	}]
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Brand')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/company/company.txt b/erpnext/setup/doctype/company/company.json
similarity index 100%
rename from erpnext/setup/doctype/company/company.txt
rename to erpnext/setup/doctype/company/company.json
diff --git a/erpnext/setup/doctype/company/test_company.py b/erpnext/setup/doctype/company/test_company.py
index 691bc72..570cd23 100644
--- a/erpnext/setup/doctype/company/test_company.py
+++ b/erpnext/setup/doctype/company/test_company.py
@@ -29,19 +29,4 @@
 				frappe.delete_doc("Company", "_Test Company 2")
 		
 
-test_records = [
-	[{
-		"doctype": "Company",
-		"company_name": "_Test Company",
-		"abbr": "_TC",
-		"default_currency": "INR",
-		"domain": "Manufacturing"
-	}],
-	[{
-		"doctype": "Company",
-		"company_name": "_Test Company 1",
-		"abbr": "_TC1",
-		"default_currency": "USD",
-		"domain": "Retail"
-	}],
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Company')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/contact_control/contact_control.txt b/erpnext/setup/doctype/contact_control/contact_control.json
similarity index 100%
rename from erpnext/setup/doctype/contact_control/contact_control.txt
rename to erpnext/setup/doctype/contact_control/contact_control.json
diff --git a/erpnext/setup/doctype/country/country.txt b/erpnext/setup/doctype/country/country.json
similarity index 100%
rename from erpnext/setup/doctype/country/country.txt
rename to erpnext/setup/doctype/country/country.json
diff --git a/erpnext/setup/doctype/country/test_country.py b/erpnext/setup/doctype/country/test_country.py
index 27174a1..b261066 100644
--- a/erpnext/setup/doctype/country/test_country.py
+++ b/erpnext/setup/doctype/country/test_country.py
@@ -1,9 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"doctype": "Country",
-		"country_name": "_Test Country"
-	}]
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Country')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/currency/currency.txt b/erpnext/setup/doctype/currency/currency.json
similarity index 100%
rename from erpnext/setup/doctype/currency/currency.txt
rename to erpnext/setup/doctype/currency/currency.json
diff --git a/erpnext/setup/doctype/currency/test_currency.py b/erpnext/setup/doctype/currency/test_currency.py
index 41a2fab..f0c6cee 100644
--- a/erpnext/setup/doctype/currency/test_currency.py
+++ b/erpnext/setup/doctype/currency/test_currency.py
@@ -2,4 +2,6 @@
 # License: GNU General Public License v3. See license.txt
 
 # pre loaded
-test_records = []
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Currency')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/currency_exchange/currency_exchange.txt b/erpnext/setup/doctype/currency_exchange/currency_exchange.json
similarity index 100%
rename from erpnext/setup/doctype/currency_exchange/currency_exchange.txt
rename to erpnext/setup/doctype/currency_exchange/currency_exchange.json
diff --git a/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py b/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py
index f8260be..6726dc8 100644
--- a/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py
+++ b/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py
@@ -1,23 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"doctype": "Currency Exchange",
-		"from_currency": "USD",
-		"to_currency": "INR",
-		"exchange_rate": 60.0
-	}],
-	[{
-		"doctype": "Currency Exchange",
-		"from_currency": "USD",
-		"to_currency": "EUR",
-		"exchange_rate": 0.773
-	}],
-	[{
-		"doctype": "Currency Exchange",
-		"from_currency": "INR",
-		"to_currency": "USD",
-		"exchange_rate": 0.0167
-	}],
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Currency Exchange')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/customer_group/customer_group.txt b/erpnext/setup/doctype/customer_group/customer_group.json
similarity index 100%
rename from erpnext/setup/doctype/customer_group/customer_group.txt
rename to erpnext/setup/doctype/customer_group/customer_group.json
diff --git a/erpnext/setup/doctype/customer_group/test_customer_group.py b/erpnext/setup/doctype/customer_group/test_customer_group.py
index e08ec23..68f7aac 100644
--- a/erpnext/setup/doctype/customer_group/test_customer_group.py
+++ b/erpnext/setup/doctype/customer_group/test_customer_group.py
@@ -4,11 +4,6 @@
 test_ignore = ["Price List"]
 
 
-test_records = [
-	[{
-		"doctype": "Customer Group",
-		"customer_group_name": "_Test Customer Group",
-		"parent_customer_group": "All Customer Groups",
-		"is_group": "No"
-	}]
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Customer Group')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/email_digest/email_digest.txt b/erpnext/setup/doctype/email_digest/email_digest.json
similarity index 100%
rename from erpnext/setup/doctype/email_digest/email_digest.txt
rename to erpnext/setup/doctype/email_digest/email_digest.json
diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py
index 5d3efcd..e077c95 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.py
+++ b/erpnext/setup/doctype/email_digest/email_digest.py
@@ -471,12 +471,11 @@
 		self.get_next_sending()
 	
 def send():
-	from frappe.model.code import get_obj
-	from frappe.utils import getdate
+		from frappe.utils import getdate
 	now_date = now_datetime().date()
 	
 	for ed in frappe.db.sql("""select name from `tabEmail Digest`
 			where enabled=1 and docstatus<2""", as_list=1):
-		ed_obj = get_obj('Email Digest', ed[0])
+		ed_obj = frappe.get_doc('Email Digest', ed[0])
 		if (now_date == ed_obj.get_next_sending()):
 			ed_obj.send()
diff --git a/erpnext/setup/doctype/features_setup/features_setup.txt b/erpnext/setup/doctype/features_setup/features_setup.json
similarity index 100%
rename from erpnext/setup/doctype/features_setup/features_setup.txt
rename to erpnext/setup/doctype/features_setup/features_setup.json
diff --git a/erpnext/setup/doctype/global_defaults/global_defaults.txt b/erpnext/setup/doctype/global_defaults/global_defaults.json
similarity index 100%
rename from erpnext/setup/doctype/global_defaults/global_defaults.txt
rename to erpnext/setup/doctype/global_defaults/global_defaults.json
diff --git a/erpnext/setup/doctype/item_group/item_group.txt b/erpnext/setup/doctype/item_group/item_group.json
similarity index 100%
rename from erpnext/setup/doctype/item_group/item_group.txt
rename to erpnext/setup/doctype/item_group/item_group.json
diff --git a/erpnext/setup/doctype/item_group/test_item_group.py b/erpnext/setup/doctype/item_group/test_item_group.py
index 4bdace8..ae23499 100644
--- a/erpnext/setup/doctype/item_group/test_item_group.py
+++ b/erpnext/setup/doctype/item_group/test_item_group.py
@@ -7,74 +7,7 @@
 from frappe.utils.nestedset import NestedSetRecursionError, NestedSetMultipleRootsError, \
 	NestedSetChildExistsError, NestedSetInvalidMergeError, rebuild_tree, get_ancestors_of
 
-test_records = [
-	[{
-		"doctype": "Item Group",
-		"item_group_name": "_Test Item Group",
-		"parent_item_group": "All Item Groups",
-		"is_group": "No"
-	}],
-	[{
-		"doctype": "Item Group",
-		"item_group_name": "_Test Item Group Desktops",
-		"parent_item_group": "All Item Groups",
-		"is_group": "No"
-	}],
-	[{
-		"doctype": "Item Group",
-		"item_group_name": "_Test Item Group A",
-		"parent_item_group": "All Item Groups",
-		"is_group": "Yes"
-	}],
-	[{
-		"doctype": "Item Group",
-		"item_group_name": "_Test Item Group B",
-		"parent_item_group": "All Item Groups",
-		"is_group": "Yes"
-	}],
-		[{
-			"doctype": "Item Group",
-			"item_group_name": "_Test Item Group B - 1",
-			"parent_item_group": "_Test Item Group B",
-			"is_group": "Yes"
-		}],
-		[{
-			"doctype": "Item Group",
-			"item_group_name": "_Test Item Group B - 2",
-			"parent_item_group": "_Test Item Group B",
-			"is_group": "Yes"
-		}],
-		[{
-			"doctype": "Item Group",
-			"item_group_name": "_Test Item Group B - 3",
-			"parent_item_group": "_Test Item Group B",
-			"is_group": "No"
-		}],
-	[{
-		"doctype": "Item Group",
-		"item_group_name": "_Test Item Group C",
-		"parent_item_group": "All Item Groups",
-		"is_group": "Yes"
-	}],
-		[{
-			"doctype": "Item Group",
-			"item_group_name": "_Test Item Group C - 1",
-			"parent_item_group": "_Test Item Group C",
-			"is_group": "Yes"
-		}],
-		[{
-			"doctype": "Item Group",
-			"item_group_name": "_Test Item Group C - 2",
-			"parent_item_group": "_Test Item Group C",
-			"is_group": "Yes"
-		}],
-	[{
-		"doctype": "Item Group",
-		"item_group_name": "_Test Item Group D",
-		"parent_item_group": "All Item Groups",
-		"is_group": "Yes"
-	}],
-]
+test_records = frappe.get_test_records('Item Group')
 
 class TestItem(unittest.TestCase):
 	def test_basic_tree(self, records=None):
@@ -228,7 +161,7 @@
 			self.assertEquals(new_rgt, item_group.rgt - 2)
 		
 		# insert it back
-		frappe.get_doc(copy=test_records[6]).insert()
+		frappe.copy_doc(test_records[6]).insert()
 		
 		self.test_basic_tree()
 		
@@ -243,7 +176,7 @@
 		self.test_basic_tree(records=records_to_test)
 		
 		# insert Group B back
-		frappe.get_doc(copy=test_records[3]).insert()
+		frappe.copy_doc(test_records[3]).insert()
 		self.test_basic_tree()
 		
 		# move its children back
@@ -263,7 +196,7 @@
 		self.test_basic_tree(records=records_to_test)
 		
 		# insert Group B - 2back
-		frappe.get_doc(copy=test_records[5]).insert()
+		frappe.copy_doc(test_records[5]).insert()
 		self.test_basic_tree()
 		
 	def test_merge_leaf_into_group(self):
diff --git a/erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.txt b/erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.json
similarity index 100%
rename from erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.txt
rename to erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.json
diff --git a/erpnext/setup/doctype/naming_series/naming_series.txt b/erpnext/setup/doctype/naming_series/naming_series.json
similarity index 100%
rename from erpnext/setup/doctype/naming_series/naming_series.txt
rename to erpnext/setup/doctype/naming_series/naming_series.json
diff --git a/erpnext/setup/doctype/naming_series/naming_series.py b/erpnext/setup/doctype/naming_series/naming_series.py
index 7338de0..8fc596e 100644
--- a/erpnext/setup/doctype/naming_series/naming_series.py
+++ b/erpnext/setup/doctype/naming_series/naming_series.py
@@ -6,7 +6,6 @@
 
 from frappe.utils import cstr
 from frappe import msgprint, throw, _
-import frappe.model.doctype
 
 from frappe.model.document import Document
 
@@ -96,7 +95,7 @@
 				where dt.name = df.dt and df.fieldname='naming_series' and dt.name != %s""",
 				self.select_doc_for_series)
 			))
-		sr = [[frappe.model.doctype.get_property(p, 'options', 'naming_series'), p] 
+		sr = [[frappe.get_meta(p).get_field("naming_series").options, p] 
 			for p in parent]
 		options = self.scrub_options_list(self.set_options.split("\n"))
 		for series in options:
@@ -120,9 +119,7 @@
 			throw('Special Characters except "-" and "/" not allowed in naming series')
 
 	def get_options(self, arg=''):
-		sr = frappe.model.doctype.get_property(self.select_doc_for_series, 
-			'options', 'naming_series')
-		return sr
+		return frappe.get_meta(self.select_doc_for_series).get_field("naming_series").options
 
 	def get_current(self, arg=None):
 		"""get series current"""
@@ -172,7 +169,6 @@
 				ifnull({fieldname}, '')=''""".format(doctype=doctype, fieldname=fieldname))
 
 def get_default_naming_series(doctype):
-	from frappe.model.doctype import get_property
-	naming_series = get_property(doctype, "options", "naming_series")
+	naming_series = frappe.model.get_meta(doctype).get_field("naming_series").options or ""
 	naming_series = naming_series.split("\n")
 	return naming_series[0] or naming_series[1]
\ No newline at end of file
diff --git a/erpnext/setup/doctype/notification_control/notification_control.txt b/erpnext/setup/doctype/notification_control/notification_control.json
similarity index 100%
rename from erpnext/setup/doctype/notification_control/notification_control.txt
rename to erpnext/setup/doctype/notification_control/notification_control.json
diff --git a/erpnext/setup/doctype/print_heading/print_heading.txt b/erpnext/setup/doctype/print_heading/print_heading.json
similarity index 100%
rename from erpnext/setup/doctype/print_heading/print_heading.txt
rename to erpnext/setup/doctype/print_heading/print_heading.json
diff --git a/erpnext/setup/doctype/print_heading/test_print_heading.py b/erpnext/setup/doctype/print_heading/test_print_heading.py
index e9f61c4..6ccb4d6 100644
--- a/erpnext/setup/doctype/print_heading/test_print_heading.py
+++ b/erpnext/setup/doctype/print_heading/test_print_heading.py
@@ -1,4 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [[{"print_heading": "_Test Print Heading"}]]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Print Heading')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.txt b/erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.json
similarity index 100%
rename from erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.txt
rename to erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.json
diff --git a/erpnext/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py b/erpnext/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py
index 486dd86..0c96d45 100644
--- a/erpnext/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py
+++ b/erpnext/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py
@@ -1,4 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [[{"doctype":"Quotation Lost Reason", "order_lost_reason": "_Test Quotation Lost Reason"}]]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Quotation Lost Reason')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/sales_email_settings/sales_email_settings.txt b/erpnext/setup/doctype/sales_email_settings/sales_email_settings.json
similarity index 100%
rename from erpnext/setup/doctype/sales_email_settings/sales_email_settings.txt
rename to erpnext/setup/doctype/sales_email_settings/sales_email_settings.json
diff --git a/erpnext/setup/doctype/sales_partner/sales_partner.txt b/erpnext/setup/doctype/sales_partner/sales_partner.json
similarity index 100%
rename from erpnext/setup/doctype/sales_partner/sales_partner.txt
rename to erpnext/setup/doctype/sales_partner/sales_partner.json
diff --git a/erpnext/setup/doctype/sales_partner/test_sales_partner.py b/erpnext/setup/doctype/sales_partner/test_sales_partner.py
index 2dc0006..e14f5ec 100644
--- a/erpnext/setup/doctype/sales_partner/test_sales_partner.py
+++ b/erpnext/setup/doctype/sales_partner/test_sales_partner.py
@@ -1,4 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = []
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Sales Partner')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/sales_person/sales_person.txt b/erpnext/setup/doctype/sales_person/sales_person.json
similarity index 100%
rename from erpnext/setup/doctype/sales_person/sales_person.txt
rename to erpnext/setup/doctype/sales_person/sales_person.json
diff --git a/erpnext/setup/doctype/sales_person/test_sales_person.py b/erpnext/setup/doctype/sales_person/test_sales_person.py
index ebbc25e..8db97d3 100644
--- a/erpnext/setup/doctype/sales_person/test_sales_person.py
+++ b/erpnext/setup/doctype/sales_person/test_sales_person.py
@@ -2,28 +2,6 @@
 # License: GNU General Public License v3. See license.txt
 
 test_dependencies = ["Employee"]
-test_records = [
-	[{
-		"doctype": "Sales Person",
-		"sales_person_name": "_Test Sales Person",
-		"parent_sales_person": "Sales Team",
-		"is_group": "No",
-		"employee": "_T-Employee-0001",
-	}],
-	[{
-		"doctype": "Sales Person",
-		"sales_person_name": "_Test Sales Person 1",
-		"parent_sales_person": "Sales Team",
-		"is_group": "No",
-		"employee": "_T-Employee-0002",
-	}],
-	[{
-		"doctype": "Sales Person",
-		"sales_person_name": "_Test Sales Person 2",
-		"parent_sales_person": "Sales Team",
-		"is_group": "No",
-		"employee": "_T-Employee-0003",
-	}]
-	
-	
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Sales Person')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/sms_parameter/sms_parameter.txt b/erpnext/setup/doctype/sms_parameter/sms_parameter.json
similarity index 100%
rename from erpnext/setup/doctype/sms_parameter/sms_parameter.txt
rename to erpnext/setup/doctype/sms_parameter/sms_parameter.json
diff --git a/erpnext/setup/doctype/sms_settings/sms_settings.txt b/erpnext/setup/doctype/sms_settings/sms_settings.json
similarity index 100%
rename from erpnext/setup/doctype/sms_settings/sms_settings.txt
rename to erpnext/setup/doctype/sms_settings/sms_settings.json
diff --git a/erpnext/setup/doctype/supplier_type/supplier_type.txt b/erpnext/setup/doctype/supplier_type/supplier_type.json
similarity index 100%
rename from erpnext/setup/doctype/supplier_type/supplier_type.txt
rename to erpnext/setup/doctype/supplier_type/supplier_type.json
diff --git a/erpnext/setup/doctype/supplier_type/test_supplier_type.py b/erpnext/setup/doctype/supplier_type/test_supplier_type.py
index eb49ef4..b365a05 100644
--- a/erpnext/setup/doctype/supplier_type/test_supplier_type.py
+++ b/erpnext/setup/doctype/supplier_type/test_supplier_type.py
@@ -1,9 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"doctype": "Supplier Type",
-		"supplier_type": "_Test Supplier Type",
-	}]
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Supplier Type')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/target_detail/target_detail.txt b/erpnext/setup/doctype/target_detail/target_detail.json
similarity index 100%
rename from erpnext/setup/doctype/target_detail/target_detail.txt
rename to erpnext/setup/doctype/target_detail/target_detail.json
diff --git a/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.txt b/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.json
similarity index 100%
rename from erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.txt
rename to erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.json
diff --git a/erpnext/setup/doctype/terms_and_conditions/test_terms_and_conditions.py b/erpnext/setup/doctype/terms_and_conditions/test_terms_and_conditions.py
index acebf79..146930f 100644
--- a/erpnext/setup/doctype/terms_and_conditions/test_terms_and_conditions.py
+++ b/erpnext/setup/doctype/terms_and_conditions/test_terms_and_conditions.py
@@ -1,4 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [[{"title": "_Test Terms and Conditions", "terms": "_Test Terms"}]]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Terms And Conditions')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/territory/territory.txt b/erpnext/setup/doctype/territory/territory.json
similarity index 100%
rename from erpnext/setup/doctype/territory/territory.txt
rename to erpnext/setup/doctype/territory/territory.json
diff --git a/erpnext/setup/doctype/territory/test_territory.py b/erpnext/setup/doctype/territory/test_territory.py
index 3068b5f..22fad29 100644
--- a/erpnext/setup/doctype/territory/test_territory.py
+++ b/erpnext/setup/doctype/territory/test_territory.py
@@ -1,35 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"doctype": "Territory",
-		"territory_name": "_Test Territory",
-		"parent_territory": "All Territories",
-		"is_group": "No",
-	}],
-	[{
-		"doctype": "Territory",
-		"territory_name": "_Test Territory India",
-		"parent_territory": "All Territories",
-		"is_group": "Yes",
-	}],
-	[{
-		"doctype": "Territory",
-		"territory_name": "_Test Territory Maharashtra",
-		"parent_territory": "_Test Territory India",
-		"is_group": "No",
-	}],
-	[{
-		"doctype": "Territory",
-		"territory_name": "_Test Territory Rest Of The World",
-		"parent_territory": "All Territories",
-		"is_group": "No",
-	}],
-	[{
-		"doctype": "Territory",
-		"territory_name": "_Test Territory United States",
-		"parent_territory": "All Territories",
-		"is_group": "No",
-	}],
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Territory')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/uom/test_uom.py b/erpnext/setup/doctype/uom/test_uom.py
index 2a7f2ee..3511874 100644
--- a/erpnext/setup/doctype/uom/test_uom.py
+++ b/erpnext/setup/doctype/uom/test_uom.py
@@ -1,14 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"doctype": "UOM",
-		"uom_name": "_Test UOM",
-		"must_be_whole_number": 1
-	}],
-	[{
-		"doctype": "UOM",
-		"uom_name": "_Test UOM 1"
-	}]
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Uom')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/uom/uom.txt b/erpnext/setup/doctype/uom/uom.json
similarity index 100%
rename from erpnext/setup/doctype/uom/uom.txt
rename to erpnext/setup/doctype/uom/uom.json
diff --git a/erpnext/setup/doctype/website_item_group/website_item_group.txt b/erpnext/setup/doctype/website_item_group/website_item_group.json
similarity index 100%
rename from erpnext/setup/doctype/website_item_group/website_item_group.txt
rename to erpnext/setup/doctype/website_item_group/website_item_group.json
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.txt b/erpnext/setup/page/setup_wizard/setup_wizard.json
similarity index 100%
rename from erpnext/setup/page/setup_wizard/setup_wizard.txt
rename to erpnext/setup/page/setup_wizard/setup_wizard.json
diff --git a/erpnext/startup/boot.py b/erpnext/startup/boot.py
index 0311cdc..6624b1d 100644
--- a/erpnext/startup/boot.py
+++ b/erpnext/startup/boot.py
@@ -8,7 +8,6 @@
 def boot_session(bootinfo):
 	"""boot session - send website info if guest"""
 	import frappe
-	import frappe.model.doc
 	
 	bootinfo['custom_css'] = frappe.db.get_value('Style Settings', None, 'custom_css') or ''
 	bootinfo['website_settings'] = frappe.model.getsingle('Website Settings')
@@ -18,7 +17,6 @@
 		
 		load_country_and_currency(bootinfo)
 		
-		import frappe.model.doctype
 		bootinfo['notification_settings'] = frappe.get_doc("Notification Control", 
 			"Notification Control").get_values()
 				
diff --git a/erpnext/stock/Print Format/Delivery Note Classic/Delivery Note Classic.txt b/erpnext/stock/Print Format/Delivery Note Classic/Delivery Note Classic.json
similarity index 100%
rename from erpnext/stock/Print Format/Delivery Note Classic/Delivery Note Classic.txt
rename to erpnext/stock/Print Format/Delivery Note Classic/Delivery Note Classic.json
diff --git a/erpnext/stock/Print Format/Delivery Note Modern/Delivery Note Modern.txt b/erpnext/stock/Print Format/Delivery Note Modern/Delivery Note Modern.json
similarity index 100%
rename from erpnext/stock/Print Format/Delivery Note Modern/Delivery Note Modern.txt
rename to erpnext/stock/Print Format/Delivery Note Modern/Delivery Note Modern.json
diff --git a/erpnext/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt b/erpnext/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.json
similarity index 100%
rename from erpnext/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt
rename to erpnext/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.json
diff --git a/erpnext/stock/Print Format/Delivery Note Spartan/Delivery Note Spartan.txt b/erpnext/stock/Print Format/Delivery Note Spartan/Delivery Note Spartan.json
similarity index 100%
rename from erpnext/stock/Print Format/Delivery Note Spartan/Delivery Note Spartan.txt
rename to erpnext/stock/Print Format/Delivery Note Spartan/Delivery Note Spartan.json
diff --git a/erpnext/stock/doctype/batch/batch.txt b/erpnext/stock/doctype/batch/batch.json
similarity index 100%
rename from erpnext/stock/doctype/batch/batch.txt
rename to erpnext/stock/doctype/batch/batch.json
diff --git a/erpnext/stock/doctype/bin/bin.txt b/erpnext/stock/doctype/bin/bin.json
similarity index 100%
rename from erpnext/stock/doctype/bin/bin.txt
rename to erpnext/stock/doctype/bin/bin.json
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.txt b/erpnext/stock/doctype/delivery_note/delivery_note.json
similarity index 100%
rename from erpnext/stock/doctype/delivery_note/delivery_note.txt
rename to erpnext/stock/doctype/delivery_note/delivery_note.json
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index 6207d6c..c030244 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -6,7 +6,6 @@
 
 from frappe.utils import cstr, flt, cint
 
-from frappe.model.code import get_obj
 from frappe import msgprint, _
 import frappe.defaults
 from frappe.model.mapper import get_mapped_doc
@@ -150,7 +149,7 @@
 		self.validate_packed_qty()
 
 		# Check for Approving Authority
-		get_obj('Authorization Control').validate_approving_authority(self.doctype, self.company, self.grand_total, self)
+		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype, self.company, self.grand_total, self)
 		
 		# update delivered qty in sales order	
 		self.update_prevdoc_status()
diff --git a/erpnext/stock/doctype/delivery_note/test_delivery_note.py b/erpnext/stock/doctype/delivery_note/test_delivery_note.py
index 1c2becec..1ee4993 100644
--- a/erpnext/stock/doctype/delivery_note/test_delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/test_delivery_note.py
@@ -13,7 +13,7 @@
 	if not item_code:
 		item_code = pr_test_records[0][1]["item_code"]
 	
-	pr = frappe.get_doc(copy=pr_test_records[0])
+	pr = frappe.copy_doc(pr_test_records[0])
 	pr.doclist[1].item_code = item_code
 	pr.insert()
 	pr.submit()
@@ -25,7 +25,7 @@
 		
 		from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice
 		_insert_purchase_receipt()
-		dn = frappe.get_doc(copy=test_records[0]).insert()
+		dn = frappe.copy_doc(test_records[0]).insert()
 		
 		self.assertRaises(frappe.ValidationError, make_sales_invoice, 
 			dn.name)
@@ -48,7 +48,7 @@
 		
 		_insert_purchase_receipt()
 		
-		dn = frappe.get_doc(copy=test_records[0])
+		dn = frappe.copy_doc(test_records[0])
 		dn.insert()
 		dn.submit()
 		
@@ -68,7 +68,7 @@
 		
 		_insert_purchase_receipt()
 		
-		dn = frappe.get_doc(copy=test_records[0])
+		dn = frappe.copy_doc(test_records[0])
 		dn.doclist[1].expense_account = "Cost of Goods Sold - _TC"
 		dn.doclist[1].cost_center = "Main - _TC"
 
@@ -95,7 +95,7 @@
 		self.assertEquals(bal, prev_bal - 375.0)
 				
 		# back dated purchase receipt
-		pr = frappe.get_doc(copy=pr_test_records[0])
+		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
@@ -123,7 +123,7 @@
 		_insert_purchase_receipt()
 		_insert_purchase_receipt("_Test Item Home Desktop 100")
 		
-		dn = frappe.get_doc(copy=test_records[0])
+		dn = frappe.copy_doc(test_records[0])
 		dn.doclist[1].item_code = "_Test Sales BOM Item"
 		dn.doclist[1].qty = 1
 	
@@ -162,7 +162,7 @@
 		se = make_serialized_item()
 		serial_nos = get_serial_nos(se.doclist[1].serial_no)
 		
-		dn = frappe.get_doc(copy=test_records[0])
+		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]
@@ -199,7 +199,7 @@
 		sr.status = "Not Available"
 		sr.save()
 		
-		dn = frappe.get_doc(copy=test_records[0])
+		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]
@@ -214,43 +214,4 @@
 
 test_dependencies = ["Sales BOM"]
 
-test_records = [
-	[
-		{
-			"company": "_Test Company", 
-			"conversion_rate": 1.0, 
-			"currency": "INR", 
-			"customer": "_Test Customer", 
-			"customer_name": "_Test Customer",
-			"doctype": "Delivery Note", 
-			"fiscal_year": "_Test Fiscal Year 2013", 
-			"plc_conversion_rate": 1.0, 
-			"posting_date": "2013-02-21", 
-			"posting_time": "9:00:00", 
-			"price_list_currency": "INR", 
-			"selling_price_list": "_Test Price List", 
-			"status": "Draft", 
-			"territory": "_Test Territory",
-			"net_total": 500.0,
-			"grand_total": 500.0, 
-			"grand_total_export": 500.0,
-			"naming_series": "_T-Delivery Note-"
-		}, 
-		{
-			"description": "CPU", 
-			"doctype": "Delivery Note Item", 
-			"item_code": "_Test Item", 
-			"item_name": "_Test Item", 
-			"parentfield": "delivery_note_details", 
-			"qty": 5.0, 
-			"base_rate": 100.0,
-			"rate": 100.0,
-			"base_amount": 500.0,
-			"warehouse": "_Test Warehouse - _TC",
-			"stock_uom": "_Test UOM",
-			"expense_account": "Cost of Goods Sold - _TC",
-			"cost_center": "Main - _TC"
-		}
-	]
-	
-]
+test_records = frappe.get_test_records('Delivery Note')
\ No newline at end of file
diff --git a/erpnext/stock/doctype/delivery_note_item/delivery_note_item.txt b/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
similarity index 100%
rename from erpnext/stock/doctype/delivery_note_item/delivery_note_item.txt
rename to erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
diff --git a/erpnext/stock/doctype/item/item.txt b/erpnext/stock/doctype/item/item.json
similarity index 100%
rename from erpnext/stock/doctype/item/item.txt
rename to erpnext/stock/doctype/item/item.json
diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py
index 0ad6be2..506e5d0 100644
--- a/erpnext/stock/doctype/item/test_item.py
+++ b/erpnext/stock/doctype/item/test_item.py
@@ -13,7 +13,7 @@
 class TestItem(unittest.TestCase):
 	def test_default_warehouse(self):
 		from erpnext.stock.doctype.item.item import WarehouseNotSet
-		item = frappe.get_doc(copy=test_records[0])
+		item = frappe.copy_doc(test_records[0])
 		item.is_stock_item = "Yes"
 		item.default_warehouse = None
 		self.assertRaises(WarehouseNotSet, item.insert)
@@ -60,246 +60,4 @@
 		for key, value in to_check.iteritems():
 			self.assertEquals(value, details.get(key))
 
-test_records = [
-	[{
-		"doctype": "Item",
-		"item_code": "_Test Item",
-		"item_name": "_Test Item",
-		"description": "_Test Item",
-		"item_group": "_Test Item Group",
-		"is_stock_item": "Yes",
-		"is_asset_item": "No",
-		"has_batch_no": "No",
-		"has_serial_no": "No",
-		"is_purchase_item": "Yes",
-		"is_sales_item": "Yes",
-		"is_service_item": "No",
-		"inspection_required": "No",
-		"is_pro_applicable": "Yes",
-		"is_sub_contracted_item": "No",
-		"stock_uom": "_Test UOM",
-		"income_account": "Sales - _TC",
-		"default_warehouse": "_Test Warehouse - _TC",
-		"expense_account": "_Test Account Cost for Goods Sold - _TC",
-		"selling_cost_center": "_Test Cost Center - _TC",
-	}, {
-		"doctype": "Item Reorder",
-		"parentfield": "item_reorder",
-		"warehouse": "_Test Warehouse - _TC",
-		"warehouse_reorder_level": 20,
-		"warehouse_reorder_qty": 20,
-		"material_request_type": "Purchase"
-	},
-	],
-	[{
-		"doctype": "Item",
-		"item_code": "_Test Item 2",
-		"item_name": "_Test Item 2",
-		"description": "_Test Item 2",
-		"item_group": "_Test Item Group",
-		"is_stock_item": "Yes",
-		"is_asset_item": "No",
-		"has_batch_no": "No",
-		"has_serial_no": "No",
-		"is_purchase_item": "Yes",
-		"is_sales_item": "Yes",
-		"is_service_item": "No",
-		"inspection_required": "No",
-		"is_pro_applicable": "Yes",
-		"is_sub_contracted_item": "No",
-		"stock_uom": "_Test UOM",
-		"income_account": "Sales - _TC",
-		"default_warehouse": "_Test Warehouse - _TC",
-		"expense_account": "_Test Account Cost for Goods Sold - _TC"
-	}],	
-	[{
-		"doctype": "Item",
-		"item_code": "_Test Item Home Desktop 100",
-		"item_name": "_Test Item Home Desktop 100",
-		"description": "_Test Item Home Desktop 100",
-		"item_group": "_Test Item Group Desktops",
-		"default_warehouse": "_Test Warehouse - _TC",
-		"income_account": "Sales - _TC",
-		"expense_account": "_Test Account Cost for Goods Sold - _TC",
-		"is_stock_item": "Yes",
-		"is_asset_item": "No",
-		"has_batch_no": "No",
-		"has_serial_no": "No",
-		"is_purchase_item": "Yes",
-		"is_sales_item": "Yes",
-		"is_service_item": "No",
-		"inspection_required": "No",
-		"is_pro_applicable": "No",
-		"is_sub_contracted_item": "No",
-		"is_manufactured_item": "No",
-		"stock_uom": "_Test UOM"
-	},
-	{
-		"doctype": "Item Tax",
-		"tax_type": "_Test Account Excise Duty - _TC",
-		"tax_rate": 10
-	}],
-	[{
-		"doctype": "Item",
-		"item_code": "_Test Item Home Desktop 200",
-		"item_name": "_Test Item Home Desktop 200",
-		"description": "_Test Item Home Desktop 200",
-		"item_group": "_Test Item Group Desktops",
-		"default_warehouse": "_Test Warehouse - _TC",
-		"income_account": "Sales - _TC",
-		"expense_account": "_Test Account Cost for Goods Sold - _TC",
-		"is_stock_item": "Yes",
-		"is_asset_item": "No",
-		"has_batch_no": "No",
-		"has_serial_no": "No",
-		"is_purchase_item": "Yes",
-		"is_sales_item": "Yes",
-		"is_service_item": "No",
-		"inspection_required": "No",
-		"is_pro_applicable": "No",
-		"is_sub_contracted_item": "No",
-		"is_manufactured_item": "No",
-		"stock_uom": "_Test UOM"
-	}],
-	[{
-		"doctype": "Item",
-		"item_code": "_Test Sales BOM Item",
-		"item_name": "_Test Sales BOM Item",
-		"description": "_Test Sales BOM Item",
-		"item_group": "_Test Item Group Desktops",
-		"income_account": "Sales - _TC",
-		"expense_account": "_Test Account Cost for Goods Sold - _TC",
-		"is_stock_item": "No",
-		"is_asset_item": "No",
-		"has_batch_no": "No",
-		"has_serial_no": "No",
-		"is_purchase_item": "Yes",
-		"is_sales_item": "Yes",
-		"is_service_item": "No",
-		"inspection_required": "No",
-		"is_pro_applicable": "No",
-		"is_sub_contracted_item": "No",
-		"stock_uom": "_Test UOM"
-	}],
-	[{
-		"doctype": "Item",
-		"item_code": "_Test FG Item",
-		"item_name": "_Test FG Item",
-		"description": "_Test FG Item",
-		"item_group": "_Test Item Group Desktops",
-		"is_stock_item": "Yes",
-		"default_warehouse": "_Test Warehouse - _TC",
-		"income_account": "Sales - _TC",
-		"expense_account": "_Test Account Cost for Goods Sold - _TC",
-		"is_asset_item": "No",
-		"has_batch_no": "No",
-		"has_serial_no": "No",
-		"is_purchase_item": "Yes",
-		"is_sales_item": "Yes",
-		"is_service_item": "No",
-		"inspection_required": "No",
-		"is_pro_applicable": "Yes",
-		"is_sub_contracted_item": "Yes",
-		"stock_uom": "_Test UOM"
-	}],
-	[{
-		"doctype": "Item",
-		"item_code": "_Test Non Stock Item",
-		"item_name": "_Test Non Stock Item",
-		"description": "_Test Non Stock Item",
-		"item_group": "_Test Item Group Desktops",
-		"is_stock_item": "No",
-		"is_asset_item": "No",
-		"has_batch_no": "No",
-		"has_serial_no": "No",
-		"is_purchase_item": "Yes",
-		"is_sales_item": "Yes",
-		"is_service_item": "No",
-		"inspection_required": "No",
-		"is_pro_applicable": "No",
-		"is_sub_contracted_item": "No",
-		"stock_uom": "_Test UOM"
-	}],
-	[{
-		"doctype": "Item",
-		"item_code": "_Test Serialized Item",
-		"item_name": "_Test Serialized Item",
-		"description": "_Test Serialized Item",
-		"item_group": "_Test Item Group Desktops",
-		"is_stock_item": "Yes",
-		"default_warehouse": "_Test Warehouse - _TC",
-		"is_asset_item": "No",
-		"has_batch_no": "No",
-		"has_serial_no": "Yes",
-		"is_purchase_item": "Yes",
-		"is_sales_item": "Yes",
-		"is_service_item": "No",
-		"inspection_required": "No",
-		"is_pro_applicable": "No",
-		"is_sub_contracted_item": "No",
-		"stock_uom": "_Test UOM"
-	}],
-	[{
-		"doctype": "Item",
-		"item_code": "_Test Serialized Item With Series",
-		"item_name": "_Test Serialized Item With Series",
-		"description": "_Test Serialized Item",
-		"item_group": "_Test Item Group Desktops",
-		"is_stock_item": "Yes",
-		"default_warehouse": "_Test Warehouse - _TC",
-		"is_asset_item": "No",
-		"has_batch_no": "No",
-		"has_serial_no": "Yes",
-		"serial_no_series": "ABCD.#####",
-		"is_purchase_item": "Yes",
-		"is_sales_item": "Yes",
-		"is_service_item": "No",
-		"inspection_required": "No",
-		"is_pro_applicable": "Yes",
-		"is_sub_contracted_item": "No",
-		"stock_uom": "_Test UOM"
-	}],
-	[{
-		"doctype": "Item",
-		"item_code": "_Test Item Home Desktop Manufactured",
-		"item_name": "_Test Item Home Desktop Manufactured",
-		"description": "_Test Item Home Desktop Manufactured",
-		"item_group": "_Test Item Group Desktops",
-		"default_warehouse": "_Test Warehouse - _TC",
-		"income_account": "Sales - _TC",
-		"expense_account": "_Test Account Cost for Goods Sold - _TC",
-		"is_stock_item": "Yes",
-		"is_asset_item": "No",
-		"has_batch_no": "No",
-		"has_serial_no": "No",
-		"is_purchase_item": "Yes",
-		"is_sales_item": "Yes",
-		"is_service_item": "No",
-		"inspection_required": "No",
-		"is_pro_applicable": "Yes",
-		"is_sub_contracted_item": "No",
-		"is_manufactured_item": "Yes",
-		"stock_uom": "_Test UOM"
-	}],
-	[{
-		"doctype": "Item",
-		"item_code": "_Test FG Item 2",
-		"item_name": "_Test FG Item 2",
-		"description": "_Test FG Item 2",
-		"item_group": "_Test Item Group Desktops",
-		"is_stock_item": "Yes",
-		"default_warehouse": "_Test Warehouse - _TC",
-		"income_account": "Sales - _TC",
-		"expense_account": "_Test Account Cost for Goods Sold - _TC",
-		"is_asset_item": "No",
-		"has_batch_no": "No",
-		"has_serial_no": "No",
-		"is_purchase_item": "Yes",
-		"is_sales_item": "Yes",
-		"is_service_item": "No",
-		"inspection_required": "No",
-		"is_pro_applicable": "Yes",
-		"is_sub_contracted_item": "Yes",
-		"stock_uom": "_Test UOM"
-	}],
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Item')
\ No newline at end of file
diff --git a/erpnext/stock/doctype/item_customer_detail/item_customer_detail.txt b/erpnext/stock/doctype/item_customer_detail/item_customer_detail.json
similarity index 100%
rename from erpnext/stock/doctype/item_customer_detail/item_customer_detail.txt
rename to erpnext/stock/doctype/item_customer_detail/item_customer_detail.json
diff --git a/erpnext/stock/doctype/item_price/item_price.txt b/erpnext/stock/doctype/item_price/item_price.json
similarity index 100%
rename from erpnext/stock/doctype/item_price/item_price.txt
rename to erpnext/stock/doctype/item_price/item_price.json
diff --git a/erpnext/stock/doctype/item_price/test_item_price.py b/erpnext/stock/doctype/item_price/test_item_price.py
index 310c7d9..a1a10ba 100644
--- a/erpnext/stock/doctype/item_price/test_item_price.py
+++ b/erpnext/stock/doctype/item_price/test_item_price.py
@@ -8,16 +8,7 @@
 class TestItem(unittest.TestCase):
 	def test_duplicate_item(self):
 		from erpnext.stock.doctype.item_price.item_price import ItemPriceDuplicateItem
-		bean = frappe.get_doc(copy=test_records[0])
+		bean = frappe.copy_doc(test_records[0])
 		self.assertRaises(ItemPriceDuplicateItem, bean.insert)
 
-test_records = [
-	[
-		{
-			"doctype": "Item Price",
-			"price_list": "_Test Price List",
-			"item_code": "_Test Item",
-			"price_list_rate": 100
-		}
-	]
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Item Price')
\ No newline at end of file
diff --git a/erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.txt b/erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.json
similarity index 100%
rename from erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.txt
rename to erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.json
diff --git a/erpnext/stock/doctype/item_reorder/item_reorder.txt b/erpnext/stock/doctype/item_reorder/item_reorder.json
similarity index 100%
rename from erpnext/stock/doctype/item_reorder/item_reorder.txt
rename to erpnext/stock/doctype/item_reorder/item_reorder.json
diff --git a/erpnext/stock/doctype/item_supplier/item_supplier.txt b/erpnext/stock/doctype/item_supplier/item_supplier.json
similarity index 100%
rename from erpnext/stock/doctype/item_supplier/item_supplier.txt
rename to erpnext/stock/doctype/item_supplier/item_supplier.json
diff --git a/erpnext/stock/doctype/item_tax/item_tax.txt b/erpnext/stock/doctype/item_tax/item_tax.json
similarity index 100%
rename from erpnext/stock/doctype/item_tax/item_tax.txt
rename to erpnext/stock/doctype/item_tax/item_tax.json
diff --git a/erpnext/stock/doctype/item_website_specification/item_website_specification.txt b/erpnext/stock/doctype/item_website_specification/item_website_specification.json
similarity index 100%
rename from erpnext/stock/doctype/item_website_specification/item_website_specification.txt
rename to erpnext/stock/doctype/item_website_specification/item_website_specification.json
diff --git a/erpnext/stock/doctype/landed_cost_item/landed_cost_item.txt b/erpnext/stock/doctype/landed_cost_item/landed_cost_item.json
similarity index 100%
rename from erpnext/stock/doctype/landed_cost_item/landed_cost_item.txt
rename to erpnext/stock/doctype/landed_cost_item/landed_cost_item.json
diff --git a/erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.txt b/erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json
similarity index 100%
rename from erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.txt
rename to erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json
diff --git a/erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.txt b/erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.json
similarity index 100%
rename from erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.txt
rename to erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.json
diff --git a/erpnext/stock/doctype/material_request/material_request.txt b/erpnext/stock/doctype/material_request/material_request.json
similarity index 100%
rename from erpnext/stock/doctype/material_request/material_request.txt
rename to erpnext/stock/doctype/material_request/material_request.json
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index c8f38ed..42c6f23 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -9,7 +9,6 @@
 
 from frappe.utils import cstr, flt
 from frappe.model.utils import getlist
-from frappe.model.code import get_obj
 from frappe import msgprint, _
 
 from erpnext.controllers.buying_controller import BuyingController
@@ -70,7 +69,7 @@
 		
 		self.validate_value("material_request_type", "in", ["Purchase", "Transfer"])
 
-		pc_obj = get_obj(dt='Purchase Common')
+		pc_obj = frappe.get_doc(dt='Purchase Common')
 		pc_obj.validate_for_items(self)
 		
 		# self.validate_qty_against_so()
@@ -126,7 +125,7 @@
 
 	def on_cancel(self):
 		# Step 1:=> Get Purchase Common Obj
-		pc_obj = get_obj(dt='Purchase Common')
+		pc_obj = frappe.get_doc(dt='Purchase Common')
 		
 		# Step 2:=> Check for stopped status
 		pc_obj.check_for_stopped_status(self.doctype, self.name)
@@ -176,7 +175,7 @@
 				material_request_map.setdefault(d.material_request, []).append(d.material_request_item)
 			
 		for mr_name, mr_items in material_request_map.items():
-			mr_obj = frappe.get_obj("Material Request", mr_name, with_children=1)
+			mr_obj = frappe.get_doc("Material Request", mr_name)
 			mr_doctype = frappe.get_meta("Material Request")
 			
 			if mr_obj.status in ["Stopped", "Cancelled"]:
diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py
index 66c4dd2..ecdc9c0 100644
--- a/erpnext/stock/doctype/material_request/test_material_request.py
+++ b/erpnext/stock/doctype/material_request/test_material_request.py
@@ -15,7 +15,7 @@
 	def test_make_purchase_order(self):
 		from erpnext.stock.doctype.material_request.material_request import make_purchase_order
 
-		mr = frappe.get_doc(copy=test_records[0]).insert()
+		mr = frappe.copy_doc(test_records[0]).insert()
 
 		self.assertRaises(frappe.ValidationError, make_purchase_order, 
 			mr.name)
@@ -30,7 +30,7 @@
 	def test_make_supplier_quotation(self):
 		from erpnext.stock.doctype.material_request.material_request import make_supplier_quotation
 
-		mr = frappe.get_doc(copy=test_records[0]).insert()
+		mr = frappe.copy_doc(test_records[0]).insert()
 
 		self.assertRaises(frappe.ValidationError, make_supplier_quotation, 
 			mr.name)
@@ -46,7 +46,7 @@
 	def test_make_stock_entry(self):
 		from erpnext.stock.doctype.material_request.material_request import make_stock_entry
 
-		mr = frappe.get_doc(copy=test_records[0]).insert()
+		mr = frappe.copy_doc(test_records[0]).insert()
 
 		self.assertRaises(frappe.ValidationError, make_stock_entry, 
 			mr.name)
@@ -112,7 +112,7 @@
 		frappe.db.sql("""delete from `tabBin`""")
 		
 		# submit material request of type Purchase
-		mr = frappe.get_doc(copy=test_records[0])
+		mr = frappe.copy_doc(test_records[0])
 		mr.insert()
 		mr.submit()
 		
@@ -133,14 +133,14 @@
 
 		
 		# check for stopped status of Material Request
-		po = frappe.get_doc(copy=po_doclist)
+		po = frappe.copy_doc(po_doclist)
 		po.insert()
 		mr.obj.update_status('Stopped')
 		self.assertRaises(frappe.ValidationError, po.submit)
 		self.assertRaises(frappe.ValidationError, po.cancel)
 
 		mr.obj.update_status('Submitted')
-		po = frappe.get_doc(copy=po_doclist)
+		po = frappe.copy_doc(po_doclist)
 		po.insert()
 		po.submit()
 		
@@ -160,7 +160,7 @@
 		frappe.db.sql("""delete from `tabStock Ledger Entry`""")
 		
 		# submit material request of type Purchase
-		mr = frappe.get_doc(copy=test_records[0])
+		mr = frappe.copy_doc(test_records[0])
 		mr.material_request_type = "Transfer"
 		mr.insert()
 		mr.submit()
@@ -196,14 +196,14 @@
 		self._insert_stock_entry(27.0, 1.5)
 		
 		# check for stopped status of Material Request
-		se = frappe.get_doc(copy=se_doclist)
+		se = frappe.copy_doc(se_doclist)
 		se.insert()
 		mr.obj.update_status('Stopped')
 		self.assertRaises(frappe.ValidationError, se.submit)
 		self.assertRaises(frappe.ValidationError, se.cancel)
 		
 		mr.obj.update_status('Submitted')
-		se = frappe.get_doc(copy=se_doclist)
+		se = frappe.copy_doc(se_doclist)
 		se.insert()
 		se.submit()
 		
@@ -223,7 +223,7 @@
 		frappe.db.sql("""delete from `tabStock Ledger Entry`""")
 		
 		# submit material request of type Purchase
-		mr = frappe.get_doc(copy=test_records[0])
+		mr = frappe.copy_doc(test_records[0])
 		mr.material_request_type = "Transfer"
 		mr.insert()
 		mr.submit()
@@ -259,14 +259,14 @@
 		self._insert_stock_entry(60.0, 3.0)
 		
 		# check for stopped status of Material Request
-		se = frappe.get_doc(copy=se_doclist)
+		se = frappe.copy_doc(se_doclist)
 		se.insert()
 		mr.obj.update_status('Stopped')
 		self.assertRaises(frappe.ValidationError, se.submit)
 		self.assertRaises(frappe.ValidationError, se.cancel)
 		
 		mr.obj.update_status('Submitted')
-		se = frappe.get_doc(copy=se_doclist)
+		se = frappe.copy_doc(se_doclist)
 		se.insert()
 		se.submit()
 		
@@ -283,7 +283,7 @@
 		
 	def test_incorrect_mapping_of_stock_entry(self):
 		# submit material request of type Purchase
-		mr = frappe.get_doc(copy=test_records[0])
+		mr = frappe.copy_doc(test_records[0])
 		mr.material_request_type = "Transfer"
 		mr.insert()
 		mr.submit()
@@ -312,47 +312,14 @@
 		})
 		
 		# check for stopped status of Material Request
-		se = frappe.get_doc(copy=se_doclist)
+		se = frappe.copy_doc(se_doclist)
 		self.assertRaises(frappe.MappingMismatchError, se.insert)
 		
 	def test_warehouse_company_validation(self):
 		from erpnext.stock.utils import InvalidWarehouseCompany
-		mr = frappe.get_doc(copy=test_records[0])
+		mr = frappe.copy_doc(test_records[0])
 		mr.company = "_Test Company 1"
 		self.assertRaises(InvalidWarehouseCompany, mr.insert)
 
 test_dependencies = ["Currency Exchange"]
-test_records = [
-	[
-		{
-			"company": "_Test Company", 
-			"doctype": "Material Request", 
-			"fiscal_year": "_Test Fiscal Year 2013", 
-			"transaction_date": "2013-02-18",
-			"material_request_type": "Purchase",
-			"naming_series": "_T-Material Request-"
-		}, 
-		{
-			"description": "_Test Item Home Desktop 100", 
-			"doctype": "Material Request Item", 
-			"item_code": "_Test Item Home Desktop 100", 
-			"item_name": "_Test Item Home Desktop 100", 
-			"parentfield": "indent_details", 
-			"qty": 54.0, 
-			"schedule_date": "2013-02-18", 
-			"uom": "_Test UOM 1",
-			"warehouse": "_Test Warehouse - _TC"
-		}, 
-		{
-			"description": "_Test Item Home Desktop 200", 
-			"doctype": "Material Request Item", 
-			"item_code": "_Test Item Home Desktop 200", 
-			"item_name": "_Test Item Home Desktop 200", 
-			"parentfield": "indent_details", 
-			"qty": 3.0, 
-			"schedule_date": "2013-02-19", 
-			"uom": "_Test UOM 1",
-			"warehouse": "_Test Warehouse - _TC"
-		}
-	],
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Material Request')
\ No newline at end of file
diff --git a/erpnext/stock/doctype/material_request_item/material_request_item.txt b/erpnext/stock/doctype/material_request_item/material_request_item.json
similarity index 100%
rename from erpnext/stock/doctype/material_request_item/material_request_item.txt
rename to erpnext/stock/doctype/material_request_item/material_request_item.json
diff --git a/erpnext/stock/doctype/packed_item/packed_item.txt b/erpnext/stock/doctype/packed_item/packed_item.json
similarity index 100%
rename from erpnext/stock/doctype/packed_item/packed_item.txt
rename to erpnext/stock/doctype/packed_item/packed_item.json
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.txt b/erpnext/stock/doctype/packing_slip/packing_slip.json
similarity index 100%
rename from erpnext/stock/doctype/packing_slip/packing_slip.txt
rename to erpnext/stock/doctype/packing_slip/packing_slip.json
diff --git a/erpnext/stock/doctype/packing_slip_item/packing_slip_item.txt b/erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
similarity index 100%
rename from erpnext/stock/doctype/packing_slip_item/packing_slip_item.txt
rename to erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
diff --git a/erpnext/stock/doctype/price_list/price_list.txt b/erpnext/stock/doctype/price_list/price_list.json
similarity index 100%
rename from erpnext/stock/doctype/price_list/price_list.txt
rename to erpnext/stock/doctype/price_list/price_list.json
diff --git a/erpnext/stock/doctype/price_list/test_price_list.py b/erpnext/stock/doctype/price_list/test_price_list.py
index 8ec53cb..ca7f47d 100644
--- a/erpnext/stock/doctype/price_list/test_price_list.py
+++ b/erpnext/stock/doctype/price_list/test_price_list.py
@@ -6,70 +6,4 @@
 
 # test_ignore = ["Item"]
 
-test_records = [
-	[
-		{
-			"doctype": "Price List",
-			"price_list_name": "_Test Price List",
-			"enabled": 1,
-			"currency": "INR",
-			"selling": 1,
-			"buying": 1
-		},
-		{
-			"doctype": "Applicable Territory",
-			"parentfield": "valid_for_territories",
-			"territory": "All Territories"
-		},
-	],
-	[
-		{
-			"doctype": "Price List",
-			"price_list_name": "_Test Price List 2",
-			"enabled": 1,
-			"currency": "INR",
-			"selling": 1,
-			"buying": 1
-		},
-		{
-			"doctype": "Applicable Territory",
-			"parentfield": "valid_for_territories",
-			"territory": "_Test Territory Rest Of The World"
-		}
-	],
-	[
-		{
-			"doctype": "Price List",
-			"price_list_name": "_Test Price List India",
-			"enabled": 1,
-			"currency": "INR",
-			"selling": 1,
-			"buying": 1
-		},
-		{
-			"doctype": "Applicable Territory",
-			"parentfield": "valid_for_territories",
-			"territory": "_Test Territory India"
-		}
-	],
-	[
-		{
-			"doctype": "Price List",
-			"price_list_name": "_Test Price List Rest of the World",
-			"enabled": 1,
-			"currency": "USD",
-			"selling": 1,
-			"buying": 1
-		},
-		{
-			"doctype": "Applicable Territory",
-			"parentfield": "valid_for_territories",
-			"territory": "_Test Territory Rest Of The World"
-		},
-		{
-			"doctype": "Applicable Territory",
-			"parentfield": "valid_for_territories",
-			"territory": "_Test Territory United States"
-		}
-	],
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Price List')
\ No newline at end of file
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
similarity index 100%
rename from erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt
rename to erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index a00a07a..950db93 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -6,7 +6,6 @@
 
 from frappe.utils import cstr, flt, cint
 
-from frappe.model.code import get_obj
 from frappe import msgprint, _
 import frappe.defaults
 from erpnext.stock.utils import update_bin
@@ -54,7 +53,7 @@
 		self.validate_uom_is_integer("stock_uom", "stock_qty")
 		self.validate_challan_no()
 
-		pc_obj = get_obj(dt='Purchase Common')
+		pc_obj = frappe.get_doc(dt='Purchase Common')
 		pc_obj.validate_for_items(self)
 		self.check_for_stopped_status(pc_obj)
 
@@ -223,10 +222,10 @@
 
 	# on submit
 	def on_submit(self):
-		purchase_controller = frappe.get_obj("Purchase Common")
+		purchase_controller = frappe.get_doc("Purchase Common")
 
 		# Check for Approving Authority
-		get_obj('Authorization Control').validate_approving_authority(self.doctype, self.company, self.grand_total)
+		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype, self.company, self.grand_total)
 
 		# Set status as Submitted
 		frappe.db.set(self, 'status', 'Submitted')
@@ -255,7 +254,7 @@
 
 
 	def on_cancel(self):
-		pc_obj = get_obj('Purchase Common')
+		pc_obj = frappe.get_doc('Purchase Common')
 
 		self.check_for_stopped_status(pc_obj)
 		# Check if Purchase Invoice has been submitted against current Purchase Order
@@ -285,7 +284,7 @@
 				d.current_stock = bin and flt(bin[0]['actual_qty']) or 0
 
 	def get_rate(self,arg):
-		return get_obj('Purchase Common').get_rate(arg,self)
+		return frappe.get_doc('Purchase Common').get_rate(arg,self)
 		
 	def get_gl_entries(self, warehouse_account=None):
 		against_stock_account = self.get_company_default("stock_received_but_not_billed")
diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
index 0b22425..4c2b3a0 100644
--- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
@@ -14,7 +14,7 @@
 		set_perpetual_inventory(0)
 		from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
 
-		pr = frappe.get_doc(copy=test_records[0]).insert()
+		pr = frappe.copy_doc(test_records[0]).insert()
 		
 		self.assertRaises(frappe.ValidationError, make_purchase_invoice, 
 			pr.name)
@@ -33,7 +33,7 @@
 	def test_purchase_receipt_no_gl_entry(self):
 		self._clear_stock_account_balance()
 		set_perpetual_inventory(0)
-		pr = frappe.get_doc(copy=test_records[0])
+		pr = frappe.copy_doc(test_records[0])
 		pr.insert()
 		pr.submit()
 		
@@ -56,7 +56,7 @@
 		set_perpetual_inventory()
 		self.assertEqual(cint(frappe.defaults.get_global_default("auto_accounting_for_stock")), 1)
 		
-		pr = frappe.get_doc(copy=test_records[0])
+		pr = frappe.copy_doc(test_records[0])
 		pr.insert()
 		pr.submit()
 		
@@ -90,7 +90,7 @@
 		frappe.db.sql("""delete from `tabGL Entry`""")
 		
 	def test_subcontracting(self):
-		pr = frappe.get_doc(copy=test_records[1])
+		pr = frappe.copy_doc(test_records[1])
 		pr.run_method("calculate_taxes_and_totals")
 		pr.insert()
 		
@@ -98,7 +98,7 @@
 		self.assertEquals(len(pr.get("pr_raw_material_details")), 2)
 		
 	def test_serial_no_supplier(self):
-		pr = frappe.get_doc(copy=test_records[0])
+		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
@@ -130,119 +130,4 @@
 		
 test_dependencies = ["BOM"]
 
-test_records = [
-	[
-		{
-			"company": "_Test Company", 
-			"conversion_rate": 1.0, 
-			"currency": "INR", 
-			"doctype": "Purchase Receipt", 
-			"fiscal_year": "_Test Fiscal Year 2013", 
-			"posting_date": "2013-02-12", 
-			"posting_time": "15:33:30", 
-			"supplier": "_Test Supplier",
-			"net_total": 500.0, 
-			"grand_total": 720.0,
-			"naming_series": "_T-Purchase Receipt-",
-			"buying_price_list": "_Test Price List"
-		}, 
-		{
-			"conversion_factor": 1.0, 
-			"description": "_Test Item", 
-			"doctype": "Purchase Receipt Item", 
-			"item_code": "_Test Item", 
-			"item_name": "_Test Item", 
-			"parentfield": "purchase_receipt_details", 
-			"received_qty": 5.0,
-			"qty": 5.0,
-			"rejected_qty": 0.0,
-			"rate": 50.0,
-			"base_amount": 250.0,
-			"warehouse": "_Test Warehouse - _TC", 
-			"stock_uom": "Nos", 
-			"uom": "_Test UOM",
-		},
-		{
-			"conversion_factor": 1.0, 
-			"description": "_Test Item", 
-			"doctype": "Purchase Receipt Item", 
-			"item_code": "_Test Item", 
-			"item_name": "_Test Item", 
-			"parentfield": "purchase_receipt_details", 
-			"received_qty": 5.0,
-			"qty": 5.0,
-			"rejected_qty": 0.0,
-			"rate": 50.0,
-			"base_amount": 250.0,
-			"warehouse": "_Test Warehouse 1 - _TC", 
-			"stock_uom": "Nos", 
-			"uom": "_Test UOM",
-		},
-		{
-			"account_head": "_Test Account Shipping Charges - _TC", 
-			"add_deduct_tax": "Add", 
-			"category": "Valuation and Total", 
-			"charge_type": "Actual", 
-			"description": "Shipping Charges", 
-			"doctype": "Purchase Taxes and Charges", 
-			"parentfield": "other_charges",
-			"rate": 100.0,
-			"tax_amount": 100.0,
-		},
-		{
-			"account_head": "_Test Account VAT - _TC", 
-			"add_deduct_tax": "Add", 
-			"category": "Total", 
-			"charge_type": "Actual", 
-			"description": "VAT", 
-			"doctype": "Purchase Taxes and Charges", 
-			"parentfield": "other_charges",
-			"rate": 120.0,
-			"tax_amount": 120.0,
-		},
-		{
-			"account_head": "_Test Account Customs Duty - _TC", 
-			"add_deduct_tax": "Add", 
-			"category": "Valuation", 
-			"charge_type": "Actual", 
-			"description": "Customs Duty", 
-			"doctype": "Purchase Taxes and Charges", 
-			"parentfield": "other_charges",
-			"rate": 150.0,
-			"tax_amount": 150.0,
-		},
-	],
-	[
-		{
-			"company": "_Test Company", 
-			"conversion_rate": 1.0, 
-			"currency": "INR", 
-			"doctype": "Purchase Receipt", 
-			"fiscal_year": "_Test Fiscal Year 2013", 
-			"posting_date": "2013-02-12", 
-			"posting_time": "15:33:30", 
-			"is_subcontracted": "Yes",
-			"supplier_warehouse": "_Test Warehouse - _TC", 
-			"supplier": "_Test Supplier",
-			"net_total": 5000.0, 
-			"grand_total": 5000.0,
-			"buying_price_list": "_Test Price List"
-		}, 
-		{
-			"conversion_factor": 1.0, 
-			"description": "_Test FG Item", 
-			"doctype": "Purchase Receipt Item", 
-			"item_code": "_Test FG Item", 
-			"item_name": "_Test FG Item", 
-			"parentfield": "purchase_receipt_details", 
-			"received_qty": 10.0,
-			"qty": 10.0,
-			"rejected_qty": 0.0,
-			"rate": 500.0,
-			"base_amount": 5000.0,
-			"warehouse": "_Test Warehouse - _TC", 
-			"stock_uom": "Nos", 
-			"uom": "_Test UOM",
-		}
-	],
-]
\ No newline at end of file
+test_records = frappe.get_test_records('Purchase Receipt')
\ No newline at end of file
diff --git a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.txt b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
similarity index 100%
rename from erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.txt
rename to erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
diff --git a/erpnext/stock/doctype/serial_no/serial_no.txt b/erpnext/stock/doctype/serial_no/serial_no.json
similarity index 100%
rename from erpnext/stock/doctype/serial_no/serial_no.txt
rename to erpnext/stock/doctype/serial_no/serial_no.json
diff --git a/erpnext/stock/doctype/serial_no/test_serial_no.py b/erpnext/stock/doctype/serial_no/test_serial_no.py
index dc9c155..30368b6 100644
--- a/erpnext/stock/doctype/serial_no/test_serial_no.py
+++ b/erpnext/stock/doctype/serial_no/test_serial_no.py
@@ -8,7 +8,7 @@
 import frappe, unittest
 
 test_dependencies = ["Item"]
-test_records = []
+test_records = frappe.get_test_records('Serial No')
 
 from erpnext.stock.doctype.serial_no.serial_no import *
 
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.txt b/erpnext/stock/doctype/stock_entry/stock_entry.json
similarity index 100%
rename from erpnext/stock/doctype/stock_entry/stock_entry.txt
rename to erpnext/stock/doctype/stock_entry/stock_entry.json
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index a21c9fc..6191811 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -7,7 +7,6 @@
 
 from frappe.utils import cstr, cint, flt, comma_or, nowdate
 
-from frappe.model.code import get_obj
 from frappe import msgprint, _
 from erpnext.stock.utils import get_incoming_rate
 from erpnext.stock.stock_ledger import get_previous_sle
@@ -30,7 +29,7 @@
 		self.validate_posting_time()
 		self.validate_purpose()
 		pro_obj = self.production_order and \
-			get_obj('Production Order', self.production_order) or None
+			frappe.get_doc('Production Order', self.production_order) or None
 
 		self.validate_item()
 		self.validate_uom_is_integer("uom", "qty")
@@ -139,7 +138,7 @@
 	def validate_production_order(self, pro_obj=None):
 		if not pro_obj:
 			if self.production_order:
-				pro_obj = get_obj('Production Order', self.production_order)
+				pro_obj = frappe.get_doc('Production Order', self.production_order)
 			else:
 				return
 		
@@ -432,7 +431,7 @@
 		pro_obj = None
 		if self.production_order:
 			# common validations
-			pro_obj = get_obj('Production Order', self.production_order)
+			pro_obj = frappe.get_doc('Production Order', self.production_order)
 			if pro_obj:
 				self.validate_production_order(pro_obj)
 				self.bom_no = pro_obj.bom_no
diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
index db816fd..98e1b00 100644
--- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
@@ -22,11 +22,11 @@
 
 		frappe.db.set_value("Stock Settings", None, "auto_indent", True)
 
-		st1 = frappe.get_doc(copy=test_records[0])
+		st1 = frappe.copy_doc(test_records[0])
 		st1.insert()
 		st1.submit()
 
-		st2 = frappe.get_doc(copy=test_records[1])
+		st2 = frappe.copy_doc(test_records[1])
 		st2.insert()
 		st2.submit()
 				
@@ -45,7 +45,7 @@
 		self._clear_stock_account_balance()
 		set_perpetual_inventory()
 
-		mr = frappe.get_doc(copy=test_records[0])
+		mr = frappe.copy_doc(test_records[0])
 		mr.insert()
 		mr.submit()
 
@@ -77,7 +77,7 @@
 
 		self._insert_material_receipt()
 
-		mi = frappe.get_doc(copy=test_records[1])
+		mi = frappe.copy_doc(test_records[1])
 		mi.insert()
 		mi.submit()
 
@@ -113,7 +113,7 @@
 
 		self._insert_material_receipt()
 
-		mtn = frappe.get_doc(copy=test_records[2])
+		mtn = frappe.copy_doc(test_records[2])
 		mtn.insert()
 		mtn.submit()
 
@@ -149,7 +149,7 @@
 
 		self._insert_material_receipt()
 
-		repack = frappe.get_doc(copy=test_records[3])
+		repack = frappe.copy_doc(test_records[3])
 		repack.insert()
 		repack.submit()
 
@@ -170,7 +170,7 @@
 
 		self._insert_material_receipt()
 
-		repack = frappe.get_doc(copy=test_records[3])
+		repack = frappe.copy_doc(test_records[3])
 		repack.doclist[2].incoming_rate = 6000
 		repack.insert()
 		repack.submit()
@@ -218,11 +218,11 @@
 
 	def _insert_material_receipt(self):
 		self._clear_stock_account_balance()
-		se1 = frappe.get_doc(copy=test_records[0])
+		se1 = frappe.copy_doc(test_records[0])
 		se1.insert()
 		se1.submit()
 
-		se2 = frappe.get_doc(copy=test_records[0])
+		se2 = frappe.copy_doc(test_records[0])
 		se2.doclist[1].item_code = "_Test Item Home Desktop 100"
 		se2.insert()
 		se2.submit()
@@ -240,11 +240,11 @@
 			import test_records as sales_invoice_test_records
 
 		# invalid sales invoice as update stock not checked
-		si = frappe.get_doc(copy=sales_invoice_test_records[1])
+		si = frappe.copy_doc(sales_invoice_test_records[1])
 		si.insert()
 		si.submit()
 
-		se = frappe.get_doc(copy=test_records[0])
+		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Sales Return"
 		se.sales_invoice_no = si.name
 		se.doclist[1].qty = returned_qty
@@ -257,7 +257,7 @@
 		actual_qty_0 = self._get_actual_qty()
 
 		# insert a pos invoice with update stock
-		si = frappe.get_doc(copy=sales_invoice_test_records[1])
+		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
@@ -271,7 +271,7 @@
 		self.assertEquals(actual_qty_0 - delivered_qty, actual_qty_1)
 
 		# check if item is validated
-		se = frappe.get_doc(copy=test_records[0])
+		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Sales Return"
 		se.sales_invoice_no = si.name
 		se.posting_date = "2013-03-10"
@@ -284,7 +284,7 @@
 		self.assertRaises(frappe.DoesNotExistError, se.insert)
 
 		# try again
-		se = frappe.get_doc(copy=test_records[0])
+		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Sales Return"
 		se.posting_date = "2013-03-10"
 		se.fiscal_year = "_Test Fiscal Year 2013"
@@ -321,7 +321,7 @@
 
 		actual_qty_0 = self._get_actual_qty()
 		# make a delivery note based on this invoice
-		dn = frappe.get_doc(copy=delivery_note_test_records[0])
+		dn = frappe.copy_doc(delivery_note_test_records[0])
 		dn.doclist[1].item_code = item_code
 		dn.insert()
 		dn.submit()
@@ -342,7 +342,7 @@
 		si.submit()
 
 		# insert and submit stock entry for sales return
-		se = frappe.get_doc(copy=test_records[0])
+		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Sales Return"
 		se.delivery_note_no = dn.name
 		se.posting_date = "2013-03-10"
@@ -410,7 +410,7 @@
 
 		actual_qty_0 = self._get_actual_qty()
 
-		so = frappe.get_doc(copy=sales_order_test_records[0])
+		so = frappe.copy_doc(sales_order_test_records[0])
 		so.doclist[1].item_code = item_code
 		so.doclist[1].qty = 5.0
 		so.insert()
@@ -440,7 +440,7 @@
 		si.submit()
 
 		# insert and submit stock entry for sales return
-		se = frappe.get_doc(copy=test_records[0])
+		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Sales Return"
 		se.delivery_note_no = dn.name
 		se.posting_date = "2013-03-10"
@@ -466,7 +466,7 @@
 		from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
 		
 		# submit purchase receipt
-		pr = frappe.get_doc(copy=purchase_receipt_test_records[0])
+		pr = frappe.copy_doc(purchase_receipt_test_records[0])
 		pr.insert()
 		pr.submit()
 
@@ -492,7 +492,7 @@
 		pi.submit()
 
 		# submit purchase return
-		se = frappe.get_doc(copy=test_records[0])
+		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Purchase Return"
 		se.purchase_receipt_no = pr.name
 		se.posting_date = "2013-03-01"
@@ -518,7 +518,7 @@
 		prev_se, pr_docname = self.test_purchase_receipt_return()
 
 		# submit purchase return - return another 6 qtys so that exception is raised
-		se = frappe.get_doc(copy=test_records[0])
+		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Purchase Return"
 		se.purchase_receipt_no = pr_docname
 		se.posting_date = "2013-03-01"
@@ -559,7 +559,7 @@
 			make_purchase_receipt, make_purchase_invoice
 
 		# submit purchase receipt
-		po = frappe.get_doc(copy=purchase_order_test_records[0])
+		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
@@ -594,7 +594,7 @@
 		pi.submit()
 
 		# submit purchase return
-		se = frappe.get_doc(copy=test_records[0])
+		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Purchase Return"
 		se.purchase_receipt_no = pr.name
 		se.posting_date = "2013-03-01"
@@ -621,13 +621,13 @@
 		frappe.db.set_default("company", "_Test Company")
 
 	def test_serial_no_not_reqd(self):
-		se = frappe.get_doc(copy=test_records[0])
+		se = frappe.copy_doc(test_records[0])
 		se.doclist[1].serial_no = "ABCD"
 		se.insert()
 		self.assertRaises(SerialNoNotRequiredError, se.submit)
 
 	def test_serial_no_reqd(self):
-		se = frappe.get_doc(copy=test_records[0])
+		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
@@ -635,7 +635,7 @@
 		self.assertRaises(SerialNoRequiredError, se.submit)
 
 	def test_serial_no_qty_more(self):
-		se = frappe.get_doc(copy=test_records[0])
+		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"
@@ -644,7 +644,7 @@
 		self.assertRaises(SerialNoQtyError, se.submit)
 
 	def test_serial_no_qty_less(self):
-		se = frappe.get_doc(copy=test_records[0])
+		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"
@@ -654,7 +654,7 @@
 
 	def test_serial_no_transfer_in(self):
 		self._clear_stock_account_balance()
-		se = frappe.get_doc(copy=test_records[0])
+		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"
@@ -670,7 +670,7 @@
 
 	def test_serial_no_not_exists(self):
 		self._clear_stock_account_balance()
-		se = frappe.get_doc(copy=test_records[0])
+		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Material Issue"
 		se.doclist[1].item_code = "_Test Serialized Item"
 		se.doclist[1].qty = 2
@@ -685,7 +685,7 @@
 		self._clear_stock_account_balance()
 		self.test_serial_by_series()
 
-		se = frappe.get_doc(copy=test_records[0])
+		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"
@@ -708,7 +708,7 @@
 		self._clear_stock_account_balance()
 		self.test_serial_by_series()
 
-		se = frappe.get_doc(copy=test_records[0])
+		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Material Transfer"
 		se.doclist[1].item_code = "_Test Serialized Item"
 		se.doclist[1].qty = 1
@@ -724,7 +724,7 @@
 		se = make_serialized_item()
 		serial_no = get_serial_nos(se.doclist[1].serial_no)[0]
 
-		se = frappe.get_doc(copy=test_records[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
@@ -743,7 +743,7 @@
 		self._clear_stock_account_balance()
 		make_serialized_item()
 
-		se = frappe.get_doc(copy=test_records[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
@@ -770,7 +770,7 @@
 		frappe.set_user("test2@example.com")
 
 		from erpnext.stock.utils import InvalidWarehouseCompany
-		st1 = frappe.get_doc(copy=test_records[0])
+		st1 = frappe.copy_doc(test_records[0])
 		st1.doclist[1].t_warehouse="_Test Warehouse 2 - _TC1"
 		st1.insert()
 		self.assertRaises(InvalidWarehouseCompany, st1.submit)
@@ -789,13 +789,13 @@
 			.add_roles("Sales User", "Sales Manager", "Material User", "Material Manager")
 
 		frappe.set_user("test@example.com")
-		st1 = frappe.get_doc(copy=test_records[0])
+		st1 = frappe.copy_doc(test_records[0])
 		st1.company = "_Test Company 1"
 		st1.doclist[1].t_warehouse="_Test Warehouse 2 - _TC1"
 		self.assertRaises(BeanPermissionError, st1.insert)
 
 		frappe.set_user("test2@example.com")
-		st1 = frappe.get_doc(copy=test_records[0])
+		st1 = frappe.copy_doc(test_records[0])
 		st1.company = "_Test Company 1"
 		st1.doclist[1].t_warehouse="_Test Warehouse 2 - _TC1"
 		st1.insert()
@@ -811,18 +811,18 @@
 		# test freeze_stocks_upto
 		date_newer_than_test_records = add_days(getdate(test_records[0][0]['posting_date']), 5)
 		frappe.db.set_value("Stock Settings", None, "stock_frozen_upto", date_newer_than_test_records)
-		se = frappe.get_doc(copy=test_records[0]).insert()
+		se = frappe.copy_doc(test_records[0]).insert()
 		self.assertRaises (StockFreezeError, se.submit)
 		frappe.db.set_value("Stock Settings", None, "stock_frozen_upto", '')
 
 		# test freeze_stocks_upto_days
 		frappe.db.set_value("Stock Settings", None, "stock_frozen_upto_days", 7)
-		se = frappe.get_doc(copy=test_records[0]).insert()
+		se = frappe.copy_doc(test_records[0]).insert()
 		self.assertRaises (StockFreezeError, se.submit)
 		frappe.db.set_value("Stock Settings", None, "stock_frozen_upto_days", 0)
 
 def make_serialized_item():
-	se = frappe.get_doc(copy=test_records[0])
+	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
@@ -830,116 +830,4 @@
 	se.submit()
 	return se
 
-test_records = [
-	[
-		{
-			"company": "_Test Company",
-			"doctype": "Stock Entry",
-			"posting_date": "2013-01-01",
-			"posting_time": "17:14:24",
-			"purpose": "Material Receipt",
-			"fiscal_year": "_Test Fiscal Year 2013",
-		},
-		{
-			"conversion_factor": 1.0,
-			"doctype": "Stock Entry Detail",
-			"item_code": "_Test Item",
-			"parentfield": "mtn_details",
-			"incoming_rate": 100,
-			"qty": 50.0,
-			"stock_uom": "_Test UOM",
-			"transfer_qty": 50.0,
-			"uom": "_Test UOM",
-			"t_warehouse": "_Test Warehouse - _TC",
-			"expense_account": "Stock Adjustment - _TC",
-			"cost_center": "_Test Cost Center - _TC"
-		},
-	],
-	[
-		{
-			"company": "_Test Company",
-			"doctype": "Stock Entry",
-			"posting_date": "2013-01-25",
-			"posting_time": "17:15",
-			"purpose": "Material Issue",
-			"fiscal_year": "_Test Fiscal Year 2013",
-		},
-		{
-			"conversion_factor": 1.0,
-			"doctype": "Stock Entry Detail",
-			"item_code": "_Test Item",
-			"parentfield": "mtn_details",
-			"incoming_rate": 100,
-			"qty": 40.0,
-			"stock_uom": "_Test UOM",
-			"transfer_qty": 40.0,
-			"uom": "_Test UOM",
-			"s_warehouse": "_Test Warehouse - _TC",
-			"expense_account": "Stock Adjustment - _TC",
-			"cost_center": "_Test Cost Center - _TC"
-		},
-	],
-	[
-		{
-			"company": "_Test Company",
-			"doctype": "Stock Entry",
-			"posting_date": "2013-01-25",
-			"posting_time": "17:14:24",
-			"purpose": "Material Transfer",
-			"fiscal_year": "_Test Fiscal Year 2013",
-		},
-		{
-			"conversion_factor": 1.0,
-			"doctype": "Stock Entry Detail",
-			"item_code": "_Test Item",
-			"parentfield": "mtn_details",
-			"incoming_rate": 100,
-			"qty": 45.0,
-			"stock_uom": "_Test UOM",
-			"transfer_qty": 45.0,
-			"uom": "_Test UOM",
-			"s_warehouse": "_Test Warehouse - _TC",
-			"t_warehouse": "_Test Warehouse 1 - _TC",
-			"expense_account": "Stock Adjustment - _TC",
-			"cost_center": "_Test Cost Center - _TC"
-		}
-	],
-	[
-		{
-			"company": "_Test Company",
-			"doctype": "Stock Entry",
-			"posting_date": "2013-01-25",
-			"posting_time": "17:14:24",
-			"purpose": "Manufacture/Repack",
-			"fiscal_year": "_Test Fiscal Year 2013",
-		},
-		{
-			"conversion_factor": 1.0,
-			"doctype": "Stock Entry Detail",
-			"item_code": "_Test Item",
-			"parentfield": "mtn_details",
-			"incoming_rate": 100,
-			"qty": 50.0,
-			"stock_uom": "_Test UOM",
-			"transfer_qty": 50.0,
-			"uom": "_Test UOM",
-			"s_warehouse": "_Test Warehouse - _TC",
-			"expense_account": "Stock Adjustment - _TC",
-			"cost_center": "_Test Cost Center - _TC"
-		},
-		{
-			"conversion_factor": 1.0,
-			"doctype": "Stock Entry Detail",
-			"item_code": "_Test Item Home Desktop 100",
-			"parentfield": "mtn_details",
-			"incoming_rate": 5000,
-			"qty": 1,
-			"stock_uom": "_Test UOM",
-			"transfer_qty": 1,
-			"uom": "_Test UOM",
-			"t_warehouse": "_Test Warehouse - _TC",
-			"expense_account": "Stock Adjustment - _TC",
-			"cost_center": "_Test Cost Center - _TC"
-		},
-	],
-]
+test_records = frappe.get_test_records('Stock Entry')
\ No newline at end of file
diff --git a/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.txt b/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
similarity index 100%
rename from erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.txt
rename to erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
diff --git a/erpnext/stock/doctype/stock_ledger/stock_ledger.py b/erpnext/stock/doctype/stock_ledger/stock_ledger.py
index e55e512..a20da19 100644
--- a/erpnext/stock/doctype/stock_ledger/stock_ledger.py
+++ b/erpnext/stock/doctype/stock_ledger/stock_ledger.py
@@ -6,7 +6,6 @@
 
 from frappe.utils import add_days, cstr, flt, nowdate, cint, now
 
-from frappe.model.code import get_obj
 from frappe import session, msgprint
 from erpnext.stock.utils import get_valid_serial_nos
 
@@ -37,7 +36,7 @@
 				"is_amended": is_amended
 			})
 			
-			get_obj('Warehouse', v["warehouse"]).update_bin(args)
+			frappe.get_doc('Warehouse', v["warehouse"]).update_bin(args)
 
 
 	def make_entry(self, args):
@@ -52,4 +51,4 @@
 		Repost everything!
 		"""
 		for wh in frappe.db.sql("select name from tabWarehouse"):
-			get_obj('Warehouse', wh[0]).repost_stock()
+			frappe.get_doc('Warehouse', wh[0]).repost_stock()
diff --git a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.txt b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json
similarity index 100%
rename from erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.txt
rename to erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.txt b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.json
similarity index 100%
rename from erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.txt
rename to erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.json
diff --git a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
index 0438d6e..2f88c56 100644
--- a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
@@ -221,11 +221,11 @@
 			}, 
 		]
 			
-		pr = frappe.get_doc(copy=stock_entry)
+		pr = frappe.copy_doc(stock_entry)
 		pr.insert()
 		pr.submit()
 		
-		pr1 = frappe.get_doc(copy=stock_entry)
+		pr1 = frappe.copy_doc(stock_entry)
 		pr1.posting_date = "2012-12-15"
 		pr1.posting_time = "02:00"
 		pr1.doclist[1].qty = 10
@@ -234,7 +234,7 @@
 		pr1.insert()
 		pr1.submit()
 		
-		pr2 = frappe.get_doc(copy=stock_entry)
+		pr2 = frappe.copy_doc(stock_entry)
 		pr2.posting_date = "2012-12-25"
 		pr2.posting_time = "03:00"
 		pr2.purpose = "Material Issue"
@@ -246,7 +246,7 @@
 		pr2.insert()
 		pr2.submit()
 		
-		pr3 = frappe.get_doc(copy=stock_entry)
+		pr3 = frappe.copy_doc(stock_entry)
 		pr3.posting_date = "2012-12-31"
 		pr3.posting_time = "08:00"
 		pr3.purpose = "Material Issue"
@@ -259,7 +259,7 @@
 		pr3.submit()
 		
 		
-		pr4 = frappe.get_doc(copy=stock_entry)
+		pr4 = frappe.copy_doc(stock_entry)
 		pr4.posting_date = "2013-01-05"
 		pr4.fiscal_year = "_Test Fiscal Year 2013"
 		pr4.posting_time = "07:00"
diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.txt b/erpnext/stock/doctype/stock_settings/stock_settings.json
similarity index 100%
rename from erpnext/stock/doctype/stock_settings/stock_settings.txt
rename to erpnext/stock/doctype/stock_settings/stock_settings.json
diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.txt b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json
similarity index 100%
rename from erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.txt
rename to erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json
diff --git a/erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.txt b/erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.json
similarity index 100%
rename from erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.txt
rename to erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.json
diff --git a/erpnext/stock/doctype/warehouse/test_warehouse.py b/erpnext/stock/doctype/warehouse/test_warehouse.py
index b0e7641..dea61f8 100644
--- a/erpnext/stock/doctype/warehouse/test_warehouse.py
+++ b/erpnext/stock/doctype/warehouse/test_warehouse.py
@@ -1,28 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"doctype": "Warehouse",
-		"warehouse_name": "_Test Warehouse",
-		"company": "_Test Company", 
-		"create_account_under": "Stock Assets - _TC"
-	}],
-	[{
-		"doctype": "Warehouse",
-		"warehouse_name": "_Test Warehouse 1",
-		"company": "_Test Company",
-		"create_account_under": "Fixed Assets - _TC"
-	}],
-	[{
-		"doctype": "Warehouse",
-		"warehouse_name": "_Test Warehouse 2",
-		"create_account_under": "Stock Assets - _TC",
-		"company": "_Test Company 1"
-	}],
-	[{
-		"doctype": "Warehouse",
-		"warehouse_name": "_Test Warehouse No Account",
-		"company": "_Test Company",
-	}],
-]
+
+import frappe
+test_records = frappe.get_test_records('Warehouse')
\ No newline at end of file
diff --git a/erpnext/stock/doctype/warehouse/warehouse.txt b/erpnext/stock/doctype/warehouse/warehouse.json
similarity index 100%
rename from erpnext/stock/doctype/warehouse/warehouse.txt
rename to erpnext/stock/doctype/warehouse/warehouse.json
diff --git a/erpnext/stock/doctype/warehouse_user/warehouse_user.txt b/erpnext/stock/doctype/warehouse_user/warehouse_user.json
similarity index 100%
rename from erpnext/stock/doctype/warehouse_user/warehouse_user.txt
rename to erpnext/stock/doctype/warehouse_user/warehouse_user.json
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index f4588f5..57b2c2e 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -5,7 +5,6 @@
 import frappe
 from frappe import _, throw
 from frappe.utils import flt, cint, add_days
-from frappe.model.meta import has_field
 import json
 
 @frappe.whitelist()
@@ -36,7 +35,7 @@
 	args = frappe._dict(args)
 
 	if not args.get("transaction_type"):
-		args.transaction_type = "buying" if has_field(args.get("doctype"), "supplier") \
+		args.transaction_type = "buying" if frappe.get_meta(args.get("doctype")).get_field("supplier") \
 			else "selling"
 		
 	if not args.get("price_list"):
diff --git a/erpnext/stock/page/stock_ageing/stock_ageing.txt b/erpnext/stock/page/stock_ageing/stock_ageing.json
similarity index 100%
rename from erpnext/stock/page/stock_ageing/stock_ageing.txt
rename to erpnext/stock/page/stock_ageing/stock_ageing.json
diff --git a/erpnext/stock/page/stock_analytics/stock_analytics.txt b/erpnext/stock/page/stock_analytics/stock_analytics.json
similarity index 100%
rename from erpnext/stock/page/stock_analytics/stock_analytics.txt
rename to erpnext/stock/page/stock_analytics/stock_analytics.json
diff --git a/erpnext/stock/page/stock_balance/stock_balance.txt b/erpnext/stock/page/stock_balance/stock_balance.json
similarity index 100%
rename from erpnext/stock/page/stock_balance/stock_balance.txt
rename to erpnext/stock/page/stock_balance/stock_balance.json
diff --git a/erpnext/stock/page/stock_ledger/stock_ledger.txt b/erpnext/stock/page/stock_ledger/stock_ledger.json
similarity index 100%
rename from erpnext/stock/page/stock_ledger/stock_ledger.txt
rename to erpnext/stock/page/stock_ledger/stock_ledger.json
diff --git a/erpnext/stock/page/stock_level/stock_level.txt b/erpnext/stock/page/stock_level/stock_level.json
similarity index 100%
rename from erpnext/stock/page/stock_level/stock_level.txt
rename to erpnext/stock/page/stock_level/stock_level.json
diff --git a/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.txt b/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.json
similarity index 100%
rename from erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.txt
rename to erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.json
diff --git a/erpnext/stock/report/delivery_note_trends/delivery_note_trends.txt b/erpnext/stock/report/delivery_note_trends/delivery_note_trends.json
similarity index 100%
rename from erpnext/stock/report/delivery_note_trends/delivery_note_trends.txt
rename to erpnext/stock/report/delivery_note_trends/delivery_note_trends.json
diff --git a/erpnext/stock/report/item_prices/item_prices.txt b/erpnext/stock/report/item_prices/item_prices.json
similarity index 100%
rename from erpnext/stock/report/item_prices/item_prices.txt
rename to erpnext/stock/report/item_prices/item_prices.json
diff --git a/erpnext/stock/report/item_shortage_report/item_shortage_report.txt b/erpnext/stock/report/item_shortage_report/item_shortage_report.json
similarity index 100%
rename from erpnext/stock/report/item_shortage_report/item_shortage_report.txt
rename to erpnext/stock/report/item_shortage_report/item_shortage_report.json
diff --git a/erpnext/stock/report/item_wise_price_list_rate/item_wise_price_list_rate.txt b/erpnext/stock/report/item_wise_price_list_rate/item_wise_price_list_rate.json
similarity index 100%
rename from erpnext/stock/report/item_wise_price_list_rate/item_wise_price_list_rate.txt
rename to erpnext/stock/report/item_wise_price_list_rate/item_wise_price_list_rate.json
diff --git a/erpnext/stock/report/items_to_be_requested/items_to_be_requested.txt b/erpnext/stock/report/items_to_be_requested/items_to_be_requested.json
similarity index 100%
rename from erpnext/stock/report/items_to_be_requested/items_to_be_requested.txt
rename to erpnext/stock/report/items_to_be_requested/items_to_be_requested.json
diff --git a/erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.txt b/erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.json
similarity index 100%
rename from erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.txt
rename to erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.json
diff --git a/erpnext/stock/report/material_requests_for_which_supplier_quotations_are_not_created/material_requests_for_which_supplier_quotations_are_not_created.txt b/erpnext/stock/report/material_requests_for_which_supplier_quotations_are_not_created/material_requests_for_which_supplier_quotations_are_not_created.json
similarity index 100%
rename from erpnext/stock/report/material_requests_for_which_supplier_quotations_are_not_created/material_requests_for_which_supplier_quotations_are_not_created.txt
rename to erpnext/stock/report/material_requests_for_which_supplier_quotations_are_not_created/material_requests_for_which_supplier_quotations_are_not_created.json
diff --git a/erpnext/stock/report/ordered_items_to_be_delivered/ordered_items_to_be_delivered.txt b/erpnext/stock/report/ordered_items_to_be_delivered/ordered_items_to_be_delivered.json
similarity index 100%
rename from erpnext/stock/report/ordered_items_to_be_delivered/ordered_items_to_be_delivered.txt
rename to erpnext/stock/report/ordered_items_to_be_delivered/ordered_items_to_be_delivered.json
diff --git a/erpnext/stock/report/purchase_in_transit/purchase_in_transit.txt b/erpnext/stock/report/purchase_in_transit/purchase_in_transit.json
similarity index 100%
rename from erpnext/stock/report/purchase_in_transit/purchase_in_transit.txt
rename to erpnext/stock/report/purchase_in_transit/purchase_in_transit.json
diff --git a/erpnext/stock/report/purchase_order_items_to_be_received/purchase_order_items_to_be_received.txt b/erpnext/stock/report/purchase_order_items_to_be_received/purchase_order_items_to_be_received.json
similarity index 100%
rename from erpnext/stock/report/purchase_order_items_to_be_received/purchase_order_items_to_be_received.txt
rename to erpnext/stock/report/purchase_order_items_to_be_received/purchase_order_items_to_be_received.json
diff --git a/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.txt b/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.json
similarity index 100%
rename from erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.txt
rename to erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.json
diff --git a/erpnext/stock/report/requested_items_to_be_transferred/requested_items_to_be_transferred.txt b/erpnext/stock/report/requested_items_to_be_transferred/requested_items_to_be_transferred.json
similarity index 100%
rename from erpnext/stock/report/requested_items_to_be_transferred/requested_items_to_be_transferred.txt
rename to erpnext/stock/report/requested_items_to_be_transferred/requested_items_to_be_transferred.json
diff --git a/erpnext/stock/report/serial_no_service_contract_expiry/serial_no_service_contract_expiry.txt b/erpnext/stock/report/serial_no_service_contract_expiry/serial_no_service_contract_expiry.json
similarity index 100%
rename from erpnext/stock/report/serial_no_service_contract_expiry/serial_no_service_contract_expiry.txt
rename to erpnext/stock/report/serial_no_service_contract_expiry/serial_no_service_contract_expiry.json
diff --git a/erpnext/stock/report/serial_no_status/serial_no_status.txt b/erpnext/stock/report/serial_no_status/serial_no_status.json
similarity index 100%
rename from erpnext/stock/report/serial_no_status/serial_no_status.txt
rename to erpnext/stock/report/serial_no_status/serial_no_status.json
diff --git a/erpnext/stock/report/serial_no_warranty_expiry/serial_no_warranty_expiry.txt b/erpnext/stock/report/serial_no_warranty_expiry/serial_no_warranty_expiry.json
similarity index 100%
rename from erpnext/stock/report/serial_no_warranty_expiry/serial_no_warranty_expiry.txt
rename to erpnext/stock/report/serial_no_warranty_expiry/serial_no_warranty_expiry.json
diff --git a/erpnext/stock/report/stock_ageing/stock_ageing.txt b/erpnext/stock/report/stock_ageing/stock_ageing.json
similarity index 100%
rename from erpnext/stock/report/stock_ageing/stock_ageing.txt
rename to erpnext/stock/report/stock_ageing/stock_ageing.json
diff --git a/erpnext/stock/report/stock_ledger/stock_ledger.txt b/erpnext/stock/report/stock_ledger/stock_ledger.json
similarity index 100%
rename from erpnext/stock/report/stock_ledger/stock_ledger.txt
rename to erpnext/stock/report/stock_ledger/stock_ledger.json
diff --git a/erpnext/stock/report/stock_projected_qty/stock_projected_qty.txt b/erpnext/stock/report/stock_projected_qty/stock_projected_qty.json
similarity index 100%
rename from erpnext/stock/report/stock_projected_qty/stock_projected_qty.txt
rename to erpnext/stock/report/stock_projected_qty/stock_projected_qty.json
diff --git a/erpnext/stock/report/supplier_wise_sales_analytics/supplier_wise_sales_analytics.txt b/erpnext/stock/report/supplier_wise_sales_analytics/supplier_wise_sales_analytics.json
similarity index 100%
rename from erpnext/stock/report/supplier_wise_sales_analytics/supplier_wise_sales_analytics.txt
rename to erpnext/stock/report/supplier_wise_sales_analytics/supplier_wise_sales_analytics.json
diff --git a/erpnext/stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.txt b/erpnext/stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.json
similarity index 100%
rename from erpnext/stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.txt
rename to erpnext/stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.json
diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py
index 2f28e1a..69d27ba 100644
--- a/erpnext/stock/utils.py
+++ b/erpnext/stock/utils.py
@@ -49,8 +49,7 @@
 		bin_wrapper.insert()
 		bin_obj = bin_wrapper.make_controller()
 	else:
-		from frappe.model.code import get_obj
-		bin_obj = get_obj('Bin', bin)
+				bin_obj = frappe.get_doc('Bin', bin)
 	return bin_obj
 
 def update_bin(args):
diff --git a/erpnext/support/doctype/customer_issue/customer_issue.txt b/erpnext/support/doctype/customer_issue/customer_issue.json
similarity index 100%
rename from erpnext/support/doctype/customer_issue/customer_issue.txt
rename to erpnext/support/doctype/customer_issue/customer_issue.json
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.txt b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.json
similarity index 100%
rename from erpnext/support/doctype/maintenance_schedule/maintenance_schedule.txt
rename to erpnext/support/doctype/maintenance_schedule/maintenance_schedule.json
diff --git a/erpnext/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.txt b/erpnext/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.json
similarity index 100%
rename from erpnext/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.txt
rename to erpnext/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.json
diff --git a/erpnext/support/doctype/maintenance_schedule_item/maintenance_schedule_item.txt b/erpnext/support/doctype/maintenance_schedule_item/maintenance_schedule_item.json
similarity index 100%
rename from erpnext/support/doctype/maintenance_schedule_item/maintenance_schedule_item.txt
rename to erpnext/support/doctype/maintenance_schedule_item/maintenance_schedule_item.json
diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.txt b/erpnext/support/doctype/maintenance_visit/maintenance_visit.json
similarity index 100%
rename from erpnext/support/doctype/maintenance_visit/maintenance_visit.txt
rename to erpnext/support/doctype/maintenance_visit/maintenance_visit.json
diff --git a/erpnext/support/doctype/maintenance_visit_purpose/maintenance_visit_purpose.txt b/erpnext/support/doctype/maintenance_visit_purpose/maintenance_visit_purpose.json
similarity index 100%
rename from erpnext/support/doctype/maintenance_visit_purpose/maintenance_visit_purpose.txt
rename to erpnext/support/doctype/maintenance_visit_purpose/maintenance_visit_purpose.json
diff --git a/erpnext/support/doctype/newsletter/newsletter.txt b/erpnext/support/doctype/newsletter/newsletter.json
similarity index 100%
rename from erpnext/support/doctype/newsletter/newsletter.txt
rename to erpnext/support/doctype/newsletter/newsletter.json
diff --git a/erpnext/support/doctype/newsletter/newsletter.py b/erpnext/support/doctype/newsletter/newsletter.py
index a2ac2de..8518a37 100644
--- a/erpnext/support/doctype/newsletter/newsletter.py
+++ b/erpnext/support/doctype/newsletter/newsletter.py
@@ -124,7 +124,7 @@
 def create_lead(email_id):
 	"""create a lead if it does not exist"""
 	from email.utils import parseaddr
-	from frappe.model.doc import get_default_naming_series
+	from frappe.model.naming import get_default_naming_series
 	real_name, email_id = parseaddr(email_id)
 	
 	if frappe.db.get_value("Lead", {"email_id": email_id}):
diff --git a/erpnext/support/doctype/newsletter/test_newsletter.py b/erpnext/support/doctype/newsletter/test_newsletter.py
index 01ed84e..3d89b9a 100644
--- a/erpnext/support/doctype/newsletter/test_newsletter.py
+++ b/erpnext/support/doctype/newsletter/test_newsletter.py
@@ -39,29 +39,4 @@
 
 test_dependencies = ["Lead", "Contact"]
 
-test_records =[
-	[{
-		"doctype": "Newsletter",
-		"subject": "_Test Newsletter to Lead",
-		"send_to_type": "Lead",
-		"lead_source": "All",
-		"message": "This is a test newsletter",
-		"send_from": "admin@example.com"
-	}],
-	[{
-		"doctype": "Newsletter",
-		"subject": "_Test Newsletter to Contact",
-		"send_to_type": "Contact",
-		"contact_type": "Customer",
-		"message": "This is a test newsletter",
-		"send_from": "admin@example.com"
-	}],
-	[{
-		"doctype": "Newsletter",
-		"subject": "_Test Newsletter to Custom",
-		"send_to_type": "Custom",
-		"email_list": "test_custom@example.com, test_custom1@example.com, test_custom2@example.com",
-		"message": "This is a test newsletter",
-		"send_from": "admin@example.com"
-	}],
-]
+test_records = frappe.get_test_records('Newsletter')
\ No newline at end of file
diff --git a/erpnext/support/doctype/support_email_settings/support_email_settings.txt b/erpnext/support/doctype/support_email_settings/support_email_settings.json
similarity index 100%
rename from erpnext/support/doctype/support_email_settings/support_email_settings.txt
rename to erpnext/support/doctype/support_email_settings/support_email_settings.json
diff --git a/erpnext/support/doctype/support_ticket/support_ticket.txt b/erpnext/support/doctype/support_ticket/support_ticket.json
similarity index 100%
rename from erpnext/support/doctype/support_ticket/support_ticket.txt
rename to erpnext/support/doctype/support_ticket/support_ticket.json
diff --git a/erpnext/support/page/support_analytics/support_analytics.txt b/erpnext/support/page/support_analytics/support_analytics.json
similarity index 100%
rename from erpnext/support/page/support_analytics/support_analytics.txt
rename to erpnext/support/page/support_analytics/support_analytics.json
diff --git a/erpnext/support/report/maintenance_schedules/maintenance_schedules.txt b/erpnext/support/report/maintenance_schedules/maintenance_schedules.json
similarity index 100%
rename from erpnext/support/report/maintenance_schedules/maintenance_schedules.txt
rename to erpnext/support/report/maintenance_schedules/maintenance_schedules.json
diff --git a/erpnext/utilities/cleanup_data.py b/erpnext/utilities/cleanup_data.py
index 328eed1..30b16bc 100644
--- a/erpnext/utilities/cleanup_data.py
+++ b/erpnext/utilities/cleanup_data.py
@@ -154,8 +154,7 @@
 		'default_price_list_currency': None,
 	}
 
-	from frappe.model.code import get_obj
-	gd = get_obj('Global Defaults', 'Global Defaults')
+		gd = frappe.get_doc('Global Defaults', 'Global Defaults')
 	for d in flds:
 		gd.set(d, flds[d])
 	gd.save()
diff --git a/erpnext/utilities/doctype/address/address.txt b/erpnext/utilities/doctype/address/address.json
similarity index 100%
rename from erpnext/utilities/doctype/address/address.txt
rename to erpnext/utilities/doctype/address/address.json
diff --git a/erpnext/utilities/doctype/address/test_address.py b/erpnext/utilities/doctype/address/test_address.py
index befbe82..815449a 100644
--- a/erpnext/utilities/doctype/address/test_address.py
+++ b/erpnext/utilities/doctype/address/test_address.py
@@ -1,17 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"doctype": "Address",
-		"customer": "_Test Customer",
-		"customer_name": "_Test Customer",
-		"address_type": "Office",
-		"address_title": "_Test Address",
-		"address_line1": "_Test Address Line 1",
-		"city": "_Test City",
-		"country": "India",
-		"phone": "+91 0000000000",
-		"is_primary_address": 1
-	}],
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Address')
\ No newline at end of file
diff --git a/erpnext/utilities/doctype/contact/contact.txt b/erpnext/utilities/doctype/contact/contact.json
similarity index 100%
rename from erpnext/utilities/doctype/contact/contact.txt
rename to erpnext/utilities/doctype/contact/contact.json
diff --git a/erpnext/utilities/doctype/contact/test_contact.py b/erpnext/utilities/doctype/contact/test_contact.py
index 5e7898f..129ec30 100644
--- a/erpnext/utilities/doctype/contact/test_contact.py
+++ b/erpnext/utilities/doctype/contact/test_contact.py
@@ -1,25 +1,6 @@
 # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-test_records = [
-	[{
-		"doctype": "Contact",
-		"customer": "_Test Customer",
-		"customer_name": "_Test Customer",
-		"first_name": "_Test Contact For _Test Customer",
-		"email_id": "test_contact_customer@example.com",
-		"phone": "+91 0000000000",
-		"status": "Open",
-		"is_primary_contact": 1
-	}],
-	[{
-		"doctype": "Contact",
-		"supplier": "_Test Supplier",
-		"supplier_name": "_Test Supplier",
-		"first_name": "_Test Contact For _Test Supplier",
-		"email_id": "test_contact_supplier@example.com",
-		"phone": "+91 0000000000",
-		"status": "Open",
-		"is_primary_contact": 1
-	}]
-]
\ No newline at end of file
+
+import frappe
+test_records = frappe.get_test_records('Contact')
\ No newline at end of file
diff --git a/erpnext/utilities/doctype/note/note.txt b/erpnext/utilities/doctype/note/note.json
similarity index 100%
rename from erpnext/utilities/doctype/note/note.txt
rename to erpnext/utilities/doctype/note/note.json
diff --git a/erpnext/utilities/doctype/note_user/note_user.txt b/erpnext/utilities/doctype/note_user/note_user.json
similarity index 100%
rename from erpnext/utilities/doctype/note_user/note_user.txt
rename to erpnext/utilities/doctype/note_user/note_user.json
diff --git a/erpnext/utilities/doctype/rename_tool/rename_tool.txt b/erpnext/utilities/doctype/rename_tool/rename_tool.json
similarity index 100%
rename from erpnext/utilities/doctype/rename_tool/rename_tool.txt
rename to erpnext/utilities/doctype/rename_tool/rename_tool.json
diff --git a/erpnext/utilities/doctype/sms_control/sms_control.txt b/erpnext/utilities/doctype/sms_control/sms_control.json
similarity index 100%
rename from erpnext/utilities/doctype/sms_control/sms_control.txt
rename to erpnext/utilities/doctype/sms_control/sms_control.json
diff --git a/erpnext/utilities/doctype/sms_control/sms_control.py b/erpnext/utilities/doctype/sms_control/sms_control.py
index d16e54d..c0a4647 100644
--- a/erpnext/utilities/doctype/sms_control/sms_control.py
+++ b/erpnext/utilities/doctype/sms_control/sms_control.py
@@ -5,7 +5,6 @@
 import frappe, json
 
 from frappe.utils import nowdate, cstr
-from frappe.model.code import get_obj
 from frappe import msgprint, throw, _
 
 
@@ -69,7 +68,7 @@
 			msgprint(ret)
 
 	def send_via_gateway(self, arg):
-		ss = get_obj('SMS Settings', 'SMS Settings', with_children=1)
+		ss = frappe.get_doc('SMS Settings', 'SMS Settings')
 		args = {ss.message_parameter : arg.get('message')}
 		for d in getlist(ss.doclist, 'static_parameter_details'):
 			args[d.parameter] = d.value
diff --git a/erpnext/utilities/doctype/sms_log/sms_log.txt b/erpnext/utilities/doctype/sms_log/sms_log.json
similarity index 100%
rename from erpnext/utilities/doctype/sms_log/sms_log.txt
rename to erpnext/utilities/doctype/sms_log/sms_log.json
