[merge] v5-design
diff --git a/erpnext/accounts/README.md b/erpnext/accounts/README.md
index 10a99e5..da1f201 100644
--- a/erpnext/accounts/README.md
+++ b/erpnext/accounts/README.md
@@ -6,7 +6,7 @@
 
 Entries are:
 
-- Journal Vouchers
+- Journal Entries
 - Sales Invoice (Itemised)
 - Purchase Invoice (Itemised)
 
diff --git a/erpnext/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py
index c4a59a7..f257f0a 100644
--- a/erpnext/accounts/doctype/account/account.py
+++ b/erpnext/accounts/doctype/account/account.py
@@ -3,8 +3,8 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.utils import flt, cstr, cint, getdate, add_days, formatdate
-from frappe import msgprint, throw, _
+from frappe.utils import cstr, cint
+from frappe import throw, _
 from frappe.model.document import Document
 
 class Account(Document):
diff --git a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js
index 72ab425..b4e8f1d 100644
--- a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js
+++ b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js
@@ -3,7 +3,7 @@
 
 cur_frm.cscript.onload = function(doc, cdt, cdn){
 	cur_frm.set_intro('<i class="icon-question" /> ' +
-		__("Update clearance date of Journal Entries marked as 'Bank Vouchers'"));
+		__("Update clearance date of Journal Entries marked as 'Bank Entry'"));
 
 	cur_frm.add_fetch("bank_account", "company", "company");
 
diff --git a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.json b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.json
index 6af86ed..8e02873 100644
--- a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.json
+++ b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.json
@@ -1,108 +1,108 @@
 {
- "allow_copy": 1, 
- "allow_email": 1, 
- "allow_print": 1, 
- "creation": "2013-01-10 16:34:05", 
- "docstatus": 0, 
- "doctype": "DocType", 
+ "allow_copy": 1,
+ "allow_email": 1,
+ "allow_print": 1,
+ "creation": "2013-01-10 16:34:05",
+ "docstatus": 0,
+ "doctype": "DocType",
  "fields": [
   {
-   "description": "Select account head of the bank where cheque was deposited.", 
-   "fieldname": "bank_account", 
-   "fieldtype": "Link", 
-   "in_list_view": 1, 
-   "label": "Bank Account", 
-   "options": "Account", 
-   "permlevel": 0, 
+   "description": "Select account head of the bank where cheque was deposited.",
+   "fieldname": "bank_account",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Bank Account",
+   "options": "Account",
+   "permlevel": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "hidden": 1, 
-   "in_list_view": 1, 
-   "label": "Company", 
-   "options": "Company", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "hidden": 1,
+   "in_list_view": 1,
+   "label": "Company",
+   "options": "Company",
+   "permlevel": 0,
+   "print_hide": 1,
    "reqd": 0
-  }, 
+  },
   {
-   "fieldname": "from_date", 
-   "fieldtype": "Date", 
-   "in_list_view": 1, 
-   "label": "From Date", 
-   "permlevel": 0, 
+   "fieldname": "from_date",
+   "fieldtype": "Date",
+   "in_list_view": 1,
+   "label": "From Date",
+   "permlevel": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "to_date", 
-   "fieldtype": "Date", 
-   "in_list_view": 1, 
-   "label": "To Date", 
-   "permlevel": 0, 
+   "fieldname": "to_date",
+   "fieldtype": "Date",
+   "in_list_view": 1,
+   "label": "To Date",
+   "permlevel": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "include_reconciled_entries", 
-   "fieldtype": "Check", 
-   "in_list_view": 1, 
-   "label": "Include Reconciled Entries", 
+   "fieldname": "include_reconciled_entries",
+   "fieldtype": "Check",
+   "in_list_view": 1,
+   "label": "Include Reconciled Entries",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "get_relevant_entries", 
-   "fieldtype": "Button", 
-   "label": "Get Relevant Entries", 
-   "options": "get_details", 
+   "fieldname": "get_relevant_entries",
+   "fieldtype": "Button",
+   "label": "Get Relevant Entries",
+   "options": "get_details",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "entries", 
-   "fieldtype": "Table", 
-   "label": "Entries", 
-   "options": "Bank Reconciliation Detail", 
+   "fieldname": "journal_entries",
+   "fieldtype": "Table",
+   "label": "Journal Entries",
+   "options": "Bank Reconciliation Detail",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "update_clearance_date", 
-   "fieldtype": "Button", 
-   "label": "Update Clearance Date", 
-   "options": "update_details", 
+   "fieldname": "update_clearance_date",
+   "fieldtype": "Button",
+   "label": "Update Clearance Date",
+   "options": "update_details",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "total_amount", 
-   "fieldtype": "Currency", 
-   "label": "Total Amount", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
+   "fieldname": "total_amount",
+   "fieldtype": "Currency",
+   "label": "Total Amount",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
    "read_only": 1
   }
- ], 
- "hide_heading": 1, 
- "hide_toolbar": 1, 
- "icon": "icon-check", 
- "idx": 1, 
- "issingle": 1, 
- "modified": "2014-05-27 03:37:21.783216", 
- "modified_by": "Administrator", 
- "module": "Accounts", 
- "name": "Bank Reconciliation", 
- "owner": "Administrator", 
+ ],
+ "hide_heading": 1,
+ "hide_toolbar": 1,
+ "icon": "icon-check",
+ "idx": 1,
+ "issingle": 1,
+ "modified": "2014-12-25 13:16:16.711609",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Bank Reconciliation",
+ "owner": "Administrator",
  "permissions": [
   {
-   "amend": 0, 
-   "apply_user_permissions": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "permlevel": 0, 
-   "read": 1, 
-   "report": 0, 
-   "role": "Accounts User", 
-   "submit": 0, 
+   "amend": 0,
+   "apply_user_permissions": 0,
+   "cancel": 0,
+   "create": 1,
+   "permlevel": 0,
+   "read": 1,
+   "report": 0,
+   "role": "Accounts User",
+   "submit": 0,
    "write": 1
   }
- ], 
+ ],
  "read_only": 1
-}
\ No newline at end of file
+}
diff --git a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py
index 2838afa..ba79689 100644
--- a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py
+++ b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py
@@ -21,18 +21,18 @@
 		dl = frappe.db.sql("""select t1.name, t1.cheque_no, t1.cheque_date, t2.debit,
 				t2.credit, t1.posting_date, t2.against_account, t1.clearance_date
 			from
-				`tabJournal Voucher` t1, `tabJournal Voucher Detail` t2
+				`tabJournal Entry` t1, `tabJournal Entry Account` t2
 			where
 				t2.parent = t1.name and t2.account = %s
 				and t1.posting_date >= %s and t1.posting_date <= %s and t1.docstatus=1
 				and ifnull(t1.is_opening, 'No') = 'No' %s""" %
 				('%s', '%s', '%s', condition), (self.bank_account, self.from_date, self.to_date), as_dict=1)
 
-		self.set('entries', [])
+		self.set('journal_entries', [])
 		self.total_amount = 0.0
 
 		for d in dl:
-			nl = self.append('entries', {})
+			nl = self.append('journal_entries', {})
 			nl.posting_date = d.posting_date
 			nl.voucher_id = d.name
 			nl.cheque_number = d.cheque_no
@@ -45,13 +45,13 @@
 
 	def update_details(self):
 		vouchers = []
-		for d in self.get('entries'):
+		for d in self.get('journal_entries'):
 			if d.clearance_date:
 				if d.cheque_date and getdate(d.clearance_date) < getdate(d.cheque_date):
 					frappe.throw(_("Clearance date cannot be before check date in row {0}").format(d.idx))
 
-				frappe.db.set_value("Journal Voucher", d.voucher_id, "clearance_date", d.clearance_date)
-				frappe.db.sql("""update `tabJournal Voucher` set clearance_date = %s, modified = %s
+				frappe.db.set_value("Journal Entry", d.voucher_id, "clearance_date", d.clearance_date)
+				frappe.db.sql("""update `tabJournal Entry` set clearance_date = %s, modified = %s
 					where name=%s""", (d.clearance_date, nowdate(), d.voucher_id))
 				vouchers.append(d.voucher_id)
 
diff --git a/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.json b/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.json
index 250dc45..7cdb071 100644
--- a/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.json
+++ b/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.json
@@ -11,7 +11,7 @@
    "no_copy": 0, 
    "oldfieldname": "voucher_id", 
    "oldfieldtype": "Link", 
-   "options": "Journal Voucher", 
+   "options": "Journal Entry", 
    "permlevel": 0, 
    "search_index": 0
   }, 
diff --git a/erpnext/accounts/doctype/budget_distribution/__init__.py b/erpnext/accounts/doctype/budget_distribution/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/accounts/doctype/budget_distribution/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/accounts/doctype/budget_distribution/test_budget_distribution.py b/erpnext/accounts/doctype/budget_distribution/test_budget_distribution.py
deleted file mode 100644
index 4626bae..0000000
--- a/erpnext/accounts/doctype/budget_distribution/test_budget_distribution.py
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-
-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/README.md b/erpnext/accounts/doctype/budget_distribution_detail/README.md
deleted file mode 100644
index daa462a..0000000
--- a/erpnext/accounts/doctype/budget_distribution_detail/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Percent allocation for month for parent Budget Distribution.
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/budget_distribution_detail/__init__.py b/erpnext/accounts/doctype/budget_distribution_detail/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/accounts/doctype/budget_distribution_detail/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.py b/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.py
deleted file mode 100644
index 87d38fd..0000000
--- a/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import frappe
-from frappe.model.document import Document
-
-class BudgetDistributionDetail(Document):
-	pass
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/c_form/c_form.js b/erpnext/accounts/doctype/c_form/c_form.js
index e4046d5..1e9ff0b 100644
--- a/erpnext/accounts/doctype/c_form/c_form.js
+++ b/erpnext/accounts/doctype/c_form/c_form.js
@@ -5,7 +5,7 @@
 // -----------------------------
 frappe.require("assets/erpnext/js/utils.js");
 
-cur_frm.fields_dict.invoice_details.grid.get_field("invoice_no").get_query = function(doc) {
+cur_frm.fields_dict.invoices.grid.get_field("invoice_no").get_query = function(doc) {
 	return {
 		filters: {
 			"docstatus": 1, 
@@ -23,7 +23,7 @@
 
 cur_frm.cscript.invoice_no = function(doc, cdt, cdn) {
 	var d = locals[cdt][cdn];
-	return get_server_fields('get_invoice_details', d.invoice_no, 'invoice_details', doc, cdt, cdn, 1);
+	return get_server_fields('get_invoice_details', d.invoice_no, 'invoices', doc, cdt, cdn, 1);
 }
 
 cur_frm.cscript.company = function(doc, cdt, cdn) {
diff --git a/erpnext/accounts/doctype/c_form/c_form.json b/erpnext/accounts/doctype/c_form/c_form.json
index 0fa6635..7b89fad 100644
--- a/erpnext/accounts/doctype/c_form/c_form.json
+++ b/erpnext/accounts/doctype/c_form/c_form.json
@@ -107,9 +107,9 @@
    "read_only": 0
   }, 
   {
-   "fieldname": "invoice_details", 
+   "fieldname": "invoices", 
    "fieldtype": "Table", 
-   "label": "Invoice Details", 
+   "label": "Invoices", 
    "options": "C-Form Invoice Detail", 
    "permlevel": 0, 
    "read_only": 0
@@ -139,7 +139,7 @@
  "idx": 1, 
  "is_submittable": 1, 
  "max_attachments": 3, 
- "modified": "2014-09-05 12:58:43.333698", 
+ "modified": "2014-12-24 15:20:08.627169", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "C-Form", 
diff --git a/erpnext/accounts/doctype/c_form/c_form.py b/erpnext/accounts/doctype/c_form/c_form.py
index c18d28a..c04e7c2 100644
--- a/erpnext/accounts/doctype/c_form/c_form.py
+++ b/erpnext/accounts/doctype/c_form/c_form.py
@@ -12,7 +12,7 @@
 		"""Validate invoice that c-form is applicable
 			and no other c-form is received for that"""
 
-		for d in self.get('invoice_details'):
+		for d in self.get('invoices'):
 			if d.invoice_no:
 				inv = frappe.db.sql("""select c_form_applicable, c_form_no from
 					`tabSales Invoice` where name = %s and docstatus = 1""", d.invoice_no)
@@ -42,7 +42,7 @@
 		frappe.db.sql("""update `tabSales Invoice` set c_form_no=null where c_form_no=%s""", self.name)
 
 	def set_cform_in_sales_invoices(self):
-		inv = [d.invoice_no for d in self.get('invoice_details')]
+		inv = [d.invoice_no for d in self.get('invoices')]
 		if inv:
 			frappe.db.sql("""update `tabSales Invoice` set c_form_no=%s, modified=%s where name in (%s)""" %
 				('%s', '%s', ', '.join(['%s'] * len(inv))), tuple([self.name, self.modified] + inv))
@@ -54,7 +54,7 @@
 			frappe.throw(_("Please enter atleast 1 invoice in the table"))
 
 	def set_total_invoiced_amount(self):
-		total = sum([flt(d.grand_total) for d in self.get('invoice_details')])
+		total = sum([flt(d.grand_total) for d in self.get('invoices')])
 		frappe.db.set(self, 'total_invoiced_amount', total)
 
 	def get_invoice_details(self, invoice_no):
diff --git a/erpnext/accounts/doctype/c_form/test_c_form.py b/erpnext/accounts/doctype/c_form/test_c_form.py
new file mode 100644
index 0000000..4b0fb9c
--- /dev/null
+++ b/erpnext/accounts/doctype/c_form/test_c_form.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and Contributors
+# See license.txt
+
+import frappe
+import unittest
+
+test_records = frappe.get_test_records('C-Form')
+
+class TestC-Form(unittest.TestCase):
+	pass
diff --git a/erpnext/accounts/doctype/c_form/test_records.json b/erpnext/accounts/doctype/c_form/test_records.json
new file mode 100644
index 0000000..074674d
--- /dev/null
+++ b/erpnext/accounts/doctype/c_form/test_records.json
@@ -0,0 +1,6 @@
+[
+	{
+		"doctype": "C-Form",
+		"name": "_Test C-Form 1"
+	}
+]
diff --git a/erpnext/accounts/doctype/cost_center/cost_center.js b/erpnext/accounts/doctype/cost_center/cost_center.js
index 1ed0ab6..eac5a9d 100644
--- a/erpnext/accounts/doctype/cost_center/cost_center.js
+++ b/erpnext/accounts/doctype/cost_center/cost_center.js
@@ -12,8 +12,8 @@
 
 	setup_queries: function() {
 		var me = this;
-		if(this.frm.fields_dict["budget_details"].grid.get_field("account")) {
-			this.frm.set_query("account", "budget_details", function() {
+		if(this.frm.fields_dict["budgets"].grid.get_field("account")) {
+			this.frm.set_query("account", "budgets", function() {
 				return {
 					filters:[
 						['Account', 'company', '=', me.frm.doc.company],
diff --git a/erpnext/accounts/doctype/cost_center/cost_center.json b/erpnext/accounts/doctype/cost_center/cost_center.json
index e65f74b..f8d59f8 100644
--- a/erpnext/accounts/doctype/cost_center/cost_center.json
+++ b/erpnext/accounts/doctype/cost_center/cost_center.json
@@ -85,14 +85,14 @@
    "label": "Distribution Id", 
    "oldfieldname": "distribution_id", 
    "oldfieldtype": "Link", 
-   "options": "Budget Distribution", 
+   "options": "Monthly Distribution", 
    "permlevel": 0
   }, 
   {
    "description": "Add rows to set annual budgets on Accounts.", 
-   "fieldname": "budget_details", 
+   "fieldname": "budgets", 
    "fieldtype": "Table", 
-   "label": "Budget Details", 
+   "label": "Budgets", 
    "oldfieldname": "budget_details", 
    "oldfieldtype": "Table", 
    "options": "Budget Detail", 
@@ -145,7 +145,7 @@
  "icon": "icon-money", 
  "idx": 1, 
  "in_create": 0, 
- "modified": "2014-08-26 12:16:11.163750", 
+ "modified": "2014-12-25 15:35:09.968578", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Cost Center", 
@@ -197,5 +197,5 @@
    "role": "Material User"
   }
  ], 
- "search_fields": "name,parent_cost_center"
+ "search_fields": "parent_cost_center"
 }
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/cost_center/cost_center.py b/erpnext/accounts/doctype/cost_center/cost_center.py
index 0cc9918..d75e690 100644
--- a/erpnext/accounts/doctype/cost_center/cost_center.py
+++ b/erpnext/accounts/doctype/cost_center/cost_center.py
@@ -51,7 +51,7 @@
 
 	def validate_budget_details(self):
 		check_acc_list = []
-		for d in self.get('budget_details'):
+		for d in self.get('budgets'):
 			if self.group_or_ledger=="Group":
 				msgprint(_("Budget cannot be set for Group Cost Centers"), raise_exception=1)
 
diff --git a/erpnext/accounts/doctype/cost_center/test_records.json b/erpnext/accounts/doctype/cost_center/test_records.json
index 7ffc687..13e0ea9 100644
--- a/erpnext/accounts/doctype/cost_center/test_records.json
+++ b/erpnext/accounts/doctype/cost_center/test_records.json
@@ -1,12 +1,12 @@
 [
  {
-  "budget_details": [
+  "budgets": [
    {
     "account": "_Test Account Cost for Goods Sold - _TC", 
     "budget_allocated": 100000, 
     "doctype": "Budget Detail", 
     "fiscal_year": "_Test Fiscal Year 2013", 
-    "parentfield": "budget_details"
+    "parentfield": "budgets"
    }
   ], 
   "company": "_Test Company", 
diff --git a/erpnext/accounts/doctype/fiscal_year/fiscal_year.json b/erpnext/accounts/doctype/fiscal_year/fiscal_year.json
index 3927c4f..cddb60d 100644
--- a/erpnext/accounts/doctype/fiscal_year/fiscal_year.json
+++ b/erpnext/accounts/doctype/fiscal_year/fiscal_year.json
@@ -39,9 +39,9 @@
    "reqd": 1
   }, 
   {
-   "fieldname": "fiscal_year_companies", 
+   "fieldname": "companies", 
    "fieldtype": "Table", 
-   "label": "Fiscal Year Companies", 
+   "label": "Companies", 
    "options": "Fiscal Year Company", 
    "permlevel": 0, 
    "precision": ""
@@ -49,7 +49,7 @@
  ], 
  "icon": "icon-calendar", 
  "idx": 1, 
- "modified": "2014-10-07 12:23:41.679419", 
+ "modified": "2014-12-24 14:50:49.742088", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Fiscal Year", 
diff --git a/erpnext/accounts/doctype/gl_entry/gl_entry.py b/erpnext/accounts/doctype/gl_entry/gl_entry.py
index 787d1db..49893da 100644
--- a/erpnext/accounts/doctype/gl_entry/gl_entry.py
+++ b/erpnext/accounts/doctype/gl_entry/gl_entry.py
@@ -25,7 +25,7 @@
 		validate_balance_type(self.account, adv_adj)
 
 		# Update outstanding amt on against voucher
-		if self.against_voucher_type in ['Journal Voucher', 'Sales Invoice', 'Purchase Invoice'] \
+		if self.against_voucher_type in ['Journal Entry', 'Sales Invoice', 'Purchase Invoice'] \
 			and self.against_voucher and update_outstanding == 'Yes':
 				update_outstanding_amt(self.account, self.party_type, self.party, self.against_voucher_type,
 					self.against_voucher)
@@ -123,15 +123,15 @@
 
 	if against_voucher_type == 'Purchase Invoice':
 		bal = -bal
-	elif against_voucher_type == "Journal Voucher":
+	elif against_voucher_type == "Journal Entry":
 		against_voucher_amount = flt(frappe.db.sql("""
 			select sum(ifnull(debit, 0)) - sum(ifnull(credit, 0))
-			from `tabGL Entry` where voucher_type = 'Journal Voucher' and voucher_no = %s
+			from `tabGL Entry` where voucher_type = 'Journal Entry' and voucher_no = %s
 			and account = %s and party_type=%s and party=%s and ifnull(against_voucher, '') = ''""",
 			(against_voucher, account, party_type, party))[0][0])
 
 		if not against_voucher_amount:
-			frappe.throw(_("Against Journal Voucher {0} is already adjusted against some other voucher")
+			frappe.throw(_("Against Journal Entry {0} is already adjusted against some other voucher")
 				.format(against_voucher))
 
 		bal = against_voucher_amount + bal
diff --git a/erpnext/accounts/doctype/journal_voucher/README.md b/erpnext/accounts/doctype/journal_entry/README.md
similarity index 100%
rename from erpnext/accounts/doctype/journal_voucher/README.md
rename to erpnext/accounts/doctype/journal_entry/README.md
diff --git a/erpnext/manufacturing/doctype/workstation_operation_hour/__init__.py b/erpnext/accounts/doctype/journal_entry/__init__.py
similarity index 100%
copy from erpnext/manufacturing/doctype/workstation_operation_hour/__init__.py
copy to erpnext/accounts/doctype/journal_entry/__init__.py
diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.js b/erpnext/accounts/doctype/journal_entry/journal_entry.js
similarity index 80%
rename from erpnext/accounts/doctype/journal_voucher/journal_voucher.js
rename to erpnext/accounts/doctype/journal_entry/journal_entry.js
index 21fbf1a..a726d7d 100644
--- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.js
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.js
@@ -12,13 +12,13 @@
 	},
 
 	onload_post_render: function() {
-		cur_frm.get_field("entries").grid.set_multiple_add("account");
+		cur_frm.get_field("accounts").grid.set_multiple_add("account");
 	},
 
 	load_defaults: function() {
 		if(this.frm.doc.__islocal && this.frm.doc.company) {
 			frappe.model.set_default_values(this.frm.doc);
-			$.each(this.frm.doc.entries || [], function(i, jvd) {
+			$.each(this.frm.doc.accounts || [], function(i, jvd) {
 					frappe.model.set_default_values(jvd);
 				}
 			);
@@ -31,7 +31,7 @@
 		var me = this;
 
 		$.each(["account", "cost_center"], function(i, fieldname) {
-			me.frm.set_query(fieldname, "entries", function() {
+			me.frm.set_query(fieldname, "accounts", function() {
 				frappe.model.validate_missing(me.frm.doc, "company");
 				return {
 					filters: {
@@ -42,7 +42,7 @@
 			});
 		});
 
-		me.frm.set_query("party_type", "entries", function(doc, cdt, cdn) {
+		me.frm.set_query("party_type", "accounts", function(doc, cdt, cdn) {
 			return {
 				filters: {"name": ["in", ["Customer", "Supplier"]]}
 			}
@@ -50,7 +50,7 @@
 
 		$.each([["against_voucher", "Purchase Invoice", "supplier"],
 			["against_invoice", "Sales Invoice", "customer"]], function(i, opts) {
-				me.frm.set_query(opts[0], "entries", function(doc, cdt, cdn) {
+				me.frm.set_query(opts[0], "accounts", function(doc, cdt, cdn) {
 					var jvd = frappe.get_doc(cdt, cdn);
 					frappe.model.validate_missing(jvd, ["party_type", "party"]);
 					return {
@@ -63,12 +63,12 @@
 				});
 		});
 
-		this.frm.set_query("against_jv", "entries", function(doc, cdt, cdn) {
+		this.frm.set_query("against_jv", "accounts", function(doc, cdt, cdn) {
 			var jvd = frappe.get_doc(cdt, cdn);
 			frappe.model.validate_missing(jvd, "account");
 
 			return {
-				query: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_against_jv",
+				query: "erpnext.accounts.doctype.journal_entry.journal_entry.get_against_jv",
 				filters: {
 					account: jvd.account,
 					party: jvd.party
@@ -80,7 +80,7 @@
 	setup_balance_formatter: function() {
 		var me = this;
 		$.each(["balance", "party_balance"], function(i, field) {
-			var df = frappe.meta.get_docfield("Journal Voucher Detail", field, me.frm.doc.name);
+			var df = frappe.meta.get_docfield("Journal Entry Account", field, me.frm.doc.name);
 			df.formatter = function(value, df, options, doc) {
 				var currency = frappe.meta.get_field_currency(df, doc);
 				var dr_or_cr = value ? ('<label>' + (value > 0.0 ? __("Dr") : __("Cr")) + '</label>') : "";
@@ -109,7 +109,7 @@
 	against_jv: function(doc, cdt, cdn) {
 		var d = frappe.get_doc(cdt, cdn);
 		if (d.against_jv && d.party && !flt(d.credit) && !flt(d.debit)) {
-			this.get_outstanding('Journal Voucher', d.against_jv, d);
+			this.get_outstanding('Journal Entry', d.against_jv, d);
 		}
 	},
 
@@ -168,7 +168,7 @@
 
 cur_frm.cscript.update_totals = function(doc) {
 	var td=0.0; var tc =0.0;
-	var el = doc.entries || [];
+	var el = doc.accounts || [];
 	for(var i in el) {
 		td += flt(el[i].debit, precision("debit", el[i]));
 		tc += flt(el[i].credit, precision("credit", el[i]));
@@ -200,7 +200,7 @@
 			args: {account: d.account, date: doc.posting_date},
 			callback: function(r) {
 				d.balance = r.message;
-				refresh_field('balance', d.name, 'entries');
+				refresh_field('balance', d.name, 'accounts');
 			}
 		});
 	}
@@ -216,30 +216,30 @@
 		cur_frm.pformat.print_heading = doc.select_print_heading;
 	}
 	else
-		cur_frm.pformat.print_heading = __("Journal Voucher");
+		cur_frm.pformat.print_heading = __("Journal Entry");
 }
 
 cur_frm.cscript.voucher_type = function(doc, cdt, cdn) {
-	cur_frm.set_df_property("cheque_no", "reqd", doc.voucher_type=="Bank Voucher");
-	cur_frm.set_df_property("cheque_date", "reqd", doc.voucher_type=="Bank Voucher");
+	cur_frm.set_df_property("cheque_no", "reqd", doc.voucher_type=="Bank Entry");
+	cur_frm.set_df_property("cheque_date", "reqd", doc.voucher_type=="Bank Entry");
 
-	if((doc.entries || []).length!==0 || !doc.company) // too early
+	if((doc.accounts || []).length!==0 || !doc.company) // too early
 		return;
 
 	var update_jv_details = function(doc, r) {
-		var jvdetail = frappe.model.add_child(doc, "Journal Voucher Detail", "entries");
+		var jvdetail = frappe.model.add_child(doc, "Journal Entry Account", "accounts");
 		$.each(r, function(i, d) {
-			var row = frappe.model.add_child(doc, "Journal Voucher Detail", "entries");
+			var row = frappe.model.add_child(doc, "Journal Entry Account", "accounts");
 			row.account = d.account;
 			row.balance = d.balance;
 		});
-		refresh_field("entries");
+		refresh_field("accounts");
 	}
 
-	if(in_list(["Bank Voucher", "Cash Voucher"], doc.voucher_type)) {
+	if(in_list(["Bank Entry", "Cash Entry"], doc.voucher_type)) {
 		return frappe.call({
 			type: "GET",
-			method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account",
+			method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_default_bank_cash_account",
 			args: {
 				"voucher_type": doc.voucher_type,
 				"company": doc.company
@@ -253,12 +253,12 @@
 	} else if(doc.voucher_type=="Opening Entry") {
 		return frappe.call({
 			type:"GET",
-			method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_opening_accounts",
+			method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_opening_accounts",
 			args: {
 				"company": doc.company
 			},
 			callback: function(r) {
-				frappe.model.clear_table(doc, "entries");
+				frappe.model.clear_table(doc, "accounts");
 				if(r.message) {
 					update_jv_details(doc, r.message);
 				}
@@ -268,11 +268,11 @@
 	}
 }
 
-frappe.ui.form.on("Journal Voucher Detail", "party", function(frm, cdt, cdn) {
+frappe.ui.form.on("Journal Entry Account", "party", function(frm, cdt, cdn) {
 	var d = frappe.get_doc(cdt, cdn);
 	if(!d.account && d.party_type && d.party) {
 		return frm.call({
-			method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_party_account_and_balance",
+			method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_party_account_and_balance",
 			child: d,
 			args: {
 				company: frm.doc.company,
diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.json b/erpnext/accounts/doctype/journal_entry/journal_entry.json
similarity index 93%
rename from erpnext/accounts/doctype/journal_voucher/journal_voucher.json
rename to erpnext/accounts/doctype/journal_entry/journal_entry.json
index cfad59c..2e1832e 100644
--- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.json
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.json
@@ -6,9 +6,9 @@
  "doctype": "DocType", 
  "fields": [
   {
-   "fieldname": "voucher_type_and_date", 
+   "fieldname": "entry_type_and_date", 
    "fieldtype": "Section Break", 
-   "label": "Voucher Type and Date", 
+   "label": "Entry Type and Date", 
    "options": "icon-flag", 
    "permlevel": 0
   }, 
@@ -42,7 +42,7 @@
    "label": "Voucher Type", 
    "oldfieldname": "voucher_type", 
    "oldfieldtype": "Select", 
-   "options": "Journal Entry\nBank Voucher\nCash Voucher\nCredit Card Voucher\nDebit Note\nCredit Note\nContra Voucher\nExcise Voucher\nWrite Off Voucher\nOpening Entry", 
+   "options": "Journal Entry\nBank Entry\nCash Entry\nCredit Card Entry\nDebit Note\nCredit Note\nContra Entry\nExcise Entry\nWrite Off Entry\nOpening Entry", 
    "permlevel": 0, 
    "print_hide": 0, 
    "read_only": 0, 
@@ -82,12 +82,12 @@
   }, 
   {
    "allow_on_submit": 1, 
-   "fieldname": "entries", 
+   "fieldname": "accounts", 
    "fieldtype": "Table", 
-   "label": "Entries", 
+   "label": "Accounting Entries", 
    "oldfieldname": "entries", 
    "oldfieldtype": "Table", 
-   "options": "Journal Voucher Detail", 
+   "options": "Journal Entry Account", 
    "permlevel": 0, 
    "print_hide": 0, 
    "read_only": 0
@@ -307,7 +307,7 @@
   }, 
   {
    "default": "Accounts Receivable", 
-   "depends_on": "eval:doc.voucher_type == 'Write Off Voucher'", 
+   "depends_on": "eval:doc.voucher_type == 'Write Off Entry'", 
    "fieldname": "write_off_based_on", 
    "fieldtype": "Select", 
    "label": "Write Off Based On", 
@@ -318,7 +318,7 @@
    "report_hide": 1
   }, 
   {
-   "depends_on": "eval:doc.voucher_type == 'Write Off Voucher'", 
+   "depends_on": "eval:doc.voucher_type == 'Write Off Entry'", 
    "fieldname": "write_off_amount", 
    "fieldtype": "Currency", 
    "label": "Write Off Amount <=", 
@@ -329,7 +329,7 @@
    "report_hide": 1
   }, 
   {
-   "depends_on": "eval:doc.voucher_type == 'Write Off Voucher'", 
+   "depends_on": "eval:doc.voucher_type == 'Write Off Entry'", 
    "fieldname": "get_outstanding_invoices", 
    "fieldtype": "Button", 
    "label": "Get Outstanding Invoices", 
@@ -439,7 +439,7 @@
    "no_copy": 1, 
    "oldfieldname": "amended_from", 
    "oldfieldtype": "Link", 
-   "options": "Journal Voucher", 
+   "options": "Journal Entry", 
    "permlevel": 0, 
    "print_hide": 1, 
    "read_only": 1
@@ -448,10 +448,10 @@
  "icon": "icon-file-text", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-12-12 16:48:57.294150", 
+ "modified": "2014-12-25 17:21:56.824371", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
- "name": "Journal Voucher", 
+ "name": "Journal Entry", 
  "owner": "Administrator", 
  "permissions": [
   {
diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
similarity index 85%
rename from erpnext/accounts/doctype/journal_voucher/journal_voucher.py
rename to erpnext/accounts/doctype/journal_entry/journal_entry.py
index 599950f..946e2b2 100644
--- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -10,9 +10,9 @@
 from erpnext.accounts.utils import get_balance_on
 
 
-class JournalVoucher(AccountsController):
+class JournalEntry(AccountsController):
 	def __init__(self, arg1, arg2=None):
-		super(JournalVoucher, self).__init__(arg1, arg2)
+		super(JournalEntry, self).__init__(arg1, arg2)
 
 	def get_feed(self):
 		return self.voucher_type
@@ -22,7 +22,7 @@
 			self.is_opening='No'
 		self.clearance_date = None
 
-		super(JournalVoucher, self).validate_date_with_fiscal_year()
+		super(JournalEntry, self).validate_date_with_fiscal_year()
 		self.validate_party()
 		self.validate_cheque_info()
 		self.validate_entries_for_advance()
@@ -47,7 +47,7 @@
 
 	def update_advance_paid(self):
 		advance_paid = frappe._dict()
-		for d in self.get("entries"):
+		for d in self.get("accounts"):
 			if d.is_advance:
 				if d.against_sales_order:
 					advance_paid.setdefault("Sales Order", []).append(d.against_sales_order)
@@ -67,7 +67,7 @@
 		self.update_expense_claim()
 
 	def validate_party(self):
-		for d in self.get("entries"):
+		for d in self.get("accounts"):
 			account_type = frappe.db.get_value("Account", d.account, "account_type")
 			if account_type in ["Receivable", "Payable"]:
 				if not (d.party_type and d.party):
@@ -76,7 +76,7 @@
 				frappe.throw(_("Row{0}: Party Type and Party is only applicable against Receivable / Payable account").format(d.idx))
 
 	def check_credit_limit(self):
-		customers = list(set([d.party for d in self.get("entries") if d.party_type=="Customer" and flt(d.debit) > 0]))
+		customers = list(set([d.party for d in self.get("accounts") if d.party_type=="Customer" and flt(d.debit) > 0]))
 		if customers:
 			from erpnext.selling.doctype.customer.customer import check_credit_limit
 			for customer in customers:
@@ -86,7 +86,7 @@
 		from erpnext.accounts.party import get_credit_days
 		posting_date = None
 		if self.cheque_date:
-			for d in self.get("entries"):
+			for d in self.get("accounts"):
 				if d.party_type and d.party and d.get("credit" if d.party_type=="Customer" else "debit") > 0:
 					if d.against_invoice:
 						posting_date = frappe.db.get_value("Sales Invoice", d.against_invoice, "posting_date")
@@ -101,7 +101,7 @@
 								.format(date_diff - flt(credit_days), d.party_type, d.party))
 
 	def validate_cheque_info(self):
-		if self.voucher_type in ['Bank Voucher']:
+		if self.voucher_type in ['Bank Entry']:
 			if not self.cheque_no or not self.cheque_date:
 				msgprint(_("Reference No & Reference Date is required for {0}").format(self.voucher_type),
 					raise_exception=1)
@@ -110,7 +110,7 @@
 			msgprint(_("Reference No is mandatory if you entered Reference Date"), raise_exception=1)
 
 	def validate_entries_for_advance(self):
-		for d in self.get('entries'):
+		for d in self.get('accounts'):
 			if not (d.against_voucher and d.against_invoice and d.against_jv):
 				if (d.party_type == 'Customer' and flt(d.credit) > 0) or \
 						(d.party_type == 'Supplier' and flt(d.debit) > 0):
@@ -120,26 +120,26 @@
 						frappe.throw(_("Row {0}: Payment against Sales/Purchase Order should always be marked as advance").format(d.idx))
 
 	def validate_against_jv(self):
-		for d in self.get('entries'):
+		for d in self.get('accounts'):
 			if d.against_jv:
 				account_root_type = frappe.db.get_value("Account", d.account, "root_type")
 				if account_root_type == "Asset" and flt(d.debit) > 0:
-					frappe.throw(_("For {0}, only credit entries can be linked against another debit entry")
+					frappe.throw(_("For {0}, only credit accounts can be linked against another debit entry")
 						.format(d.account))
 				elif account_root_type == "Liability" and flt(d.credit) > 0:
-					frappe.throw(_("For {0}, only debit entries can be linked against another credit entry")
+					frappe.throw(_("For {0}, only debit accounts can be linked against another credit entry")
 						.format(d.account))
 
 				if d.against_jv == self.name:
-					frappe.throw(_("You can not enter current voucher in 'Against Journal Voucher' column"))
+					frappe.throw(_("You can not enter current voucher in 'Against Journal Entry' column"))
 
-				against_entries = frappe.db.sql("""select * from `tabJournal Voucher Detail`
+				against_entries = frappe.db.sql("""select * from `tabJournal Entry Account`
 					where account = %s and docstatus = 1 and parent = %s
 					and ifnull(against_jv, '') = '' and ifnull(against_invoice, '') = ''
 					and ifnull(against_voucher, '') = ''""", (d.account, d.against_jv), as_dict=True)
 
 				if not against_entries:
-					frappe.throw(_("Journal Voucher {0} does not have account {1} or already matched against other voucher")
+					frappe.throw(_("Journal Entry {0} does not have account {1} or already matched against other voucher")
 						.format(d.against_jv, d.account))
 				else:
 					dr_or_cr = "debit" if d.credit > 0 else "credit"
@@ -148,7 +148,7 @@
 						if flt(jvd[dr_or_cr]) > 0:
 							valid = True
 					if not valid:
-						frappe.throw(_("Against Journal Voucher {0} does not have any unmatched {1} entry")
+						frappe.throw(_("Against Journal Entry {0} does not have any unmatched {1} entry")
 							.format(d.against_jv, dr_or_cr))
 
 	def validate_against_sales_invoice(self):
@@ -175,7 +175,7 @@
 			'Purchase Order': ["Supplier"]
 			}
 
-		for d in self.get("entries"):
+		for d in self.get("accounts"):
 			if d.get(against_field):
 				dr_or_cr = "credit" if against_field in ["against_invoice", "against_sales_order"] \
 					else "debit"
@@ -236,23 +236,23 @@
 
 	def set_against_account(self):
 		accounts_debited, accounts_credited = [], []
-		for d in self.get("entries"):
+		for d in self.get("accounts"):
 			if flt(d.debit > 0): accounts_debited.append(d.account)
 			if flt(d.credit) > 0: accounts_credited.append(d.account)
 
-		for d in self.get("entries"):
+		for d in self.get("accounts"):
 			if flt(d.debit > 0): d.against_account = ", ".join(list(set(accounts_credited)))
 			if flt(d.credit > 0): d.against_account = ", ".join(list(set(accounts_debited)))
 
 	def validate_debit_and_credit(self):
 		self.total_debit, self.total_credit, self.difference = 0, 0, 0
 
-		for d in self.get("entries"):
+		for d in self.get("accounts"):
 			if d.debit and d.credit:
 				frappe.throw(_("You cannot credit and debit same account at the same time"))
 
-			self.total_debit = flt(self.total_debit) + flt(d.debit, self.precision("debit", "entries"))
-			self.total_credit = flt(self.total_credit) + flt(d.credit, self.precision("credit", "entries"))
+			self.total_debit = flt(self.total_debit) + flt(d.debit, self.precision("debit", "accounts"))
+			self.total_credit = flt(self.total_credit) + flt(d.credit, self.precision("credit", "accounts"))
 
 		self.difference = flt(self.total_debit, self.precision("total_debit")) - \
 			flt(self.total_credit, self.precision("total_credit"))
@@ -269,7 +269,7 @@
 			else:
 				msgprint(_("Please enter Reference date"), raise_exception=frappe.MandatoryError)
 
-		for d in self.get('entries'):
+		for d in self.get('accounts'):
 			if d.against_invoice and d.credit:
 				currency = frappe.db.get_value("Sales Invoice", d.against_invoice, "currency")
 
@@ -305,7 +305,7 @@
 		if self.is_opening != 'Yes':
 			self.aging_date = self.posting_date
 		else:
-			party_list = [d.party for d in self.get("entries") if d.party_type and d.party]
+			party_list = [d.party for d in self.get("accounts") if d.party_type and d.party]
 
 			if len(party_list) and not self.aging_date:
 				frappe.throw(_("Aging Date is mandatory for opening entry"))
@@ -313,7 +313,7 @@
 				self.aging_date = self.posting_date
 
 	def set_print_format_fields(self):
-		for d in self.get('entries'):
+		for d in self.get('accounts'):
 			if d.party_type and d.party:
 				if not self.pay_to_recd_from:
 					self.pay_to_recd_from = frappe.db.get_value(d.party_type, d.party,
@@ -333,7 +333,7 @@
 		from erpnext.accounts.general_ledger import make_gl_entries
 
 		gl_map = []
-		for d in self.get("entries"):
+		for d in self.get("accounts"):
 			if d.debit or d.credit:
 				gl_map.append(
 					self.get_gl_dict({
@@ -341,11 +341,11 @@
 						"party_type": d.party_type,
 						"party": d.party,
 						"against": d.against_account,
-						"debit": flt(d.debit, self.precision("debit", "entries")),
-						"credit": flt(d.credit, self.precision("credit", "entries")),
+						"debit": flt(d.debit, self.precision("debit", "accounts")),
+						"credit": flt(d.credit, self.precision("credit", "accounts")),
 						"against_voucher_type": (("Purchase Invoice" if d.against_voucher else None)
 							or ("Sales Invoice" if d.against_invoice else None)
-							or ("Journal Voucher" if d.against_jv else None)
+							or ("Journal Entry" if d.against_jv else None)
 							or ("Sales Order" if d.against_sales_order else None)
 							or ("Purchase Order" if d.against_purchase_order else None)),
 						"against_voucher": d.against_voucher or d.against_invoice or d.against_jv
@@ -359,14 +359,14 @@
 			make_gl_entries(gl_map, cancel=cancel, adv_adj=adv_adj)
 
 	def get_balance(self):
-		if not self.get('entries'):
+		if not self.get('accounts'):
 			msgprint(_("'Entries' cannot be empty"), raise_exception=True)
 		else:
 			flag, self.total_debit, self.total_credit = 0, 0, 0
 			diff = flt(self.difference, self.precision("difference"))
 
 			# If any row without amount, set the diff on that row
-			for d in self.get('entries'):
+			for d in self.get('accounts'):
 				if not d.credit and not d.debit and diff != 0:
 					if diff>0:
 						d.credit = diff
@@ -376,7 +376,7 @@
 
 			# Set the diff in a new row
 			if flag == 0 and diff != 0:
-				jd = self.append('entries', {})
+				jd = self.append('accounts', {})
 				if diff>0:
 					jd.credit = abs(diff)
 				elif diff<0:
@@ -385,24 +385,24 @@
 			self.validate_debit_and_credit()
 
 	def get_outstanding_invoices(self):
-		self.set('entries', [])
+		self.set('accounts', [])
 		total = 0
 		for d in self.get_values():
-			total += flt(d.outstanding_amount, self.precision("credit", "entries"))
-			jd1 = self.append('entries', {})
+			total += flt(d.outstanding_amount, self.precision("credit", "accounts"))
+			jd1 = self.append('accounts', {})
 			jd1.account = d.account
 			jd1.party = d.party
 
 			if self.write_off_based_on == 'Accounts Receivable':
 				jd1.party_type = "Customer"
-				jd1.credit = flt(d.outstanding_amount, self.precision("credit", "entries"))
+				jd1.credit = flt(d.outstanding_amount, self.precision("credit", "accounts"))
 				jd1.against_invoice = cstr(d.name)
 			elif self.write_off_based_on == 'Accounts Payable':
 				jd1.party_type = "Supplier"
-				jd1.debit = flt(d.outstanding_amount, self.precision("debit", "entries"))
+				jd1.debit = flt(d.outstanding_amount, self.precision("debit", "accounts"))
 				jd1.against_voucher = cstr(d.name)
 
-		jd2 = self.append('entries', {})
+		jd2 = self.append('accounts', {})
 		if self.write_off_based_on == 'Accounts Receivable':
 			jd2.debit = total
 		elif self.write_off_based_on == 'Accounts Payable':
@@ -423,18 +423,18 @@
 			return frappe.db.sql("""select name, credit_to as account, supplier as party, outstanding_amount
 				from `tabPurchase Invoice` where docstatus = 1 and company = %s
 				and outstanding_amount > 0 %s""" % ('%s', cond), self.company, as_dict=True)
-				
+
 	def update_expense_claim(self):
-		for d in self.entries:
+		for d in self.accounts:
 			if d.against_expense_claim:
-				amt = frappe.db.sql("""select sum(debit) as amt from `tabJournal Voucher Detail` 
+				amt = frappe.db.sql("""select sum(debit) as amt from `tabJournal Entry Account`
 					where against_expense_claim = %s and docstatus = 1""", d.against_expense_claim ,as_dict=1)[0].amt
 				frappe.db.set_value("Expense Claim", d.against_expense_claim , "total_amount_reimbursed", amt)
-				
+
 	def validate_expense_claim(self):
-		for d in self.entries:
+		for d in self.accounts:
 			if d.against_expense_claim:
-				sanctioned_amount, reimbursed_amount = frappe.db.get_value("Expense Claim", d.against_expense_claim, 
+				sanctioned_amount, reimbursed_amount = frappe.db.get_value("Expense Claim", d.against_expense_claim,
 					("total_sanctioned_amount", "total_amount_reimbursed"))
 				pending_amount = cint(sanctioned_amount) - cint(reimbursed_amount)
 				if d.debit > pending_amount:
@@ -444,7 +444,7 @@
 @frappe.whitelist()
 def get_default_bank_cash_account(company, voucher_type):
 	account = frappe.db.get_value("Company", company,
-		voucher_type=="Bank Voucher" and "default_bank_account" or "default_cash_account")
+		voucher_type=="Bank Entry" and "default_bank_account" or "default_cash_account")
 	if account:
 		return {
 			"account": account,
@@ -459,16 +459,16 @@
 	jv.remark = 'Payment received against Sales Invoice {0}. {1}'.format(si.name, si.remarks)
 
 	# credit customer
-	jv.get("entries")[0].account = si.debit_to
-	jv.get("entries")[0].party_type = "Customer"
-	jv.get("entries")[0].party = si.customer
-	jv.get("entries")[0].balance = get_balance_on(si.debit_to)
-	jv.get("entries")[0].party_balance = get_balance_on(party=si.customer, party_type="Customer")
-	jv.get("entries")[0].credit = si.outstanding_amount
-	jv.get("entries")[0].against_invoice = si.name
+	jv.get("accounts")[0].account = si.debit_to
+	jv.get("accounts")[0].party_type = "Customer"
+	jv.get("accounts")[0].party = si.customer
+	jv.get("accounts")[0].balance = get_balance_on(si.debit_to)
+	jv.get("accounts")[0].party_balance = get_balance_on(party=si.customer, party_type="Customer")
+	jv.get("accounts")[0].credit = si.outstanding_amount
+	jv.get("accounts")[0].against_invoice = si.name
 
 	# debit bank
-	jv.get("entries")[1].debit = si.outstanding_amount
+	jv.get("accounts")[1].debit = si.outstanding_amount
 
 	return jv.as_dict()
 
@@ -479,29 +479,29 @@
 	jv.remark = 'Payment against Purchase Invoice {0}. {1}'.format(pi.name, pi.remarks)
 
 	# credit supplier
-	jv.get("entries")[0].account = pi.credit_to
-	jv.get("entries")[0].party_type = "Supplier"
-	jv.get("entries")[0].party = pi.supplier
-	jv.get("entries")[0].balance = get_balance_on(pi.credit_to)
-	jv.get("entries")[0].party_balance = get_balance_on(party=pi.supplier, party_type="Supplier")
-	jv.get("entries")[0].debit = pi.outstanding_amount
-	jv.get("entries")[0].against_voucher = pi.name
+	jv.get("accounts")[0].account = pi.credit_to
+	jv.get("accounts")[0].party_type = "Supplier"
+	jv.get("accounts")[0].party = pi.supplier
+	jv.get("accounts")[0].balance = get_balance_on(pi.credit_to)
+	jv.get("accounts")[0].party_balance = get_balance_on(party=pi.supplier, party_type="Supplier")
+	jv.get("accounts")[0].debit = pi.outstanding_amount
+	jv.get("accounts")[0].against_voucher = pi.name
 
 	# credit bank
-	jv.get("entries")[1].credit = pi.outstanding_amount
+	jv.get("accounts")[1].credit = pi.outstanding_amount
 
 	return jv.as_dict()
 
 def get_payment_entry(doc):
-	bank_account = get_default_bank_cash_account(doc.company, "Bank Voucher")
+	bank_account = get_default_bank_cash_account(doc.company, "Bank Entry")
 
-	jv = frappe.new_doc('Journal Voucher')
-	jv.voucher_type = 'Bank Voucher'
+	jv = frappe.new_doc('Journal Entry')
+	jv.voucher_type = 'Bank Entry'
 	jv.company = doc.company
 	jv.fiscal_year = doc.fiscal_year
 
-	jv.append("entries")
-	d2 = jv.append("entries")
+	jv.append("accounts")
+	d2 = jv.append("accounts")
 
 	if bank_account:
 		d2.account = bank_account["account"]
@@ -520,7 +520,7 @@
 
 def get_against_jv(doctype, txt, searchfield, start, page_len, filters):
 	return frappe.db.sql("""select jv.name, jv.posting_date, jv.user_remark
-		from `tabJournal Voucher` jv, `tabJournal Voucher Detail` jv_detail
+		from `tabJournal Entry` jv, `tabJournal Entry Account` jv_detail
 		where jv_detail.parent = jv.name and jv_detail.account = %s and jv_detail.party = %s
 		and (ifnull(jvd.against_invoice, '') = '' and ifnull(jvd.against_voucher, '') = '' and ifnull(jvd.against_jv, '') = '' )
 		and jv.docstatus = 1 and jv.{0} like %s order by jv.name desc limit %s, %s""".format(searchfield),
@@ -529,10 +529,10 @@
 @frappe.whitelist()
 def get_outstanding(args):
 	args = eval(args)
-	if args.get("doctype") == "Journal Voucher" and args.get("party"):
+	if args.get("doctype") == "Journal Entry" and args.get("party"):
 		against_jv_amount = frappe.db.sql("""
 			select sum(ifnull(debit, 0)) - sum(ifnull(credit, 0))
-			from `tabJournal Voucher Detail` where parent=%s and party=%s
+			from `tabJournal Entry Account` where parent=%s and party=%s
 			and ifnull(against_invoice, '')='' and ifnull(against_voucher, '')=''
 			and ifnull(against_jv, '')=''""", (args['docname'], args['party']))
 
diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher_list.html b/erpnext/accounts/doctype/journal_entry/journal_entry_list.html
similarity index 100%
rename from erpnext/accounts/doctype/journal_voucher/journal_voucher_list.html
rename to erpnext/accounts/doctype/journal_entry/journal_entry_list.html
diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher_list.js b/erpnext/accounts/doctype/journal_entry/journal_entry_list.js
similarity index 60%
rename from erpnext/accounts/doctype/journal_voucher/journal_voucher_list.js
rename to erpnext/accounts/doctype/journal_entry/journal_entry_list.js
index 06d578a..42d7032 100644
--- a/erpnext/accounts/doctype/journal_voucher/journal_voucher_list.js
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry_list.js
@@ -1,3 +1,3 @@
-frappe.listview_settings['Journal Voucher'] = {
+frappe.listview_settings['Journal Entry'] = {
 	add_fields: ["voucher_type", "posting_date", "total_debit", "company"]
 };
diff --git a/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py b/erpnext/accounts/doctype/journal_entry/test_journal_entry.py
similarity index 72%
rename from erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py
rename to erpnext/accounts/doctype/journal_entry/test_journal_entry.py
index 3211346..6c256fb 100644
--- a/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py
+++ b/erpnext/accounts/doctype/journal_entry/test_journal_entry.py
@@ -5,8 +5,8 @@
 import unittest, frappe
 from frappe.utils import flt
 
-class TestJournalVoucher(unittest.TestCase):
-	def test_journal_voucher_with_against_jv(self):
+class TestJournalEntry(unittest.TestCase):
+	def test_journal_entry_with_against_jv(self):
 
 		jv_invoice = frappe.copy_doc(test_records[2])
 		base_jv = frappe.copy_doc(test_records[0])
@@ -29,8 +29,8 @@
 		self.jv_against_voucher_testcase(base_jv, purchase_order)
 
 	def jv_against_voucher_testcase(self, base_jv, test_voucher):
-		dr_or_cr = "credit" if test_voucher.doctype in ["Sales Order", "Journal Voucher"] else "debit"
-		field_dict = {'Journal Voucher': "against_jv",
+		dr_or_cr = "credit" if test_voucher.doctype in ["Sales Order", "Journal Entry"] else "debit"
+		field_dict = {'Journal Entry': "against_jv",
 			'Sales Order': "against_sales_order",
 			'Purchase Order': "against_purchase_order"
 			}
@@ -39,28 +39,28 @@
 		test_voucher.insert()
 		test_voucher.submit()
 
-		if test_voucher.doctype == "Journal Voucher":
-			self.assertTrue(frappe.db.sql("""select name from `tabJournal Voucher Detail`
+		if test_voucher.doctype == "Journal Entry":
+			self.assertTrue(frappe.db.sql("""select name from `tabJournal Entry Account`
 				where account = %s and docstatus = 1 and parent = %s""",
 				("_Test Receivable - _TC", test_voucher.name)))
 
-		self.assertTrue(not frappe.db.sql("""select name from `tabJournal Voucher Detail`
+		self.assertTrue(not frappe.db.sql("""select name from `tabJournal Entry Account`
 			where %s=%s""" % (field_dict.get(test_voucher.doctype), '%s'), (test_voucher.name)))
 
-		base_jv.get("entries")[0].is_advance = "Yes" if (test_voucher.doctype in ["Sales Order", "Purchase Order"]) else "No"
-		base_jv.get("entries")[0].set(field_dict.get(test_voucher.doctype), test_voucher.name)
+		base_jv.get("accounts")[0].is_advance = "Yes" if (test_voucher.doctype in ["Sales Order", "Purchase Order"]) else "No"
+		base_jv.get("accounts")[0].set(field_dict.get(test_voucher.doctype), test_voucher.name)
 		base_jv.insert()
 		base_jv.submit()
 
 		submitted_voucher = frappe.get_doc(test_voucher.doctype, test_voucher.name)
 
-		self.assertTrue(frappe.db.sql("""select name from `tabJournal Voucher Detail`
+		self.assertTrue(frappe.db.sql("""select name from `tabJournal Entry Account`
 			where %s=%s""" % (field_dict.get(test_voucher.doctype), '%s'), (submitted_voucher.name)))
 
-		self.assertTrue(frappe.db.sql("""select name from `tabJournal Voucher Detail`
+		self.assertTrue(frappe.db.sql("""select name from `tabJournal Entry Account`
 			where %s=%s and %s=400""" % (field_dict.get(submitted_voucher.doctype), '%s', dr_or_cr), (submitted_voucher.name)))
 
-		if base_jv.get("entries")[0].is_advance == "Yes":
+		if base_jv.get("accounts")[0].is_advance == "Yes":
 			self.advance_paid_testcase(base_jv, submitted_voucher, dr_or_cr)
 		self.cancel_against_voucher_testcase(submitted_voucher)
 
@@ -68,15 +68,15 @@
 		#Test advance paid field
 		advance_paid = frappe.db.sql("""select advance_paid from `tab%s`
 					where name=%s""" % (test_voucher.doctype, '%s'), (test_voucher.name))
-		payment_against_order = base_jv.get("entries")[0].get(dr_or_cr)
+		payment_against_order = base_jv.get("accounts")[0].get(dr_or_cr)
 
 		self.assertTrue(flt(advance_paid[0][0]) == flt(payment_against_order))
 
 	def cancel_against_voucher_testcase(self, test_voucher):
-		if test_voucher.doctype == "Journal Voucher":
-			# if test_voucher is a Journal Voucher, test cancellation of test_voucher
+		if test_voucher.doctype == "Journal Entry":
+			# if test_voucher is a Journal Entry, test cancellation of test_voucher
 			test_voucher.cancel()
-			self.assertTrue(not frappe.db.sql("""select name from `tabJournal Voucher Detail`
+			self.assertTrue(not frappe.db.sql("""select name from `tabJournal Entry Account`
 				where against_jv=%s""", test_voucher.name))
 
 		elif test_voucher.doctype in ["Sales Order", "Purchase Order"]:
@@ -89,7 +89,7 @@
 		set_perpetual_inventory()
 
 		jv = frappe.copy_doc(test_records[0])
-		jv.get("entries")[0].update({
+		jv.get("accounts")[0].update({
 			"account": "_Test Warehouse - _TC",
 			"party_type": None,
 			"party": None
@@ -107,14 +107,14 @@
 		self.clear_account_balance()
 
 		jv = frappe.copy_doc(test_records[0])
-		jv.get("entries")[1].account = "_Test Account Cost for Goods Sold - _TC"
-		jv.get("entries")[1].cost_center = "_Test Cost Center - _TC"
-		jv.get("entries")[1].debit = 20000.0
-		jv.get("entries")[0].credit = 20000.0
+		jv.get("accounts")[1].account = "_Test Account Cost for Goods Sold - _TC"
+		jv.get("accounts")[1].cost_center = "_Test Cost Center - _TC"
+		jv.get("accounts")[1].debit = 20000.0
+		jv.get("accounts")[0].credit = 20000.0
 		jv.insert()
 		jv.submit()
 		self.assertTrue(frappe.db.get_value("GL Entry",
-			{"voucher_type": "Journal Voucher", "voucher_no": jv.name}))
+			{"voucher_type": "Journal Entry", "voucher_no": jv.name}))
 
 	def test_monthly_budget_crossed_stop(self):
 		from erpnext.accounts.utils import BudgetError
@@ -122,10 +122,10 @@
 		self.clear_account_balance()
 
 		jv = frappe.copy_doc(test_records[0])
-		jv.get("entries")[1].account = "_Test Account Cost for Goods Sold - _TC"
-		jv.get("entries")[1].cost_center = "_Test Cost Center - _TC"
-		jv.get("entries")[1].debit = 20000.0
-		jv.get("entries")[0].credit = 20000.0
+		jv.get("accounts")[1].account = "_Test Account Cost for Goods Sold - _TC"
+		jv.get("accounts")[1].cost_center = "_Test Cost Center - _TC"
+		jv.get("accounts")[1].debit = 20000.0
+		jv.get("accounts")[0].credit = 20000.0
 		jv.insert()
 
 		self.assertRaises(BudgetError, jv.submit)
@@ -141,10 +141,10 @@
 
 		jv = frappe.copy_doc(test_records[0])
 		jv.posting_date = "2013-08-12"
-		jv.get("entries")[1].account = "_Test Account Cost for Goods Sold - _TC"
-		jv.get("entries")[1].cost_center = "_Test Cost Center - _TC"
-		jv.get("entries")[1].debit = 150000.0
-		jv.get("entries")[0].credit = 150000.0
+		jv.get("accounts")[1].account = "_Test Account Cost for Goods Sold - _TC"
+		jv.get("accounts")[1].cost_center = "_Test Cost Center - _TC"
+		jv.get("accounts")[1].debit = 150000.0
+		jv.get("accounts")[0].credit = 150000.0
 		jv.insert()
 
 		self.assertRaises(BudgetError, jv.submit)
@@ -157,28 +157,28 @@
 		self.clear_account_balance()
 
 		jv = frappe.copy_doc(test_records[0])
-		jv.get("entries")[0].update({
+		jv.get("accounts")[0].update({
 			"account": "_Test Account Cost for Goods Sold - _TC",
 			"cost_center": "_Test Cost Center - _TC",
 			"party_type": None,
 			"party": None,
 			"credit": 30000.0
 		})
-		jv.get("entries")[1].debit = 30000.0
+		jv.get("accounts")[1].debit = 30000.0
 		jv.submit()
 
 		self.assertTrue(frappe.db.get_value("GL Entry",
-			{"voucher_type": "Journal Voucher", "voucher_no": jv.name}))
+			{"voucher_type": "Journal Entry", "voucher_no": jv.name}))
 
 		jv1 = frappe.copy_doc(test_records[0])
-		jv1.get("entries")[1].account = "_Test Account Cost for Goods Sold - _TC"
-		jv1.get("entries")[1].cost_center = "_Test Cost Center - _TC"
-		jv1.get("entries")[1].debit = 40000.0
-		jv1.get("entries")[0].credit = 40000.0
+		jv1.get("accounts")[1].account = "_Test Account Cost for Goods Sold - _TC"
+		jv1.get("accounts")[1].cost_center = "_Test Cost Center - _TC"
+		jv1.get("accounts")[1].debit = 40000.0
+		jv1.get("accounts")[0].credit = 40000.0
 		jv1.submit()
 
 		self.assertTrue(frappe.db.get_value("GL Entry",
-			{"voucher_type": "Journal Voucher", "voucher_no": jv1.name}))
+			{"voucher_type": "Journal Entry", "voucher_no": jv1.name}))
 
 		self.assertRaises(BudgetError, jv.cancel)
 
@@ -188,4 +188,4 @@
 		frappe.db.sql("""delete from `tabGL Entry`""")
 
 
-test_records = frappe.get_test_records('Journal Voucher')
+test_records = frappe.get_test_records('Journal Entry')
diff --git a/erpnext/accounts/doctype/journal_voucher/test_records.json b/erpnext/accounts/doctype/journal_entry/test_records.json
similarity index 63%
rename from erpnext/accounts/doctype/journal_voucher/test_records.json
rename to erpnext/accounts/doctype/journal_entry/test_records.json
index 285482f..01745c5 100644
--- a/erpnext/accounts/doctype/journal_voucher/test_records.json
+++ b/erpnext/accounts/doctype/journal_entry/test_records.json
@@ -3,88 +3,88 @@
   "cheque_date": "2013-02-14",
   "cheque_no": "33",
   "company": "_Test Company",
-  "doctype": "Journal Voucher",
-  "entries": [
+  "doctype": "Journal Entry",
+  "accounts": [
    {
     "account": "_Test Receivable - _TC",
 	"party_type": "Customer",
 	"party": "_Test Customer",
     "credit": 400.0,
     "debit": 0.0,
-    "doctype": "Journal Voucher Detail",
-    "parentfield": "entries"
+    "doctype": "Journal Entry Account",
+    "parentfield": "accounts"
    },
    {
     "account": "_Test Account Bank Account - _TC",
     "credit": 0.0,
     "debit": 400.0,
-    "doctype": "Journal Voucher Detail",
-    "parentfield": "entries"
+    "doctype": "Journal Entry Account",
+    "parentfield": "accounts"
    }
   ],
   "fiscal_year": "_Test Fiscal Year 2013",
-  "naming_series": "_T-Journal Voucher-",
+  "naming_series": "_T-Journal Entry-",
   "posting_date": "2013-02-14",
   "user_remark": "test",
-  "voucher_type": "Bank Voucher"
+  "voucher_type": "Bank Entry"
  },
  {
   "cheque_date": "2013-02-14",
   "cheque_no": "33",
   "company": "_Test Company",
-  "doctype": "Journal Voucher",
-  "entries": [
+  "doctype": "Journal Entry",
+  "accounts": [
    {
     "account": "_Test Payable - _TC",
 	"party_type": "Supplier",
 	"party": "_Test Supplier",
     "credit": 0.0,
     "debit": 400.0,
-    "doctype": "Journal Voucher Detail",
-    "parentfield": "entries"
+    "doctype": "Journal Entry Account",
+    "parentfield": "accounts"
    },
    {
     "account": "_Test Account Bank Account - _TC",
     "credit": 400.0,
     "debit": 0.0,
-    "doctype": "Journal Voucher Detail",
-    "parentfield": "entries"
+    "doctype": "Journal Entry Account",
+    "parentfield": "accounts"
    }
   ],
   "fiscal_year": "_Test Fiscal Year 2013",
-  "naming_series": "_T-Journal Voucher-",
+  "naming_series": "_T-Journal Entry-",
   "posting_date": "2013-02-14",
   "user_remark": "test",
-  "voucher_type": "Bank Voucher"
+  "voucher_type": "Bank Entry"
  },
  {
   "cheque_date": "2013-02-14",
   "cheque_no": "33",
   "company": "_Test Company",
-  "doctype": "Journal Voucher",
-  "entries": [
+  "doctype": "Journal Entry",
+  "accounts": [
    {
     "account": "_Test Receivable - _TC",
 	"party_type": "Customer",
 	"party": "_Test Customer",
     "credit": 0.0,
     "debit": 400.0,
-    "doctype": "Journal Voucher Detail",
-    "parentfield": "entries"
+    "doctype": "Journal Entry Account",
+    "parentfield": "accounts"
    },
    {
     "account": "Sales - _TC",
     "cost_center": "_Test Cost Center - _TC",
     "credit": 400.0,
     "debit": 0.0,
-    "doctype": "Journal Voucher Detail",
-    "parentfield": "entries"
+    "doctype": "Journal Entry Account",
+    "parentfield": "accounts"
    }
   ],
   "fiscal_year": "_Test Fiscal Year 2013",
-  "naming_series": "_T-Journal Voucher-",
+  "naming_series": "_T-Journal Entry-",
   "posting_date": "2013-02-14",
   "user_remark": "test",
-  "voucher_type": "Bank Voucher"
+  "voucher_type": "Bank Entry"
  }
 ]
diff --git a/erpnext/accounts/doctype/journal_entry_account/README.md b/erpnext/accounts/doctype/journal_entry_account/README.md
new file mode 100644
index 0000000..09761cf
--- /dev/null
+++ b/erpnext/accounts/doctype/journal_entry_account/README.md
@@ -0,0 +1 @@
+Individual entry for parent Journal Entry.
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/workstation_operation_hour/__init__.py b/erpnext/accounts/doctype/journal_entry_account/__init__.py
similarity index 100%
copy from erpnext/manufacturing/doctype/workstation_operation_hour/__init__.py
copy to erpnext/accounts/doctype/journal_entry_account/__init__.py
diff --git a/erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.json b/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
similarity index 96%
rename from erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.json
rename to erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
index f896b6d..84a5643 100644
--- a/erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.json
+++ b/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
@@ -145,11 +145,11 @@
    "fieldname": "against_jv", 
    "fieldtype": "Link", 
    "in_filter": 1, 
-   "label": "Against Journal Voucher", 
+   "label": "Against Journal Entry", 
    "no_copy": 1, 
    "oldfieldname": "against_jv", 
    "oldfieldtype": "Link", 
-   "options": "Journal Voucher", 
+   "options": "Journal Entry", 
    "permlevel": 0, 
    "print_hide": 0, 
    "search_index": 1
@@ -206,10 +206,10 @@
  ], 
  "idx": 1, 
  "istable": 1, 
- "modified": "2014-12-08 19:32:47.996777", 
+ "modified": "2014-12-25 15:44:03.077639", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
- "name": "Journal Voucher Detail", 
+ "name": "Journal Entry Account", 
  "owner": "Administrator", 
  "permissions": []
 }
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/workstation_operation_hour/workstation_operation_hour.py b/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.py
similarity index 84%
copy from erpnext/manufacturing/doctype/workstation_operation_hour/workstation_operation_hour.py
copy to erpnext/accounts/doctype/journal_entry_account/journal_entry_account.py
index 1b8c519..9dc3cf7 100644
--- a/erpnext/manufacturing/doctype/workstation_operation_hour/workstation_operation_hour.py
+++ b/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.py
@@ -5,5 +5,5 @@
 import frappe
 from frappe.model.document import Document
 
-class WorkstationOperationHour(Document):
+class JournalEntryAccount(Document):
 	pass
diff --git a/erpnext/accounts/doctype/journal_voucher/__init__.py b/erpnext/accounts/doctype/journal_voucher/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/accounts/doctype/journal_voucher/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/accounts/doctype/journal_voucher_detail/README.md b/erpnext/accounts/doctype/journal_voucher_detail/README.md
deleted file mode 100644
index e6f9b43..0000000
--- a/erpnext/accounts/doctype/journal_voucher_detail/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Individual entry for parent Journal Voucher.
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/journal_voucher_detail/__init__.py b/erpnext/accounts/doctype/journal_voucher_detail/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/accounts/doctype/journal_voucher_detail/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.py b/erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.py
deleted file mode 100644
index 36700d2..0000000
--- a/erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import frappe
-
-from frappe.model.document import Document
-
-class JournalVoucherDetail(Document):
-	pass
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/budget_distribution/README.md b/erpnext/accounts/doctype/monthly_distribution/README.md
similarity index 100%
rename from erpnext/accounts/doctype/budget_distribution/README.md
rename to erpnext/accounts/doctype/monthly_distribution/README.md
diff --git a/erpnext/manufacturing/doctype/workstation_operation_hour/__init__.py b/erpnext/accounts/doctype/monthly_distribution/__init__.py
similarity index 100%
copy from erpnext/manufacturing/doctype/workstation_operation_hour/__init__.py
copy to erpnext/accounts/doctype/monthly_distribution/__init__.py
diff --git a/erpnext/accounts/doctype/budget_distribution/budget_distribution.js b/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.js
similarity index 100%
rename from erpnext/accounts/doctype/budget_distribution/budget_distribution.js
rename to erpnext/accounts/doctype/monthly_distribution/monthly_distribution.js
diff --git a/erpnext/accounts/doctype/budget_distribution/budget_distribution.json b/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.json
similarity index 88%
rename from erpnext/accounts/doctype/budget_distribution/budget_distribution.json
rename to erpnext/accounts/doctype/monthly_distribution/monthly_distribution.json
index f710249..095c64a 100644
--- a/erpnext/accounts/doctype/budget_distribution/budget_distribution.json
+++ b/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.json
@@ -29,21 +29,21 @@
    "search_index": 1
   }, 
   {
-   "fieldname": "budget_distribution_details", 
+   "fieldname": "percentages", 
    "fieldtype": "Table", 
-   "label": "Budget Distribution Details", 
+   "label": "Monthly Distribution Percentages", 
    "oldfieldname": "budget_distribution_details", 
    "oldfieldtype": "Table", 
-   "options": "Budget Distribution Detail", 
+   "options": "Monthly Distribution Percentage", 
    "permlevel": 0
   }
  ], 
  "icon": "icon-bar-chart", 
  "idx": 1, 
- "modified": "2014-05-09 02:16:47.567367", 
+ "modified": "2014-12-25 15:45:04.729489", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
- "name": "Budget Distribution", 
+ "name": "Monthly Distribution", 
  "name_case": "Title Case", 
  "owner": "Administrator", 
  "permissions": [
diff --git a/erpnext/accounts/doctype/budget_distribution/budget_distribution.py b/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.py
similarity index 95%
rename from erpnext/accounts/doctype/budget_distribution/budget_distribution.py
rename to erpnext/accounts/doctype/monthly_distribution/monthly_distribution.py
index 1b1a8ec..a0646b7 100644
--- a/erpnext/accounts/doctype/budget_distribution/budget_distribution.py
+++ b/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.py
@@ -7,7 +7,7 @@
 from frappe import _
 from frappe.model.document import Document
 
-class BudgetDistribution(Document):
+class MonthlyDistribution(Document):
 	def get_months(self):
 		month_list = ['January','February','March','April','May','June','July','August','September',
 		'October','November','December']
diff --git a/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py b/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py
new file mode 100644
index 0000000..6d3101c
--- /dev/null
+++ b/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and Contributors
+# See license.txt
+
+import frappe
+import unittest
+
+test_records = frappe.get_test_records('Monthly Distribution')
+
+class TestMonthlyDistribution(unittest.TestCase):
+	pass
diff --git a/erpnext/accounts/doctype/budget_distribution/test_records.json b/erpnext/accounts/doctype/monthly_distribution/test_records.json
similarity index 99%
rename from erpnext/accounts/doctype/budget_distribution/test_records.json
rename to erpnext/accounts/doctype/monthly_distribution/test_records.json
index 7e8c640..ffc6c68 100644
--- a/erpnext/accounts/doctype/budget_distribution/test_records.json
+++ b/erpnext/accounts/doctype/monthly_distribution/test_records.json
@@ -39,6 +39,6 @@
 		}, {
 			"month": "December",
 			"percentage_allocation": "10"
-		}		
+		}
 	]
 }]
diff --git a/erpnext/manufacturing/doctype/workstation_operation_hour/__init__.py b/erpnext/accounts/doctype/monthly_distribution_percentage/__init__.py
similarity index 100%
copy from erpnext/manufacturing/doctype/workstation_operation_hour/__init__.py
copy to erpnext/accounts/doctype/monthly_distribution_percentage/__init__.py
diff --git a/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.json b/erpnext/accounts/doctype/monthly_distribution_percentage/monthly_distribution_percentage.json
similarity index 77%
rename from erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.json
rename to erpnext/accounts/doctype/monthly_distribution_percentage/monthly_distribution_percentage.json
index aa4f2ae..aac6a30 100644
--- a/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.json
+++ b/erpnext/accounts/doctype/monthly_distribution_percentage/monthly_distribution_percentage.json
@@ -1,6 +1,6 @@
 {
  "autoname": "BDD/.#####", 
- "creation": "2013-02-22 01:27:38.000000", 
+ "creation": "2013-02-22 01:27:38", 
  "docstatus": 0, 
  "doctype": "DocType", 
  "fields": [
@@ -27,9 +27,10 @@
  ], 
  "idx": 1, 
  "istable": 1, 
- "modified": "2013-12-20 19:22:59.000000", 
+ "modified": "2014-12-25 15:45:11.173204", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
- "name": "Budget Distribution Detail", 
- "owner": "Administrator"
+ "name": "Monthly Distribution Percentage", 
+ "owner": "Administrator", 
+ "permissions": []
 }
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/workstation_operation_hour/workstation_operation_hour.py b/erpnext/accounts/doctype/monthly_distribution_percentage/monthly_distribution_percentage.py
similarity index 83%
copy from erpnext/manufacturing/doctype/workstation_operation_hour/workstation_operation_hour.py
copy to erpnext/accounts/doctype/monthly_distribution_percentage/monthly_distribution_percentage.py
index 1b8c519..e0c71b8 100644
--- a/erpnext/manufacturing/doctype/workstation_operation_hour/workstation_operation_hour.py
+++ b/erpnext/accounts/doctype/monthly_distribution_percentage/monthly_distribution_percentage.py
@@ -5,5 +5,5 @@
 import frappe
 from frappe.model.document import Document
 
-class WorkstationOperationHour(Document):
+class MonthlyDistributionPercentage(Document):
 	pass
diff --git a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js
index 0d786bf..b005137 100644
--- a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js
+++ b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js
@@ -72,7 +72,7 @@
 			callback: function(r, rt) {
 				var invoices = [];
 
-				$.each(me.frm.doc.payment_reconciliation_invoices || [], function(i, row) {
+				$.each(me.frm.doc.invoices || [], function(i, row) {
 						if (row.invoice_number && !inList(invoices, row.invoice_number))
 							invoices.push(row.invoice_number);
 				});
@@ -80,11 +80,11 @@
 				frappe.meta.get_docfield("Payment Reconciliation Payment", "invoice_number",
 					me.frm.doc.name).options = invoices.join("\n");
 
-				$.each(me.frm.doc.payment_reconciliation_payments || [], function(i, p) {
+				$.each(me.frm.doc.payments || [], function(i, p) {
 					if(!inList(invoices, cstr(p.invoice_number))) p.invoice_number = null;
 				});
 
-				refresh_field("payment_reconciliation_payments");
+				refresh_field("payments");
 			}
 		});
 
diff --git a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json
index d92c26a..bdd9c73 100644
--- a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json
+++ b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json
@@ -1,165 +1,165 @@
 {
- "allow_copy": 1,
- "creation": "2014-07-09 12:04:51.681583",
- "custom": 0,
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "",
+ "allow_copy": 1, 
+ "creation": "2014-07-09 12:04:51.681583", 
+ "custom": 0, 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "", 
  "fields": [
   {
-   "fieldname": "company",
-   "fieldtype": "Link",
-   "label": "Company",
-   "options": "Company",
-   "permlevel": 0,
+   "fieldname": "company", 
+   "fieldtype": "Link", 
+   "label": "Company", 
+   "options": "Company", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "party_type",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_list_view": 0,
-   "label": "Party Type",
-   "options": "DocType",
-   "permlevel": 0,
-   "read_only": 0,
+   "fieldname": "party_type", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_list_view": 0, 
+   "label": "Party Type", 
+   "options": "DocType", 
+   "permlevel": 0, 
+   "read_only": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "depends_on": "",
-   "fieldname": "party",
-   "fieldtype": "Dynamic Link",
-   "in_list_view": 0,
-   "label": "Party",
-   "options": "party_type",
-   "permlevel": 0,
-   "reqd": 1,
+   "depends_on": "", 
+   "fieldname": "party", 
+   "fieldtype": "Dynamic Link", 
+   "in_list_view": 0, 
+   "label": "Party", 
+   "options": "party_type", 
+   "permlevel": 0, 
+   "reqd": 1, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "receivable_payable_account",
-   "fieldtype": "Link",
-   "label": "Receivable / Payable Account",
-   "options": "Account",
-   "permlevel": 0,
-   "precision": "",
+   "fieldname": "receivable_payable_account", 
+   "fieldtype": "Link", 
+   "label": "Receivable / Payable Account", 
+   "options": "Account", 
+   "permlevel": 0, 
+   "precision": "", 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "bank_cash_account",
-   "fieldtype": "Link",
-   "in_list_view": 1,
-   "label": "Bank / Cash Account",
-   "options": "Account",
-   "permlevel": 0,
-   "reqd": 0,
+   "fieldname": "bank_cash_account", 
+   "fieldtype": "Link", 
+   "in_list_view": 1, 
+   "label": "Bank / Cash Account", 
+   "options": "Account", 
+   "permlevel": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "col_break1",
-   "fieldtype": "Column Break",
-   "label": "Column Break",
+   "fieldname": "col_break1", 
+   "fieldtype": "Column Break", 
+   "label": "Column Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "from_date",
-   "fieldtype": "Date",
-   "in_list_view": 1,
-   "label": "From Date",
-   "permlevel": 0,
+   "fieldname": "from_date", 
+   "fieldtype": "Date", 
+   "in_list_view": 1, 
+   "label": "From Date", 
+   "permlevel": 0, 
    "search_index": 1
-  },
+  }, 
   {
-   "fieldname": "to_date",
-   "fieldtype": "Date",
-   "in_list_view": 1,
-   "label": "To Date",
-   "permlevel": 0,
+   "fieldname": "to_date", 
+   "fieldtype": "Date", 
+   "in_list_view": 1, 
+   "label": "To Date", 
+   "permlevel": 0, 
    "search_index": 1
-  },
+  }, 
   {
-   "fieldname": "minimum_amount",
-   "fieldtype": "Currency",
-   "label": "Minimum Amount",
+   "fieldname": "minimum_amount", 
+   "fieldtype": "Currency", 
+   "label": "Minimum Amount", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "maximum_amount",
-   "fieldtype": "Currency",
-   "label": "Maximum Amount",
+   "fieldname": "maximum_amount", 
+   "fieldtype": "Currency", 
+   "label": "Maximum Amount", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "get_unreconciled_entries",
-   "fieldtype": "Button",
-   "label": "Get Unreconciled Entries",
+   "fieldname": "get_unreconciled_entries", 
+   "fieldtype": "Button", 
+   "label": "Get Unreconciled Entries", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "sec_break1",
-   "fieldtype": "Section Break",
-   "label": "Unreconciled Payment Details",
+   "fieldname": "sec_break1", 
+   "fieldtype": "Section Break", 
+   "label": "Unreconciled Payment Details", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "payment_reconciliation_payments",
-   "fieldtype": "Table",
-   "label": "Payment Reconciliation Payments",
-   "options": "Payment Reconciliation Payment",
+   "fieldname": "payments", 
+   "fieldtype": "Table", 
+   "label": "Payments", 
+   "options": "Payment Reconciliation Payment", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "reconcile",
-   "fieldtype": "Button",
-   "label": "Reconcile",
+   "fieldname": "reconcile", 
+   "fieldtype": "Button", 
+   "label": "Reconcile", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "sec_break2",
-   "fieldtype": "Section Break",
-   "label": "Invoice/Journal Voucher Details",
+   "fieldname": "sec_break2", 
+   "fieldtype": "Section Break", 
+   "label": "Invoice/Journal Entry Details", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "payment_reconciliation_invoices",
-   "fieldtype": "Table",
-   "label": "Payment Reconciliation Invoices",
-   "options": "Payment Reconciliation Invoice",
-   "permlevel": 0,
+   "fieldname": "invoices", 
+   "fieldtype": "Table", 
+   "label": "Invoices", 
+   "options": "Payment Reconciliation Invoice", 
+   "permlevel": 0, 
    "read_only": 1
   }
- ],
- "hide_toolbar": 1,
- "icon": "icon-resize-horizontal",
- "issingle": 1,
- "modified": "2014-10-16 17:51:44.367107",
- "modified_by": "Administrator",
- "module": "Accounts",
- "name": "Payment Reconciliation",
- "name_case": "",
- "owner": "Administrator",
+ ], 
+ "hide_toolbar": 1, 
+ "icon": "icon-resize-horizontal", 
+ "issingle": 1, 
+ "modified": "2014-12-24 14:49:48.714639", 
+ "modified_by": "Administrator", 
+ "module": "Accounts", 
+ "name": "Payment Reconciliation", 
+ "name_case": "", 
+ "owner": "Administrator", 
  "permissions": [
   {
-   "cancel": 0,
-   "create": 1,
-   "delete": 1,
-   "permlevel": 0,
-   "read": 1,
-   "role": "Accounts Manager",
-   "submit": 0,
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "permlevel": 0, 
+   "read": 1, 
+   "role": "Accounts Manager", 
+   "submit": 0, 
    "write": 1
-  },
+  }, 
   {
-   "cancel": 0,
-   "create": 1,
-   "delete": 1,
-   "permlevel": 0,
-   "read": 1,
-   "role": "Accounts User",
-   "submit": 0,
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "permlevel": 0, 
+   "read": 1, 
+   "role": "Accounts User", 
+   "submit": 0, 
    "write": 1
   }
- ],
- "sort_field": "modified",
+ ], 
+ "sort_field": "modified", 
  "sort_order": "DESC"
-}
+}
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
index f4f1b42..f02a747 100644
--- a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
+++ b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
@@ -29,7 +29,7 @@
 				t1.name as voucher_no, t1.posting_date, t1.remark,
 				t2.name as voucher_detail_no, {dr_or_cr} as payment_amount, t2.is_advance
 			from
-				`tabJournal Voucher` t1, `tabJournal Voucher Detail` t2
+				`tabJournal Entry` t1, `tabJournal Entry Account` t2
 			where
 				t1.name = t2.parent and t1.docstatus = 1 and t2.docstatus = 1
 				and t2.party_type = %(party_type)s and t2.party = %(party)s
@@ -55,10 +55,10 @@
 		self.add_payment_entries(jv_entries)
 
 	def add_payment_entries(self, jv_entries):
-		self.set('payment_reconciliation_payments', [])
+		self.set('payments', [])
 		for e in jv_entries:
-			ent = self.append('payment_reconciliation_payments', {})
-			ent.journal_voucher = e.get('voucher_no')
+			ent = self.append('payments', {})
+			ent.journal_entry = e.get('voucher_no')
 			ent.posting_date = e.get('posting_date')
 			ent.amount = flt(e.get('payment_amount'))
 			ent.remark = e.get('remark')
@@ -66,7 +66,7 @@
 			ent.is_advance = e.get('is_advance')
 
 	def get_invoice_entries(self):
-		#Fetch JVs, Sales and Purchase Invoices for 'payment_reconciliation_invoices' to reconcile against
+		#Fetch JVs, Sales and Purchase Invoices for 'invoices' to reconcile against
 		non_reconciled_invoices = []
 		dr_or_cr = "debit" if self.party_type == "Customer" else "credit"
 		cond = self.check_condition(dr_or_cr)
@@ -123,11 +123,11 @@
 		self.add_invoice_entries(non_reconciled_invoices)
 
 	def add_invoice_entries(self, non_reconciled_invoices):
-		#Populate 'payment_reconciliation_invoices' with JVs and Invoices to reconcile against
-		self.set('payment_reconciliation_invoices', [])
+		#Populate 'invoices' with JVs and Invoices to reconcile against
+		self.set('invoices', [])
 
 		for e in non_reconciled_invoices:
-			ent = self.append('payment_reconciliation_invoices', {})
+			ent = self.append('invoices', {})
 			ent.invoice_type = e.get('voucher_type')
 			ent.invoice_number = e.get('voucher_no')
 			ent.invoice_date = e.get('posting_date')
@@ -139,10 +139,10 @@
 		self.validate_invoice()
 		dr_or_cr = "credit" if self.party_type == "Customer" else "debit"
 		lst = []
-		for e in self.get('payment_reconciliation_payments'):
+		for e in self.get('payments'):
 			if e.invoice_type and e.invoice_number and e.allocated_amount:
 				lst.append({
-					'voucher_no' : e.journal_voucher,
+					'voucher_no' : e.journal_entry,
 					'voucher_detail_no' : e.voucher_detail_number,
 					'against_voucher_type' : e.invoice_type,
 					'against_voucher'  : e.invoice_number,
@@ -168,18 +168,18 @@
 
 
 	def validate_invoice(self):
-		if not self.get("payment_reconciliation_invoices"):
+		if not self.get("invoices"):
 			frappe.throw(_("No records found in the Invoice table"))
 
-		if not self.get("payment_reconciliation_payments"):
+		if not self.get("payments"):
 			frappe.throw(_("No records found in the Payment table"))
 
 		unreconciled_invoices = frappe._dict()
-		for d in self.get("payment_reconciliation_invoices"):
+		for d in self.get("invoices"):
 			unreconciled_invoices.setdefault(d.invoice_type, {}).setdefault(d.invoice_number, d.outstanding_amount)
 
 		invoices_to_reconcile = []
-		for p in self.get("payment_reconciliation_payments"):
+		for p in self.get("payments"):
 			if p.invoice_type and p.invoice_number and p.allocated_amount:
 				invoices_to_reconcile.append(p.invoice_number)
 
diff --git a/erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.json b/erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.json
index 4e4ee1a..caa30c9 100644
--- a/erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.json
+++ b/erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.json
@@ -9,7 +9,7 @@
    "fieldtype": "Data", 
    "in_list_view": 1, 
    "label": "Invoice Type", 
-   "options": "Sales Invoice\nPurchase Invoice\nJournal Voucher", 
+   "options": "Sales Invoice\nPurchase Invoice\nJournal Entry", 
    "permlevel": 0, 
    "read_only": 1
   }, 
diff --git a/erpnext/accounts/doctype/payment_reconciliation_payment/payment_reconciliation_payment.json b/erpnext/accounts/doctype/payment_reconciliation_payment/payment_reconciliation_payment.json
index d8da463..92e136c 100644
--- a/erpnext/accounts/doctype/payment_reconciliation_payment/payment_reconciliation_payment.json
+++ b/erpnext/accounts/doctype/payment_reconciliation_payment/payment_reconciliation_payment.json
@@ -1,116 +1,116 @@
 {
- "creation": "2014-07-09 16:13:35.452759",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "",
+ "creation": "2014-07-09 16:13:35.452759", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "", 
  "fields": [
   {
-   "fieldname": "journal_voucher",
-   "fieldtype": "Link",
-   "in_list_view": 1,
-   "label": "Journal Voucher",
-   "options": "Journal Voucher",
-   "permlevel": 0,
-   "read_only": 1,
+   "fieldname": "journal_entry", 
+   "fieldtype": "Link", 
+   "in_list_view": 1, 
+   "label": "Journal Entry", 
+   "options": "Journal Entry", 
+   "permlevel": 0, 
+   "read_only": 1, 
    "reqd": 0
-  },
+  }, 
   {
-   "fieldname": "posting_date",
-   "fieldtype": "Date",
-   "in_list_view": 1,
-   "label": "Posting Date",
-   "permlevel": 0,
+   "fieldname": "posting_date", 
+   "fieldtype": "Date", 
+   "in_list_view": 1, 
+   "label": "Posting Date", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "amount",
-   "fieldtype": "Currency",
-   "in_list_view": 1,
-   "label": "Amount",
-   "permlevel": 0,
+   "fieldname": "amount", 
+   "fieldtype": "Currency", 
+   "in_list_view": 1, 
+   "label": "Amount", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "is_advance",
-   "fieldtype": "Data",
-   "hidden": 1,
-   "label": "Is Advance",
-   "permlevel": 0,
+   "fieldname": "is_advance", 
+   "fieldtype": "Data", 
+   "hidden": 1, 
+   "label": "Is Advance", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "voucher_detail_number",
-   "fieldtype": "Data",
-   "hidden": 1,
-   "in_list_view": 0,
-   "label": "Voucher Detail Number",
-   "permlevel": 0,
+   "fieldname": "voucher_detail_number", 
+   "fieldtype": "Data", 
+   "hidden": 1, 
+   "in_list_view": 0, 
+   "label": "Voucher Detail Number", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "col_break1",
-   "fieldtype": "Column Break",
-   "label": "Column Break",
+   "fieldname": "col_break1", 
+   "fieldtype": "Column Break", 
+   "label": "Column Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "allocated_amount",
-   "fieldtype": "Currency",
-   "in_list_view": 1,
-   "label": "Allocated amount",
-   "permlevel": 0,
-   "precision": "",
+   "fieldname": "allocated_amount", 
+   "fieldtype": "Currency", 
+   "in_list_view": 1, 
+   "label": "Allocated amount", 
+   "permlevel": 0, 
+   "precision": "", 
    "reqd": 1
-  },
+  }, 
   {
-   "default": "Sales Invoice",
-   "fieldname": "invoice_type",
-   "fieldtype": "Select",
-   "in_list_view": 0,
-   "label": "Invoice Type",
-   "options": "\nSales Invoice\nPurchase Invoice\nJournal Voucher",
-   "permlevel": 0,
-   "read_only": 0,
+   "default": "Sales Invoice", 
+   "fieldname": "invoice_type", 
+   "fieldtype": "Select", 
+   "in_list_view": 0, 
+   "label": "Invoice Type", 
+   "options": "\nSales Invoice\nPurchase Invoice\nJournal Entry", 
+   "permlevel": 0, 
+   "read_only": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "invoice_number",
-   "fieldtype": "Select",
-   "in_list_view": 1,
-   "label": "Invoice Number",
-   "options": "",
-   "permlevel": 0,
+   "fieldname": "invoice_number", 
+   "fieldtype": "Select", 
+   "in_list_view": 1, 
+   "label": "Invoice Number", 
+   "options": "", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "sec_break1",
-   "fieldtype": "Section Break",
-   "label": "",
+   "fieldname": "sec_break1", 
+   "fieldtype": "Section Break", 
+   "label": "", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "remark",
-   "fieldtype": "Small Text",
-   "in_list_view": 1,
-   "label": "Remark",
-   "permlevel": 0,
+   "fieldname": "remark", 
+   "fieldtype": "Small Text", 
+   "in_list_view": 1, 
+   "label": "Remark", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "col_break2",
-   "fieldtype": "Column Break",
-   "label": "Column Break",
+   "fieldname": "col_break2", 
+   "fieldtype": "Column Break", 
+   "label": "Column Break", 
    "permlevel": 0
   }
- ],
- "istable": 1,
- "modified": "2014-10-16 17:40:54.040194",
- "modified_by": "Administrator",
- "module": "Accounts",
- "name": "Payment Reconciliation Payment",
- "name_case": "",
- "owner": "Administrator",
- "permissions": [],
- "sort_field": "modified",
+ ], 
+ "istable": 1, 
+ "modified": "2014-12-25 16:26:48.345281", 
+ "modified_by": "Administrator", 
+ "module": "Accounts", 
+ "name": "Payment Reconciliation Payment", 
+ "name_case": "", 
+ "owner": "Administrator", 
+ "permissions": [], 
+ "sort_field": "modified", 
  "sort_order": "DESC"
-}
+}
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/payment_tool/payment_tool.js b/erpnext/accounts/doctype/payment_tool/payment_tool.js
index bbdd7d2..fd6867a 100644
--- a/erpnext/accounts/doctype/payment_tool/payment_tool.js
+++ b/erpnext/accounts/doctype/payment_tool/payment_tool.js
@@ -6,7 +6,7 @@
 // Help content
 frappe.ui.form.on("Payment Tool", "onload", function(frm) {
 	frm.set_value("make_jv_help", '<i class="icon-hand-right"></i> '
-		+ __("Note: If payment is not made against any reference, make Journal Voucher manually."));
+		+ __("Note: If payment is not made against any reference, make Journal Entry manually."));
 
 	frm.set_query("party_type", function() {
 		return {
@@ -17,16 +17,16 @@
 	frm.set_query("payment_account", function() {
 		return {
 			filters: {
-				"account_type": ["in", ["Receivable", "Payable"]],
+				"account_type": ["in", ["Bank", "Cash"]],
 				"group_or_ledger": "Ledger",
 				"company": frm.doc.company
 			}
 		}
 	});
 
-	frm.set_query("against_voucher_type", "payment_tool_details", function() {
+	frm.set_query("against_voucher_type", "vouchers", function() {
 		return {
-			filters: {"name": ["in", ["Sales Invoice", "Purchase Invoice", "Journal Voucher", "Sales Order", "Purchase Order"]]}
+			filters: {"name": ["in", ["Sales Invoice", "Purchase Invoice", "Journal Entry", "Sales Order", "Purchase Order"]]}
 		};
 	});
 });
@@ -75,7 +75,7 @@
 frappe.ui.form.on("Payment Tool", "get_outstanding_vouchers", function(frm) {
 	erpnext.payment_tool.check_mandatory_to_fetch(frm.doc);
 
-	frm.set_value("payment_tool_details", []);
+	frm.set_value("vouchers", []);
 
 	return  frappe.call({
 		method: 'erpnext.accounts.doctype.payment_tool.payment_tool.get_outstanding_vouchers',
@@ -91,18 +91,18 @@
 		callback: function(r, rt) {
 			if(r.message) {
 				frm.fields_dict.get_outstanding_vouchers.$input.removeClass("btn-primary");
-				frm.fields_dict.make_journal_voucher.$input.addClass("btn-primary");
+				frm.fields_dict.make_journal_entry.$input.addClass("btn-primary");
 
-				frappe.model.clear_table(frm.doc, "payment_tool_details");
+				frappe.model.clear_table(frm.doc, "vouchers");
 				$.each(r.message, function(i, d) {
-					var invoice_detail = frappe.model.add_child(frm.doc, "Payment Tool Detail", "payment_tool_details");
+					var invoice_detail = frappe.model.add_child(frm.doc, "Payment Tool Detail", "vouchers");
 					invoice_detail.against_voucher_type = d.voucher_type;
 					invoice_detail.against_voucher_no = d.voucher_no;
 					invoice_detail.total_amount = d.invoice_amount;
 					invoice_detail.outstanding_amount = d.outstanding_amount;
 				});
 			}
-			refresh_field("payment_tool_details");
+			refresh_field("vouchers");
 			erpnext.payment_tool.set_total_payment_amount(frm);
 		}
 	});
@@ -114,17 +114,17 @@
 });
 
 erpnext.payment_tool.validate_against_voucher = function(frm) {
-	$.each(frm.doc.payment_tool_details || [], function(i, row) {
+	$.each(frm.doc.vouchers || [], function(i, row) {
 		if(frm.doc.party_type=="Customer"
-			&& !in_list(["Sales Order", "Sales Invoice", "Journal Voucher"], row.against_voucher_type)) {
+			&& !in_list(["Sales Order", "Sales Invoice", "Journal Entry"], row.against_voucher_type)) {
 				frappe.model.set_value(row.doctype, row.name, "against_voucher_type", "");
-				frappe.throw(__("Against Voucher Type must be one of Sales Order, Sales Invoice or Journal Voucher"))
+				frappe.throw(__("Against Voucher Type must be one of Sales Order, Sales Invoice or Journal Entry"))
 			}
 
 		if(frm.doc.party_type=="Supplier"
-			&& !in_list(["Purchase Order", "Purchase Invoice", "Journal Voucher"], row.against_voucher_type)) {
+			&& !in_list(["Purchase Order", "Purchase Invoice", "Journal Entry"], row.against_voucher_type)) {
 				frappe.model.set_value(row.doctype, row.name, "against_voucher_type", "");
-				frappe.throw(__("Against Voucher Type must be one of Purchase Order, Purchase Invoice or Journal Voucher"))
+				frappe.throw(__("Against Voucher Type must be one of Purchase Order, Purchase Invoice or Journal Entry"))
 			}
 
 	});
@@ -154,13 +154,13 @@
 	erpnext.payment_tool.set_total_payment_amount(frm);
 });
 
-frappe.ui.form.on("Payment Tool Detail", "payment_tool_details_remove", function(frm) {
+frappe.ui.form.on("Payment Tool Detail", "vouchers_remove", function(frm) {
 	erpnext.payment_tool.set_total_payment_amount(frm);
 });
 
 erpnext.payment_tool.set_total_payment_amount = function(frm) {
 	var total_amount = 0.00;
-	$.each(frm.doc.payment_tool_details || [], function(i, row) {
+	$.each(frm.doc.vouchers || [], function(i, row) {
 		if (row.payment_amount && (row.payment_amount <= row.outstanding_amount)) {
 			total_amount = total_amount + row.payment_amount;
 		} else {
@@ -176,15 +176,15 @@
 }
 
 
-// Make Journal voucher
-frappe.ui.form.on("Payment Tool", "make_journal_voucher", function(frm) {
+// Make Journal Entry
+frappe.ui.form.on("Payment Tool", "make_journal_entry", function(frm) {
 	erpnext.payment_tool.check_mandatory_to_fetch(frm.doc);
 
 	return  frappe.call({
-		method: 'make_journal_voucher',
+		method: 'make_journal_entry',
 		doc: frm.doc,
 		callback: function(r) {
-			frm.fields_dict.make_journal_voucher.$input.addClass("btn-primary");
+			frm.fields_dict.make_journal_entry.$input.addClass("btn-primary");
 			var doclist = frappe.model.sync(r.message);
 			frappe.set_route("Form", doclist[0].doctype, doclist[0].name);
 		}
@@ -193,6 +193,6 @@
 
 erpnext.payment_tool.check_mandatory_to_fetch = function(doc) {
 	$.each(["Company", "Party Type", "Party", "Received or Paid"], function(i, field) {
-		if(!doc[frappe.model.scrub(field)]]) frappe.throw(__("Please select {0} first", [field]));
+		if(!doc[frappe.model.scrub(field)]) frappe.throw(__("Please select {0} first", [field]));
 	});
 }
diff --git a/erpnext/accounts/doctype/payment_tool/payment_tool.json b/erpnext/accounts/doctype/payment_tool/payment_tool.json
index 883043b..82a3465 100644
--- a/erpnext/accounts/doctype/payment_tool/payment_tool.json
+++ b/erpnext/accounts/doctype/payment_tool/payment_tool.json
@@ -1,361 +1,361 @@
 {
- "allow_copy": 0, 
- "allow_import": 0, 
- "allow_rename": 0, 
- "creation": "2014-07-23 15:12:27.746665", 
- "custom": 0, 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "", 
+ "allow_copy": 0,
+ "allow_import": 0,
+ "allow_rename": 0,
+ "creation": "2014-07-23 15:12:27.746665",
+ "custom": 0,
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "",
  "fields": [
   {
-   "fieldname": "sec_break1", 
-   "fieldtype": "Section Break", 
-   "label": "Party Details", 
+   "fieldname": "sec_break1",
+   "fieldtype": "Section Break",
+   "label": "Party Details",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "label": "Company", 
-   "options": "Company", 
-   "permlevel": 0, 
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "label": "Company",
+   "options": "Company",
+   "permlevel": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "default": "Customer", 
-   "fieldname": "party_type", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 1, 
-   "label": "Party Type", 
-   "no_copy": 0, 
-   "options": "DocType", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "default": "Customer",
+   "fieldname": "party_type",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 1,
+   "label": "Party Type",
+   "no_copy": 0,
+   "options": "DocType",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
+   "report_hide": 0,
+   "reqd": 1,
+   "search_index": 0,
    "set_only_once": 0
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "depends_on": "", 
-   "fieldname": "party", 
-   "fieldtype": "Dynamic Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 1, 
-   "label": "Party", 
-   "no_copy": 0, 
-   "options": "party_type", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "depends_on": "",
+   "fieldname": "party",
+   "fieldtype": "Dynamic Link",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 1,
+   "label": "Party",
+   "no_copy": 0,
+   "options": "party_type",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
+   "report_hide": 0,
+   "reqd": 1,
+   "search_index": 0,
    "set_only_once": 0
-  }, 
+  },
   {
-   "fieldname": "party_account", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "label": "Party Account", 
-   "no_copy": 1, 
-   "options": "Account", 
-   "permlevel": 0, 
+   "fieldname": "party_account",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "label": "Party Account",
+   "no_copy": 1,
+   "options": "Account",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "fieldname": "received_or_paid", 
-   "fieldtype": "Select", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 1, 
-   "label": "Received Or Paid", 
-   "no_copy": 0, 
-   "options": "Received\nPaid", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "fieldname": "received_or_paid",
+   "fieldtype": "Select",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 1,
+   "label": "Received Or Paid",
+   "no_copy": 0,
+   "options": "Received\nPaid",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
+   "report_hide": 0,
+   "reqd": 1,
+   "search_index": 0,
    "set_only_once": 0
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "fieldname": "get_outstanding_vouchers", 
-   "fieldtype": "Button", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Get Outstanding Vouchers", 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "fieldname": "get_outstanding_vouchers",
+   "fieldtype": "Button",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 0,
+   "label": "Get Outstanding Vouchers",
+   "no_copy": 0,
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
    "set_only_once": 0
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "fieldname": "col_break1", 
-   "fieldtype": "Column Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Column Break 1", 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "fieldname": "col_break1",
+   "fieldtype": "Column Break",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 0,
+   "label": "Column Break 1",
+   "no_copy": 0,
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
    "set_only_once": 0
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "fieldname": "payment_mode", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Payment Mode", 
-   "no_copy": 0, 
-   "options": "Mode of Payment", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "fieldname": "payment_mode",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 0,
+   "label": "Payment Mode",
+   "no_copy": 0,
+   "options": "Mode of Payment",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
    "set_only_once": 0
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "fieldname": "payment_account", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Payment Account", 
-   "no_copy": 0, 
-   "options": "Account", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "fieldname": "payment_account",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 0,
+   "label": "Payment Account",
+   "no_copy": 0,
+   "options": "Account",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
    "set_only_once": 0
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "fieldname": "reference_no", 
-   "fieldtype": "Data", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Reference No", 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "fieldname": "reference_no",
+   "fieldtype": "Data",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 0,
+   "label": "Reference No",
+   "no_copy": 0,
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
    "set_only_once": 0
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "fieldname": "reference_date", 
-   "fieldtype": "Date", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Reference Date", 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "fieldname": "reference_date",
+   "fieldtype": "Date",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 0,
+   "label": "Reference Date",
+   "no_copy": 0,
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
    "set_only_once": 0
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "depends_on": "eval:(doc.company && doc.party_type && doc.received_or_paid && (doc.customer || doc.supplier))", 
-   "fieldname": "sec_break3", 
-   "fieldtype": "Section Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Against Voucher", 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "depends_on": "eval:(doc.company && doc.party_type && doc.received_or_paid && (doc.customer || doc.supplier))",
+   "fieldname": "sec_break3",
+   "fieldtype": "Section Break",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 0,
+   "label": "Against Voucher",
+   "no_copy": 0,
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
    "set_only_once": 0
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "fieldname": "payment_tool_details", 
-   "fieldtype": "Table", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Payment Tool Details", 
-   "no_copy": 0, 
-   "options": "Payment Tool Detail", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "fieldname": "vouchers",
+   "fieldtype": "Table",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 0,
+   "label": "Against Vouchers",
+   "no_copy": 0,
+   "options": "Payment Tool Detail",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
    "set_only_once": 0
-  }, 
+  },
   {
-   "depends_on": "eval:(doc.company && doc.party_type && doc.received_or_paid && (doc.customer || doc.supplier))", 
-   "fieldname": "section_break_19", 
-   "fieldtype": "Section Break", 
-   "permlevel": 0, 
+   "depends_on": "eval:(doc.company && doc.party_type && doc.received_or_paid && (doc.customer || doc.supplier))",
+   "fieldname": "section_break_19",
+   "fieldtype": "Section Break",
+   "permlevel": 0,
    "precision": ""
-  }, 
+  },
   {
-   "fieldname": "total_payment_amount", 
-   "fieldtype": "Currency", 
-   "label": "Total Payment Amount", 
-   "permlevel": 0, 
+   "fieldname": "total_payment_amount",
+   "fieldtype": "Currency",
+   "label": "Total Payment Amount",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "fieldname": "make_journal_voucher", 
-   "fieldtype": "Button", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Make Journal Voucher", 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "fieldname": "make_journal_entry",
+   "fieldtype": "Button",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 0,
+   "label": "Make Journal Entry",
+   "no_copy": 0,
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
    "set_only_once": 0
-  }, 
+  },
   {
-   "fieldname": "data_22", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "data_22",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "precision": ""
-  }, 
+  },
   {
-   "depends_on": "eval:(doc.company && doc.party_type && doc.received_or_paid && (doc.customer || doc.supplier))", 
-   "fieldname": "section_break_21", 
-   "fieldtype": "Section Break", 
-   "permlevel": 0, 
+   "depends_on": "eval:(doc.company && doc.party_type && doc.received_or_paid && (doc.customer || doc.supplier))",
+   "fieldname": "section_break_21",
+   "fieldtype": "Section Break",
+   "permlevel": 0,
    "precision": ""
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "fieldname": "make_jv_help", 
-   "fieldtype": "Small Text", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 1, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
+   "allow_on_submit": 0,
+   "fieldname": "make_jv_help",
+   "fieldtype": "Small Text",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "in_filter": 0,
+   "in_list_view": 0,
+   "no_copy": 0,
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 1,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
    "set_only_once": 0
   }
- ], 
- "hide_heading": 0, 
- "hide_toolbar": 1, 
- "icon": "icon-magic", 
- "in_create": 0, 
- "in_dialog": 0, 
- "is_submittable": 0, 
- "issingle": 1, 
- "istable": 0, 
- "modified": "2014-09-15 16:01:04.820559", 
- "modified_by": "Administrator", 
- "module": "Accounts", 
- "name": "Payment Tool", 
- "name_case": "", 
- "owner": "Administrator", 
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 1,
+ "icon": "icon-magic",
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 1,
+ "istable": 0,
+ "modified": "2014-12-26 16:28:30.612640",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Payment Tool",
+ "name_case": "",
+ "owner": "Administrator",
  "permissions": [
   {
-   "amend": 0, 
-   "apply_user_permissions": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 0, 
-   "email": 0, 
-   "export": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 0, 
-   "read": 1, 
-   "report": 0, 
-   "role": "Accounts Manager", 
-   "set_user_permissions": 0, 
-   "submit": 0, 
+   "amend": 0,
+   "apply_user_permissions": 0,
+   "cancel": 0,
+   "create": 1,
+   "delete": 0,
+   "email": 0,
+   "export": 0,
+   "import": 0,
+   "permlevel": 0,
+   "print": 0,
+   "read": 1,
+   "report": 0,
+   "role": "Accounts Manager",
+   "set_user_permissions": 0,
+   "submit": 0,
    "write": 1
-  }, 
+  },
   {
-   "amend": 0, 
-   "apply_user_permissions": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 0, 
-   "email": 0, 
-   "export": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 0, 
-   "read": 1, 
-   "report": 0, 
-   "role": "Accounts User", 
-   "set_user_permissions": 0, 
-   "submit": 0, 
+   "amend": 0,
+   "apply_user_permissions": 0,
+   "cancel": 0,
+   "create": 1,
+   "delete": 0,
+   "email": 0,
+   "export": 0,
+   "import": 0,
+   "permlevel": 0,
+   "print": 0,
+   "read": 1,
+   "report": 0,
+   "role": "Accounts User",
+   "set_user_permissions": 0,
+   "submit": 0,
    "write": 1
   }
- ], 
- "read_only": 0, 
- "read_only_onload": 0, 
- "sort_field": "modified", 
+ ],
+ "read_only": 0,
+ "read_only_onload": 0,
+ "sort_field": "modified",
  "sort_order": "DESC"
-}
\ No newline at end of file
+}
diff --git a/erpnext/accounts/doctype/payment_tool/payment_tool.py b/erpnext/accounts/doctype/payment_tool/payment_tool.py
index 9bd5166..9a8df4d 100644
--- a/erpnext/accounts/doctype/payment_tool/payment_tool.py
+++ b/erpnext/accounts/doctype/payment_tool/payment_tool.py
@@ -9,18 +9,18 @@
 import json
 
 class PaymentTool(Document):
-	def make_journal_voucher(self):
+	def make_journal_entry(self):
 		from erpnext.accounts.utils import get_balance_on
 		total_payment_amount = 0.00
 		invoice_voucher_type = {
 			'Sales Invoice': 'against_invoice',
 			'Purchase Invoice': 'against_voucher',
-			'Journal Voucher': 'against_jv',
+			'Journal Entry': 'against_jv',
 			'Sales Order': 'against_sales_order',
 			'Purchase Order': 'against_purchase_order',
 		}
 
-		jv = frappe.new_doc('Journal Voucher')
+		jv = frappe.new_doc('Journal Entry')
 		jv.voucher_type = 'Journal Entry'
 		jv.company = self.company
 		jv.cheque_no = self.reference_no
@@ -29,13 +29,13 @@
 		if not self.total_payment_amount:
 			frappe.throw(_("Please enter Payment Amount in atleast one row"))
 
-		for v in self.get("payment_tool_details"):
+		for v in self.get("vouchers"):
 			if not frappe.db.get_value(v.against_voucher_type, {"name": v.against_voucher_no}):
 				frappe.throw(_("Row {0}: {1} is not a valid {2}").format(v.idx, v.against_voucher_no,
 					v.against_voucher_type))
 
 			if v.payment_amount:
-				d1 = jv.append("entries")
+				d1 = jv.append("accounts")
 				d1.account = self.party_account
 				d1.party_type = self.party_type
 				d1.party = self.party
@@ -45,7 +45,7 @@
 				d1.set('is_advance', 'Yes' if v.against_voucher_type in ['Sales Order', 'Purchase Order'] else 'No')
 				total_payment_amount = flt(total_payment_amount) + flt(d1.debit) - flt(d1.credit)
 
-		d2 = jv.append("entries")
+		d2 = jv.append("accounts")
 		d2.account = self.payment_account
 		d2.set('debit' if total_payment_amount < 0 else 'credit', abs(total_payment_amount))
 		if self.payment_account:
@@ -109,7 +109,7 @@
 		select_cond = "grand_total as total_amount, ifnull(grand_total, 0) - ifnull(advance_paid, 0) as outstanding_amount"
 	elif against_voucher_type in ["Sales Invoice", "Purchase Invoice"]:
 		select_cond = "grand_total as total_amount, outstanding_amount"
-	elif against_voucher_type == "Journal Voucher":
+	elif against_voucher_type == "Journal Entry":
 		select_cond = "total_debit as total_amount"
 
 	details = frappe.db.sql("""select {0} from `tab{1}` where name = %s"""
diff --git a/erpnext/accounts/doctype/payment_tool/test_payment_tool.py b/erpnext/accounts/doctype/payment_tool/test_payment_tool.py
index 579dad3..08da035 100644
--- a/erpnext/accounts/doctype/payment_tool/test_payment_tool.py
+++ b/erpnext/accounts/doctype/payment_tool/test_payment_tool.py
@@ -8,8 +8,8 @@
 test_dependencies = ["Item"]
 
 class TestPaymentTool(unittest.TestCase):
-	def test_make_journal_voucher(self):
-		from erpnext.accounts.doctype.journal_voucher.test_journal_voucher \
+	def test_make_journal_entry(self):
+		from erpnext.accounts.doctype.journal_entry.test_journal_entry \
 			import test_records as jv_test_records
 		from erpnext.selling.doctype.sales_order.test_sales_order \
 			import test_records as so_test_records
@@ -84,7 +84,7 @@
 
 		#Create a dict containing properties and expected values
 		expected_outstanding = {
-			"Journal Voucher"	: [base_customer_jv.name, 400.00],
+			"Journal Entry"	: [base_customer_jv.name, 400.00],
 			"Sales Invoice"		: [si1.name, 161.80],
 			"Purchase Invoice"	: [pi.name, 1512.30],
 			"Sales Order"		: [so1.name, 600.00],
@@ -111,7 +111,7 @@
 			"party": "_Test Supplier 1",
 			"party_account": "_Test Payable - _TC"
 		})
-		expected_outstanding["Journal Voucher"] = [base_supplier_jv.name, 400.00]
+		expected_outstanding["Journal Entry"] = [base_supplier_jv.name, 400.00]
 		self.make_voucher_for_party(args, expected_outstanding)
 
 	def create_voucher(self, test_record, args):
@@ -123,18 +123,18 @@
 
 	def create_against_jv(self, test_record, args):
 		jv = frappe.copy_doc(test_record)
-		jv.get("entries")[0].update(args)
+		jv.get("accounts")[0].update(args)
 		if args.get("debit"):
-			jv.get("entries")[1].credit = args["debit"]
+			jv.get("accounts")[1].credit = args["debit"]
 		elif args.get("credit"):
-			jv.get("entries")[1].debit = args["credit"]
+			jv.get("accounts")[1].debit = args["credit"]
 
 		jv.insert()
 		jv.submit()
 		return jv
 
 	def make_voucher_for_party(self, args, expected_outstanding):
-		#Make Journal Voucher for Party
+		#Make Journal Entry for Party
 		payment_tool_doc = frappe.new_doc("Payment Tool")
 
 		for k, v in args.items():
@@ -154,7 +154,7 @@
 
 	def check_jv_entries(self, paytool, outstanding_entries, expected_outstanding):
 		for e in outstanding_entries:
-			d1 = paytool.append("payment_tool_details")
+			d1 = paytool.append("vouchers")
 			d1.against_voucher_type = e.get("voucher_type")
 			d1.against_voucher_no = e.get("voucher_no")
 			d1.total_amount = e.get("invoice_amount")
@@ -162,19 +162,19 @@
 			d1.payment_amount = 100.00
 		paytool.total_payment_amount = 300
 
-		new_jv = paytool.make_journal_voucher()
+		new_jv = paytool.make_journal_entry()
 
 		#Create a list of expected values as [party account, payment against, against_jv, against_invoice,
 		#against_voucher, against_sales_order, against_purchase_order]
 		expected_values = [
-			[paytool.party_account, paytool.party, 100.00, expected_outstanding.get("Journal Voucher")[0], None, None, None, None],
+			[paytool.party_account, paytool.party, 100.00, expected_outstanding.get("Journal Entry")[0], None, None, None, None],
 			[paytool.party_account, paytool.party, 100.00, None, expected_outstanding.get("Sales Invoice")[0], None, None, None],
 			[paytool.party_account, paytool.party, 100.00, None, None, expected_outstanding.get("Purchase Invoice")[0], None, None],
 			[paytool.party_account, paytool.party, 100.00, None, None, None, expected_outstanding.get("Sales Order")[0], None],
 			[paytool.party_account, paytool.party, 100.00, None, None, None, None, expected_outstanding.get("Purchase Order")[0]]
 		]
 
-		for jv_entry in new_jv.get("entries"):
+		for jv_entry in new_jv.get("accounts"):
 			if paytool.party_account == jv_entry.get("account") and paytool.party == jv_entry.get("party"):
 				row = [
 					jv_entry.get("account"),
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 146764d..57672ff 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
@@ -5,7 +5,7 @@
 from __future__ import unicode_literals
 import unittest
 import frappe
-from erpnext.accounts.doctype.journal_voucher.test_journal_voucher import test_records as jv_records
+from erpnext.accounts.doctype.journal_entry.test_journal_entry import test_records as jv_records
 
 class TestPeriodClosingVoucher(unittest.TestCase):
 	def test_closing_entry(self):
@@ -16,10 +16,10 @@
 		jv.submit()
 
 		jv1 = frappe.copy_doc(jv_records[0])
-		jv1.get("entries")[1].account = "_Test Account Cost for Goods Sold - _TC"
-		jv1.get("entries")[1].cost_center = "_Test Cost Center - _TC"
-		jv1.get("entries")[1].debit = 600.0
-		jv1.get("entries")[0].credit = 600.0
+		jv1.get("accounts")[1].account = "_Test Account Cost for Goods Sold - _TC"
+		jv1.get("accounts")[1].cost_center = "_Test Cost Center - _TC"
+		jv1.get("accounts")[1].debit = 600.0
+		jv1.get("accounts")[0].credit = 600.0
 		jv1.insert()
 		jv1.submit()
 
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
index 658cc52..c2632bf 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
@@ -1,10 +1,6 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-cur_frm.cscript.tname = "Purchase Invoice Item";
-cur_frm.cscript.fname = "entries";
-cur_frm.cscript.other_fname = "other_charges";
-
 frappe.provide("erpnext.accounts");
 {% include 'buying/doctype/purchase_common/purchase_common.js' %};
 {% include 'accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js' %}
@@ -26,8 +22,8 @@
 
 		// Show / Hide button
 		if(doc.docstatus==1 && doc.outstanding_amount > 0)
-			this.frm.add_custom_button(__('Make Payment Entry'), this.make_bank_voucher,
-				frappe.boot.doctype_icons["Journal Voucher"]);
+			this.frm.add_custom_button(__('Make Payment Entry'), this.make_bank_entry,
+				frappe.boot.doctype_icons["Journal Entry"]);
 
 		if(doc.docstatus==1) {
 			cur_frm.add_custom_button(__('View Ledger'), function() {
@@ -98,7 +94,7 @@
 	},
 
 	allocated_amount: function() {
-		this.calculate_total_advance("Purchase Invoice", "advance_allocation_details");
+		this.calculate_total_advance("Purchase Invoice", "advances");
 		this.frm.refresh_fields();
 	},
 
@@ -106,14 +102,14 @@
 		this.get_terms();
 	},
 
-	entries_add: function(doc, cdt, cdn) {
+	items_add: function(doc, cdt, cdn) {
 		var row = frappe.get_doc(cdt, cdn);
-		this.frm.script_manager.copy_from_first_row("entries", row,
+		this.frm.script_manager.copy_from_first_row("items", row,
 			["expense_account", "cost_center", "project_name"]);
 	},
 
 	on_submit: function() {
-		$.each(this.frm.doc["entries"], function(i, row) {
+		$.each(this.frm.doc["items"], function(i, row) {
 			if(row.purchase_receipt) frappe.model.clear_doc("Purchase Receipt", row.purchase_receipt)
 		})
 	}
@@ -126,9 +122,9 @@
 	if (doc.is_opening == 'Yes') unhide_field('aging_date');
 }
 
-cur_frm.cscript.make_bank_voucher = function() {
+cur_frm.cscript.make_bank_entry = function() {
 	return frappe.call({
-		method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_payment_entry_from_purchase_invoice",
+		method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_payment_entry_from_purchase_invoice",
 		args: {
 			"purchase_invoice": cur_frm.doc.name,
 		},
@@ -152,7 +148,7 @@
 	}
 }
 
-cur_frm.fields_dict['entries'].grid.get_field("item_code").get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['items'].grid.get_field("item_code").get_query = function(doc, cdt, cdn) {
 	return {
 		query: "erpnext.controllers.queries.item_query",
 		filters:{
@@ -181,7 +177,7 @@
 	}
 }
 
-cur_frm.set_query("expense_account", "entries", function(doc) {
+cur_frm.set_query("expense_account", "items", function(doc) {
 	return{
 		query: "erpnext.accounts.doctype.purchase_invoice.purchase_invoice.get_expense_account",
 		filters: {'company': doc.company}
@@ -191,15 +187,15 @@
 cur_frm.cscript.expense_account = function(doc, cdt, cdn){
 	var d = locals[cdt][cdn];
 	if(d.idx == 1 && d.expense_account){
-		var cl = doc.entries || [];
+		var cl = doc.items || [];
 		for(var i = 0; i < cl.length; i++){
 			if(!cl[i].expense_account) cl[i].expense_account = d.expense_account;
 		}
 	}
-	refresh_field('entries');
+	refresh_field('items');
 }
 
-cur_frm.fields_dict["entries"].grid.get_field("cost_center").get_query = function(doc) {
+cur_frm.fields_dict["items"].grid.get_field("cost_center").get_query = function(doc) {
 	return {
 		filters: {
 			'company': doc.company,
@@ -212,15 +208,15 @@
 cur_frm.cscript.cost_center = function(doc, cdt, cdn){
 	var d = locals[cdt][cdn];
 	if(d.idx == 1 && d.cost_center){
-		var cl = doc.entries || [];
+		var cl = doc.items || [];
 		for(var i = 0; i < cl.length; i++){
 			if(!cl[i].cost_center) cl[i].cost_center = d.cost_center;
 		}
 	}
-	refresh_field('entries');
+	refresh_field('items');
 }
 
-cur_frm.fields_dict['entries'].grid.get_field('project_name').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['items'].grid.get_field('project_name').get_query = function(doc, cdt, cdn) {
 	return{
 		filters:[
 			['Project', 'status', 'not in', 'Completed, Cancelled']
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
index 91c8f87..bdc87e3 100755
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -239,7 +239,7 @@
    "print_hide": 1
   },
   {
-   "fieldname": "items",
+   "fieldname": "items_section",
    "fieldtype": "Section Break",
    "label": "Items",
    "oldfieldtype": "Section Break",
@@ -249,9 +249,9 @@
   },
   {
    "allow_on_submit": 1,
-   "fieldname": "entries",
+   "fieldname": "items",
    "fieldtype": "Table",
-   "label": "Entries",
+   "label": "Items",
    "oldfieldname": "entries",
    "oldfieldtype": "Table",
    "options": "Purchase Invoice Item",
@@ -292,7 +292,7 @@
    "read_only": 1
   },
   {
-   "fieldname": "taxes",
+   "fieldname": "taxes_section",
    "fieldtype": "Section Break",
    "label": "Taxes and Charges",
    "oldfieldtype": "Section Break",
@@ -312,7 +312,7 @@
    "read_only": 0
   },
   {
-   "fieldname": "other_charges",
+   "fieldname": "taxes",
    "fieldtype": "Table",
    "label": "Purchase Taxes and Charges",
    "oldfieldname": "purchase_tax_details",
@@ -538,7 +538,7 @@
    "permlevel": 0
   },
   {
-   "fieldname": "advances",
+   "fieldname": "advances_section",
    "fieldtype": "Section Break",
    "label": "Advances",
    "oldfieldtype": "Section Break",
@@ -558,9 +558,9 @@
    "read_only": 0
   },
   {
-   "fieldname": "advance_allocation_details",
+   "fieldname": "advances",
    "fieldtype": "Table",
-   "label": "Purchase Invoice Advances",
+   "label": "Advances",
    "no_copy": 1,
    "oldfieldname": "advance_allocation_details",
    "oldfieldtype": "Table",
@@ -800,7 +800,8 @@
    "fieldtype": "Date",
    "label": "From Date",
    "no_copy": 1,
-   "permlevel": 0
+   "permlevel": 0,
+   "print_hide": 1
   },
   {
    "allow_on_submit": 1,
@@ -810,7 +811,8 @@
    "fieldtype": "Date",
    "label": "To Date",
    "no_copy": 1,
-   "permlevel": 0
+   "permlevel": 0,
+   "print_hide": 1
   },
   {
    "allow_on_submit": 1,
@@ -878,7 +880,7 @@
  "icon": "icon-file-text",
  "idx": 1,
  "is_submittable": 1,
- "modified": "2014-10-08 14:23:20.234176",
+ "modified": "2014-12-24 14:32:24.551641",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Purchase Invoice",
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index 6a612a9..6b9de1e 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -12,13 +12,10 @@
 from erpnext.accounts.party import get_party_account, get_due_date
 
 form_grid_templates = {
-	"entries": "templates/form_grid/item_grid.html"
+	"items": "templates/form_grid/item_grid.html"
 }
 
 class PurchaseInvoice(BuyingController):
-	tname = 'Purchase Invoice Item'
-	fname = 'entries'
-
 	def __init__(self, arg1, arg2=None):
 		super(PurchaseInvoice, self).__init__(arg1, arg2)
 		self.status_updater = [{
@@ -45,17 +42,17 @@
 		self.check_active_purchase_items()
 		self.check_conversion_rate()
 		self.validate_credit_to_acc()
-		self.clear_unallocated_advances("Purchase Invoice Advance", "advance_allocation_details")
-		self.validate_advance_jv("advance_allocation_details", "purchase_order")
+		self.clear_unallocated_advances("Purchase Invoice Advance", "advances")
+		self.validate_advance_jv("advances", "purchase_order")
 		self.check_for_stopped_status()
 		self.validate_with_previous_doc()
 		self.validate_uom_is_integer("uom", "qty")
 		self.set_aging_date()
 		self.set_against_expense_account()
 		self.validate_write_off_account()
-		self.update_valuation_rate("entries")
+		self.update_valuation_rate("items")
 		self.validate_multiple_billing("Purchase Receipt", "pr_detail", "amount",
-			"purchase_receipt_details")
+			"items")
 		self.create_remarks()
 
 	def create_remarks(self):
@@ -75,10 +72,10 @@
 
 	def get_advances(self):
 		super(PurchaseInvoice, self).get_advances(self.credit_to, "Supplier", self.supplier,
-			"Purchase Invoice Advance", "advance_allocation_details", "debit", "purchase_order")
+			"Purchase Invoice Advance", "advances", "debit", "purchase_order")
 
 	def check_active_purchase_items(self):
-		for d in self.get('entries'):
+		for d in self.get('items'):
 			if d.item_code:		# extra condn coz item_code is not mandatory in PV
 				if frappe.db.get_value("Item", d.item_code, "is_purchase_item") != 'Yes':
 					msgprint(_("Item {0} is not Purchase Item").format(d.item_code), raise_exception=True)
@@ -99,7 +96,7 @@
 
 	def check_for_stopped_status(self):
 		check_list = []
-		for d in self.get('entries'):
+		for d in self.get('items'):
 			if d.purchase_order and not d.purchase_order in check_list and not d.purchase_receipt:
 				check_list.append(d.purchase_order)
 				stopped = frappe.db.sql("select name from `tabPurchase Order` where status = 'Stopped' and name = %s", d.purchase_order)
@@ -107,7 +104,7 @@
 					throw(_("Purchase Order {0} is 'Stopped'").format(d.purchase_order))
 
 	def validate_with_previous_doc(self):
-		super(PurchaseInvoice, self).validate_with_previous_doc(self.tname, {
+		super(PurchaseInvoice, self).validate_with_previous_doc({
 			"Purchase Order": {
 				"ref_dn_field": "purchase_order",
 				"compare_fields": [["supplier", "="], ["company", "="], ["currency", "="]],
@@ -130,7 +127,7 @@
 		})
 
 		if cint(frappe.defaults.get_global_default('maintain_same_rate')):
-			super(PurchaseInvoice, self).validate_with_previous_doc(self.tname, {
+			super(PurchaseInvoice, self).validate_with_previous_doc({
 				"Purchase Order Item": {
 					"ref_dn_field": "po_detail",
 					"compare_fields": [["rate", "="]],
@@ -159,7 +156,7 @@
 
 		against_accounts = []
 		stock_items = self.get_stock_items()
-		for item in self.get("entries"):
+		for item in self.get("items"):
 			if auto_accounting_for_stock and item.item_code in stock_items \
 					and self.is_opening == 'No':
 				# in case of auto inventory accounting, against expense account is always
@@ -181,13 +178,13 @@
 
 	def po_required(self):
 		if frappe.db.get_value("Buying Settings", None, "po_required") == 'Yes':
-			 for d in self.get('entries'):
+			 for d in self.get('items'):
 				 if not d.purchase_order:
 					 throw(_("Purchse Order number required for Item {0}").format(d.item_code))
 
 	def pr_required(self):
 		if frappe.db.get_value("Buying Settings", None, "pr_required") == 'Yes':
-			 for d in self.get('entries'):
+			 for d in self.get('items'):
 				 if not d.purchase_receipt:
 					 throw(_("Purchase Receipt number required for Item {0}").format(d.item_code))
 
@@ -196,7 +193,7 @@
 			throw(_("Please enter Write Off Account"))
 
 	def check_prev_docstatus(self):
-		for d in self.get('entries'):
+		for d in self.get('items'):
 			if d.purchase_order:
 				submitted = frappe.db.sql("select name from `tabPurchase Order` where docstatus = 1 and name = %s", d.purchase_order)
 				if not submitted:
@@ -216,10 +213,10 @@
 		"""
 
 		lst = []
-		for d in self.get('advance_allocation_details'):
+		for d in self.get('advances'):
 			if flt(d.allocated_amount) > 0:
 				args = {
-					'voucher_no' : d.journal_voucher,
+					'voucher_no' : d.journal_entry,
 					'voucher_detail_no' : d.jv_detail_no,
 					'against_voucher_type' : 'Purchase Invoice',
 					'against_voucher'  : self.name,
@@ -277,7 +274,7 @@
 
 		# tax table gl entries
 		valuation_tax = {}
-		for tax in self.get("other_charges"):
+		for tax in self.get("taxes"):
 			if tax.category in ("Total", "Valuation and Total") and flt(tax.tax_amount):
 				gl_entries.append(
 					self.get_gl_dict({
@@ -301,7 +298,7 @@
 		# item gl entries
 		negative_expense_to_be_booked = 0.0
 		stock_items = self.get_stock_items()
-		for item in self.get("entries"):
+		for item in self.get("items"):
 			if flt(item.base_amount):
 				gl_entries.append(
 					self.get_gl_dict({
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index 8e70fd6..ffb9ad0 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -78,7 +78,7 @@
 		pr.submit()
 
 		pi = frappe.copy_doc(test_records[1])
-		for d in pi.get("entries"):
+		for d in pi.get("items"):
 			d.purchase_receipt = pr.name
 		pi.insert()
 		pi.submit()
@@ -107,10 +107,10 @@
 		self.assertEqual(cint(frappe.defaults.get_global_default("auto_accounting_for_stock")), 1)
 
 		pi = frappe.copy_doc(test_records[1])
-		pi.get("entries")[0].item_code = "_Test Non Stock Item"
-		pi.get("entries")[0].expense_account = "_Test Account Cost for Goods Sold - _TC"
-		pi.get("other_charges").pop(0)
-		pi.get("other_charges").pop(1)
+		pi.get("items")[0].item_code = "_Test Non Stock Item"
+		pi.get("items")[0].expense_account = "_Test Account Cost for Goods Sold - _TC"
+		pi.get("taxes").pop(0)
+		pi.get("taxes").pop(1)
 		pi.insert()
 		pi.submit()
 
@@ -140,7 +140,7 @@
 			["_Test Item Home Desktop 100", 90, 59],
 			["_Test Item Home Desktop 200", 135, 177]
 		]
-		for i, item in enumerate(wrapper.get("entries")):
+		for i, item in enumerate(wrapper.get("items")):
 			self.assertEqual(item.item_code, expected_values[i][0])
 			self.assertEqual(item.item_tax_amount, expected_values[i][1])
 			self.assertEqual(item.valuation_rate, expected_values[i][2])
@@ -159,14 +159,14 @@
 			["_Test Account Discount - _TC", 168.03, 1512.30],
 		]
 
-		for i, tax in enumerate(wrapper.get("other_charges")):
+		for i, tax in enumerate(wrapper.get("taxes")):
 			self.assertEqual(tax.account_head, expected_values[i][0])
 			self.assertEqual(tax.tax_amount, expected_values[i][1])
 			self.assertEqual(tax.total, expected_values[i][2])
 
 	def test_purchase_invoice_with_subcontracted_item(self):
 		wrapper = frappe.copy_doc(test_records[0])
-		wrapper.get("entries")[0].item_code = "_Test FG Item"
+		wrapper.get("items")[0].item_code = "_Test FG Item"
 		wrapper.insert()
 		wrapper.load_from_db()
 
@@ -174,7 +174,7 @@
 			["_Test FG Item", 90, 59],
 			["_Test Item Home Desktop 200", 135, 177]
 		]
-		for i, item in enumerate(wrapper.get("entries")):
+		for i, item in enumerate(wrapper.get("items")):
 			self.assertEqual(item.item_code, expected_values[i][0])
 			self.assertEqual(item.item_tax_amount, expected_values[i][1])
 			self.assertEqual(item.valuation_rate, expected_values[i][2])
@@ -193,13 +193,13 @@
 			["_Test Account Discount - _TC", 168.03, 1512.30],
 		]
 
-		for i, tax in enumerate(wrapper.get("other_charges")):
+		for i, tax in enumerate(wrapper.get("taxes")):
 			self.assertEqual(tax.account_head, expected_values[i][0])
 			self.assertEqual(tax.tax_amount, expected_values[i][1])
 			self.assertEqual(tax.total, expected_values[i][2])
 
 	def test_purchase_invoice_with_advance(self):
-		from erpnext.accounts.doctype.journal_voucher.test_journal_voucher \
+		from erpnext.accounts.doctype.journal_entry.test_journal_entry \
 			import test_records as jv_test_records
 
 		jv = frappe.copy_doc(jv_test_records[1])
@@ -207,9 +207,9 @@
 		jv.submit()
 
 		pi = frappe.copy_doc(test_records[0])
-		pi.append("advance_allocation_details", {
-			"journal_voucher": jv.name,
-			"jv_detail_no": jv.get("entries")[0].name,
+		pi.append("advances", {
+			"journal_entry": jv.name,
+			"jv_detail_no": jv.get("accounts")[0].name,
 			"advance_amount": 400,
 			"allocated_amount": 300,
 			"remarks": jv.remark
@@ -218,17 +218,17 @@
 		pi.submit()
 		pi.load_from_db()
 
-		self.assertTrue(frappe.db.sql("""select name from `tabJournal Voucher Detail`
+		self.assertTrue(frappe.db.sql("""select name from `tabJournal Entry Account`
 			where against_voucher=%s""", pi.name))
 
-		self.assertTrue(frappe.db.sql("""select name from `tabJournal Voucher Detail`
+		self.assertTrue(frappe.db.sql("""select name from `tabJournal Entry Account`
 			where against_voucher=%s and debit=300""", pi.name))
 
 		self.assertEqual(pi.outstanding_amount, 1212.30)
 
 		pi.cancel()
 
-		self.assertTrue(not frappe.db.sql("""select name from `tabJournal Voucher Detail`
+		self.assertTrue(not frappe.db.sql("""select name from `tabJournal Entry Account`
 			where against_voucher=%s""", pi.name))
 
 	def test_recurring_invoice(self):
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_records.json b/erpnext/accounts/doctype/purchase_invoice/test_records.json
index 84a5440..dd5daea 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_records.json
+++ b/erpnext/accounts/doctype/purchase_invoice/test_records.json
@@ -7,7 +7,7 @@
   "credit_to": "_Test Payable - _TC",
   "currency": "INR",
   "doctype": "Purchase Invoice",
-  "entries": [
+  "items": [
    {
     "amount": 500,
     "base_amount": 500,
@@ -19,7 +19,7 @@
     "item_code": "_Test Item Home Desktop 100",
     "item_name": "_Test Item Home Desktop 100",
     "item_tax_rate": "{\"_Test Account Excise Duty - _TC\": 10}",
-    "parentfield": "entries",
+    "parentfield": "items",
     "qty": 10,
     "rate": 50,
     "uom": "_Test UOM"
@@ -34,7 +34,7 @@
     "expense_account": "_Test Account Cost for Goods Sold - _TC",
     "item_code": "_Test Item Home Desktop 200",
     "item_name": "_Test Item Home Desktop 200",
-    "parentfield": "entries",
+    "parentfield": "items",
     "qty": 5,
     "rate": 150,
     "uom": "_Test UOM"
@@ -43,7 +43,7 @@
   "fiscal_year": "_Test Fiscal Year 2013",
   "grand_total_import": 0,
   "naming_series": "_T-BILL",
-  "other_charges": [
+  "taxes": [
    {
     "account_head": "_Test Account Shipping Charges - _TC",
     "add_deduct_tax": "Add",
@@ -52,7 +52,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "Shipping Charges",
     "doctype": "Purchase Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 100
    },
    {
@@ -63,7 +63,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "Customs Duty",
     "doctype": "Purchase Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 10
    },
    {
@@ -74,7 +74,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "Excise Duty",
     "doctype": "Purchase Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 12
    },
    {
@@ -85,7 +85,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "Education Cess",
     "doctype": "Purchase Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 2,
     "row_id": 3
    },
@@ -97,7 +97,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "S&H Education Cess",
     "doctype": "Purchase Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 1,
     "row_id": 3
    },
@@ -109,7 +109,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "CST",
     "doctype": "Purchase Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 2,
     "row_id": 5
    },
@@ -121,7 +121,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "VAT",
     "doctype": "Purchase Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 12.5
    },
    {
@@ -132,7 +132,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "Discount",
     "doctype": "Purchase Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 10,
     "row_id": 7
    }
@@ -149,7 +149,7 @@
   "credit_to": "_Test Payable - _TC",
   "currency": "INR",
   "doctype": "Purchase Invoice",
-  "entries": [
+  "items": [
    {
     "conversion_factor": 1.0,
     "cost_center": "_Test Cost Center - _TC",
@@ -157,7 +157,7 @@
     "expense_account": "_Test Account Cost for Goods Sold - _TC",
     "item_code": "_Test Item",
     "item_name": "_Test Item",
-    "parentfield": "entries",
+    "parentfield": "items",
     "qty": 10.0,
     "rate": 50.0,
     "uom": "_Test UOM"
@@ -166,7 +166,7 @@
   "fiscal_year": "_Test Fiscal Year 2013",
   "grand_total_import": 0,
   "naming_series": "_T-Purchase Invoice-",
-  "other_charges": [
+  "taxes": [
    {
     "account_head": "_Test Account Shipping Charges - _TC",
     "add_deduct_tax": "Add",
@@ -175,7 +175,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "Shipping Charges",
     "doctype": "Purchase Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 100.0
    },
    {
@@ -186,7 +186,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "VAT",
     "doctype": "Purchase Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 120.0
    },
    {
@@ -197,7 +197,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "Customs Duty",
     "doctype": "Purchase Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 150.0
    }
   ],
diff --git a/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json b/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
index 47e2d89..ec73ad4 100644
--- a/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
+++ b/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
@@ -1,88 +1,89 @@
 {
- "creation": "2013-03-08 15:36:46.000000", 
- "docstatus": 0, 
- "doctype": "DocType", 
+ "creation": "2013-03-08 15:36:46",
+ "docstatus": 0,
+ "doctype": "DocType",
  "fields": [
   {
-   "fieldname": "journal_voucher", 
-   "fieldtype": "Link", 
-   "in_list_view": 1, 
-   "label": "Journal Voucher", 
-   "no_copy": 1, 
-   "oldfieldname": "journal_voucher", 
-   "oldfieldtype": "Link", 
-   "options": "Journal Voucher", 
-   "permlevel": 0, 
-   "print_width": "180px", 
-   "read_only": 1, 
+   "fieldname": "journal_entry",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Journal Entry",
+   "no_copy": 1,
+   "oldfieldname": "journal_voucher",
+   "oldfieldtype": "Link",
+   "options": "Journal Entry",
+   "permlevel": 0,
+   "print_width": "180px",
+   "read_only": 1,
    "width": "180px"
-  }, 
+  },
   {
-   "fieldname": "jv_detail_no", 
-   "fieldtype": "Data", 
-   "hidden": 1, 
-   "in_list_view": 0, 
-   "label": "Journal Voucher Detail No", 
-   "no_copy": 1, 
-   "oldfieldname": "jv_detail_no", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "80px", 
-   "read_only": 1, 
+   "fieldname": "jv_detail_no",
+   "fieldtype": "Data",
+   "hidden": 1,
+   "in_list_view": 0,
+   "label": "Journal Entry Detail No",
+   "no_copy": 1,
+   "oldfieldname": "jv_detail_no",
+   "oldfieldtype": "Date",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "80px",
+   "read_only": 1,
    "width": "80px"
-  }, 
+  },
   {
-   "fieldname": "remarks", 
-   "fieldtype": "Small Text", 
-   "in_list_view": 1, 
-   "label": "Remarks", 
-   "no_copy": 1, 
-   "oldfieldname": "remarks", 
-   "oldfieldtype": "Small Text", 
-   "permlevel": 0, 
-   "print_width": "150px", 
-   "read_only": 1, 
+   "fieldname": "remarks",
+   "fieldtype": "Small Text",
+   "in_list_view": 1,
+   "label": "Remarks",
+   "no_copy": 1,
+   "oldfieldname": "remarks",
+   "oldfieldtype": "Small Text",
+   "permlevel": 0,
+   "print_width": "150px",
+   "read_only": 1,
    "width": "150px"
-  }, 
+  },
   {
-   "fieldname": "col_break1", 
-   "fieldtype": "Column Break", 
+   "fieldname": "col_break1",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "advance_amount", 
-   "fieldtype": "Currency", 
-   "in_list_view": 1, 
-   "label": "Advance Amount", 
-   "no_copy": 1, 
-   "oldfieldname": "advance_amount", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_width": "100px", 
-   "read_only": 1, 
+   "fieldname": "advance_amount",
+   "fieldtype": "Currency",
+   "in_list_view": 1,
+   "label": "Advance Amount",
+   "no_copy": 1,
+   "oldfieldname": "advance_amount",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_width": "100px",
+   "read_only": 1,
    "width": "100px"
-  }, 
+  },
   {
-   "fieldname": "allocated_amount", 
-   "fieldtype": "Currency", 
-   "in_list_view": 1, 
-   "label": "Allocated Amount", 
-   "no_copy": 1, 
-   "oldfieldname": "allocated_amount", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_width": "100px", 
+   "fieldname": "allocated_amount",
+   "fieldtype": "Currency",
+   "in_list_view": 1,
+   "label": "Allocated Amount",
+   "no_copy": 1,
+   "oldfieldname": "allocated_amount",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_width": "100px",
    "width": "100px"
   }
- ], 
- "idx": 1, 
- "istable": 1, 
- "modified": "2014-02-03 12:38:24.000000", 
- "modified_by": "Administrator", 
- "module": "Accounts", 
- "name": "Purchase Invoice Advance", 
- "owner": "Administrator"
-}
\ No newline at end of file
+ ],
+ "idx": 1,
+ "istable": 1,
+ "modified": "2014-12-25 16:29:15.176476",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Purchase Invoice Advance",
+ "owner": "Administrator",
+ "permissions": []
+}
diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js b/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js
index a8c02e8..b0988b2 100644
--- a/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js
+++ b/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js
@@ -20,7 +20,7 @@
 	return '';
 }
 
-cur_frm.pformat.other_charges= function(doc) {
+cur_frm.pformat.taxes= function(doc) {
 
 	//function to make row of table
 	var make_row = function(title, val, bold) {
@@ -41,7 +41,7 @@
 		return doc_field.print_hide;
 	}
 
-	var cl = doc.other_charges || [];
+	var cl = doc.taxes || [];
 
 	// outer table
 	var out='<div><table class="noborder" style="width:100%">\
@@ -104,7 +104,7 @@
 	}
 
 	validated = false;
-	refresh_field('charge_type', d.name, 'other_charges');
+	refresh_field('charge_type', d.name, 'taxes');
 
 	cur_frm.cscript.row_id(doc, cdt, cdn);
 	cur_frm.cscript.rate(doc, cdt, cdn);
@@ -130,10 +130,10 @@
 		}
 	}
 	validated = false;
-	refresh_field('row_id', d.name, 'other_charges');
+	refresh_field('row_id', d.name, 'taxes');
 }
 
-cur_frm.set_query("account_head", "other_charges", function(doc) {
+cur_frm.set_query("account_head", "taxes", function(doc) {
 	return {
 		query: "erpnext.controllers.queries.tax_account_query",
 		filters: {
@@ -143,7 +143,7 @@
 	}
 });
 
-cur_frm.fields_dict['other_charges'].grid.get_field("cost_center").get_query = function(doc) {
+cur_frm.fields_dict['taxes'].grid.get_field("cost_center").get_query = function(doc) {
 	return {
 		filters: {
 			'company': doc.company,
@@ -160,7 +160,7 @@
 		d.rate = '';
 	}
 	validated = false;
-	refresh_field('rate', d.name, 'other_charges');
+	refresh_field('rate', d.name, 'taxes');
 }
 
 cur_frm.cscript.tax_amount = function(doc, cdt, cdn) {
@@ -176,5 +176,5 @@
 	}
 
 	validated = false;
-	refresh_field('tax_amount', d.name, 'other_charges');
+	refresh_field('tax_amount', d.name, 'taxes');
 }
diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.json b/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.json
index 178c077..a80978b 100644
--- a/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.json
+++ b/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.json
@@ -60,7 +60,7 @@
    "precision": ""
   }, 
   {
-   "fieldname": "other_charges", 
+   "fieldname": "taxes", 
    "fieldtype": "Table", 
    "label": "Purchase Taxes and Charges", 
    "oldfieldname": "purchase_tax_details", 
@@ -71,7 +71,7 @@
  ], 
  "icon": "icon-money", 
  "idx": 1, 
- "modified": "2014-10-07 12:40:17.165882", 
+ "modified": "2014-12-24 17:19:29.921875", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Purchase Taxes and Charges Master", 
diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_master/test_purchase_taxes_and_charges_master.py b/erpnext/accounts/doctype/purchase_taxes_and_charges_master/test_purchase_taxes_and_charges_master.py
new file mode 100644
index 0000000..4f600bd
--- /dev/null
+++ b/erpnext/accounts/doctype/purchase_taxes_and_charges_master/test_purchase_taxes_and_charges_master.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and Contributors
+# See license.txt
+
+import frappe
+import unittest
+
+test_records = frappe.get_test_records('Purchase Taxes and Charges Master')
+
+class TestPurchaseTaxesandChargesMaster(unittest.TestCase):
+	pass
diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_master/test_records.json b/erpnext/accounts/doctype/purchase_taxes_and_charges_master/test_records.json
new file mode 100644
index 0000000..e230c20
--- /dev/null
+++ b/erpnext/accounts/doctype/purchase_taxes_and_charges_master/test_records.json
@@ -0,0 +1,6 @@
+[
+	{
+		"doctype": "Purchase Taxes and Charges Master",
+		"name": "_Test Purchase Taxes and Charges Master 1"
+	}
+]
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
index c059702..a77ccfe 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
@@ -1,11 +1,6 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-cur_frm.cscript.tname = "Sales Invoice Item";
-cur_frm.cscript.fname = "entries";
-cur_frm.cscript.other_fname = "other_charges";
-cur_frm.cscript.sales_team_fname = "sales_team";
-
 // print heading
 cur_frm.pformat.print_heading = 'Invoice';
 
@@ -67,7 +62,7 @@
 			if(cint(doc.update_stock)!=1) {
 				// show Make Delivery Note button only if Sales Invoice is not created from Delivery Note
 				var from_delivery_note = false;
-				from_delivery_note = cur_frm.doc.entries
+				from_delivery_note = cur_frm.doc.items
 					.some(function(item) {
 						return item.delivery_note ? true : false;
 					});
@@ -78,7 +73,7 @@
 			}
 
 			if(doc.outstanding_amount!=0) {
-				cur_frm.page.add_menu_item(__('Make Payment Entry'), cur_frm.cscript.make_bank_voucher, "icon-money");
+				cur_frm.page.add_menu_item(__('Make Payment Entry'), cur_frm.cscript.make_bank_entry, "icon-money");
 			}
 		}
 
@@ -172,7 +167,7 @@
 	},
 
 	allocated_amount: function() {
-		this.calculate_total_advance("Sales Invoice", "advance_adjustment_details");
+		this.calculate_total_advance("Sales Invoice", "advances");
 		this.frm.refresh_fields();
 	},
 
@@ -198,9 +193,9 @@
 		this.write_off_outstanding_amount_automatically();
 	},
 
-	entries_add: function(doc, cdt, cdn) {
+	items_add: function(doc, cdt, cdn) {
 		var row = frappe.get_doc(cdt, cdn);
-		this.frm.script_manager.copy_from_first_row("entries", row, ["income_account", "cost_center"]);
+		this.frm.script_manager.copy_from_first_row("items", row, ["income_account", "cost_center"]);
 	},
 
 	set_dynamic_labels: function() {
@@ -208,7 +203,7 @@
 		this.hide_fields(this.frm.doc);
 	},
 
-	entries_on_form_rendered: function(doc, grid_row) {
+	items_on_form_rendered: function(doc, grid_row) {
 		erpnext.setup_serial_no(grid_row)
 	}
 
@@ -220,28 +215,26 @@
 // Hide Fields
 // ------------
 cur_frm.cscript.hide_fields = function(doc) {
-	par_flds = ['project_name', 'due_date', 'is_opening', 'source', 'total_advance', 'gross_profit',
-	'gross_profit_percent', 'get_advances_received',
-	'advance_adjustment_details', 'sales_partner', 'commission_rate',
-	'total_commission', 'advances', 'from_date', 'to_date'];
+	par_flds = ['project_name', 'due_date', 'is_opening', 'source', 'total_advance', 'get_advances_received',
+	'advances', 'sales_partner', 'commission_rate', 'total_commission', 'advances', 'from_date', 'to_date'];
 
 	item_flds_normal = ['sales_order', 'delivery_note']
 
 	if(cint(doc.is_pos) == 1) {
 		hide_field(par_flds);
 		unhide_field('payments_section');
-		cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_normal, false);
+		cur_frm.fields_dict['items'].grid.set_column_disp(item_flds_normal, false);
 	} else {
 		hide_field('payments_section');
 		for (i in par_flds) {
 			var docfield = frappe.meta.docfield_map[doc.doctype][par_flds[i]];
 			if(!docfield.hidden) unhide_field(par_flds[i]);
 		}
-		cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_normal, true);
+		cur_frm.fields_dict['items'].grid.set_column_disp(item_flds_normal, true);
 	}
 
 	item_flds_stock = ['serial_no', 'batch_no', 'actual_qty', 'expense_account', 'warehouse']
-	cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_stock,
+	cur_frm.fields_dict['items'].grid.set_column_disp(item_flds_stock,
 		(cint(doc.update_stock)==1 ? true : false));
 
 	// India related fields
@@ -275,9 +268,9 @@
 	})
 }
 
-cur_frm.cscript.make_bank_voucher = function() {
+cur_frm.cscript.make_bank_entry = function() {
 	return frappe.call({
-		method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_payment_entry_from_sales_invoice",
+		method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_payment_entry_from_sales_invoice",
 		args: {
 			"sales_invoice": cur_frm.doc.name
 		},
@@ -341,7 +334,7 @@
 
 // Income Account in Details Table
 // --------------------------------
-cur_frm.set_query("income_account", "entries", function(doc) {
+cur_frm.set_query("income_account", "items", function(doc) {
 	return{
 		query: "erpnext.accounts.doctype.sales_invoice.sales_invoice.get_income_account",
 		filters: {'company': doc.company}
@@ -350,7 +343,7 @@
 
 // expense account
 if (sys_defaults.auto_accounting_for_stock) {
-	cur_frm.fields_dict['entries'].grid.get_field('expense_account').get_query = function(doc) {
+	cur_frm.fields_dict['items'].grid.get_field('expense_account').get_query = function(doc) {
 		return {
 			filters: {
 				'report_type': 'Profit and Loss',
@@ -364,7 +357,7 @@
 
 // Cost Center in Details Table
 // -----------------------------
-cur_frm.fields_dict["entries"].grid.get_field("cost_center").get_query = function(doc) {
+cur_frm.fields_dict["items"].grid.get_field("cost_center").get_query = function(doc) {
 	return {
 		filters: {
 			'company': doc.company,
@@ -386,7 +379,7 @@
 }
 
 cur_frm.cscript.on_submit = function(doc, cdt, cdn) {
-	$.each(doc["entries"], function(i, row) {
+	$.each(doc["items"], function(i, row) {
 		if(row.delivery_note) frappe.model.clear_doc("Delivery Note", row.delivery_note)
 	})
 
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
index 2c90115..625928a 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -270,7 +270,7 @@
    "print_hide": 1
   },
   {
-   "fieldname": "items",
+   "fieldname": "items_section",
    "fieldtype": "Section Break",
    "label": "Items",
    "oldfieldtype": "Section Break",
@@ -290,9 +290,9 @@
   },
   {
    "allow_on_submit": 1,
-   "fieldname": "entries",
+   "fieldname": "items",
    "fieldtype": "Table",
-   "label": "Sales Invoice Items",
+   "label": "Items",
    "oldfieldname": "entries",
    "oldfieldtype": "Table",
    "options": "Sales Invoice Item",
@@ -310,9 +310,9 @@
    "read_only": 0
   },
   {
-   "fieldname": "packing_details",
+   "fieldname": "packed_items",
    "fieldtype": "Table",
-   "label": "Packing Details",
+   "label": "Packed Items",
    "options": "Packed Item",
    "permlevel": 0,
    "print_hide": 1,
@@ -358,7 +358,7 @@
    "read_only": 1
   },
   {
-   "fieldname": "taxes",
+   "fieldname": "taxes_section",
    "fieldtype": "Section Break",
    "label": "Taxes and Charges",
    "oldfieldtype": "Section Break",
@@ -399,7 +399,7 @@
   },
   {
    "allow_on_submit": 1,
-   "fieldname": "other_charges",
+   "fieldname": "taxes",
    "fieldtype": "Table",
    "label": "Sales Taxes and Charges",
    "oldfieldname": "other_charges",
@@ -569,28 +569,7 @@
    "read_only": 1
   },
   {
-   "fieldname": "gross_profit",
-   "fieldtype": "Currency",
-   "label": "Gross Profit",
-   "oldfieldname": "gross_profit",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 1
-  },
-  {
-   "fieldname": "gross_profit_percent",
-   "fieldtype": "Float",
-   "label": "Gross Profit (%)",
-   "oldfieldname": "gross_profit_percent",
-   "oldfieldtype": "Currency",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 1
-  },
-  {
-   "fieldname": "advances",
+   "fieldname": "advances_section",
    "fieldtype": "Section Break",
    "label": "Advances",
    "oldfieldtype": "Section Break",
@@ -610,9 +589,9 @@
    "read_only": 0
   },
   {
-   "fieldname": "advance_adjustment_details",
+   "fieldname": "advances",
    "fieldtype": "Table",
-   "label": "Sales Invoice Advance",
+   "label": "Advances",
    "oldfieldname": "advance_adjustment_details",
    "oldfieldtype": "Table",
    "options": "Sales Invoice Advance",
@@ -1213,7 +1192,7 @@
  "icon": "icon-file-text",
  "idx": 1,
  "is_submittable": 1,
- "modified": "2014-10-22 16:54:22.284284",
+ "modified": "2014-12-24 14:27:52.461964",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Sales Invoice",
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index 5201e5e..585e0a4 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -13,13 +13,10 @@
 from erpnext.controllers.selling_controller import SellingController
 
 form_grid_templates = {
-	"entries": "templates/form_grid/item_grid.html"
+	"items": "templates/form_grid/item_grid.html"
 }
 
 class SalesInvoice(SellingController):
-	tname = 'Sales Invoice Item'
-	fname = 'entries'
-
 	def __init__(self, arg1, arg2=None):
 		super(SalesInvoice, self).__init__(arg1, arg2)
 		self.status_updater = [{
@@ -48,8 +45,8 @@
 		self.check_stop_sales_order("sales_order")
 		self.validate_debit_to_acc()
 		self.validate_fixed_asset_account()
-		self.clear_unallocated_advances("Sales Invoice Advance", "advance_adjustment_details")
-		self.validate_advance_jv("advance_adjustment_details", "sales_order")
+		self.clear_unallocated_advances("Sales Invoice Advance", "advances")
+		self.validate_advance_jv("advances", "sales_order")
 		self.add_remarks()
 
 		if cint(self.is_pos):
@@ -69,7 +66,7 @@
 		self.validate_c_form()
 		self.validate_time_logs_are_submitted()
 		self.validate_multiple_billing("Delivery Note", "dn_detail", "amount",
-			"delivery_note_details")
+			"items")
 
 	def on_submit(self):
 		super(SalesInvoice, self).on_submit()
@@ -133,7 +130,7 @@
 				'second_source_field': 'qty',
 				'second_join_field': 'so_detail',
 				'overflow_type': 'delivery',
-				'extra_cond': """ and exists(select name from `tabSales Invoice` 
+				'extra_cond': """ and exists(select name from `tabSales Invoice`
 					where name=`tabSales Invoice Item`.parent and ifnull(update_stock, 0) = 1)"""
 			})
 
@@ -151,7 +148,7 @@
 		super(SalesInvoice, self).set_missing_values(for_validate)
 
 	def update_time_log_batch(self, sales_invoice):
-		for d in self.get(self.fname):
+		for d in self.get("items"):
 			if d.time_log_batch:
 				tlb = frappe.get_doc("Time Log Batch", d.time_log_batch)
 				tlb.sales_invoice = sales_invoice
@@ -159,7 +156,7 @@
 				tlb.save()
 
 	def validate_time_logs_are_submitted(self):
-		for d in self.get(self.fname):
+		for d in self.get("items"):
 			if d.time_log_batch:
 				status = frappe.db.get_value("Time Log Batch", d.time_log_batch, "status")
 				if status!="Submitted":
@@ -187,7 +184,7 @@
 				self.update_stock = cint(pos.get("update_stock"))
 
 			# set pos values in items
-			for item in self.get("entries"):
+			for item in self.get("items"):
 				if item.get('item_code'):
 					for fname, val in get_pos_settings_item_details(pos,
 						frappe._dict(item.as_dict()), pos).items():
@@ -200,12 +197,12 @@
 				self.terms = frappe.db.get_value("Terms and Conditions", self.tc_name, "terms")
 
 			# fetch charges
-			if self.taxes_and_charges and not len(self.get("other_charges")):
-				self.set_taxes("other_charges", "taxes_and_charges")
+			if self.taxes_and_charges and not len(self.get("taxes")):
+				self.set_taxes("taxes", "taxes_and_charges")
 
 	def get_advances(self):
 		super(SalesInvoice, self).get_advances(self.debit_to, "Customer", self.customer,
-			"Sales Invoice Advance", "advance_adjustment_details", "credit", "sales_order")
+			"Sales Invoice Advance", "advances", "credit", "sales_order")
 
 	def get_company_abbr(self):
 		return frappe.db.sql("select abbr from tabCompany where name=%s", self.company)[0][0]
@@ -219,10 +216,10 @@
 		"""
 
 		lst = []
-		for d in self.get('advance_adjustment_details'):
+		for d in self.get('advances'):
 			if flt(d.allocated_amount) > 0:
 				args = {
-					'voucher_no' : d.journal_voucher,
+					'voucher_no' : d.journal_entry,
 					'voucher_detail_no' : d.jv_detail_no,
 					'against_voucher_type' : 'Sales Invoice',
 					'against_voucher'  : self.name,
@@ -249,7 +246,7 @@
 
 	def validate_fixed_asset_account(self):
 		"""Validate Fixed Asset and whether Income Account Entered Exists"""
-		for d in self.get('entries'):
+		for d in self.get('items'):
 			item = frappe.db.sql("""select name,is_asset_item,is_sales_item from `tabItem`
 				where name = %s""", d.item_code)
 			acc = frappe.db.sql("""select account_type from `tabAccount`
@@ -258,7 +255,7 @@
 				msgprint(_("Account {0} must be of type 'Fixed Asset' as Item {1} is an Asset Item").format(acc[0][0], d.item_code), raise_exception=True)
 
 	def validate_with_previous_doc(self):
-		super(SalesInvoice, self).validate_with_previous_doc(self.tname, {
+		super(SalesInvoice, self).validate_with_previous_doc({
 			"Sales Order": {
 				"ref_dn_field": "sales_order",
 				"compare_fields": [["customer", "="], ["company", "="], ["project_name", "="],
@@ -272,7 +269,7 @@
 		})
 
 		if cint(frappe.defaults.get_global_default('maintain_same_sales_rate')):
-			super(SalesInvoice, self).validate_with_previous_doc(self.tname, {
+			super(SalesInvoice, self).validate_with_previous_doc({
 				"Sales Order Item": {
 					"ref_dn_field": "so_detail",
 					"compare_fields": [["rate", "="]],
@@ -296,7 +293,7 @@
 	def set_against_income_account(self):
 		"""Set against account for debit to account"""
 		against_acc = []
-		for d in self.get('entries'):
+		for d in self.get('items'):
 			if d.income_account not in against_acc:
 				against_acc.append(d.income_account)
 		self.against_income_account = ','.join(against_acc)
@@ -311,7 +308,7 @@
 		dic = {'Sales Order':'so_required','Delivery Note':'dn_required'}
 		for i in dic:
 			if frappe.db.get_value('Selling Settings', None, dic[i]) == 'Yes':
-				for d in self.get('entries'):
+				for d in self.get('items'):
 					if frappe.db.get_value('Item', d.item_code, 'is_stock_item') == 'Yes' \
 						and not d.get(i.lower().replace(' ','_')):
 						msgprint(_("{0} is mandatory for Item {1}").format(i,d.item_code), raise_exception=1)
@@ -336,12 +333,12 @@
 
 
 	def validate_item_code(self):
-		for d in self.get('entries'):
+		for d in self.get('items'):
 			if not d.item_code:
 				msgprint(_("Item Code required at Row No {0}").format(d.idx), raise_exception=True)
 
 	def validate_delivery_note(self):
-		for d in self.get("entries"):
+		for d in self.get("items"):
 			if d.delivery_note:
 				msgprint(_("Stock cannot be updated against Delivery Note {0}").format(d.delivery_note), raise_exception=1)
 
@@ -366,12 +363,12 @@
 				.format(self.name, self.c_form_no), raise_exception = 1)
 
 	def update_current_stock(self):
-		for d in self.get('entries'):
+		for d in self.get('items'):
 			if d.item_code and d.warehouse:
 				bin = frappe.db.sql("select actual_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1)
 				d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0
 
-		for d in self.get('packing_details'):
+		for d in self.get('packed_items'):
 			bin = frappe.db.sql("select actual_qty, projected_qty from `tabBin` where item_code =	%s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1)
 			d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0
 			d.projected_qty = bin and flt(bin[0]['projected_qty']) or 0
@@ -399,14 +396,14 @@
 			if cint(self.is_pos) == 1:
 				w = self.get_warehouse()
 				if w:
-					for d in self.get('entries'):
+					for d in self.get('items'):
 						if not d.warehouse:
 							d.warehouse = cstr(w)
 
 			from erpnext.stock.doctype.packed_item.packed_item import make_packing_list
-			make_packing_list(self, 'entries')
+			make_packing_list(self, 'items')
 		else:
-			self.set('packing_details', [])
+			self.set('packed_items', [])
 
 		if cint(self.is_pos) == 1:
 			if flt(self.paid_amount) == 0:
@@ -421,7 +418,7 @@
 			frappe.db.set(self,'paid_amount',0)
 
 	def check_prev_docstatus(self):
-		for d in self.get('entries'):
+		for d in self.get('items'):
 			if d.sales_order:
 				submitted = frappe.db.sql("""select name from `tabSales Order`
 					where docstatus = 1 and name = %s""", d.sales_order)
@@ -500,7 +497,7 @@
 			)
 
 	def make_tax_gl_entries(self, gl_entries):
-		for tax in self.get("other_charges"):
+		for tax in self.get("taxes"):
 			if flt(tax.tax_amount_after_discount_amount):
 				gl_entries.append(
 					self.get_gl_dict({
@@ -514,7 +511,7 @@
 
 	def make_item_gl_entries(self, gl_entries):
 		# income account gl entries
-		for item in self.get("entries"):
+		for item in self.get("items"):
 			if flt(item.base_amount):
 				gl_entries.append(
 					self.get_gl_dict({
diff --git a/erpnext/accounts/doctype/sales_invoice/test_records.json b/erpnext/accounts/doctype/sales_invoice/test_records.json
index ec1a774..abc360b 100644
--- a/erpnext/accounts/doctype/sales_invoice/test_records.json
+++ b/erpnext/accounts/doctype/sales_invoice/test_records.json
@@ -8,7 +8,7 @@
   "debit_to": "_Test Receivable - _TC",
   "doctype": "Sales Invoice",
   "due_date": "2013-01-23",
-  "entries": [
+  "items": [
    {
     "amount": 500.0,
     "base_amount": 500.0,
@@ -19,7 +19,7 @@
     "income_account": "Sales - _TC",
 	"expense_account": "_Test Account Cost for Goods Sold - _TC",
     "item_name": "138-CMS Shoe",
-    "parentfield": "entries",
+    "parentfield": "items",
     "qty": 1.0,
     "rate": 500.0
    }
@@ -30,13 +30,13 @@
   "is_pos": 0,
   "naming_series": "_T-Sales Invoice-",
   "net_total": 500.0,
-  "other_charges": [
+  "taxes": [
    {
     "account_head": "_Test Account VAT - _TC",
     "charge_type": "On Net Total",
     "description": "VAT",
     "doctype": "Sales Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 6
    },
    {
@@ -44,7 +44,7 @@
     "charge_type": "On Net Total",
     "description": "Service Tax",
     "doctype": "Sales Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 6.36
    }
   ],
@@ -77,7 +77,7 @@
   "debit_to": "_Test Receivable - _TC",
   "doctype": "Sales Invoice",
   "due_date": "2013-03-07",
-  "entries": [
+  "items": [
    {
     "amount": 500.0,
     "base_amount": 500.0,
@@ -89,7 +89,7 @@
     "income_account": "Sales - _TC",
     "item_code": "_Test Item",
     "item_name": "_Test Item",
-    "parentfield": "entries",
+    "parentfield": "items",
     "price_list_rate": 500.0,
     "qty": 1.0
    }
@@ -100,13 +100,13 @@
   "is_pos": 0,
   "naming_series": "_T-Sales Invoice-",
   "net_total": 500.0,
-  "other_charges": [
+  "taxes": [
    {
     "account_head": "_Test Account VAT - _TC",
     "charge_type": "On Net Total",
     "description": "VAT",
     "doctype": "Sales Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 16
    },
    {
@@ -114,7 +114,7 @@
     "charge_type": "On Net Total",
     "description": "Service Tax",
     "doctype": "Sales Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 10
    }
   ],
@@ -133,7 +133,7 @@
   "debit_to": "_Test Receivable - _TC",
   "doctype": "Sales Invoice",
   "due_date": "2013-01-23",
-  "entries": [
+  "items": [
    {
     "cost_center": "_Test Cost Center - _TC",
     "doctype": "Sales Invoice Item",
@@ -142,7 +142,7 @@
     "item_code": "_Test Item Home Desktop 100",
     "item_name": "_Test Item Home Desktop 100",
     "item_tax_rate": "{\"_Test Account Excise Duty - _TC\": 10}",
-    "parentfield": "entries",
+    "parentfield": "items",
     "price_list_rate": 50,
     "qty": 10,
     "rate": 50,
@@ -155,7 +155,7 @@
 	"expense_account": "_Test Account Cost for Goods Sold - _TC",
     "item_code": "_Test Item Home Desktop 200",
     "item_name": "_Test Item Home Desktop 200",
-    "parentfield": "entries",
+    "parentfield": "items",
     "price_list_rate": 150,
     "qty": 5,
     "rate": 150,
@@ -166,14 +166,14 @@
   "grand_total_export": 0,
   "is_pos": 0,
   "naming_series": "_T-Sales Invoice-",
-  "other_charges": [
+  "taxes": [
    {
     "account_head": "_Test Account Shipping Charges - _TC",
     "charge_type": "Actual",
     "cost_center": "_Test Cost Center - _TC",
     "description": "Shipping Charges",
     "doctype": "Sales Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 100
    },
    {
@@ -182,7 +182,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "Customs Duty",
     "doctype": "Sales Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 10
    },
    {
@@ -191,7 +191,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "Excise Duty",
     "doctype": "Sales Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 12
    },
    {
@@ -200,7 +200,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "Education Cess",
     "doctype": "Sales Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 2,
     "row_id": 3
    },
@@ -210,7 +210,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "S&H Education Cess",
     "doctype": "Sales Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 1,
     "row_id": 3
    },
@@ -220,7 +220,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "CST",
     "doctype": "Sales Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 2,
     "row_id": 5
    },
@@ -230,7 +230,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "VAT",
     "doctype": "Sales Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 12.5
    },
    {
@@ -239,7 +239,7 @@
     "cost_center": "_Test Cost Center - _TC",
     "description": "Discount",
     "doctype": "Sales Taxes and Charges",
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": -10,
     "row_id": 7
    }
@@ -259,7 +259,7 @@
   "debit_to": "_Test Receivable - _TC",
   "doctype": "Sales Invoice",
   "due_date": "2013-01-23",
-  "entries": [
+  "items": [
    {
     "cost_center": "_Test Cost Center - _TC",
     "doctype": "Sales Invoice Item",
@@ -268,7 +268,7 @@
     "item_code": "_Test Item Home Desktop 100",
     "item_name": "_Test Item Home Desktop 100",
     "item_tax_rate": "{\"_Test Account Excise Duty - _TC\": 10}",
-    "parentfield": "entries",
+    "parentfield": "items",
     "price_list_rate": 62.5,
     "qty": 10,
     "stock_uom": "_Test UOM"
@@ -280,7 +280,7 @@
 	"expense_account": "_Test Account Cost for Goods Sold - _TC",
     "item_code": "_Test Item Home Desktop 200",
     "item_name": "_Test Item Home Desktop 200",
-    "parentfield": "entries",
+    "parentfield": "items",
     "price_list_rate": 190.66,
     "qty": 5,
     "stock_uom": "_Test UOM"
@@ -290,7 +290,7 @@
   "grand_total_export": 0,
   "is_pos": 0,
   "naming_series": "_T-Sales Invoice-",
-  "other_charges": [
+  "taxes": [
    {
     "account_head": "_Test Account Excise Duty - _TC",
     "charge_type": "On Net Total",
@@ -299,7 +299,7 @@
     "doctype": "Sales Taxes and Charges",
     "idx": 1,
     "included_in_print_rate": 1,
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 12
    },
    {
@@ -310,7 +310,7 @@
     "doctype": "Sales Taxes and Charges",
     "idx": 2,
     "included_in_print_rate": 1,
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 2,
     "row_id": 1
    },
@@ -322,7 +322,7 @@
     "doctype": "Sales Taxes and Charges",
     "idx": 3,
     "included_in_print_rate": 1,
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 1,
     "row_id": 1
    },
@@ -334,7 +334,7 @@
     "doctype": "Sales Taxes and Charges",
     "idx": 4,
     "included_in_print_rate": 1,
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 2,
     "row_id": 3
    },
@@ -346,7 +346,7 @@
     "doctype": "Sales Taxes and Charges",
     "idx": 5,
     "included_in_print_rate": 1,
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 12.5
    },
    {
@@ -356,7 +356,7 @@
     "description": "Customs Duty",
     "doctype": "Sales Taxes and Charges",
     "idx": 6,
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 10
    },
    {
@@ -366,7 +366,7 @@
     "description": "Shipping Charges",
     "doctype": "Sales Taxes and Charges",
     "idx": 7,
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": 100
    },
    {
@@ -376,7 +376,7 @@
     "description": "Discount",
     "doctype": "Sales Taxes and Charges",
     "idx": 8,
-    "parentfield": "other_charges",
+    "parentfield": "taxes",
     "rate": -10,
     "row_id": 7
    }
diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
index fa8dbe9..a0c2fb6 100644
--- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
@@ -44,11 +44,11 @@
 		}
 
 		# check if children are saved
-		self.assertEquals(len(si.get("entries")),
+		self.assertEquals(len(si.get("items")),
 			len(expected_values)-1)
 
 		# check if item values are calculated
-		for d in si.get("entries"):
+		for d in si.get("items"):
 			for i, k in enumerate(expected_values["keys"]):
 				self.assertEquals(d.get(k), expected_values[d.item_code][i])
 
@@ -69,7 +69,7 @@
 			"_Test Account Discount - _TC": [-180.78, 1627.05]
 		}
 
-		for d in si.get("other_charges"):
+		for d in si.get("taxes"):
 			for i, k in enumerate(expected_values["keys"]):
 				self.assertEquals(d.get(k), expected_values[d.account_head][i])
 
@@ -80,10 +80,10 @@
 		si = frappe.copy_doc(test_records[2])
 		si.currency = "USD"
 		si.conversion_rate = 50
-		si.get("entries")[0].rate = 1
-		si.get("entries")[0].price_list_rate = 1
-		si.get("entries")[1].rate = 3
-		si.get("entries")[1].price_list_rate = 3
+		si.get("items")[0].rate = 1
+		si.get("items")[0].price_list_rate = 1
+		si.get("items")[1].rate = 3
+		si.get("items")[1].price_list_rate = 3
 		si.insert()
 
 		expected_values = {
@@ -94,11 +94,11 @@
 		}
 
 		# check if children are saved
-		self.assertEquals(len(si.get("entries")),
+		self.assertEquals(len(si.get("items")),
 			len(expected_values)-1)
 
 		# check if item values are calculated
-		for d in si.get("entries"):
+		for d in si.get("items"):
 			for i, k in enumerate(expected_values["keys"]):
 				self.assertEquals(d.get(k), expected_values[d.item_code][i])
 
@@ -119,7 +119,7 @@
 			"_Test Account Discount - _TC": [-180.78, 1627.05]
 		}
 
-		for d in si.get("other_charges"):
+		for d in si.get("taxes"):
 			for i, k in enumerate(expected_values["keys"]):
 				self.assertEquals(d.get(k), expected_values[d.account_head][i])
 
@@ -129,7 +129,7 @@
 	def test_sales_invoice_discount_amount(self):
 		si = frappe.copy_doc(test_records[3])
 		si.discount_amount = 104.95
-		si.append("other_charges", {
+		si.append("taxes", {
 			"doctype": "Sales Taxes and Charges",
 			"charge_type": "On Previous Row Amount",
 			"account_head": "_Test Account Service Tax - _TC",
@@ -148,11 +148,11 @@
 		}
 
 		# check if children are saved
-		self.assertEquals(len(si.get("entries")),
+		self.assertEquals(len(si.get("items")),
 			len(expected_values)-1)
 
 		# check if item values are calculated
-		for d in si.get("entries"):
+		for d in si.get("items"):
 			for i, k in enumerate(expected_values["keys"]):
 				self.assertEquals(d.get(k), expected_values[d.item_code][i])
 
@@ -174,7 +174,7 @@
 			"_Test Account Service Tax - _TC": [-18.03, -16.88, 1500]
 		}
 
-		for d in si.get("other_charges"):
+		for d in si.get("taxes"):
 			for i, k in enumerate(expected_values["keys"]):
 				self.assertEquals(d.get(k), expected_values[d.account_head][i])
 
@@ -184,7 +184,7 @@
 	def test_discount_amount_gl_entry(self):
 		si = frappe.copy_doc(test_records[3])
 		si.discount_amount = 104.95
-		si.append("other_charges", {
+		si.append("taxes", {
 			"doctype": "Sales Taxes and Charges",
 			"charge_type": "On Previous Row Amount",
 			"account_head": "_Test Account Service Tax - _TC",
@@ -204,15 +204,15 @@
 
 		expected_values = sorted([
 			[si.debit_to, 1500, 0.0],
-			[test_records[3]["entries"][0]["income_account"], 0.0, 1163.45],
-			[test_records[3]["other_charges"][0]["account_head"], 0.0, 130.31],
-			[test_records[3]["other_charges"][1]["account_head"], 0.0, 2.61],
-			[test_records[3]["other_charges"][2]["account_head"], 0.0, 1.31],
-			[test_records[3]["other_charges"][3]["account_head"], 0.0, 25.96],
-			[test_records[3]["other_charges"][4]["account_head"], 0.0, 145.43],
-			[test_records[3]["other_charges"][5]["account_head"], 0.0, 116.35],
-			[test_records[3]["other_charges"][6]["account_head"], 0.0, 100],
-			[test_records[3]["other_charges"][7]["account_head"], 168.54, 0.0],
+			[test_records[3]["items"][0]["income_account"], 0.0, 1163.45],
+			[test_records[3]["taxes"][0]["account_head"], 0.0, 130.31],
+			[test_records[3]["taxes"][1]["account_head"], 0.0, 2.61],
+			[test_records[3]["taxes"][2]["account_head"], 0.0, 1.31],
+			[test_records[3]["taxes"][3]["account_head"], 0.0, 25.96],
+			[test_records[3]["taxes"][4]["account_head"], 0.0, 145.43],
+			[test_records[3]["taxes"][5]["account_head"], 0.0, 116.35],
+			[test_records[3]["taxes"][6]["account_head"], 0.0, 100],
+			[test_records[3]["taxes"][7]["account_head"], 168.54, 0.0],
 			["_Test Account Service Tax - _TC", 16.88, 0.0],
 		])
 
@@ -231,19 +231,19 @@
 
 	def test_inclusive_rate_validations(self):
 		si = frappe.copy_doc(test_records[2])
-		for i, tax in enumerate(si.get("other_charges")):
+		for i, tax in enumerate(si.get("taxes")):
 			tax.idx = i+1
 
-		si.get("entries")[0].price_list_rate = 62.5
-		si.get("entries")[0].price_list_rate = 191
+		si.get("items")[0].price_list_rate = 62.5
+		si.get("items")[0].price_list_rate = 191
 		for i in xrange(6):
-			si.get("other_charges")[i].included_in_print_rate = 1
+			si.get("taxes")[i].included_in_print_rate = 1
 
 		# tax type "Actual" cannot be inclusive
 		self.assertRaises(frappe.ValidationError, si.insert)
 
 		# taxes above included type 'On Previous Row Total' should also be included
-		si.get("other_charges")[0].included_in_print_rate = 0
+		si.get("taxes")[0].included_in_print_rate = 0
 		self.assertRaises(frappe.ValidationError, si.insert)
 
 	def test_sales_invoice_calculation_base_currency_with_tax_inclusive_price(self):
@@ -259,11 +259,11 @@
 		}
 
 		# check if children are saved
-		self.assertEquals(len(si.get("entries")),
+		self.assertEquals(len(si.get("items")),
 			len(expected_values)-1)
 
 		# check if item values are calculated
-		for d in si.get("entries"):
+		for d in si.get("items"):
 			for i, k in enumerate(expected_values["keys"]):
 				self.assertEquals(d.get(k), expected_values[d.item_code][i])
 
@@ -284,7 +284,7 @@
 			"_Test Account Discount - _TC": [-180.33, 1622.98]
 		}
 
-		for d in si.get("other_charges"):
+		for d in si.get("taxes"):
 			for i, k in enumerate(expected_values["keys"]):
 				self.assertEquals(d.get(k), expected_values[d.account_head][i])
 
@@ -296,11 +296,11 @@
 		si = frappe.copy_doc(test_records[3])
 		si.currency = "USD"
 		si.conversion_rate = 50
-		si.get("entries")[0].price_list_rate = 55.56
-		si.get("entries")[0].discount_percentage = 10
-		si.get("entries")[1].price_list_rate = 187.5
-		si.get("entries")[1].discount_percentage = 20
-		si.get("other_charges")[6].rate = 5000
+		si.get("items")[0].price_list_rate = 55.56
+		si.get("items")[0].discount_percentage = 10
+		si.get("items")[1].price_list_rate = 187.5
+		si.get("items")[1].discount_percentage = 20
+		si.get("taxes")[6].rate = 5000
 
 		si.insert()
 
@@ -312,10 +312,10 @@
 		}
 
 		# check if children are saved
-		self.assertEquals(len(si.get("entries")), len(expected_values)-1)
+		self.assertEquals(len(si.get("items")), len(expected_values)-1)
 
 		# check if item values are calculated
-		for d in si.get("entries"):
+		for d in si.get("items"):
 			for i, k in enumerate(expected_values["keys"]):
 				self.assertEquals(d.get(k), expected_values[d.item_code][i])
 
@@ -336,7 +336,7 @@
 			"_Test Account Discount - _TC": [-7245.01, 65205.16]
 		}
 
-		for d in si.get("other_charges"):
+		for d in si.get("taxes"):
 			for i, k in enumerate(expected_values["keys"]):
 				self.assertEquals(d.get(k), expected_values[d.account_head][i])
 
@@ -351,11 +351,11 @@
 		frappe.db.sql("""delete from `tabGL Entry`""")
 		w = self.make()
 
-		from erpnext.accounts.doctype.journal_voucher.test_journal_voucher \
+		from erpnext.accounts.doctype.journal_entry.test_journal_entry \
 			import test_records as jv_test_records
 
 		jv = frappe.get_doc(frappe.copy_doc(jv_test_records[0]))
-		jv.get("entries")[0].against_invoice = w.name
+		jv.get("accounts")[0].against_invoice = w.name
 		jv.insert()
 		jv.submit()
 
@@ -375,7 +375,7 @@
 		tlb.submit()
 
 		si = frappe.get_doc(frappe.copy_doc(test_records[0]))
-		si.get("entries")[0].time_log_batch = tlb.name
+		si.get("items")[0].time_log_batch = tlb.name
 		si.insert()
 		si.submit()
 
@@ -407,9 +407,9 @@
 
 		expected_values = sorted([
 			[si.debit_to, 630.0, 0.0],
-			[test_records[1]["entries"][0]["income_account"], 0.0, 500.0],
-			[test_records[1]["other_charges"][0]["account_head"], 0.0, 80.0],
-			[test_records[1]["other_charges"][1]["account_head"], 0.0, 50.0],
+			[test_records[1]["items"][0]["income_account"], 0.0, 500.0],
+			[test_records[1]["taxes"][0]["account_head"], 0.0, 80.0],
+			[test_records[1]["taxes"][1]["account_head"], 0.0, 50.0],
 		])
 
 		for i, gle in enumerate(gl_entries):
@@ -461,11 +461,11 @@
 
 		expected_gl_entries = sorted([
 			[si.debit_to, 630.0, 0.0],
-			[pos["entries"][0]["income_account"], 0.0, 500.0],
-			[pos["other_charges"][0]["account_head"], 0.0, 80.0],
-			[pos["other_charges"][1]["account_head"], 0.0, 50.0],
+			[pos["items"][0]["income_account"], 0.0, 500.0],
+			[pos["taxes"][0]["account_head"], 0.0, 80.0],
+			[pos["taxes"][1]["account_head"], 0.0, 50.0],
 			[stock_in_hand, 0.0, 75.0],
-			[pos["entries"][0]["expense_account"], 75.0, 0.0],
+			[pos["items"][0]["expense_account"], 75.0, 0.0],
 			[si.debit_to, 0.0, 600.0],
 			["_Test Account Bank Account - _TC", 600.0, 0.0]
 		])
@@ -515,14 +515,14 @@
 			as pr_test_records
 		pr = frappe.copy_doc(pr_test_records[0])
 		pr.naming_series = "_T-Purchase Receipt-"
-		pr.get("purchase_receipt_details")[0].warehouse = "_Test Warehouse No Account - _TC"
+		pr.get("items")[0].warehouse = "_Test Warehouse No Account - _TC"
 		pr.insert()
 		pr.submit()
 
 		si_doc = copy.deepcopy(test_records[1])
 		si_doc["update_stock"] = 1
 		si_doc["posting_time"] = "12:05"
-		si_doc.get("entries")[0]["warehouse"] = "_Test Warehouse No Account - _TC"
+		si_doc.get("items")[0]["warehouse"] = "_Test Warehouse No Account - _TC"
 
 		si = frappe.copy_doc(si_doc)
 		si.insert()
@@ -544,9 +544,9 @@
 
 		expected_gl_entries = sorted([
 			[si.debit_to, 630.0, 0.0],
-			[si_doc.get("entries")[0]["income_account"], 0.0, 500.0],
-			[si_doc.get("other_charges")[0]["account_head"], 0.0, 80.0],
-			[si_doc.get("other_charges")[1]["account_head"], 0.0, 50.0],
+			[si_doc.get("items")[0]["income_account"], 0.0, 500.0],
+			[si_doc.get("taxes")[0]["account_head"], 0.0, 80.0],
+			[si_doc.get("taxes")[1]["account_head"], 0.0, 50.0],
 		])
 		for i, gle in enumerate(gl_entries):
 			self.assertEquals(expected_gl_entries[i][0], gle.account)
@@ -565,7 +565,7 @@
 		set_perpetual_inventory()
 
 		si = frappe.get_doc(test_records[1])
-		si.get("entries")[0].item_code = None
+		si.get("items")[0].item_code = None
 		si.insert()
 		si.submit()
 
@@ -576,9 +576,9 @@
 
 		expected_values = sorted([
 			[si.debit_to, 630.0, 0.0],
-			[test_records[1]["entries"][0]["income_account"], 0.0, 500.0],
-			[test_records[1]["other_charges"][0]["account_head"], 0.0, 80.0],
-			[test_records[1]["other_charges"][1]["account_head"], 0.0, 50.0],
+			[test_records[1]["items"][0]["income_account"], 0.0, 500.0],
+			[test_records[1]["taxes"][0]["account_head"], 0.0, 80.0],
+			[test_records[1]["taxes"][1]["account_head"], 0.0, 50.0],
 		])
 		for i, gle in enumerate(gl_entries):
 			self.assertEquals(expected_values[i][0], gle.account)
@@ -591,7 +591,7 @@
 		self.clear_stock_account_balance()
 		set_perpetual_inventory()
 		si = frappe.get_doc(test_records[1])
-		si.get("entries")[0].item_code = "_Test Non Stock Item"
+		si.get("items")[0].item_code = "_Test Non Stock Item"
 		si.insert()
 		si.submit()
 
@@ -602,9 +602,9 @@
 
 		expected_values = sorted([
 			[si.debit_to, 630.0, 0.0],
-			[test_records[1]["entries"][0]["income_account"], 0.0, 500.0],
-			[test_records[1]["other_charges"][0]["account_head"], 0.0, 80.0],
-			[test_records[1]["other_charges"][1]["account_head"], 0.0, 50.0],
+			[test_records[1]["items"][0]["income_account"], 0.0, 500.0],
+			[test_records[1]["taxes"][0]["account_head"], 0.0, 80.0],
+			[test_records[1]["taxes"][1]["account_head"], 0.0, 50.0],
 		])
 		for i, gle in enumerate(gl_entries):
 			self.assertEquals(expected_values[i][0], gle.account)
@@ -631,7 +631,7 @@
 		return dn
 
 	def test_sales_invoice_with_advance(self):
-		from erpnext.accounts.doctype.journal_voucher.test_journal_voucher \
+		from erpnext.accounts.doctype.journal_entry.test_journal_entry \
 			import test_records as jv_test_records
 
 		jv = frappe.copy_doc(jv_test_records[0])
@@ -639,10 +639,10 @@
 		jv.submit()
 
 		si = frappe.copy_doc(test_records[0])
-		si.append("advance_adjustment_details", {
+		si.append("advances", {
 			"doctype": "Sales Invoice Advance",
-			"journal_voucher": jv.name,
-			"jv_detail_no": jv.get("entries")[0].name,
+			"journal_entry": jv.name,
+			"jv_detail_no": jv.get("accounts")[0].name,
 			"advance_amount": 400,
 			"allocated_amount": 300,
 			"remarks": jv.remark
@@ -651,17 +651,17 @@
 		si.submit()
 		si.load_from_db()
 
-		self.assertTrue(frappe.db.sql("""select name from `tabJournal Voucher Detail`
+		self.assertTrue(frappe.db.sql("""select name from `tabJournal Entry Account`
 			where against_invoice=%s""", si.name))
 
-		self.assertTrue(frappe.db.sql("""select name from `tabJournal Voucher Detail`
+		self.assertTrue(frappe.db.sql("""select name from `tabJournal Entry Account`
 			where against_invoice=%s and credit=300""", si.name))
 
 		self.assertEqual(si.outstanding_amount, 261.8)
 
 		si.cancel()
 
-		self.assertTrue(not frappe.db.sql("""select name from `tabJournal Voucher Detail`
+		self.assertTrue(not frappe.db.sql("""select name from `tabJournal Entry Account`
 			where against_invoice=%s""", si.name))
 
 	def test_recurring_invoice(self):
@@ -679,13 +679,13 @@
 		from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
 
 		se = make_serialized_item()
-		serial_nos = get_serial_nos(se.get("mtn_details")[0].serial_no)
+		serial_nos = get_serial_nos(se.get("items")[0].serial_no)
 
 		si = frappe.copy_doc(test_records[0])
 		si.update_stock = 1
-		si.get("entries")[0].item_code = "_Test Serialized Item With Series"
-		si.get("entries")[0].qty = 1
-		si.get("entries")[0].serial_no = serial_nos[0]
+		si.get("items")[0].item_code = "_Test Serialized Item With Series"
+		si.get("items")[0].qty = 1
+		si.get("items")[0].serial_no = serial_nos[0]
 		si.insert()
 		si.submit()
 
@@ -701,7 +701,7 @@
 		si = self.test_serialized()
 		si.cancel()
 
-		serial_nos = get_serial_nos(si.get("entries")[0].serial_no)
+		serial_nos = get_serial_nos(si.get("items")[0].serial_no)
 
 		self.assertEquals(frappe.db.get_value("Serial No", serial_nos[0], "status"), "Available")
 		self.assertEquals(frappe.db.get_value("Serial No", serial_nos[0], "warehouse"), "_Test Warehouse - _TC")
@@ -713,7 +713,7 @@
 		from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
 
 		se = make_serialized_item()
-		serial_nos = get_serial_nos(se.get("mtn_details")[0].serial_no)
+		serial_nos = get_serial_nos(se.get("items")[0].serial_no)
 
 		sr = frappe.get_doc("Serial No", serial_nos[0])
 		sr.status = "Not Available"
@@ -721,12 +721,12 @@
 
 		si = frappe.copy_doc(test_records[0])
 		si.update_stock = 1
-		si.get("entries")[0].item_code = "_Test Serialized Item With Series"
-		si.get("entries")[0].qty = 1
-		si.get("entries")[0].serial_no = serial_nos[0]
+		si.get("items")[0].item_code = "_Test Serialized Item With Series"
+		si.get("items")[0].qty = 1
+		si.get("items")[0].serial_no = serial_nos[0]
 		si.insert()
 
 		self.assertRaises(SerialNoStatusError, si.submit)
 
-test_dependencies = ["Journal Voucher", "Contact", "Address"]
+test_dependencies = ["Journal Entry", "Contact", "Address"]
 test_records = frappe.get_test_records('Sales Invoice')
diff --git a/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json b/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json
index 15bac1d..722ae12 100644
--- a/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json
+++ b/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json
@@ -1,88 +1,89 @@
 {
- "creation": "2013-02-22 01:27:41.000000", 
- "docstatus": 0, 
- "doctype": "DocType", 
+ "creation": "2013-02-22 01:27:41",
+ "docstatus": 0,
+ "doctype": "DocType",
  "fields": [
   {
-   "fieldname": "journal_voucher", 
-   "fieldtype": "Link", 
-   "in_list_view": 1, 
-   "label": "Journal Voucher", 
-   "no_copy": 1, 
-   "oldfieldname": "journal_voucher", 
-   "oldfieldtype": "Link", 
-   "options": "Journal Voucher", 
-   "permlevel": 0, 
-   "print_width": "250px", 
-   "read_only": 1, 
+   "fieldname": "journal_entry",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Journal Entry",
+   "no_copy": 1,
+   "oldfieldname": "journal_voucher",
+   "oldfieldtype": "Link",
+   "options": "Journal Entry",
+   "permlevel": 0,
+   "print_width": "250px",
+   "read_only": 1,
    "width": "250px"
-  }, 
+  },
   {
-   "fieldname": "remarks", 
-   "fieldtype": "Small Text", 
-   "in_list_view": 1, 
-   "label": "Remarks", 
-   "no_copy": 1, 
-   "oldfieldname": "remarks", 
-   "oldfieldtype": "Small Text", 
-   "permlevel": 0, 
-   "print_width": "150px", 
-   "read_only": 1, 
+   "fieldname": "remarks",
+   "fieldtype": "Small Text",
+   "in_list_view": 1,
+   "label": "Remarks",
+   "no_copy": 1,
+   "oldfieldname": "remarks",
+   "oldfieldtype": "Small Text",
+   "permlevel": 0,
+   "print_width": "150px",
+   "read_only": 1,
    "width": "150px"
-  }, 
+  },
   {
-   "fieldname": "jv_detail_no", 
-   "fieldtype": "Data", 
-   "hidden": 1, 
-   "in_list_view": 0, 
-   "label": "Journal Voucher Detail No", 
-   "no_copy": 1, 
-   "oldfieldname": "jv_detail_no", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "120px", 
-   "read_only": 1, 
+   "fieldname": "jv_detail_no",
+   "fieldtype": "Data",
+   "hidden": 1,
+   "in_list_view": 0,
+   "label": "Journal Entry Detail No",
+   "no_copy": 1,
+   "oldfieldname": "jv_detail_no",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "120px",
+   "read_only": 1,
    "width": "120px"
-  }, 
+  },
   {
-   "fieldname": "col_break1", 
-   "fieldtype": "Column Break", 
+   "fieldname": "col_break1",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "advance_amount", 
-   "fieldtype": "Currency", 
-   "in_list_view": 1, 
-   "label": "Advance amount", 
-   "no_copy": 1, 
-   "oldfieldname": "advance_amount", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_width": "120px", 
-   "read_only": 1, 
+   "fieldname": "advance_amount",
+   "fieldtype": "Currency",
+   "in_list_view": 1,
+   "label": "Advance amount",
+   "no_copy": 1,
+   "oldfieldname": "advance_amount",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_width": "120px",
+   "read_only": 1,
    "width": "120px"
-  }, 
+  },
   {
-   "fieldname": "allocated_amount", 
-   "fieldtype": "Currency", 
-   "in_list_view": 1, 
-   "label": "Allocated amount", 
-   "no_copy": 1, 
-   "oldfieldname": "allocated_amount", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_width": "120px", 
+   "fieldname": "allocated_amount",
+   "fieldtype": "Currency",
+   "in_list_view": 1,
+   "label": "Allocated amount",
+   "no_copy": 1,
+   "oldfieldname": "allocated_amount",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_width": "120px",
    "width": "120px"
   }
- ], 
- "idx": 1, 
- "istable": 1, 
- "modified": "2014-02-03 12:38:53.000000", 
- "modified_by": "Administrator", 
- "module": "Accounts", 
- "name": "Sales Invoice Advance", 
- "owner": "Administrator"
-}
\ No newline at end of file
+ ],
+ "idx": 1,
+ "istable": 1,
+ "modified": "2014-12-25 16:30:19.446500",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Sales Invoice Advance",
+ "owner": "Administrator",
+ "permissions": []
+}
diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json b/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
index 7bde84f..d820c87 100644
--- a/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
+++ b/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
@@ -1,155 +1,156 @@
 {
- "autoname": "INVTD.######",
- "creation": "2013-04-24 11:39:32",
- "docstatus": 0,
- "doctype": "DocType",
+ "autoname": "INVTD.######", 
+ "creation": "2013-04-24 11:39:32", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
  "fields": [
   {
-   "fieldname": "charge_type",
-   "fieldtype": "Select",
-   "in_list_view": 1,
-   "label": "Type",
-   "oldfieldname": "charge_type",
-   "oldfieldtype": "Select",
-   "options": "\nActual\nOn Net Total\nOn Previous Row Amount\nOn Previous Row Total",
-   "permlevel": 0,
+   "fieldname": "charge_type", 
+   "fieldtype": "Select", 
+   "in_list_view": 1, 
+   "label": "Type", 
+   "oldfieldname": "charge_type", 
+   "oldfieldtype": "Select", 
+   "options": "\nActual\nOn Net Total\nOn Previous Row Amount\nOn Previous Row Total", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "depends_on": "eval:[\"On Previous Row Amount\", \"On Previous Row Total\"].indexOf(doc.charge_type)!==-1",
-   "fieldname": "row_id",
-   "fieldtype": "Data",
-   "hidden": 0,
-   "label": "Reference Row #",
-   "oldfieldname": "row_id",
-   "oldfieldtype": "Data",
+   "depends_on": "eval:[\"On Previous Row Amount\", \"On Previous Row Total\"].indexOf(doc.charge_type)!==-1", 
+   "fieldname": "row_id", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "label": "Reference Row #", 
+   "oldfieldname": "row_id", 
+   "oldfieldtype": "Data", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "description",
-   "fieldtype": "Small Text",
-   "in_list_view": 1,
-   "label": "Description",
-   "oldfieldname": "description",
-   "oldfieldtype": "Small Text",
-   "permlevel": 0,
-   "print_width": "300px",
-   "reqd": 1,
+   "fieldname": "description", 
+   "fieldtype": "Small Text", 
+   "in_list_view": 1, 
+   "label": "Description", 
+   "oldfieldname": "description", 
+   "oldfieldtype": "Small Text", 
+   "permlevel": 0, 
+   "print_width": "300px", 
+   "reqd": 1, 
    "width": "300px"
-  },
+  }, 
   {
-   "fieldname": "col_break_1",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "col_break_1", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "account_head",
-   "fieldtype": "Link",
-   "in_list_view": 0,
-   "label": "Account Head",
-   "oldfieldname": "account_head",
-   "oldfieldtype": "Link",
-   "options": "Account",
-   "permlevel": 0,
-   "reqd": 1,
+   "fieldname": "account_head", 
+   "fieldtype": "Link", 
+   "in_list_view": 0, 
+   "label": "Account Head", 
+   "oldfieldname": "account_head", 
+   "oldfieldtype": "Link", 
+   "options": "Account", 
+   "permlevel": 0, 
+   "reqd": 1, 
    "search_index": 1
-  },
+  }, 
   {
-   "default": ":Company",
-   "fieldname": "cost_center",
-   "fieldtype": "Link",
-   "in_list_view": 0,
-   "label": "Cost Center",
-   "oldfieldname": "cost_center_other_charges",
-   "oldfieldtype": "Link",
-   "options": "Cost Center",
+   "default": ":Company", 
+   "fieldname": "cost_center", 
+   "fieldtype": "Link", 
+   "in_list_view": 0, 
+   "label": "Cost Center", 
+   "oldfieldname": "cost_center_other_charges", 
+   "oldfieldtype": "Link", 
+   "options": "Cost Center", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "rate",
-   "fieldtype": "Float",
-   "in_list_view": 1,
-   "label": "Rate",
-   "oldfieldname": "rate",
-   "oldfieldtype": "Currency",
-   "permlevel": 0,
+   "fieldname": "rate", 
+   "fieldtype": "Float", 
+   "in_list_view": 1, 
+   "label": "Rate", 
+   "oldfieldname": "rate", 
+   "oldfieldtype": "Currency", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "tax_amount",
-   "fieldtype": "Currency",
-   "in_list_view": 1,
-   "label": "Amount",
-   "oldfieldname": "tax_amount",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
-   "read_only": 1,
+   "fieldname": "tax_amount", 
+   "fieldtype": "Currency", 
+   "in_list_view": 1, 
+   "label": "Amount", 
+   "oldfieldname": "tax_amount", 
+   "oldfieldtype": "Currency", 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
+   "read_only": 1, 
    "reqd": 0
-  },
+  }, 
   {
-   "fieldname": "total",
-   "fieldtype": "Currency",
-   "label": "Total",
-   "oldfieldname": "total",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
+   "fieldname": "total", 
+   "fieldtype": "Currency", 
+   "label": "Total", 
+   "oldfieldname": "total", 
+   "oldfieldtype": "Currency", 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "description": "If checked, the tax amount will be considered as already included in the Print Rate / Print Amount",
-   "fieldname": "included_in_print_rate",
-   "fieldtype": "Check",
-   "label": "Is this Tax included in Basic Rate?",
-   "no_copy": 0,
-   "permlevel": 0,
-   "print_hide": 1,
-   "print_width": "150px",
-   "report_hide": 1,
+   "allow_on_submit": 0, 
+   "description": "If checked, the tax amount will be considered as already included in the Print Rate / Print Amount", 
+   "fieldname": "included_in_print_rate", 
+   "fieldtype": "Check", 
+   "label": "Is this Tax included in Basic Rate?", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "print_width": "150px", 
+   "report_hide": 1, 
    "width": "150px"
-  },
+  }, 
   {
-   "fieldname": "tax_amount_after_discount_amount",
-   "fieldtype": "Currency",
-   "hidden": 1,
-   "label": "Tax Amount After Discount Amount",
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
+   "depends_on": "eval:parent.discount_amount", 
+   "fieldname": "tax_amount_after_discount_amount", 
+   "fieldtype": "Currency", 
+   "hidden": 0, 
+   "label": "Tax Amount After Discount Amount", 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "item_wise_tax_detail",
-   "fieldtype": "Small Text",
-   "hidden": 1,
-   "label": "Item Wise Tax Detail",
-   "oldfieldname": "item_wise_tax_detail",
-   "oldfieldtype": "Small Text",
-   "permlevel": 0,
+   "fieldname": "item_wise_tax_detail", 
+   "fieldtype": "Small Text", 
+   "hidden": 1, 
+   "label": "Item Wise Tax Detail", 
+   "oldfieldname": "item_wise_tax_detail", 
+   "oldfieldtype": "Small Text", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "parenttype",
-   "fieldtype": "Data",
-   "hidden": 1,
-   "in_filter": 1,
-   "label": "Parenttype",
-   "oldfieldname": "parenttype",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "parenttype", 
+   "fieldtype": "Data", 
+   "hidden": 1, 
+   "in_filter": 1, 
+   "label": "Parenttype", 
+   "oldfieldname": "parenttype", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "search_index": 1
   }
- ],
- "hide_heading": 1,
- "idx": 1,
- "istable": 1,
- "modified": "2014-05-30 03:43:39.740638",
- "modified_by": "Administrator",
- "module": "Accounts",
- "name": "Sales Taxes and Charges",
- "owner": "Administrator",
+ ], 
+ "hide_heading": 1, 
+ "idx": 1, 
+ "istable": 1, 
+ "modified": "2014-12-10 12:26:41.222471", 
+ "modified_by": "Administrator", 
+ "module": "Accounts", 
+ "name": "Sales Taxes and Charges", 
+ "owner": "Administrator", 
  "permissions": []
-}
+}
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js b/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js
index d11bf29..c373796 100644
--- a/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js
+++ b/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js
@@ -33,7 +33,7 @@
 	return '';
 }
 
-cur_frm.pformat.other_charges= function(doc){
+cur_frm.pformat.taxes= function(doc){
 	//function to make row of table
 	var make_row = function(title, val, bold){
 		var bstart = '<b>'; var bend = '</b>';
@@ -54,7 +54,7 @@
 	
 	out ='';
 	if (!doc.print_without_amount) {
-		var cl = doc.other_charges || [];
+		var cl = doc.taxes || [];
 
 		// outer table	
 		var out='<div><table class="noborder" style="width:100%"><tr><td style="width: 60%"></td><td>';
@@ -104,7 +104,7 @@
 		d.charge_type = '';
 	}
 	validated = false;
-	refresh_field('charge_type', d.name, 'other_charges');
+	refresh_field('charge_type', d.name, 'taxes');
 	cur_frm.cscript.row_id(doc, cdt, cdn);
 	cur_frm.cscript.rate(doc, cdt, cdn);
 	cur_frm.cscript.tax_amount(doc, cdt, cdn);
@@ -127,12 +127,12 @@
 		}
 	}
 	validated = false;
-	refresh_field('row_id', d.name, 'other_charges');
+	refresh_field('row_id', d.name, 'taxes');
 }
 
 /*---------------------- Get rate if account_head has account_type as TAX or CHARGEABLE-------------------------------------*/
 
-cur_frm.fields_dict['other_charges'].grid.get_field("account_head").get_query = function(doc,cdt,cdn) {
+cur_frm.fields_dict['taxes'].grid.get_field("account_head").get_query = function(doc,cdt,cdn) {
 	return{
 		query: "erpnext.controllers.queries.tax_account_query",
     	filters: {
@@ -142,7 +142,7 @@
 	}	
 }
 
-cur_frm.fields_dict['other_charges'].grid.get_field("cost_center").get_query = function(doc) {
+cur_frm.fields_dict['taxes'].grid.get_field("cost_center").get_query = function(doc) {
 	return{
 		'company': doc.company,
 		'group_or_ledger': "Ledger"
@@ -156,7 +156,7 @@
 		d.rate = '';
 	}
 	validated = false;
-	refresh_field('rate', d.name, 'other_charges');
+	refresh_field('rate', d.name, 'taxes');
 }
 
 cur_frm.cscript.tax_amount = function(doc, cdt, cdn) {
@@ -170,5 +170,5 @@
 		d.tax_amount = '';
 	}
 	validated = false;
-	refresh_field('tax_amount', d.name, 'other_charges');
+	refresh_field('tax_amount', d.name, 'taxes');
 };
diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.json b/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.json
index 12d425c..b35cc78 100644
--- a/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.json
+++ b/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.json
@@ -60,9 +60,9 @@
   }, 
   {
    "description": "* Will be calculated in the transaction.", 
-   "fieldname": "other_charges", 
+   "fieldname": "taxes", 
    "fieldtype": "Table", 
-   "label": "Sales Taxes and Charges Master", 
+   "label": "Sales Taxes and Charges", 
    "oldfieldname": "other_charges", 
    "oldfieldtype": "Table", 
    "options": "Sales Taxes and Charges", 
@@ -70,7 +70,7 @@
   }, 
   {
    "description": "Specify a list of Territories, for which, this Taxes Master is valid", 
-   "fieldname": "valid_for_territories", 
+   "fieldname": "territories", 
    "fieldtype": "Table", 
    "label": "Valid for Territories", 
    "options": "Applicable Territory", 
@@ -80,7 +80,7 @@
  ], 
  "icon": "icon-money", 
  "idx": 1, 
- "modified": "2014-10-06 13:11:18.616789", 
+ "modified": "2014-12-24 14:57:06.275853", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Sales Taxes and Charges Master", 
diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.py b/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.py
index 8dd2759..6ab5ab2 100644
--- a/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.py
+++ b/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.py
@@ -14,4 +14,4 @@
 				(self.name, self.company))
 
 		# at least one territory
-		self.validate_table_has_rows("valid_for_territories")
+		self.validate_table_has_rows("territories")
diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges_master/test_records.json b/erpnext/accounts/doctype/sales_taxes_and_charges_master/test_records.json
index dda8a4a..dd9c595 100644
--- a/erpnext/accounts/doctype/sales_taxes_and_charges_master/test_records.json
+++ b/erpnext/accounts/doctype/sales_taxes_and_charges_master/test_records.json
@@ -2,13 +2,13 @@
  {
   "company": "_Test Company", 
   "doctype": "Sales Taxes and Charges Master", 
-  "other_charges": [
+  "taxes": [
    {
     "account_head": "_Test Account VAT - _TC", 
     "charge_type": "On Net Total", 
     "description": "VAT", 
     "doctype": "Sales Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 6
    }, 
    {
@@ -16,20 +16,20 @@
     "charge_type": "On Net Total", 
     "description": "Service Tax", 
     "doctype": "Sales Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 6.36
    }
   ], 
   "title": "_Test Sales Taxes and Charges Master", 
-  "valid_for_territories": [
+  "territories": [
    {
     "doctype": "Applicable Territory", 
-    "parentfield": "valid_for_territories", 
+    "parentfield": "territories", 
     "territory": "All Territories"
    }, 
    {
     "doctype": "Applicable Territory", 
-    "parentfield": "valid_for_territories", 
+    "parentfield": "territories", 
     "territory": "_Test Territory Rest Of The World"
    }
   ]
@@ -37,14 +37,14 @@
  {
   "company": "_Test Company", 
   "doctype": "Sales Taxes and Charges Master", 
-  "other_charges": [
+  "taxes": [
    {
     "account_head": "_Test Account Shipping Charges - _TC", 
     "charge_type": "Actual", 
     "cost_center": "_Test Cost Center - _TC", 
     "description": "Shipping Charges", 
     "doctype": "Sales Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 100
    }, 
    {
@@ -53,7 +53,7 @@
     "cost_center": "_Test Cost Center - _TC", 
     "description": "Customs Duty", 
     "doctype": "Sales Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 10
    }, 
    {
@@ -62,7 +62,7 @@
     "cost_center": "_Test Cost Center - _TC", 
     "description": "Excise Duty", 
     "doctype": "Sales Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 12
    }, 
    {
@@ -71,7 +71,7 @@
     "cost_center": "_Test Cost Center - _TC", 
     "description": "Education Cess", 
     "doctype": "Sales Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 2, 
     "row_id": 3
    }, 
@@ -81,7 +81,7 @@
     "cost_center": "_Test Cost Center - _TC", 
     "description": "S&H Education Cess", 
     "doctype": "Sales Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 1, 
     "row_id": 3
    }, 
@@ -91,7 +91,7 @@
     "cost_center": "_Test Cost Center - _TC", 
     "description": "CST", 
     "doctype": "Sales Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 2, 
     "row_id": 5
    }, 
@@ -101,7 +101,7 @@
     "cost_center": "_Test Cost Center - _TC", 
     "description": "VAT", 
     "doctype": "Sales Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 12.5
    }, 
    {
@@ -110,16 +110,16 @@
     "cost_center": "_Test Cost Center - _TC", 
     "description": "Discount", 
     "doctype": "Sales Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": -10, 
     "row_id": 7
    }
   ], 
   "title": "_Test India Tax Master", 
-  "valid_for_territories": [
+  "territories": [
    {
     "doctype": "Applicable Territory", 
-    "parentfield": "valid_for_territories", 
+    "parentfield": "territories", 
     "territory": "_Test Territory India"
    }
   ]
@@ -127,13 +127,13 @@
  {
   "company": "_Test Company", 
   "doctype": "Sales Taxes and Charges Master", 
-  "other_charges": [
+  "taxes": [
    {
     "account_head": "_Test Account VAT - _TC", 
     "charge_type": "On Net Total", 
     "description": "VAT", 
     "doctype": "Sales Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 12
    }, 
    {
@@ -141,15 +141,15 @@
     "charge_type": "On Net Total", 
     "description": "Service Tax", 
     "doctype": "Sales Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 4
    }
   ], 
   "title": "_Test Sales Taxes and Charges Master - Rest of the World", 
-  "valid_for_territories": [
+  "territories": [
    {
     "doctype": "Applicable Territory", 
-    "parentfield": "valid_for_territories", 
+    "parentfield": "territories", 
     "territory": "_Test Territory Rest Of The World"
    }
   ]
diff --git a/erpnext/accounts/doctype/shipping_rule/shipping_rule.json b/erpnext/accounts/doctype/shipping_rule/shipping_rule.json
index 1701c88..f5e56fd 100644
--- a/erpnext/accounts/doctype/shipping_rule/shipping_rule.json
+++ b/erpnext/accounts/doctype/shipping_rule/shipping_rule.json
@@ -38,7 +38,7 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "shipping_rule_conditions", 
+   "fieldname": "conditions", 
    "fieldtype": "Table", 
    "label": "Shipping Rule Conditions", 
    "options": "Shipping Rule Condition", 
@@ -52,7 +52,7 @@
   }, 
   {
    "description": "Specify a list of Territories, for which, this Shipping Rule is valid", 
-   "fieldname": "valid_for_territories", 
+   "fieldname": "territories", 
    "fieldtype": "Table", 
    "label": "Valid For Territories", 
    "options": "Applicable Territory", 
@@ -102,7 +102,7 @@
  ], 
  "icon": "icon-truck", 
  "idx": 1, 
- "modified": "2014-05-27 03:49:19.387875", 
+ "modified": "2014-12-24 14:59:04.430010", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Shipping Rule", 
diff --git a/erpnext/accounts/doctype/shipping_rule/shipping_rule.py b/erpnext/accounts/doctype/shipping_rule/shipping_rule.py
index f9f64e4..27f49da 100644
--- a/erpnext/accounts/doctype/shipping_rule/shipping_rule.py
+++ b/erpnext/accounts/doctype/shipping_rule/shipping_rule.py
@@ -17,7 +17,7 @@
 class ShippingRule(Document):
 	def validate(self):
 		self.validate_value("calculate_based_on", "in", ["Net Total", "Net Weight"])
-		self.shipping_rule_conditions = self.get("shipping_rule_conditions")
+		self.conditions = self.get("conditions")
 		self.validate_from_to_values()
 		self.sort_shipping_rule_conditions()
 		self.validate_overlapping_shipping_rule_conditions()
@@ -25,7 +25,7 @@
 	def validate_from_to_values(self):
 		zero_to_values = []
 
-		for d in self.get("shipping_rule_conditions"):
+		for d in self.get("conditions"):
 			self.round_floats_in(d)
 
 			# values cannot be negative
@@ -44,8 +44,8 @@
 
 	def sort_shipping_rule_conditions(self):
 		"""Sort Shipping Rule Conditions based on increasing From Value"""
-		self.shipping_rules_conditions = sorted(self.shipping_rule_conditions, key=lambda d: flt(d.from_value))
-		for i, d in enumerate(self.shipping_rule_conditions):
+		self.shipping_rules_conditions = sorted(self.conditions, key=lambda d: flt(d.from_value))
+		for i, d in enumerate(self.conditions):
 			d.idx = i + 1
 
 	def validate_overlapping_shipping_rule_conditions(self):
@@ -60,9 +60,9 @@
 			return (not separate)
 
 		overlaps = []
-		for i in xrange(0, len(self.shipping_rule_conditions)):
-			for j in xrange(i+1, len(self.shipping_rule_conditions)):
-				d1, d2 = self.shipping_rule_conditions[i], self.shipping_rule_conditions[j]
+		for i in xrange(0, len(self.conditions)):
+			for j in xrange(i+1, len(self.conditions)):
+				d1, d2 = self.conditions[i], self.conditions[j]
 				if d1.as_dict() != d2.as_dict():
 					# in our case, to_value can be zero, hence pass the from_value if so
 					range_a = (d1.from_value, d1.to_value or d1.from_value)
diff --git a/erpnext/accounts/doctype/shipping_rule/test_records.json b/erpnext/accounts/doctype/shipping_rule/test_records.json
index 5477c8f..96e7770 100644
--- a/erpnext/accounts/doctype/shipping_rule/test_records.json
+++ b/erpnext/accounts/doctype/shipping_rule/test_records.json
@@ -7,32 +7,32 @@
   "doctype": "Shipping Rule", 
   "label": "_Test Shipping Rule", 
   "name": "_Test Shipping Rule", 
-  "shipping_rule_conditions": [
+  "conditions": [
    {
     "doctype": "Shipping Rule Condition", 
     "from_value": 0, 
-    "parentfield": "shipping_rule_conditions", 
+    "parentfield": "conditions", 
     "shipping_amount": 50.0, 
     "to_value": 100
    }, 
    {
     "doctype": "Shipping Rule Condition", 
     "from_value": 101, 
-    "parentfield": "shipping_rule_conditions", 
+    "parentfield": "conditions", 
     "shipping_amount": 100.0, 
     "to_value": 200
    }, 
    {
     "doctype": "Shipping Rule Condition", 
     "from_value": 201, 
-    "parentfield": "shipping_rule_conditions", 
+    "parentfield": "conditions", 
     "shipping_amount": 0.0
    }
   ], 
-  "valid_for_territories": [
+  "territories": [
    {
     "doctype": "Applicable Territory", 
-    "parentfield": "valid_for_territories", 
+    "parentfield": "territories", 
     "territory": "_Test Territory"
    }
   ]
@@ -45,32 +45,32 @@
   "doctype": "Shipping Rule", 
   "label": "_Test Shipping Rule - India", 
   "name": "_Test Shipping Rule - India", 
-  "shipping_rule_conditions": [
+  "conditions": [
    {
     "doctype": "Shipping Rule Condition", 
     "from_value": 0, 
-    "parentfield": "shipping_rule_conditions", 
+    "parentfield": "conditions", 
     "shipping_amount": 50.0, 
     "to_value": 100
    }, 
    {
     "doctype": "Shipping Rule Condition", 
     "from_value": 101, 
-    "parentfield": "shipping_rule_conditions", 
+    "parentfield": "conditions", 
     "shipping_amount": 100.0, 
     "to_value": 200
    }, 
    {
     "doctype": "Shipping Rule Condition", 
     "from_value": 201, 
-    "parentfield": "shipping_rule_conditions", 
+    "parentfield": "conditions", 
     "shipping_amount": 0.0
    }
   ], 
-  "valid_for_territories": [
+  "territories": [
    {
     "doctype": "Applicable Territory", 
-    "parentfield": "valid_for_territories", 
+    "parentfield": "territories", 
     "territory": "_Test Territory India"
    }
   ]
@@ -83,32 +83,32 @@
   "doctype": "Shipping Rule", 
   "label": "_Test Shipping Rule - Rest of the World", 
   "name": "_Test Shipping Rule - Rest of the World", 
-  "shipping_rule_conditions": [
+  "conditions": [
    {
     "doctype": "Shipping Rule Condition", 
     "from_value": 0, 
-    "parentfield": "shipping_rule_conditions", 
+    "parentfield": "conditions", 
     "shipping_amount": 500.0, 
     "to_value": 1000
    }, 
    {
     "doctype": "Shipping Rule Condition", 
     "from_value": 1001, 
-    "parentfield": "shipping_rule_conditions", 
+    "parentfield": "conditions", 
     "shipping_amount": 1000.0, 
     "to_value": 2000
    }, 
    {
     "doctype": "Shipping Rule Condition", 
     "from_value": 2001, 
-    "parentfield": "shipping_rule_conditions", 
+    "parentfield": "conditions", 
     "shipping_amount": 1500.0
    }
   ], 
-  "valid_for_territories": [
+  "territories": [
    {
     "doctype": "Applicable Territory", 
-    "parentfield": "valid_for_territories", 
+    "parentfield": "territories", 
     "territory": "_Test Territory Rest Of The World"
    }
   ]
diff --git a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py
index d14bcd7..bcb9993 100644
--- a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py
+++ b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py
@@ -11,13 +11,13 @@
 	def test_from_greater_than_to(self):
 		shipping_rule = frappe.copy_doc(test_records[0])
 		shipping_rule.name = test_records[0].get('name')
-		shipping_rule.get("shipping_rule_conditions")[0].from_value = 101
+		shipping_rule.get("conditions")[0].from_value = 101
 		self.assertRaises(FromGreaterThanToError, shipping_rule.insert)
 		
 	def test_many_zero_to_values(self):
 		shipping_rule = frappe.copy_doc(test_records[0])
 		shipping_rule.name = test_records[0].get('name')
-		shipping_rule.get("shipping_rule_conditions")[0].to_value = 0
+		shipping_rule.get("conditions")[0].to_value = 0
 		self.assertRaises(ManyBlankToValuesError, shipping_rule.insert)
 		
 	def test_overlapping_conditions(self):
@@ -30,8 +30,8 @@
 		]:
 			shipping_rule = frappe.copy_doc(test_records[0])
 			shipping_rule.name = test_records[0].get('name')
-			shipping_rule.get("shipping_rule_conditions")[0].from_value = range_a[0]
-			shipping_rule.get("shipping_rule_conditions")[0].to_value = range_a[1]
-			shipping_rule.get("shipping_rule_conditions")[1].from_value = range_b[0]
-			shipping_rule.get("shipping_rule_conditions")[1].to_value = range_b[1]
+			shipping_rule.get("conditions")[0].from_value = range_a[0]
+			shipping_rule.get("conditions")[0].to_value = range_a[1]
+			shipping_rule.get("conditions")[1].from_value = range_b[0]
+			shipping_rule.get("conditions")[1].to_value = range_b[1]
 			self.assertRaises(OverlappingConditionError, shipping_rule.insert)
diff --git a/erpnext/accounts/general_ledger.py b/erpnext/accounts/general_ledger.py
index 5b1bd28..9d4f86b 100644
--- a/erpnext/accounts/general_ledger.py
+++ b/erpnext/accounts/general_ledger.py
@@ -91,7 +91,7 @@
 		frappe.throw(_("Debit and Credit not equal for this voucher. Difference is {0}.").format(total_debit - total_credit))
 
 def validate_account_for_auto_accounting_for_stock(gl_map):
-	if gl_map[0].voucher_type=="Journal Voucher":
+	if gl_map[0].voucher_type=="Journal Entry":
 		aii_accounts = [d[0] for d in frappe.db.sql("""select name from tabAccount
 			where account_type = 'Warehouse' and ifnull(warehouse, '')!=''""")]
 
diff --git a/erpnext/accounts/print_format/cheque_printing_format/cheque_printing_format.json b/erpnext/accounts/print_format/cheque_printing_format/cheque_printing_format.json
index 89a98d3..2b45a58 100755
--- a/erpnext/accounts/print_format/cheque_printing_format/cheque_printing_format.json
+++ b/erpnext/accounts/print_format/cheque_printing_format/cheque_printing_format.json
@@ -1,6 +1,6 @@
 {
  "creation": "2012-04-11 13:16:56", 
- "doc_type": "Journal Voucher", 
+ "doc_type": "Journal Entry", 
  "docstatus": 0, 
  "doctype": "Print Format", 
  "html": "<div style=\"position: relative\">\n\n\t{%- from \"templates/print_formats/standard_macros.html\" import add_header -%}\n<div class=\"page-break\">\n    {%- if not doc.get(\"print_heading\") and not doc.get(\"select_print_heading\") \n        and doc.set(\"select_print_heading\", _(\"Payment Advice\")) -%}{%- endif -%}\n    {{ add_header(0, 1, doc, letter_head, no_letterhead) }}\n\n{%- for label, value in (\n        (_(\"Voucher Date\"), frappe.utils.formatdate(doc.voucher_date)),\n        (_(\"Reference / Cheque No.\"), doc.cheque_no),\n        (_(\"Reference / Cheque Date\"), frappe.utils.formatdate(doc.cheque_date))\n    ) -%}\n    <div class=\"row\">\n        <div class=\"col-sm-4\"><label class=\"text-right\">{{ label }}</label></div>\n        <div class=\"col-sm-8\">{{ value }}</div>\n    </div>\n{%- endfor -%}\n\t<hr>\n\t<p>{{ _(\"This amount is in full / part settlement of the listed bills\") }}:</p>\n{%- for label, value in (\n         (_(\"Amount\"), \"<strong>\" + doc.get_formatted(\"total_amount\") + \"</strong><br>\" + (doc.total_amount_in_words or \"\") + \"<br>\"),\n        (_(\"References\"), doc.remark)\n    ) -%}\n    <div class=\"row\">\n        <div class=\"col-sm-4\"><label class=\"text-right\">{{ label }}</label></div>\n        <div class=\"col-sm-8\">{{ value }}</div>\n    </div>\n    {%- endfor -%}\n    <hr>\n\t<div style=\"position: absolute; top: 14cm; left: 0cm;\">\n\t\tPrepared By</div>\n\t<div style=\"position: absolute; top: 14cm; left: 5.5cm;\">\n\t\tAuthorised Signatory</div>\n\t<div style=\"position: absolute; top: 14cm; left: 11cm;\">\n\t\tReceived Payment as Above</div>\n\t<div style=\"position: absolute; top: 16.4cm; left: 5.9cm;\">\n\t\t<strong>_____________</strong></div>\n\t<div style=\"position: absolute; top: 16.7cm; left: 6cm;\">\n\t\t<strong>A/C Payee</strong></div>\n\t<div style=\"position: absolute; top: 16.7cm; left: 5.9cm;\">\n\t\t<strong>_____________</strong></div>\n\t<div style=\"position: absolute; top: 16.9cm; left: 12cm;\">\n\t\t{{ frappe.utils.formatdate(doc.cheque_date) }}</div>\n\t<div style=\"position: absolute; top: 17.9cm; left: 1cm;\">\n\t\t{{ doc.pay_to_recd_from }}</div>\n\t<div style=\"position: absolute; top: 18.6cm; left: 1cm; width: 7cm;\">\n\t\t{{ doc.total_amount_in_words }}</div>\n\t<div style=\"position: absolute; top: 19.7cm; left: 12cm;\">\n\t\t{{ doc.total_amount }}</div>\n</div>", 
diff --git a/erpnext/accounts/print_format/credit_note/credit_note.json b/erpnext/accounts/print_format/credit_note/credit_note.json
index 01258e3..27ed128 100644
--- a/erpnext/accounts/print_format/credit_note/credit_note.json
+++ b/erpnext/accounts/print_format/credit_note/credit_note.json
@@ -1,7 +1,7 @@
 {
  "creation": "2014-08-28 11:11:39.796473", 
  "disabled": 0, 
- "doc_type": "Journal Voucher", 
+ "doc_type": "Journal Entry", 
  "docstatus": 0, 
  "doctype": "Print Format", 
  "html": "{%- from \"templates/print_formats/standard_macros.html\" import add_header -%}\n\n<div class=\"page-break\">\n    {%- if not doc.get(\"print_heading\") and not doc.get(\"select_print_heading\") \n        and doc.set(\"select_print_heading\", _(\"Credit Note\")) -%}{%- endif -%}\n    {{ add_header(0, 1, doc, letter_head, no_letterhead) }}\n\n    {%- for label, value in (\n        (_(\"Credit To\"), doc.pay_to_recd_from),\n        (_(\"Date\"), frappe.utils.formatdate(doc.voucher_date)),\n        (_(\"Amount\"), \"<strong>\" + doc.get_formatted(\"total_amount\") + \"</strong><br>\" + (doc.total_amount_in_words or \"\") + \"<br>\"),\n        (_(\"Remarks\"), doc.remark)\n    ) -%}\n\n    <div class=\"row\">\n        <div class=\"col-sm-3\"><label class=\"text-right\">{{ label }}</label></div>\n        <div class=\"col-sm-9\">{{ value }}</div>\n    </div>\n\n    {%- endfor -%}\n\n    <hr>\n    <br>\n    <p class=\"strong\">\n        {{ _(\"For\") }} {{ doc.company }},<br>\n        <br>\n        <br>\n        <br>\n        {{ _(\"Authorized Signatory\") }}\n    </p>\n</div>\n\n\n", 
@@ -11,7 +11,7 @@
  "module": "Accounts", 
  "name": "Credit Note", 
  "owner": "Administrator", 
- "parent": "Journal Voucher", 
+ "parent": "Journal Entry", 
  "parentfield": "__print_formats", 
  "parenttype": "DocType", 
  "print_format_type": "Server", 
diff --git a/erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.json b/erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.json
index 62cf6fe..a1b377a 100755
--- a/erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.json
+++ b/erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.json
@@ -1,6 +1,6 @@
 {
  "creation": "2012-05-01 12:46:31", 
- "doc_type": "Journal Voucher", 
+ "doc_type": "Journal Entry", 
  "docstatus": 0, 
  "doctype": "Print Format", 
  "html": "{%- from \"templates/print_formats/standard_macros.html\" import add_header -%}\n<div class=\"page-break\">\n    {%- if not doc.get(\"print_heading\") and not doc.get(\"select_print_heading\") \n        and doc.set(\"select_print_heading\", _(\"Payment Receipt Note\")) -%}{%- endif -%}\n    {{ add_header(0, 1, doc, letter_head, no_letterhead) }}\n\n    {%- for label, value in (\n        (_(\"Received On\"), frappe.utils.formatdate(doc.voucher_date)),\n        (_(\"Received From\"), doc.pay_to_recd_from),\n        (_(\"Amount\"), \"<strong>\" + doc.get_formatted(\"total_amount\") + \"</strong><br>\" + (doc.total_amount_in_words or \"\") + \"<br>\"),\n        (_(\"Remarks\"), doc.remark)\n    ) -%}\n    <div class=\"row\">\n        <div class=\"col-sm-3\"><label class=\"text-right\">{{ label }}</label></div>\n        <div class=\"col-sm-9\">{{ value }}</div>\n    </div>\n\n    {%- endfor -%}\n\n    <hr>\n    <br>\n    <p class=\"strong\">\n        {{ _(\"For\") }} {{ doc.company }},<br>\n        <br>\n        <br>\n        <br>\n        {{ _(\"Authorized Signatory\") }}\n    </p>\n</div>\n\n", 
diff --git a/erpnext/accounts/print_format/pos_invoice/pos_invoice.json b/erpnext/accounts/print_format/pos_invoice/pos_invoice.json
index 83174b6..fcda513 100644
--- a/erpnext/accounts/print_format/pos_invoice/pos_invoice.json
+++ b/erpnext/accounts/print_format/pos_invoice/pos_invoice.json
@@ -1,15 +1,15 @@
 {
- "creation": "2011-12-21 11:08:55", 
- "doc_type": "Sales Invoice", 
- "docstatus": 0, 
- "doctype": "Print Format", 
- "html": "<style>\n\t.print-format table, .print-format tr, \n\t.print-format td, .print-format div, .print-format p {\n\t\tfont-family: Monospace;\n\t\tline-height: 200%;\n\t\tvertical-align: middle;\n\t}\n\t@media screen {\n\t\t.print-format {\n\t\t\twidth: 4in;\n\t\t\tpadding: 0.25in;\n\t\t\tmin-height: 8in;\n\t\t}\n\t}\n</style>\n\n<p class=\"text-center\">\n\t{{ doc.company }}<br>\n\t{{ doc.select_print_heading or _(\"Invoice\") }}<br>\n</p>\n<p>\n\t<b>{{ _(\"Receipt No\") }}:</b> {{ doc.name }}<br>\n\t<b>{{ _(\"Date\") }}:</b> {{ doc.get_formatted(\"posting_date\") }}<br>\n\t<b>{{ _(\"Customer\") }}:</b> {{ doc.customer_name }}\n</p>\n\n<hr>\n<table class=\"table table-condensed cart no-border\">\n\t<thead>\n\t\t<tr>\n\t\t\t<th width=\"60%\">{{ _(\"Item\") }}</b></th>\n\t\t\t<th width=\"10%\" class=\"text-right\">{{ _(\"Qty\") }}</th>\n\t\t\t<th width=\"30%\" class=\"text-right\">{{ _(\"Rate\") }}</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n\t\t{%- for item in doc.entries -%}\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t{{ item.item_code }}\n\t\t\t\t{%- if item.item_name != item.item_code -%}\n\t\t\t\t\t<br>{{ item.item_name }}{%- endif -%}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">{{ item.qty }}</td>\n\t\t\t<td class=\"text-right\">{{ item.amount }}</td>\n\t\t</tr>\n\t\t{%- endfor -%}\n\t</tbody>\n</table>\n<table class=\"table table-condensed no-border\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ _(\"Net Total\") }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ doc.get_formatted(\"net_total_export\") }}\n\t\t\t</td>\n\t\t</tr>\n\t\t{%- for row in doc.other_charges -%}\n\t\t{%- if not row.included_in_print_rate -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ row.description }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ row.get_formatted(\"tax_amount\", doc) }}\n\t\t\t</td>\n\t\t</tr>\n\t\t{%- endif -%}\n\t\t{%- endfor -%}\n\t\t{%- if doc.discount_amount -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ _(\"Discount\") }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ doc.get_formatted(\"discount_amount\") }}\n\t\t\t</td>\n\t\t</tr>\n\t\t{%- endif -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t<b>{{ _(\"Grand Total\") }}</b>\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ doc.get_formatted(\"grand_total_export\") }}\n\t\t\t</td>\n\t\t</tr>\n\t</tbody>\n</table>\n{% if doc.get(\"other_charges\", filters={\"included_in_print_rate\": 1}) %}\n<hr>\n<p><b>Taxes Included:</b></p>\n<table class=\"table table-condensed no-border\">\n\t<tbody>\n\t\t{%- for row in doc.other_charges -%}\n\t\t{%- if row.included_in_print_rate -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ row.description }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ row.get_formatted(\"tax_amount\", doc) }}\n\t\t\t</td>\n\t\t<tr>\n\t\t{%- endif -%}\n\t\t{%- endfor -%}\n\t</tbody>\n</table>\n{%- endif -%}\n<hr>\n<p>{{ doc.terms or \"\" }}</p>\n<p class=\"text-center\">{{ _(\"Thank you, please visit again.\") }}</p>", 
- "idx": 1, 
- "modified": "2014-07-22 02:08:26.603223", 
- "modified_by": "Administrator", 
- "module": "Accounts", 
- "name": "POS Invoice", 
- "owner": "Administrator", 
- "print_format_type": "Server", 
+ "creation": "2011-12-21 11:08:55",
+ "doc_type": "Sales Invoice",
+ "docstatus": 0,
+ "doctype": "Print Format",
+ "html": "<style>\n\t.print-format table, .print-format tr, \n\t.print-format td, .print-format div, .print-format p {\n\t\tfont-family: Monospace;\n\t\tline-height: 200%;\n\t\tvertical-align: middle;\n\t}\n\t@media screen {\n\t\t.print-format {\n\t\t\twidth: 4in;\n\t\t\tpadding: 0.25in;\n\t\t\tmin-height: 8in;\n\t\t}\n\t}\n</style>\n\n<p class=\"text-center\">\n\t{{ doc.company }}<br>\n\t{{ doc.select_print_heading or _(\"Invoice\") }}<br>\n</p>\n<p>\n\t<b>{{ _(\"Receipt No\") }}:</b> {{ doc.name }}<br>\n\t<b>{{ _(\"Date\") }}:</b> {{ doc.get_formatted(\"posting_date\") }}<br>\n\t<b>{{ _(\"Customer\") }}:</b> {{ doc.customer_name }}\n</p>\n\n<hr>\n<table class=\"table table-condensed cart no-border\">\n\t<thead>\n\t\t<tr>\n\t\t\t<th width=\"60%\">{{ _(\"Item\") }}</b></th>\n\t\t\t<th width=\"10%\" class=\"text-right\">{{ _(\"Qty\") }}</th>\n\t\t\t<th width=\"30%\" class=\"text-right\">{{ _(\"Rate\") }}</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n\t\t{%- for item in doc.items -%}\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t{{ item.item_code }}\n\t\t\t\t{%- if item.item_name != item.item_code -%}\n\t\t\t\t\t<br>{{ item.item_name }}{%- endif -%}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">{{ item.qty }}</td>\n\t\t\t<td class=\"text-right\">{{ item.amount }}</td>\n\t\t</tr>\n\t\t{%- endfor -%}\n\t</tbody>\n</table>\n<table class=\"table table-condensed no-border\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ _(\"Net Total\") }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ doc.get_formatted(\"net_total_export\") }}\n\t\t\t</td>\n\t\t</tr>\n\t\t{%- for row in doc.taxes -%}\n\t\t{%- if not row.included_in_print_rate -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ row.description }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ row.get_formatted(\"tax_amount\", doc) }}\n\t\t\t</td>\n\t\t</tr>\n\t\t{%- endif -%}\n\t\t{%- endfor -%}\n\t\t{%- if doc.discount_amount -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ _(\"Discount\") }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ doc.get_formatted(\"discount_amount\") }}\n\t\t\t</td>\n\t\t</tr>\n\t\t{%- endif -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t<b>{{ _(\"Grand Total\") }}</b>\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ doc.get_formatted(\"grand_total_export\") }}\n\t\t\t</td>\n\t\t</tr>\n\t</tbody>\n</table>\n{% if doc.get(\"taxes\", filters={\"included_in_print_rate\": 1}) %}\n<hr>\n<p><b>Taxes Included:</b></p>\n<table class=\"table table-condensed no-border\">\n\t<tbody>\n\t\t{%- for row in doc.taxes -%}\n\t\t{%- if row.included_in_print_rate -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ row.description }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ row.get_formatted(\"tax_amount_after_discount_amount\", doc) }}\n\t\t\t</td>\n\t\t<tr>\n\t\t{%- endif -%}\n\t\t{%- endfor -%}\n\t</tbody>\n</table>\n{%- endif -%}\n<hr>\n<p>{{ doc.terms or \"\" }}</p>\n<p class=\"text-center\">{{ _(\"Thank you, please visit again.\") }}</p>",
+ "idx": 1,
+ "modified": "2014-12-26 02:08:26.603223",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "POS Invoice",
+ "owner": "Administrator",
+ "print_format_type": "Server",
  "standard": "Yes"
-}
\ No newline at end of file
+}
diff --git a/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.json b/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.json
index 5fd1609..4cd0e55 100644
--- a/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.json
+++ b/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.json
@@ -10,7 +10,7 @@
  "module": "Accounts", 
  "name": "Bank Clearance Summary", 
  "owner": "Administrator", 
- "ref_doctype": "Journal Voucher", 
+ "ref_doctype": "Journal Entry", 
  "report_name": "Bank Clearance Summary", 
  "report_type": "Script Report"
 }
\ No newline at end of file
diff --git a/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py b/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py
index dbf86e3..aec4016 100644
--- a/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py
+++ b/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py
@@ -14,7 +14,7 @@
 	return columns, data
 	
 def get_columns():
-	return [_("Journal Voucher") + ":Link/Journal Voucher:140", _("Account") + ":Link/Account:140", 
+	return [_("Journal Entry") + ":Link/Journal Entry:140", _("Account") + ":Link/Account:140", 
 		_("Posting Date") + ":Date:100", _("Clearance Date") + ":Date:110", _("Against Account") + ":Link/Account:200", 
 		_("Debit") + ":Currency:120", _("Credit") + ":Currency:120"
 	]
@@ -35,7 +35,7 @@
 	conditions = get_conditions(filters)
 	entries =  frappe.db.sql("""select jv.name, jvd.account, jv.posting_date, 
 		jv.clearance_date, jvd.against_account, jvd.debit, jvd.credit
-		from `tabJournal Voucher Detail` jvd, `tabJournal Voucher` jv 
+		from `tabJournal Entry Account` jvd, `tabJournal Entry` jv 
 		where jvd.parent = jv.name and jv.docstatus=1 %s
 		order by jv.name DESC""" % conditions, filters, as_list=1)
 	return entries
\ No newline at end of file
diff --git a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.html b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.html
index 9d67ba3..d749383 100644
--- a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.html
+++ b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.html
@@ -8,7 +8,7 @@
 	<thead>
 		<tr>
 			<th style="width: 15%">{%= __("Posting Date") %}</th>
-			<th style="width: 15%">{%= __("Journal Voucher") %}</th>
+			<th style="width: 15%">{%= __("Journal Entry") %}</th>
 			<th style="width: 40%">{%= __("Reference") %}</th>
 			<th style="width: 15%; text-align: right;">{%= __("Debit") %}</th>
 			<th style="width: 15%; text-align: right;">{%= __("Credit") %}</th>
@@ -19,7 +19,7 @@
 			{% if (data[i][__("Posting Date")]) { %}
 			<tr>
 				<td>{%= dateutil.str_to_user(data[i][__("Posting Date")]) %}</td>
-				<td>{%= data[i][__("Journal Voucher")] %}</td>
+				<td>{%= data[i][__("Journal Entry")] %}</td>
 				<td>{%= __("Against") %}: {%= data[i][__("Against Account")] %}
 					{% if (data[i][__("Reference")]) { %}
 						<br>{%= __("Reference") %}: {%= data[i][__("Reference")] %}
@@ -38,7 +38,7 @@
 			<tr>
 				<td></td>
 				<td></td>
-				<td>{%= data[i][__("Journal Voucher")] %}</td>
+				<td>{%= data[i][__("Journal Entry")] %}</td>
 				<td style="text-align: right">{%= format_currency(data[i][__("Debit")]) %}</td>
 				<td style="text-align: right">{%= format_currency(data[i][__("Credit")]) %}</td>
 			</tr>
diff --git a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.json b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.json
index fd0639b..fb2ee5d 100644
--- a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.json
+++ b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.json
@@ -11,7 +11,7 @@
  "module": "Accounts", 
  "name": "Bank Reconciliation Statement", 
  "owner": "Administrator", 
- "ref_doctype": "Journal Voucher", 
+ "ref_doctype": "Journal Entry", 
  "report_name": "Bank Reconciliation Statement", 
  "report_type": "Script Report"
 }
\ No newline at end of file
diff --git a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
index cbe5988..d4c09a6 100644
--- a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
+++ b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
@@ -24,7 +24,7 @@
 		total_credit += flt(d[3])
 
 	amounts_not_reflected_in_system = frappe.db.sql("""select sum(ifnull(jvd.debit, 0) - ifnull(jvd.credit, 0))
-		from `tabJournal Voucher Detail` jvd, `tabJournal Voucher` jv
+		from `tabJournal Entry Account` jvd, `tabJournal Entry` jv
 		where jvd.parent = jv.name and jv.docstatus=1 and jvd.account=%s
 		and jv.posting_date > %s and jv.clearance_date <= %s and ifnull(jv.is_opening, 'No') = 'No'
 		""", (filters["account"], filters["report_date"], filters["report_date"]))
@@ -47,7 +47,7 @@
 	return columns, data
 
 def get_columns():
-	return [_("Posting Date") + ":Date:100", _("Journal Voucher") + ":Link/Journal Voucher:220",
+	return [_("Posting Date") + ":Date:100", _("Journal Entry") + ":Link/Journal Entry:220",
 		_("Debit") + ":Currency:120", _("Credit") + ":Currency:120",
 		_("Against Account") + ":Link/Account:200", _("Reference") + "::100", _("Ref Date") + ":Date:110", _("Clearance Date") + ":Date:110"
 	]
@@ -57,7 +57,7 @@
 			jv.posting_date, jv.name, jvd.debit, jvd.credit,
 			jvd.against_account, jv.cheque_no, jv.cheque_date, jv.clearance_date
 		from
-			`tabJournal Voucher Detail` jvd, `tabJournal Voucher` jv
+			`tabJournal Entry Account` jvd, `tabJournal Entry` jv
 		where jvd.parent = jv.name and jv.docstatus=1
 			and jvd.account = %(account)s and jv.posting_date <= %(report_date)s
 			and ifnull(jv.clearance_date, '4000-01-01') > %(report_date)s
diff --git a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.json b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.json
index c668d19..3546114 100644
--- a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.json
+++ b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.json
@@ -11,7 +11,7 @@
  "module": "Accounts", 
  "name": "Payment Period Based On Invoice Date", 
  "owner": "Administrator", 
- "ref_doctype": "Journal Voucher", 
+ "ref_doctype": "Journal Entry", 
  "report_name": "Payment Period Based On Invoice Date", 
  "report_type": "Script Report"
 }
\ No newline at end of file
diff --git a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py
index b1d7437..78f4261 100644
--- a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py
+++ b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py
@@ -37,7 +37,7 @@
 	return columns, data
 
 def get_columns():
-	return [_("Journal Voucher") + ":Link/Journal Voucher:140", _("Account") + ":Link/Account:140",
+	return [_("Journal Entry") + ":Link/Journal Entry:140", _("Account") + ":Link/Account:140",
 		_("Posting Date") + ":Date:100", _("Against Invoice") + ":Link/Purchase Invoice:130",
 		_("Against Invoice Posting Date") + ":Date:130", _("Debit") + ":Currency:120", _("Credit") + ":Currency:120",
 		_("Reference No") + "::100", _("Reference Date") + ":Date:100", _("Remarks") + "::150", _("Age") +":Int:40",
@@ -77,7 +77,7 @@
 	entries =  frappe.db.sql("""select jv.name, jvd.account, jv.posting_date,
 		jvd.against_voucher, jvd.against_invoice, jvd.debit, jvd.credit,
 		jv.cheque_no, jv.cheque_date, jv.remark
-		from `tabJournal Voucher Detail` jvd, `tabJournal Voucher` jv
+		from `tabJournal Entry Account` jvd, `tabJournal Entry` jv
 		where jvd.parent = jv.name and jv.docstatus=1 %s order by jv.name DESC""" %
 		(conditions), tuple(party_accounts), as_dict=1)
 
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index 2abc187..9391516 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -136,7 +136,7 @@
 		check_if_jv_modified(d)
 		validate_allocated_amount(d)
 		against_fld = {
-			'Journal Voucher' : 'against_jv',
+			'Journal Entry' : 'against_jv',
 			'Sales Invoice' : 'against_invoice',
 			'Purchase Invoice' : 'against_voucher'
 		}
@@ -144,7 +144,7 @@
 		d['against_fld'] = against_fld[d['against_voucher_type']]
 
 		# cancel JV
-		jv_obj = frappe.get_doc('Journal Voucher', d['voucher_no'])
+		jv_obj = frappe.get_doc('Journal Entry', d['voucher_no'])
 
 		jv_obj.make_gl_entries(cancel=1, adv_adj=1)
 
@@ -152,7 +152,7 @@
 		update_against_doc(d, jv_obj)
 
 		# re-submit JV
-		jv_obj = frappe.get_doc('Journal Voucher', d['voucher_no'])
+		jv_obj = frappe.get_doc('Journal Entry', d['voucher_no'])
 		jv_obj.make_gl_entries(cancel = 0, adv_adj =1)
 
 
@@ -163,7 +163,7 @@
 		check if jv is submitted
 	"""
 	ret = frappe.db.sql("""
-		select t2.{dr_or_cr} from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2
+		select t2.{dr_or_cr} from `tabJournal Entry` t1, `tabJournal Entry Account` t2
 		where t1.name = t2.parent and t2.account = %(account)s
 		and t2.party_type = %(party_type)s and t2.party = %(party)s
 		and ifnull(t2.against_voucher, '')=''
@@ -184,15 +184,15 @@
 	"""
 		Updates against document, if partial amount splits into rows
 	"""
-	jv_detail = jv_obj.get("entries", {"name": d["voucher_detail_no"]})[0]
+	jv_detail = jv_obj.get("accounts", {"name": d["voucher_detail_no"]})[0]
 	jv_detail.set(d["dr_or_cr"], d["allocated_amt"])
 	jv_detail.set(d["against_fld"], d["against_voucher"])
 
 	if d['allocated_amt'] < d['unadjusted_amt']:
 		jvd = frappe.db.sql("""select cost_center, balance, against_account, is_advance
-			from `tabJournal Voucher Detail` where name = %s""", d['voucher_detail_no'])
+			from `tabJournal Entry Account` where name = %s""", d['voucher_detail_no'])
 		# new entry with balance amount
-		ch = jv_obj.append("entries")
+		ch = jv_obj.append("accounts")
 		ch.account = d['account']
 		ch.party_type = d["party_type"]
 		ch.party = d["party"]
@@ -209,11 +209,11 @@
 	jv_obj.save()
 
 def remove_against_link_from_jv(ref_type, ref_no, against_field):
-	linked_jv = frappe.db.sql_list("""select parent from `tabJournal Voucher Detail`
+	linked_jv = frappe.db.sql_list("""select parent from `tabJournal Entry Account`
 		where `%s`=%s and docstatus < 2""" % (against_field, "%s"), (ref_no))
 
 	if linked_jv:
-		frappe.db.sql("""update `tabJournal Voucher Detail` set `%s`=null,
+		frappe.db.sql("""update `tabJournal Entry Account` set `%s`=null,
 			modified=%s, modified_by=%s
 			where `%s`=%s and docstatus < 2""" % (against_field, "%s", "%s", against_field, "%s"),
 			(now(), frappe.session.user, ref_no))
@@ -225,7 +225,7 @@
 			and voucher_no != ifnull(against_voucher, '')""",
 			(now(), frappe.session.user, ref_type, ref_no))
 
-		frappe.msgprint(_("Journal Vouchers {0} are un-linked".format("\n".join(linked_jv))))
+		frappe.msgprint(_("Journal Entries {0} are un-linked".format("\n".join(linked_jv))))
 
 
 @frappe.whitelist()
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
index 2f7af71..27d7bc8 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.js
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.js
@@ -1,11 +1,6 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-// Preset
-// ------
-// cur_frm.cscript.tname - Details table name
-// cur_frm.cscript.fname - Details fieldname
-
 frappe.provide("erpnext.buying");
 frappe.require("assets/erpnext/js/transaction.js");
 {% include "public/js/controllers/accounts.js" %}
@@ -42,7 +37,7 @@
 				return{	query: "erpnext.controllers.queries.supplier_query" }});
 		}
 
-		this.frm.set_query("item_code", this.frm.cscript.fname, function() {
+		this.frm.set_query("item_code", "items", function() {
 			if(me.frm.doc.is_subcontracted == "Yes") {
 				 return{
 					query: "erpnext.controllers.queries.item_query",
@@ -73,7 +68,7 @@
 	},
 
 	contact_person: function() {
-		this.supplier_address();
+		erpnext.utils.get_contact_details(this.frm);
 	},
 
 	buying_price_list: function() {
@@ -159,7 +154,7 @@
 	project_name: function(doc, cdt, cdn) {
 		var item = frappe.get_doc(cdt, cdn);
 		if(item.project_name) {
-			$.each(this.frm.doc[this.fname],
+			$.each(this.frm.doc["items"],
 				function(i, other_item) {
 					if(!other_item.project_name) {
 						other_item.project_name = item.project_name;
@@ -178,7 +173,7 @@
 
 	calculate_taxes_and_totals: function() {
 		this._super();
-		this.calculate_total_advance("Purchase Invoice", "advance_allocation_details");
+		this.calculate_total_advance("Purchase Invoice", "advances");
 		this.frm.refresh_fields();
 	},
 
@@ -359,22 +354,21 @@
 		};
 
 		setup_field_label_map(["base_rate", "base_price_list_rate", "base_amount", "base_rate"],
-			company_currency, this.fname);
+			company_currency, "items");
 
-		setup_field_label_map(["rate", "price_list_rate", "amount"],
-			this.frm.doc.currency, this.fname);
+			setup_field_label_map(["rate", "price_list_rate", "amount"], this.frm.doc.currency, "items");
 
-		if(this.frm.fields_dict[this.other_fname]) {
-			setup_field_label_map(["tax_amount", "total"], company_currency, this.other_fname);
+		if(this.frm.fields_dict["taxes"]) {
+			setup_field_label_map(["tax_amount", "total"], company_currency, "taxes");
 		}
 
-		if(this.frm.fields_dict["advance_allocation_details"]) {
+		if(this.frm.fields_dict["advances"]) {
 			setup_field_label_map(["advance_amount", "allocated_amount"], company_currency,
-				"advance_allocation_details");
+				"advances");
 		}
 
 		// toggle columns
-		var item_grid = this.frm.fields_dict[this.fname].grid;
+		var item_grid = this.frm.fields_dict["items"].grid;
 		var fieldnames = $.map(["base_rate", "base_price_list_rate", "base_amount", "base_rate"], function(fname) {
 			return frappe.meta.get_docfield(item_grid.doctype, fname, me.frm.docname) ? fname : null;
 		});
@@ -391,7 +385,7 @@
 cur_frm.add_fetch('project_name', 'cost_center', 'cost_center');
 
 erpnext.buying.get_default_bom = function(frm) {
-	$.each(frm.doc[frm.cscript.fname] || [], function(i, d) {
+	$.each(frm.doc["items"] || [], function(i, d) {
 		if (d.item_code && d.bom === "") {
 			return frappe.call({
 				type: "GET",
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.py b/erpnext/buying/doctype/purchase_common/purchase_common.py
index 2cf8673..38fff6a 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.py
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.py
@@ -16,7 +16,7 @@
 		import frappe.utils
 		this_purchase_date = frappe.utils.getdate(obj.get('posting_date') or obj.get('transaction_date'))
 
-		for d in obj.get(obj.fname):
+		for d in obj.get("items"):
 			# get last purchase details
 			last_purchase_details = get_last_purchase_details(d.item_code, obj.name)
 
@@ -38,34 +38,9 @@
 				frappe.db.sql("""update `tabItem` set last_purchase_rate = %s where name = %s""",
 					(flt(last_purchase_rate), d.item_code))
 
-	def get_last_purchase_rate(self, obj):
-		"""get last purchase rates for all items"""
-		doc_name = obj.name
-		conversion_rate = flt(obj.get('conversion_rate')) or 1.0
-
-		for d in obj.get(obj.fname):
-			if d.item_code:
-				last_purchase_details = get_last_purchase_details(d.item_code, doc_name)
-
-				if last_purchase_details:
-					d.base_price_list_rate = last_purchase_details['base_price_list_rate'] * (flt(d.conversion_factor) or 1.0)
-					d.discount_percentage = last_purchase_details['discount_percentage']
-					d.base_rate = last_purchase_details['base_rate'] * (flt(d.conversion_factor) or 1.0)
-					d.price_list_rate = d.base_price_list_rate / conversion_rate
-					d.rate = d.base_rate / conversion_rate
-				else:
-					# if no last purchase found, reset all values to 0
-					d.base_price_list_rate = d.base_rate = d.price_list_rate = d.rate = d.discount_percentage = 0
-
-					item_last_purchase_rate = frappe.db.get_value("Item",
-						d.item_code, "last_purchase_rate")
-					if item_last_purchase_rate:
-						d.base_price_list_rate = d.base_rate = d.price_list_rate \
-							= d.rate = item_last_purchase_rate
-
 	def validate_for_items(self, obj):
 		check_list, chk_dupl_itm=[],[]
-		for d in obj.get(obj.fname):
+		for d in obj.get("items"):
 			# validation for valid qty
 			if flt(d.qty) < 0 or (d.parenttype != 'Purchase Receipt' and not flt(d.qty)):
 				frappe.throw(_("Please enter quantity for Item {0}").format(d.item_code))
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js
index ed7e2c2..6564f57 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.js
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.js
@@ -3,10 +3,6 @@
 
 frappe.provide("erpnext.buying");
 
-cur_frm.cscript.tname = "Purchase Order Item";
-cur_frm.cscript.fname = "po_details";
-cur_frm.cscript.other_fname = "other_charges";
-
 {% include 'buying/doctype/purchase_common/purchase_common.js' %};
 {% include 'accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js' %}
 
@@ -104,9 +100,9 @@
 		this.get_terms();
 	},
 
-	po_details_add: function(doc, cdt, cdn) {
+	items_add: function(doc, cdt, cdn) {
 		var row = frappe.get_doc(cdt, cdn);
-		this.frm.script_manager.copy_from_first_row("po_details", row, ["schedule_date"]);
+		this.frm.script_manager.copy_from_first_row("items", row, ["schedule_date"]);
 	}
 });
 
@@ -125,7 +121,7 @@
 	}
 }
 
-cur_frm.fields_dict['po_details'].grid.get_field('project_name').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['items'].grid.get_field('project_name').get_query = function(doc, cdt, cdn) {
 	return {
 		filters:[
 			['Project', 'status', 'not in', 'Completed, Cancelled']
@@ -133,7 +129,7 @@
 	}
 }
 
-cur_frm.fields_dict['po_details'].grid.get_field('bom').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['items'].grid.get_field('bom').get_query = function(doc, cdt, cdn) {
 	var d = locals[cdt][cdn]
 	return {
 		filters: [
@@ -146,7 +142,7 @@
 
 cur_frm.cscript.get_last_purchase_rate = function(doc, cdt, cdn){
 	return $c_obj(doc, 'get_last_purchase_rate', '', function(r, rt) {
-		refresh_field(cur_frm.cscript.fname);
+		refresh_field("items");
 		var doc = locals[cdt][cdn];
 		cur_frm.cscript.calc_amount( doc, 2);
 	});
@@ -187,7 +183,7 @@
 
 	out ='';
 
-	var cl = doc.po_details || [];
+	var cl = doc.items || [];
 
 	// outer table
 	var out='<div><table class="noborder" style="width:100%"><tr><td style="width: 50%"></td><td>';
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json
index f072b65..8c4f80c 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.json
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -1,847 +1,850 @@
 {
- "allow_import": 1, 
- "autoname": "naming_series:", 
- "creation": "2013-05-21 16:16:39", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Transaction", 
+ "allow_import": 1,
+ "autoname": "naming_series:",
+ "creation": "2013-05-21 16:16:39",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Transaction",
  "fields": [
   {
-   "fieldname": "supplier_section", 
-   "fieldtype": "Section Break", 
-   "label": "Supplier", 
-   "options": "icon-user", 
+   "fieldname": "supplier_section",
+   "fieldtype": "Section Break",
+   "label": "Supplier",
+   "options": "icon-user",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "naming_series", 
-   "fieldtype": "Select", 
-   "label": "Series", 
-   "no_copy": 1, 
-   "oldfieldname": "naming_series", 
-   "oldfieldtype": "Select", 
-   "options": "PO-", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "naming_series",
+   "fieldtype": "Select",
+   "label": "Series",
+   "no_copy": 1,
+   "oldfieldname": "naming_series",
+   "oldfieldtype": "Select",
+   "options": "PO-",
+   "permlevel": 0,
+   "print_hide": 1,
    "reqd": 1
-  }, 
+  },
   {
-   "description": "Supplier (vendor) name as entered in supplier master", 
-   "fieldname": "supplier", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Supplier", 
-   "oldfieldname": "supplier", 
-   "oldfieldtype": "Link", 
-   "options": "Supplier", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "reqd": 1, 
+   "description": "Supplier (vendor) name as entered in supplier master",
+   "fieldname": "supplier",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Supplier",
+   "oldfieldname": "supplier",
+   "oldfieldtype": "Link",
+   "options": "Supplier",
+   "permlevel": 0,
+   "print_hide": 1,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "supplier_name", 
-   "fieldtype": "Data", 
-   "hidden": 0, 
-   "in_list_view": 1, 
-   "label": "Name", 
-   "permlevel": 0, 
+   "fieldname": "supplier_name",
+   "fieldtype": "Data",
+   "hidden": 0,
+   "in_list_view": 1,
+   "label": "Name",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "address_display", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Address", 
-   "permlevel": 0, 
+   "fieldname": "address_display",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Address",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "contact_display", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Contact", 
-   "permlevel": 0, 
+   "fieldname": "contact_display",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Contact",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "contact_mobile", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Mobile No", 
-   "permlevel": 0, 
+   "fieldname": "contact_mobile",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Mobile No",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "contact_email", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Contact Email", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "contact_email",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Contact Email",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "column_break1", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_width": "50%", 
+   "fieldname": "column_break1",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "print_hide": 0,
+   "print_width": "50%",
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "transaction_date", 
-   "fieldtype": "Date", 
-   "in_filter": 1, 
-   "label": "Date", 
-   "oldfieldname": "transaction_date", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
-   "reqd": 1, 
+   "fieldname": "transaction_date",
+   "fieldtype": "Date",
+   "in_filter": 1,
+   "label": "Date",
+   "oldfieldname": "transaction_date",
+   "oldfieldtype": "Date",
+   "permlevel": 0,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "amended_from", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 1, 
-   "label": "Amended From", 
-   "no_copy": 1, 
-   "oldfieldname": "amended_from", 
-   "oldfieldtype": "Data", 
-   "options": "Purchase Order", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "ignore_user_permissions": 1,
+   "label": "Amended From",
+   "no_copy": 1,
+   "oldfieldname": "amended_from",
+   "oldfieldtype": "Data",
+   "options": "Purchase Order",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "report_hide": 0
-  }, 
+  },
   {
-   "description": "Select the relevant company name if you have multiple companies", 
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Company", 
-   "no_copy": 0, 
-   "oldfieldname": "company", 
-   "oldfieldtype": "Link", 
-   "options": "Company", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "reqd": 1, 
+   "description": "Select the relevant company name if you have multiple companies",
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Company",
+   "no_copy": 0,
+   "oldfieldname": "company",
+   "oldfieldtype": "Link",
+   "options": "Company",
+   "permlevel": 0,
+   "print_hide": 1,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "price_list_and_currency", 
-   "fieldtype": "Section Break", 
-   "label": "Currency and Price List", 
-   "options": "icon-tag", 
+   "fieldname": "price_list_and_currency",
+   "fieldtype": "Section Break",
+   "label": "Currency and Price List",
+   "options": "icon-tag",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "cb_currency", 
-   "fieldtype": "Column Break", 
+   "fieldname": "cb_currency",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "currency", 
-   "fieldtype": "Link", 
-   "label": "Currency", 
-   "no_copy": 0, 
-   "oldfieldname": "currency", 
-   "oldfieldtype": "Select", 
-   "options": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "no_copy": 0,
+   "oldfieldname": "currency",
+   "oldfieldtype": "Select",
+   "options": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "reqd": 1
-  }, 
+  },
   {
-   "description": "Rate at which supplier's currency is converted to company's base currency", 
-   "fieldname": "conversion_rate", 
-   "fieldtype": "Float", 
-   "hidden": 0, 
-   "label": "Exchange Rate", 
-   "no_copy": 0, 
-   "oldfieldname": "conversion_rate", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "description": "Rate at which supplier's currency is converted to company's base currency",
+   "fieldname": "conversion_rate",
+   "fieldtype": "Float",
+   "hidden": 0,
+   "label": "Exchange Rate",
+   "no_copy": 0,
+   "oldfieldname": "conversion_rate",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "cb_price_list", 
-   "fieldtype": "Column Break", 
+   "fieldname": "cb_price_list",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "buying_price_list", 
-   "fieldtype": "Link", 
-   "label": "Price List", 
-   "options": "Price List", 
-   "permlevel": 0, 
+   "fieldname": "buying_price_list",
+   "fieldtype": "Link",
+   "label": "Price List",
+   "options": "Price List",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "price_list_currency", 
-   "fieldtype": "Link", 
-   "label": "Price List Currency", 
-   "options": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "price_list_currency",
+   "fieldtype": "Link",
+   "label": "Price List Currency",
+   "options": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "plc_conversion_rate", 
-   "fieldtype": "Float", 
-   "label": "Price List Exchange Rate", 
-   "permlevel": 0, 
+   "fieldname": "plc_conversion_rate",
+   "fieldtype": "Float",
+   "label": "Price List Exchange Rate",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "ignore_pricing_rule", 
-   "fieldtype": "Check", 
-   "label": "Ignore Pricing Rule", 
-   "no_copy": 1, 
-   "permlevel": 1, 
+   "fieldname": "ignore_pricing_rule",
+   "fieldtype": "Check",
+   "label": "Ignore Pricing Rule",
+   "no_copy": 1,
+   "permlevel": 1,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "items", 
-   "fieldtype": "Section Break", 
-   "label": "Items", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-shopping-cart", 
+   "fieldname": "items_section",
+   "fieldtype": "Section Break",
+   "label": "Items",
+   "oldfieldtype": "Section Break",
+   "options": "icon-shopping-cart",
    "permlevel": 0
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "po_details", 
-   "fieldtype": "Table", 
-   "label": "Purchase Order Items", 
-   "no_copy": 0, 
-   "oldfieldname": "po_details", 
-   "oldfieldtype": "Table", 
-   "options": "Purchase Order Item", 
+   "allow_on_submit": 1,
+   "fieldname": "items",
+   "fieldtype": "Table",
+   "label": "Items",
+   "no_copy": 0,
+   "oldfieldname": "po_details",
+   "oldfieldtype": "Table",
+   "options": "Purchase Order Item",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "sb_last_purchase", 
-   "fieldtype": "Section Break", 
+   "fieldname": "sb_last_purchase",
+   "fieldtype": "Section Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "net_total", 
-   "fieldtype": "Currency", 
-   "label": "Net Total (Company Currency)", 
-   "no_copy": 1, 
-   "oldfieldname": "net_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "net_total",
+   "fieldtype": "Currency",
+   "label": "Net Total (Company Currency)",
+   "no_copy": 1,
+   "oldfieldname": "net_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "reqd": 0
-  }, 
+  },
   {
-   "fieldname": "column_break_26", 
-   "fieldtype": "Column Break", 
+   "fieldname": "column_break_26",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "net_total_import", 
-   "fieldtype": "Currency", 
-   "label": "Net Total", 
-   "no_copy": 0, 
-   "oldfieldname": "net_total_import", 
-   "oldfieldtype": "Currency", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 0, 
+   "fieldname": "net_total_import",
+   "fieldtype": "Currency",
+   "label": "Net Total",
+   "no_copy": 0,
+   "oldfieldname": "net_total_import",
+   "oldfieldtype": "Currency",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "get_last_purchase_rate", 
-   "fieldtype": "Button", 
-   "label": "Get Last Purchase Rate", 
-   "oldfieldtype": "Button", 
-   "permlevel": 0, 
+   "fieldname": "get_last_purchase_rate",
+   "fieldtype": "Button",
+   "label": "Get Last Purchase Rate",
+   "oldfieldtype": "Button",
+   "permlevel": 0,
    "print_hide": 0
-  }, 
+  },
   {
-   "fieldname": "taxes", 
-   "fieldtype": "Section Break", 
-   "label": "Taxes and Charges", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-money", 
-   "permlevel": 0, 
+   "fieldname": "taxes_section",
+   "fieldtype": "Section Break",
+   "label": "Taxes and Charges",
+   "oldfieldtype": "Section Break",
+   "options": "icon-money",
+   "permlevel": 0,
    "print_hide": 0
-  }, 
+  },
   {
-   "description": "If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.", 
-   "fieldname": "taxes_and_charges", 
-   "fieldtype": "Link", 
-   "label": "Taxes and Charges", 
-   "no_copy": 0, 
-   "oldfieldname": "purchase_other_charges", 
-   "oldfieldtype": "Link", 
-   "options": "Purchase Taxes and Charges Master", 
-   "permlevel": 0, 
+   "description": "If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.",
+   "fieldname": "taxes_and_charges",
+   "fieldtype": "Link",
+   "label": "Taxes and Charges",
+   "no_copy": 0,
+   "oldfieldname": "purchase_other_charges",
+   "oldfieldtype": "Link",
+   "options": "Purchase Taxes and Charges Master",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "other_charges", 
-   "fieldtype": "Table", 
-   "label": "Purchase Taxes and Charges", 
-   "no_copy": 0, 
-   "oldfieldname": "purchase_tax_details", 
-   "oldfieldtype": "Table", 
-   "options": "Purchase Taxes and Charges", 
+   "fieldname": "taxes",
+   "fieldtype": "Table",
+   "label": "Purchase Taxes and Charges",
+   "no_copy": 0,
+   "oldfieldname": "purchase_tax_details",
+   "oldfieldtype": "Table",
+   "options": "Purchase Taxes and Charges",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_calculation", 
-   "fieldtype": "HTML", 
-   "label": "Taxes and Charges Calculation", 
-   "no_copy": 1, 
-   "oldfieldtype": "HTML", 
-   "permlevel": 0, 
+   "fieldname": "other_charges_calculation",
+   "fieldtype": "HTML",
+   "label": "Taxes and Charges Calculation",
+   "no_copy": 1,
+   "oldfieldtype": "HTML",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "totals", 
-   "fieldtype": "Section Break", 
-   "label": "Totals", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-money", 
+   "fieldname": "totals",
+   "fieldtype": "Section Break",
+   "label": "Totals",
+   "oldfieldtype": "Section Break",
+   "options": "icon-money",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_added", 
-   "fieldtype": "Currency", 
-   "label": "Taxes and Charges Added (Company Currency)", 
-   "no_copy": 0, 
-   "oldfieldname": "other_charges_added", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "other_charges_added",
+   "fieldtype": "Currency",
+   "label": "Taxes and Charges Added (Company Currency)",
+   "no_copy": 0,
+   "oldfieldname": "other_charges_added",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "other_charges_deducted", 
-   "fieldtype": "Currency", 
-   "label": "Taxes and Charges Deducted (Company Currency)", 
-   "no_copy": 0, 
-   "oldfieldname": "other_charges_deducted", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "other_charges_deducted",
+   "fieldtype": "Currency",
+   "label": "Taxes and Charges Deducted (Company Currency)",
+   "no_copy": 0,
+   "oldfieldname": "other_charges_deducted",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "total_tax", 
-   "fieldtype": "Currency", 
-   "label": "Total Tax (Company Currency)", 
-   "no_copy": 1, 
-   "oldfieldname": "total_tax", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "total_tax",
+   "fieldtype": "Currency",
+   "label": "Total Tax (Company Currency)",
+   "no_copy": 1,
+   "oldfieldname": "total_tax",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "grand_total", 
-   "fieldtype": "Currency", 
-   "label": "Grand Total (Company Currency)", 
-   "no_copy": 1, 
-   "oldfieldname": "grand_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "grand_total",
+   "fieldtype": "Currency",
+   "label": "Grand Total (Company Currency)",
+   "no_copy": 1,
+   "oldfieldname": "grand_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "description": "In Words will be visible once you save the Purchase Order.", 
-   "fieldname": "in_words", 
-   "fieldtype": "Data", 
-   "label": "In Words (Company Currency)", 
-   "oldfieldname": "in_words", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "description": "In Words will be visible once you save the Purchase Order.",
+   "fieldname": "in_words",
+   "fieldtype": "Data",
+   "label": "In Words (Company Currency)",
+   "oldfieldname": "in_words",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "rounded_total", 
-   "fieldtype": "Currency", 
-   "label": "Rounded Total (Company Currency)", 
-   "oldfieldname": "rounded_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "rounded_total",
+   "fieldtype": "Currency",
+   "label": "Rounded Total (Company Currency)",
+   "oldfieldname": "rounded_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "advance_paid", 
-   "fieldtype": "Currency", 
-   "label": "Advance Paid", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "advance_paid",
+   "fieldtype": "Currency",
+   "label": "Advance Paid",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "column_break4", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break4",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
    "print_hide": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_added_import", 
-   "fieldtype": "Currency", 
-   "label": "Taxes and Charges Added", 
-   "no_copy": 0, 
-   "oldfieldname": "other_charges_added_import", 
-   "oldfieldtype": "Currency", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "other_charges_added_import",
+   "fieldtype": "Currency",
+   "label": "Taxes and Charges Added",
+   "no_copy": 0,
+   "oldfieldname": "other_charges_added_import",
+   "oldfieldtype": "Currency",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "report_hide": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_deducted_import", 
-   "fieldtype": "Currency", 
-   "label": "Taxes and Charges Deducted", 
-   "no_copy": 0, 
-   "oldfieldname": "other_charges_deducted_import", 
-   "oldfieldtype": "Currency", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "other_charges_deducted_import",
+   "fieldtype": "Currency",
+   "label": "Taxes and Charges Deducted",
+   "no_copy": 0,
+   "oldfieldname": "other_charges_deducted_import",
+   "oldfieldtype": "Currency",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "report_hide": 0
-  }, 
+  },
   {
-   "fieldname": "grand_total_import", 
-   "fieldtype": "Currency", 
-   "in_list_view": 1, 
-   "label": "Grand Total", 
-   "no_copy": 0, 
-   "oldfieldname": "grand_total_import", 
-   "oldfieldtype": "Currency", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 1, 
+   "fieldname": "grand_total_import",
+   "fieldtype": "Currency",
+   "in_list_view": 1,
+   "label": "Grand Total",
+   "no_copy": 0,
+   "oldfieldname": "grand_total_import",
+   "oldfieldtype": "Currency",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 1,
    "report_hide": 0
-  }, 
+  },
   {
-   "fieldname": "in_words_import", 
-   "fieldtype": "Data", 
-   "label": "In Words", 
-   "oldfieldname": "in_words_import", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 0, 
+   "fieldname": "in_words_import",
+   "fieldtype": "Data",
+   "label": "In Words",
+   "oldfieldname": "in_words_import",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "fold", 
-   "fieldtype": "Fold", 
+   "fieldname": "fold",
+   "fieldtype": "Fold",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "terms_section_break", 
-   "fieldtype": "Section Break", 
-   "label": "Terms and Conditions", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-legal", 
+   "fieldname": "terms_section_break",
+   "fieldtype": "Section Break",
+   "label": "Terms and Conditions",
+   "oldfieldtype": "Section Break",
+   "options": "icon-legal",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "tc_name", 
-   "fieldtype": "Link", 
-   "label": "Terms", 
-   "oldfieldname": "tc_name", 
-   "oldfieldtype": "Link", 
-   "options": "Terms and Conditions", 
-   "permlevel": 0, 
+   "fieldname": "tc_name",
+   "fieldtype": "Link",
+   "label": "Terms",
+   "oldfieldname": "tc_name",
+   "oldfieldtype": "Link",
+   "options": "Terms and Conditions",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "terms", 
-   "fieldtype": "Text Editor", 
-   "label": "Terms and Conditions", 
-   "oldfieldname": "terms", 
-   "oldfieldtype": "Text Editor", 
+   "fieldname": "terms",
+   "fieldtype": "Text Editor",
+   "label": "Terms and Conditions",
+   "oldfieldname": "terms",
+   "oldfieldtype": "Text Editor",
    "permlevel": 0
-  }, 
+  },
   {
-   "depends_on": "supplier", 
-   "fieldname": "contact_section", 
-   "fieldtype": "Section Break", 
-   "label": "Contact Info", 
-   "options": "icon-bullhorn", 
+   "depends_on": "supplier",
+   "fieldname": "contact_section",
+   "fieldtype": "Section Break",
+   "label": "Contact Info",
+   "options": "icon-bullhorn",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "supplier_address", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Supplier Address", 
-   "options": "Address", 
-   "permlevel": 0, 
+   "fieldname": "supplier_address",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Supplier Address",
+   "options": "Address",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "cb_contact", 
-   "fieldtype": "Column Break", 
+   "fieldname": "cb_contact",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "contact_person", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Contact Person", 
-   "options": "Contact", 
-   "permlevel": 0, 
+   "fieldname": "contact_person",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Contact Person",
+   "options": "Contact",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "more_info", 
-   "fieldtype": "Section Break", 
-   "label": "More Info", 
-   "oldfieldtype": "Section Break", 
+   "fieldname": "more_info",
+   "fieldtype": "Section Break",
+   "label": "More Info",
+   "oldfieldtype": "Section Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "status", 
-   "fieldtype": "Select", 
-   "in_filter": 1, 
-   "label": "Status", 
-   "no_copy": 1, 
-   "oldfieldname": "status", 
-   "oldfieldtype": "Select", 
-   "options": "\nDraft\nSubmitted\nStopped\nCancelled", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
-   "reqd": 1, 
+   "fieldname": "status",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "label": "Status",
+   "no_copy": 1,
+   "oldfieldname": "status",
+   "oldfieldtype": "Select",
+   "options": "\nDraft\nSubmitted\nStopped\nCancelled",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "default": "No", 
-   "fieldname": "is_subcontracted", 
-   "fieldtype": "Select", 
-   "label": "Is Subcontracted", 
-   "options": "\nYes\nNo", 
-   "permlevel": 0, 
+   "default": "No",
+   "fieldname": "is_subcontracted",
+   "fieldtype": "Select",
+   "label": "Is Subcontracted",
+   "options": "\nYes\nNo",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "ref_sq", 
-   "fieldtype": "Data", 
-   "hidden": 1, 
-   "label": "Ref SQ", 
-   "no_copy": 1, 
-   "oldfieldname": "ref_sq", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "ref_sq",
+   "fieldtype": "Data",
+   "hidden": 1,
+   "label": "Ref SQ",
+   "no_copy": 1,
+   "oldfieldname": "ref_sq",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "letter_head", 
-   "fieldtype": "Link", 
-   "label": "Letter Head", 
-   "oldfieldname": "letter_head", 
-   "oldfieldtype": "Select", 
-   "options": "Letter Head", 
-   "permlevel": 0, 
+   "allow_on_submit": 1,
+   "fieldname": "letter_head",
+   "fieldtype": "Link",
+   "label": "Letter Head",
+   "oldfieldname": "letter_head",
+   "oldfieldtype": "Select",
+   "options": "Letter Head",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "fiscal_year", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Fiscal Year", 
-   "no_copy": 0, 
-   "oldfieldname": "fiscal_year", 
-   "oldfieldtype": "Select", 
-   "options": "Fiscal Year", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "reqd": 1, 
+   "fieldname": "fiscal_year",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Fiscal Year",
+   "no_copy": 0,
+   "oldfieldname": "fiscal_year",
+   "oldfieldtype": "Select",
+   "options": "Fiscal Year",
+   "permlevel": 0,
+   "print_hide": 1,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "select_print_heading", 
-   "fieldtype": "Link", 
-   "label": "Print Heading", 
-   "no_copy": 1, 
-   "oldfieldname": "select_print_heading", 
-   "oldfieldtype": "Link", 
-   "options": "Print Heading", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "allow_on_submit": 1,
+   "fieldname": "select_print_heading",
+   "fieldtype": "Link",
+   "label": "Print Heading",
+   "no_copy": 1,
+   "oldfieldname": "select_print_heading",
+   "oldfieldtype": "Link",
+   "options": "Print Heading",
+   "permlevel": 0,
+   "print_hide": 1,
    "report_hide": 1
-  }, 
+  },
   {
-   "fieldname": "column_break5", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "50%", 
+   "fieldname": "column_break5",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "50%",
    "width": "50%"
-  }, 
+  },
   {
-   "depends_on": "eval:!doc.__islocal", 
-   "description": "% of materials received against this Purchase Order", 
-   "fieldname": "per_received", 
-   "fieldtype": "Percent", 
-   "in_list_view": 1, 
-   "label": "% Received", 
-   "no_copy": 1, 
-   "oldfieldname": "per_received", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "depends_on": "eval:!doc.__islocal",
+   "description": "% of materials received against this Purchase Order",
+   "fieldname": "per_received",
+   "fieldtype": "Percent",
+   "in_list_view": 1,
+   "label": "% Received",
+   "no_copy": 1,
+   "oldfieldname": "per_received",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "depends_on": "eval:!doc.__islocal", 
-   "description": "% of materials billed against this Purchase Order.", 
-   "fieldname": "per_billed", 
-   "fieldtype": "Percent", 
-   "in_list_view": 1, 
-   "label": "% Billed", 
-   "no_copy": 1, 
-   "oldfieldname": "per_billed", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "depends_on": "eval:!doc.__islocal",
+   "description": "% of materials billed against this Purchase Order.",
+   "fieldname": "per_billed",
+   "fieldtype": "Percent",
+   "in_list_view": 1,
+   "label": "% Billed",
+   "no_copy": 1,
+   "oldfieldname": "per_billed",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "description": "Required raw materials issued to the supplier for producing a sub - contracted item.", 
-   "fieldname": "raw_material_details", 
-   "fieldtype": "Section Break", 
-   "label": "Raw Materials Supplied", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-truck", 
-   "permlevel": 0, 
+   "description": "Required raw materials issued to the supplier for producing a sub - contracted item.",
+   "fieldname": "raw_material_details",
+   "fieldtype": "Section Break",
+   "label": "Raw Materials Supplied",
+   "oldfieldtype": "Section Break",
+   "options": "icon-truck",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "po_raw_material_details", 
-   "fieldtype": "Table", 
-   "label": "Purchase Order Items Supplied", 
-   "no_copy": 0, 
-   "oldfieldname": "po_raw_material_details", 
-   "oldfieldtype": "Table", 
-   "options": "Purchase Order Item Supplied", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "allow_on_submit": 1,
+   "fieldname": "supplied_items",
+   "fieldtype": "Table",
+   "label": "Supplied Items",
+   "no_copy": 0,
+   "oldfieldname": "po_raw_material_details",
+   "oldfieldtype": "Table",
+   "options": "Purchase Order Item Supplied",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "recurring_order", 
-   "fieldtype": "Section Break", 
-   "label": "Recurring Order", 
-   "options": "icon-time", 
+   "fieldname": "recurring_order",
+   "fieldtype": "Section Break",
+   "label": "Recurring Order",
+   "options": "icon-time",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "column_break", 
-   "fieldtype": "Column Break", 
-   "label": "Column Break", 
+   "fieldname": "column_break",
+   "fieldtype": "Column Break",
+   "label": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "depends_on": "eval:doc.docstatus<2", 
-   "description": "Check if recurring order, uncheck to stop recurring or put proper End Date", 
-   "fieldname": "is_recurring", 
-   "fieldtype": "Check", 
-   "label": "Is Recurring", 
-   "no_copy": 1, 
-   "permlevel": 0, 
+   "allow_on_submit": 1,
+   "depends_on": "eval:doc.docstatus<2",
+   "description": "Check if recurring order, uncheck to stop recurring or put proper End Date",
+   "fieldname": "is_recurring",
+   "fieldtype": "Check",
+   "label": "Is Recurring",
+   "no_copy": 1,
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "depends_on": "eval:doc.is_recurring==1", 
-   "fieldname": "recurring_type", 
-   "fieldtype": "Select", 
-   "label": "Recurring Type", 
-   "no_copy": 1, 
-   "options": "Monthly\nQuarterly\nHalf-yearly\nYearly", 
-   "permlevel": 0
-  }, 
-  {
-   "allow_on_submit": 1, 
-   "depends_on": "eval:doc.is_recurring==1", 
-   "description": "Start date of current order's period", 
-   "fieldname": "from_date", 
-   "fieldtype": "Date", 
-   "label": "From Date", 
-   "no_copy": 1, 
-   "permlevel": 0
-  }, 
-  {
-   "allow_on_submit": 1, 
-   "depends_on": "eval:doc.is_recurring==1", 
-   "description": "End date of current order's period", 
-   "fieldname": "to_date", 
-   "fieldtype": "Date", 
-   "label": "To Date", 
-   "no_copy": 1, 
-   "permlevel": 0
-  }, 
-  {
-   "allow_on_submit": 1, 
-   "depends_on": "eval:doc.is_recurring==1", 
-   "description": "The day of the month on which auto order will be generated e.g. 05, 28 etc", 
-   "fieldname": "repeat_on_day_of_month", 
-   "fieldtype": "Int", 
-   "label": "Repeat on Day of Month", 
-   "no_copy": 1, 
-   "permlevel": 0, 
+   "allow_on_submit": 1,
+   "depends_on": "eval:doc.is_recurring==1",
+   "fieldname": "recurring_type",
+   "fieldtype": "Select",
+   "label": "Recurring Type",
+   "no_copy": 1,
+   "options": "Monthly\nQuarterly\nHalf-yearly\nYearly",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "depends_on": "eval:doc.is_recurring==1", 
-   "description": "The date on which recurring order will be stop", 
-   "fieldname": "end_date", 
-   "fieldtype": "Date", 
-   "label": "End Date", 
-   "no_copy": 1, 
-   "permlevel": 0, 
+   "allow_on_submit": 1,
+   "depends_on": "eval:doc.is_recurring==1",
+   "description": "Start date of current order's period",
+   "fieldname": "from_date",
+   "fieldtype": "Date",
+   "label": "From Date",
+   "no_copy": 1,
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "column_break83", 
-   "fieldtype": "Column Break", 
-   "label": "Column Break", 
-   "permlevel": 0, 
+   "allow_on_submit": 1,
+   "depends_on": "eval:doc.is_recurring==1",
+   "description": "End date of current order's period",
+   "fieldname": "to_date",
+   "fieldtype": "Date",
+   "label": "To Date",
+   "no_copy": 1,
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_recurring==1", 
-   "description": "The date on which next invoice will be generated. It is generated on submit.", 
-   "fieldname": "next_date", 
-   "fieldtype": "Date", 
-   "label": "Next Date", 
-   "no_copy": 1, 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "allow_on_submit": 1,
+   "depends_on": "eval:doc.is_recurring==1",
+   "description": "The day of the month on which auto order will be generated e.g. 05, 28 etc",
+   "fieldname": "repeat_on_day_of_month",
+   "fieldtype": "Int",
+   "label": "Repeat on Day of Month",
+   "no_copy": 1,
+   "permlevel": 0,
+   "print_hide": 1
+  },
+  {
+   "allow_on_submit": 1,
+   "depends_on": "eval:doc.is_recurring==1",
+   "description": "The date on which recurring order will be stop",
+   "fieldname": "end_date",
+   "fieldtype": "Date",
+   "label": "End Date",
+   "no_copy": 1,
+   "permlevel": 0,
+   "print_hide": 1
+  },
+  {
+   "fieldname": "column_break83",
+   "fieldtype": "Column Break",
+   "label": "Column Break",
+   "permlevel": 0,
+   "print_hide": 1
+  },
+  {
+   "depends_on": "eval:doc.is_recurring==1",
+   "description": "The date on which next invoice will be generated. It is generated on submit.",
+   "fieldname": "next_date",
+   "fieldtype": "Date",
+   "label": "Next Date",
+   "no_copy": 1,
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_recurring==1", 
-   "fieldname": "recurring_id", 
-   "fieldtype": "Data", 
-   "label": "Recurring Id", 
-   "no_copy": 1, 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "depends_on": "eval:doc.is_recurring==1",
+   "fieldname": "recurring_id",
+   "fieldtype": "Data",
+   "label": "Recurring Id",
+   "no_copy": 1,
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "depends_on": "eval:doc.is_recurring==1", 
-   "description": "Enter email id separated by commas, order will be mailed automatically on particular date", 
-   "fieldname": "notification_email_address", 
-   "fieldtype": "Small Text", 
-   "label": "Notification Email Address", 
-   "no_copy": 1, 
-   "permlevel": 0, 
+   "allow_on_submit": 1,
+   "depends_on": "eval:doc.is_recurring==1",
+   "description": "Enter email id separated by commas, order will be mailed automatically on particular date",
+   "fieldname": "notification_email_address",
+   "fieldtype": "Small Text",
+   "label": "Notification Email Address",
+   "no_copy": 1,
+   "permlevel": 0,
    "print_hide": 1
   }
- ], 
- "icon": "icon-file-text", 
- "idx": 1, 
- "is_submittable": 1, 
- "modified": "2014-10-08 14:23:29.718779", 
- "modified_by": "Administrator", 
- "module": "Buying", 
- "name": "Purchase Order", 
- "owner": "Administrator", 
+ ],
+ "icon": "icon-file-text",
+ "idx": 1,
+ "is_submittable": 1,
+ "modified": "2014-12-24 14:30:24.868635",
+ "modified_by": "Administrator",
+ "module": "Buying",
+ "name": "Purchase Order",
+ "owner": "Administrator",
  "permissions": [
   {
-   "amend": 0, 
-   "apply_user_permissions": 1, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 0, 
-   "permlevel": 0, 
-   "print": 0, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Material User", 
-   "submit": 0, 
+   "amend": 0,
+   "apply_user_permissions": 1,
+   "cancel": 0,
+   "create": 0,
+   "delete": 0,
+   "email": 0,
+   "permlevel": 0,
+   "print": 0,
+   "read": 1,
+   "report": 1,
+   "role": "Material User",
+   "submit": 0,
    "write": 0
-  }, 
+  },
   {
-   "amend": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Purchase Manager", 
-   "submit": 1, 
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Purchase Manager",
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "amend": 1, 
-   "apply_user_permissions": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Purchase User", 
-   "submit": 1, 
+   "amend": 1,
+   "apply_user_permissions": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Purchase User",
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "apply_user_permissions": 1, 
-   "cancel": 0, 
-   "delete": 0, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
+   "apply_user_permissions": 1,
+   "cancel": 0,
+   "delete": 0,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
    "role": "Supplier"
-  }, 
+  },
   {
-   "permlevel": 1, 
-   "read": 1, 
-   "role": "Purchase Manager", 
+   "permlevel": 1,
+   "read": 1,
+   "role": "Purchase Manager",
    "write": 1
   }
- ], 
- "read_only_onload": 1, 
- "search_fields": "status, transaction_date, supplier,grand_total", 
- "sort_field": "modified", 
+ ],
+ "read_only_onload": 1,
+ "search_fields": "status, transaction_date, supplier,grand_total",
+ "sort_field": "modified",
  "sort_order": "DESC"
-}
\ No newline at end of file
+}
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 09f303f..cf4d006 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -7,15 +7,14 @@
 from frappe import msgprint, _, throw
 from frappe.model.mapper import get_mapped_doc
 from erpnext.controllers.buying_controller import BuyingController
+from erpnext.stock.doctype.item.item import get_last_purchase_details
+
 
 form_grid_templates = {
-	"po_details": "templates/form_grid/item_grid.html"
+	"items": "templates/form_grid/item_grid.html"
 }
 
 class PurchaseOrder(BuyingController):
-	tname = 'Purchase Order Item'
-	fname = 'po_details'
-
 	def __init__(self, arg1, arg2=None):
 		super(PurchaseOrder, self).__init__(arg1, arg2)
 		self.status_updater = [{
@@ -51,10 +50,10 @@
 		self.validate_with_previous_doc()
 		self.validate_for_subcontracting()
 		self.validate_minimum_order_qty()
-		self.create_raw_materials_supplied("po_raw_material_details")
+		self.create_raw_materials_supplied("supplied_items")
 
 	def validate_with_previous_doc(self):
-		super(PurchaseOrder, self).validate_with_previous_doc(self.tname, {
+		super(PurchaseOrder, self).validate_with_previous_doc({
 			"Supplier Quotation": {
 				"ref_dn_field": "supplier_quotation",
 				"compare_fields": [["supplier", "="], ["company", "="], ["currency", "="]],
@@ -71,7 +70,7 @@
 		itemwise_min_order_qty = frappe._dict(frappe.db.sql("select name, min_order_qty from tabItem"))
 
 		itemwise_qty = frappe._dict()
-		for d in self.get("po_details"):
+		for d in self.get("items"):
 			itemwise_qty.setdefault(d.item_code, 0)
 			itemwise_qty[d.item_code] += flt(d.stock_qty)
 
@@ -80,25 +79,45 @@
 				frappe.throw(_("Item #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).").format(item_code))
 
 	def get_schedule_dates(self):
-		for d in self.get('po_details'):
+		for d in self.get('items'):
 			if d.prevdoc_detail_docname and not d.schedule_date:
 				d.schedule_date = frappe.db.get_value("Material Request Item",
 						d.prevdoc_detail_docname, "schedule_date")
 
 	def get_last_purchase_rate(self):
-		frappe.get_doc('Purchase Common').get_last_purchase_rate(self)
+		"""get last purchase rates for all items"""
+		conversion_rate = flt(self.get('conversion_rate')) or 1.0
+
+		for d in self.get("items"):
+			if d.item_code:
+				last_purchase_details = get_last_purchase_details(d.item_code, self.name)
+
+				if last_purchase_details:
+					d.base_price_list_rate = last_purchase_details['base_price_list_rate'] * (flt(d.conversion_factor) or 1.0)
+					d.discount_percentage = last_purchase_details['discount_percentage']
+					d.base_rate = last_purchase_details['base_rate'] * (flt(d.conversion_factor) or 1.0)
+					d.price_list_rate = d.base_price_list_rate / conversion_rate
+					d.rate = d.base_rate / conversion_rate
+				else:
+					# if no last purchase found, reset all values to 0
+					d.base_price_list_rate = d.base_rate = d.price_list_rate = d.rate = d.discount_percentage = 0
+
+					item_last_purchase_rate = frappe.db.get_value("Item", d.item_code, "last_purchase_rate")
+					if item_last_purchase_rate:
+						d.base_price_list_rate = d.base_rate = d.price_list_rate \
+							= d.rate = item_last_purchase_rate
 
 	# Check for Stopped status
 	def check_for_stopped_status(self, pc_obj):
 		check_list =[]
-		for d in self.get('po_details'):
+		for d in self.get('items'):
 			if d.meta.get_field('prevdoc_docname') and d.prevdoc_docname and d.prevdoc_docname not in check_list:
 				check_list.append(d.prevdoc_docname)
 				pc_obj.check_for_stopped_status( d.prevdoc_doctype, d.prevdoc_docname)
 
 	def update_requested_qty(self):
 		material_request_map = {}
-		for d in self.get("po_details"):
+		for d in self.get("items"):
 			if d.prevdoc_doctype and d.prevdoc_doctype == "Material Request" and d.prevdoc_detail_docname:
 				material_request_map.setdefault(d.prevdoc_docname, []).append(d.prevdoc_detail_docname)
 
@@ -128,7 +147,7 @@
 			bin_doc.save()
 
 		item_wh_list = []
-		for d in self.get("po_details"):
+		for d in self.get("items"):
 			if (not po_item_rows or d.name in po_item_rows) and [d.item_code, d.warehouse] not in item_wh_list \
 					and frappe.db.get_value("Item", d.item_code, "is_stock_item") == "Yes" and d.warehouse:
 				item_wh_list.append([d.item_code, d.warehouse])
@@ -241,7 +260,7 @@
 def make_purchase_invoice(source_name, target_doc=None):
 	def postprocess(source, target):
 		set_missing_values(source, target)
-		#Get the advance paid Journal Vouchers in Purchase Invoice Advance
+		#Get the advance paid Journal Entries in Purchase Invoice Advance
 		target.get_advances()
 
 	def update_item(obj, target, source_parent):
diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py
index e67d320..93a60b8 100644
--- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py
@@ -23,7 +23,7 @@
 		pr.supplier_warehouse = "_Test Warehouse 1 - _TC"
 		pr.posting_date = "2013-05-12"
 		self.assertEquals(pr.doctype, "Purchase Receipt")
-		self.assertEquals(len(pr.get("purchase_receipt_details")), len(test_records[0]["po_details"]))
+		self.assertEquals(len(pr.get("items")), len(test_records[0]["items"]))
 
 		pr.naming_series = "_T-Purchase Receipt-"
 		frappe.get_doc(pr).insert()
@@ -38,7 +38,7 @@
 
 		po = frappe.get_doc("Purchase Order", po.name)
 		po.is_subcontracted = "No"
-		po.get("po_details")[0].item_code = "_Test Item"
+		po.get("items")[0].item_code = "_Test Item"
 		po.submit()
 
 		self.assertEquals(self._get_ordered_qty("_Test Item", "_Test Warehouse - _TC"), existing_ordered_qty + 10)
@@ -46,15 +46,15 @@
 		pr = make_purchase_receipt(po.name)
 
 		self.assertEquals(pr.doctype, "Purchase Receipt")
-		self.assertEquals(len(pr.get("purchase_receipt_details", [])), len(test_records[0]["po_details"]))
+		self.assertEquals(len(pr.get("items", [])), len(test_records[0]["items"]))
 		pr.posting_date = "2013-05-12"
 		pr.naming_series = "_T-Purchase Receipt-"
-		pr.purchase_receipt_details[0].qty = 4.0
+		pr.items[0].qty = 4.0
 		pr.insert()
 		pr.submit()
 
 		po.load_from_db()
-		self.assertEquals(po.get("po_details")[0].received_qty, 4)
+		self.assertEquals(po.get("items")[0].received_qty, 4)
 		self.assertEquals(self._get_ordered_qty("_Test Item", "_Test Warehouse - _TC"), existing_ordered_qty + 6)
 
 		frappe.db.set_value('Item', '_Test Item', 'tolerance', 50)
@@ -62,19 +62,19 @@
 		pr1 = make_purchase_receipt(po.name)
 		pr1.naming_series = "_T-Purchase Receipt-"
 		pr1.posting_date = "2013-05-12"
-		pr1.get("purchase_receipt_details")[0].qty = 8
+		pr1.get("items")[0].qty = 8
 		pr1.insert()
 		pr1.submit()
 
 		po.load_from_db()
-		self.assertEquals(po.get("po_details")[0].received_qty, 12)
+		self.assertEquals(po.get("items")[0].received_qty, 12)
 		self.assertEquals(self._get_ordered_qty("_Test Item", "_Test Warehouse - _TC"), existing_ordered_qty)
 
 		pr1.load_from_db()
 		pr1.cancel()
 
 		po.load_from_db()
-		self.assertEquals(po.get("po_details")[0].received_qty, 4)
+		self.assertEquals(po.get("items")[0].received_qty, 4)
 		self.assertEquals(self._get_ordered_qty("_Test Item", "_Test Warehouse - _TC"), existing_ordered_qty + 6)
 
 	def test_make_purchase_invoice(self):
@@ -90,7 +90,7 @@
 		pi = make_purchase_invoice(po.name)
 
 		self.assertEquals(pi.doctype, "Purchase Invoice")
-		self.assertEquals(len(pi.get("entries", [])), len(test_records[0]["po_details"]))
+		self.assertEquals(len(pi.get("items", [])), len(test_records[0]["items"]))
 
 		pi.credit_to = "_Test Payable - _TC"
 		pi.posting_date = "2013-05-12"
@@ -100,7 +100,7 @@
 	def test_subcontracting(self):
 		po = frappe.copy_doc(test_records[0])
 		po.insert()
-		self.assertEquals(len(po.get("po_raw_material_details")), 2)
+		self.assertEquals(len(po.get("supplied_items")), 2)
 
 	def test_warehouse_company_validation(self):
 		from erpnext.stock.utils import InvalidWarehouseCompany
@@ -112,7 +112,7 @@
 	def test_uom_integer_validation(self):
 		from erpnext.utilities.transaction_base import UOMMustBeIntegerError
 		po = frappe.copy_doc(test_records[0])
-		po.get("po_details")[0].qty = 3.4
+		po.get("items")[0].qty = 3.4
 		self.assertRaises(UOMMustBeIntegerError, po.insert)
 
 	def test_recurring_order(self):
diff --git a/erpnext/buying/doctype/purchase_order/test_records.json b/erpnext/buying/doctype/purchase_order/test_records.json
index 6b89bdc..2b329af 100644
--- a/erpnext/buying/doctype/purchase_order/test_records.json
+++ b/erpnext/buying/doctype/purchase_order/test_records.json
@@ -12,7 +12,7 @@
   "is_subcontracted": "Yes", 
   "naming_series": "_T-Purchase Order-", 
   "net_total": 5000.0, 
-  "po_details": [
+  "items": [
    {
     "base_amount": 5000.0, 
     "conversion_factor": 1.0, 
@@ -20,7 +20,7 @@
     "doctype": "Purchase Order Item", 
     "item_code": "_Test FG Item", 
     "item_name": "_Test FG Item", 
-    "parentfield": "po_details", 
+    "parentfield": "items", 
     "qty": 10.0, 
     "rate": 500.0, 
     "schedule_date": "2013-03-01", 
@@ -46,7 +46,7 @@
   "is_subcontracted": "No", 
   "naming_series": "_T-Purchase Order-", 
   "net_total": 5000.0, 
-  "po_details": [
+  "items": [
    {
     "base_amount": 5000.0, 
     "conversion_factor": 1.0, 
@@ -54,7 +54,7 @@
     "doctype": "Purchase Order Item", 
     "item_code": "_Test Item", 
     "item_name": "_Test Item", 
-    "parentfield": "po_details", 
+    "parentfield": "items", 
     "qty": 10.0, 
     "rate": 500.0, 
     "schedule_date": "2013-03-01", 
diff --git a/erpnext/buying/doctype/quality_inspection/quality_inspection.json b/erpnext/buying/doctype/quality_inspection/quality_inspection.json
index 3e05b31..ae2722b 100644
--- a/erpnext/buying/doctype/quality_inspection/quality_inspection.json
+++ b/erpnext/buying/doctype/quality_inspection/quality_inspection.json
@@ -195,9 +195,9 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "qa_specification_details", 
+   "fieldname": "readings", 
    "fieldtype": "Table", 
-   "label": "Quality Inspection Readings", 
+   "label": "Readings", 
    "oldfieldname": "qa_specification_details", 
    "oldfieldtype": "Table", 
    "options": "Quality Inspection Reading", 
@@ -207,7 +207,7 @@
  "icon": "icon-search", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-06-23 07:55:51.183113", 
+ "modified": "2014-12-24 16:37:43.755107", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Quality Inspection", 
diff --git a/erpnext/buying/doctype/quality_inspection/quality_inspection.py b/erpnext/buying/doctype/quality_inspection/quality_inspection.py
index 216d165..a9b157c 100644
--- a/erpnext/buying/doctype/quality_inspection/quality_inspection.py
+++ b/erpnext/buying/doctype/quality_inspection/quality_inspection.py
@@ -9,7 +9,7 @@
 
 class QualityInspection(Document):
 	def get_item_specification_details(self):
-		self.set('qa_specification_details', [])
+		self.set('readings', [])
 		variant_of = frappe.db.get_query("Item", self.item_code, "variant_of")
 		if variant_of:
 			specification = frappe.db.sql("select specification, value from `tabItem Quality Inspection Parameter` \
@@ -18,7 +18,7 @@
 			specification = frappe.db.sql("select specification, value from `tabItem Quality Inspection Parameter` \
 				where parent = %s order by idx", self.item_code)
 		for d in specification:
-			child = self.append('qa_specification_details', {})
+			child = self.append('readings', {})
 			child.specification = d[0]
 			child.value = d[1]
 			child.status = 'Accepted'
diff --git a/erpnext/buying/doctype/quality_inspection/test_quality_inspection.py b/erpnext/buying/doctype/quality_inspection/test_quality_inspection.py
new file mode 100644
index 0000000..91aff3b
--- /dev/null
+++ b/erpnext/buying/doctype/quality_inspection/test_quality_inspection.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and Contributors
+# See license.txt
+
+import frappe
+import unittest
+
+test_records = frappe.get_test_records('Quality Inspection')
+
+class TestQualityInspection(unittest.TestCase):
+	pass
diff --git a/erpnext/buying/doctype/quality_inspection/test_records.json b/erpnext/buying/doctype/quality_inspection/test_records.json
new file mode 100644
index 0000000..5d8c0a0
--- /dev/null
+++ b/erpnext/buying/doctype/quality_inspection/test_records.json
@@ -0,0 +1,6 @@
+[
+	{
+		"doctype": "Quality Inspection",
+		"name": "_Test Quality Inspection 1"
+	}
+]
diff --git a/erpnext/buying/doctype/supplier/supplier.js b/erpnext/buying/doctype/supplier/supplier.js
index e9b5812..f233a79 100644
--- a/erpnext/buying/doctype/supplier/supplier.js
+++ b/erpnext/buying/doctype/supplier/supplier.js
@@ -59,7 +59,7 @@
 	}
 }
 
-cur_frm.fields_dict['party_accounts'].grid.get_field('account').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['accounts'].grid.get_field('account').get_query = function(doc, cdt, cdn) {
 	var d  = locals[cdt][cdn];
 	return {
 		filters: {
diff --git a/erpnext/buying/doctype/supplier/supplier.json b/erpnext/buying/doctype/supplier/supplier.json
index 9372d7b..d7c3b41 100644
--- a/erpnext/buying/doctype/supplier/supplier.json
+++ b/erpnext/buying/doctype/supplier/supplier.json
@@ -1,257 +1,257 @@
 {
- "allow_import": 1,
- "allow_rename": 1,
- "autoname": "naming_series:",
- "creation": "2013-01-10 16:34:11",
- "description": "Supplier of Goods or Services.",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Master",
+ "allow_import": 1, 
+ "allow_rename": 1, 
+ "autoname": "naming_series:", 
+ "creation": "2013-01-10 16:34:11", 
+ "description": "Supplier of Goods or Services.", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "Master", 
  "fields": [
   {
-   "fieldname": "basic_info",
-   "fieldtype": "Section Break",
-   "label": "Basic Info",
-   "oldfieldtype": "Section Break",
-   "options": "icon-user",
+   "fieldname": "basic_info", 
+   "fieldtype": "Section Break", 
+   "label": "Basic Info", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-user", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "naming_series",
-   "fieldtype": "Select",
-   "label": "Series",
-   "no_copy": 1,
-   "oldfieldname": "naming_series",
-   "oldfieldtype": "Select",
-   "options": "SUPP-",
+   "fieldname": "naming_series", 
+   "fieldtype": "Select", 
+   "label": "Series", 
+   "no_copy": 1, 
+   "oldfieldname": "naming_series", 
+   "oldfieldtype": "Select", 
+   "options": "SUPP-", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "supplier_name",
-   "fieldtype": "Data",
-   "in_list_view": 1,
-   "label": "Supplier Name",
-   "no_copy": 1,
-   "oldfieldname": "supplier_name",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
+   "fieldname": "supplier_name", 
+   "fieldtype": "Data", 
+   "in_list_view": 1, 
+   "label": "Supplier Name", 
+   "no_copy": 1, 
+   "oldfieldname": "supplier_name", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "column_break0",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break0", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "supplier_type",
-   "fieldtype": "Link",
-   "in_list_view": 1,
-   "label": "Supplier Type",
-   "oldfieldname": "supplier_type",
-   "oldfieldtype": "Link",
-   "options": "Supplier Type",
-   "permlevel": 0,
+   "fieldname": "supplier_type", 
+   "fieldtype": "Link", 
+   "in_list_view": 1, 
+   "label": "Supplier Type", 
+   "oldfieldname": "supplier_type", 
+   "oldfieldtype": "Link", 
+   "options": "Supplier Type", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "depends_on": "eval:!doc.__islocal",
-   "fieldname": "address_contacts",
-   "fieldtype": "Section Break",
-   "label": "Address & Contacts",
-   "oldfieldtype": "Column Break",
-   "options": "icon-map-marker",
+   "depends_on": "eval:!doc.__islocal", 
+   "fieldname": "address_contacts", 
+   "fieldtype": "Section Break", 
+   "label": "Address & Contacts", 
+   "oldfieldtype": "Column Break", 
+   "options": "icon-map-marker", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "address_html",
-   "fieldtype": "HTML",
-   "label": "Address HTML",
-   "permlevel": 0,
+   "fieldname": "address_html", 
+   "fieldtype": "HTML", 
+   "label": "Address HTML", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "column_break1",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break1", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "contact_html",
-   "fieldtype": "HTML",
-   "label": "Contact HTML",
-   "permlevel": 0,
+   "fieldname": "contact_html", 
+   "fieldtype": "HTML", 
+   "label": "Contact HTML", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "default_payable_accounts",
-   "fieldtype": "Section Break",
-   "label": "Default Payable Accounts",
+   "fieldname": "default_payable_accounts", 
+   "fieldtype": "Section Break", 
+   "label": "Default Payable Accounts", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "party_accounts",
-   "fieldtype": "Table",
-   "label": "Party Accounts",
-   "options": "Party Account",
+   "fieldname": "accounts", 
+   "fieldtype": "Table", 
+   "label": "Accounts", 
+   "options": "Party Account", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "more_info",
-   "fieldtype": "Section Break",
-   "label": "More Info",
-   "oldfieldtype": "Section Break",
-   "options": "icon-file-text",
+   "fieldname": "more_info", 
+   "fieldtype": "Section Break", 
+   "label": "More Info", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-file-text", 
    "permlevel": 0
-  },
+  }, 
   {
-   "description": "Enter the company name under which Account Head will be created for this Supplier",
-   "fieldname": "company",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "label": "Company",
-   "oldfieldname": "company",
-   "oldfieldtype": "Link",
-   "options": "Company",
-   "permlevel": 0,
-   "reqd": 1,
+   "description": "Enter the company name under which Account Head will be created for this Supplier", 
+   "fieldname": "company", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "label": "Company", 
+   "oldfieldname": "company", 
+   "oldfieldtype": "Link", 
+   "options": "Company", 
+   "permlevel": 0, 
+   "reqd": 1, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "default_currency",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Default Currency",
-   "no_copy": 1,
-   "options": "Currency",
+   "fieldname": "default_currency", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Default Currency", 
+   "no_copy": 1, 
+   "options": "Currency", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "default_price_list",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Price List",
-   "options": "Price List",
+   "fieldname": "default_price_list", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Price List", 
+   "options": "Price List", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "default_taxes_and_charges",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Taxes and Charges",
-   "options": "Purchase Taxes and Charges Master",
+   "fieldname": "default_taxes_and_charges", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Taxes and Charges", 
+   "options": "Purchase Taxes and Charges Master", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "credit_days",
-   "fieldtype": "Int",
-   "label": "Credit Days",
+   "fieldname": "credit_days", 
+   "fieldtype": "Int", 
+   "label": "Credit Days", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break2",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break2", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "website",
-   "fieldtype": "Data",
-   "label": "Website",
-   "oldfieldname": "website",
-   "oldfieldtype": "Data",
+   "fieldname": "website", 
+   "fieldtype": "Data", 
+   "label": "Website", 
+   "oldfieldname": "website", 
+   "oldfieldtype": "Data", 
    "permlevel": 0
-  },
+  }, 
   {
-   "description": "Statutory info and other general information about your Supplier",
-   "fieldname": "supplier_details",
-   "fieldtype": "Text",
-   "label": "Supplier Details",
-   "oldfieldname": "supplier_details",
-   "oldfieldtype": "Code",
+   "description": "Statutory info and other general information about your Supplier", 
+   "fieldname": "supplier_details", 
+   "fieldtype": "Text", 
+   "label": "Supplier Details", 
+   "oldfieldname": "supplier_details", 
+   "oldfieldtype": "Code", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "communications",
-   "fieldtype": "Table",
-   "hidden": 1,
-   "label": "Communications",
-   "options": "Communication",
-   "permlevel": 0,
+   "fieldname": "communications", 
+   "fieldtype": "Table", 
+   "hidden": 1, 
+   "label": "Communications", 
+   "options": "Communication", 
+   "permlevel": 0, 
    "print_hide": 1
   }
- ],
- "icon": "icon-user",
- "idx": 1,
- "modified": "2014-09-11 17:53:09.286715",
- "modified_by": "Administrator",
- "module": "Buying",
- "name": "Supplier",
- "owner": "Administrator",
+ ], 
+ "icon": "icon-user", 
+ "idx": 1, 
+ "modified": "2014-12-24 16:23:47.943887", 
+ "modified_by": "Administrator", 
+ "module": "Buying", 
+ "name": "Supplier", 
+ "owner": "Administrator", 
  "permissions": [
   {
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
    "role": "Purchase User"
-  },
+  }, 
   {
-   "amend": 0,
-   "create": 0,
-   "delete": 0,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Purchase Manager",
-   "submit": 0,
+   "amend": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Purchase Manager", 
+   "submit": 0, 
    "write": 0
-  },
+  }, 
   {
-   "amend": 0,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Purchase Master Manager",
-   "submit": 0,
+   "amend": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Purchase Master Manager", 
+   "submit": 0, 
    "write": 1
-  },
+  }, 
   {
-   "apply_user_permissions": 1,
-   "permlevel": 0,
-   "read": 1,
+   "apply_user_permissions": 1, 
+   "permlevel": 0, 
+   "read": 1, 
    "role": "Material User"
-  },
+  }, 
   {
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
    "role": "Material Manager"
-  },
+  }, 
   {
-   "apply_user_permissions": 1,
-   "permlevel": 0,
-   "read": 1,
+   "apply_user_permissions": 1, 
+   "permlevel": 0, 
+   "read": 1, 
    "role": "Accounts User"
-  },
+  }, 
   {
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
    "role": "Accounts Manager"
   }
- ],
- "search_fields": "supplier_name,supplier_type",
+ ], 
+ "search_fields": "supplier_name,supplier_type", 
  "title_field": "supplier_name"
-}
+}
\ No newline at end of file
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
index dda0632..9c2bbed 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
@@ -1,11 +1,6 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-// define defaults for purchase common
-cur_frm.cscript.tname = "Supplier Quotation Item";
-cur_frm.cscript.fname = "quotation_items";
-cur_frm.cscript.other_fname = "other_charges";
-
 // attach required files
 {% include 'buying/doctype/purchase_common/purchase_common.js' %};
 {% include 'accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js' %}
@@ -16,7 +11,7 @@
 
 		if (this.frm.doc.docstatus === 1) {
 			cur_frm.add_custom_button(__("Make Purchase Order"), this.make_purchase_order,
-				frappe.boot.doctype_icons["Journal Voucher"]);
+				frappe.boot.doctype_icons["Journal Entry"]);
 		}
 		else if (this.frm.doc.docstatus===0) {
 			cur_frm.add_custom_button(__('From Material Request'),
@@ -51,7 +46,7 @@
 	// no need to trigger updation of stock uom, as this field doesn't exist in supplier quotation
 }
 
-cur_frm.fields_dict['quotation_items'].grid.get_field('project_name').get_query =
+cur_frm.fields_dict['items'].grid.get_field('project_name').get_query =
 	function(doc, cdt, cdn) {
 		return{
 			filters:[
@@ -70,4 +65,4 @@
 	return {
 		filters:{'supplier': doc.supplier}
 	}
-}
\ No newline at end of file
+}
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
index 9f3f2fc..f1fa8ae 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
@@ -1,668 +1,668 @@
 {
- "allow_import": 1, 
- "autoname": "naming_series:", 
- "creation": "2013-05-21 16:16:45", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Transaction", 
+ "allow_import": 1,
+ "autoname": "naming_series:",
+ "creation": "2013-05-21 16:16:45",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Transaction",
  "fields": [
   {
-   "fieldname": "supplier_section", 
-   "fieldtype": "Section Break", 
-   "label": "Supplier", 
-   "options": "icon-user", 
+   "fieldname": "supplier_section",
+   "fieldtype": "Section Break",
+   "label": "Supplier",
+   "options": "icon-user",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "naming_series", 
-   "fieldtype": "Select", 
-   "label": "Series", 
-   "no_copy": 1, 
-   "oldfieldname": "naming_series", 
-   "oldfieldtype": "Select", 
-   "options": "SQTN-", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "naming_series",
+   "fieldtype": "Select",
+   "label": "Series",
+   "no_copy": 1,
+   "oldfieldname": "naming_series",
+   "oldfieldtype": "Select",
+   "options": "SQTN-",
+   "permlevel": 0,
+   "print_hide": 1,
    "reqd": 1
-  }, 
+  },
   {
-   "description": "Supplier (vendor) name as entered in supplier master", 
-   "fieldname": "supplier", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Supplier", 
-   "oldfieldname": "supplier", 
-   "oldfieldtype": "Link", 
-   "options": "Supplier", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "reqd": 1, 
+   "description": "Supplier (vendor) name as entered in supplier master",
+   "fieldname": "supplier",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Supplier",
+   "oldfieldname": "supplier",
+   "oldfieldtype": "Link",
+   "options": "Supplier",
+   "permlevel": 0,
+   "print_hide": 1,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "supplier_name", 
-   "fieldtype": "Data", 
-   "hidden": 0, 
-   "in_list_view": 1, 
-   "label": "Name", 
-   "permlevel": 0, 
+   "fieldname": "supplier_name",
+   "fieldtype": "Data",
+   "hidden": 0,
+   "in_list_view": 1,
+   "label": "Name",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "address_display", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Address", 
-   "permlevel": 0, 
+   "fieldname": "address_display",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Address",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "contact_display", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Contact", 
-   "permlevel": 0, 
+   "fieldname": "contact_display",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Contact",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "contact_mobile", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Mobile No", 
-   "permlevel": 0, 
+   "fieldname": "contact_mobile",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Mobile No",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "contact_email", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Contact Email", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "contact_email",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Contact Email",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "column_break1", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_width": "50%", 
+   "fieldname": "column_break1",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "print_hide": 0,
+   "print_width": "50%",
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "transaction_date", 
-   "fieldtype": "Date", 
-   "in_filter": 1, 
-   "label": "Date", 
-   "oldfieldname": "transaction_date", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
-   "reqd": 1, 
+   "fieldname": "transaction_date",
+   "fieldtype": "Date",
+   "in_filter": 1,
+   "label": "Date",
+   "oldfieldname": "transaction_date",
+   "oldfieldtype": "Date",
+   "permlevel": 0,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "amended_from", 
-   "fieldtype": "Link", 
-   "hidden": 1, 
-   "ignore_user_permissions": 1, 
-   "label": "Amended From", 
-   "no_copy": 1, 
-   "oldfieldname": "amended_from", 
-   "oldfieldtype": "Data", 
-   "options": "Supplier Quotation", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "hidden": 1,
+   "ignore_user_permissions": 1,
+   "label": "Amended From",
+   "no_copy": 1,
+   "oldfieldname": "amended_from",
+   "oldfieldtype": "Data",
+   "options": "Supplier Quotation",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "report_hide": 0
-  }, 
+  },
   {
-   "description": "Select the relevant company name if you have multiple companies", 
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Company", 
-   "no_copy": 0, 
-   "oldfieldname": "company", 
-   "oldfieldtype": "Link", 
-   "options": "Company", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "reqd": 1, 
+   "description": "Select the relevant company name if you have multiple companies",
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Company",
+   "no_copy": 0,
+   "oldfieldname": "company",
+   "oldfieldtype": "Link",
+   "options": "Company",
+   "permlevel": 0,
+   "print_hide": 1,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "currency_price_list", 
-   "fieldtype": "Section Break", 
-   "label": "Currency and Price List", 
-   "options": "icon-tag", 
+   "fieldname": "currency_price_list",
+   "fieldtype": "Section Break",
+   "label": "Currency and Price List",
+   "options": "icon-tag",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "currency", 
-   "fieldtype": "Link", 
-   "label": "Currency", 
-   "no_copy": 0, 
-   "oldfieldname": "currency", 
-   "oldfieldtype": "Select", 
-   "options": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "no_copy": 0,
+   "oldfieldname": "currency",
+   "oldfieldtype": "Select",
+   "options": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "reqd": 1
-  }, 
+  },
   {
-   "description": "Rate at which supplier's currency is converted to company's base currency", 
-   "fieldname": "conversion_rate", 
-   "fieldtype": "Float", 
-   "hidden": 0, 
-   "label": "Exchange Rate", 
-   "no_copy": 1, 
-   "oldfieldname": "conversion_rate", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "description": "Rate at which supplier's currency is converted to company's base currency",
+   "fieldname": "conversion_rate",
+   "fieldtype": "Float",
+   "hidden": 0,
+   "label": "Exchange Rate",
+   "no_copy": 0,
+   "oldfieldname": "conversion_rate",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "cb_price_list", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
-   "print_width": "50%", 
+   "fieldname": "cb_price_list",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
+   "print_width": "50%",
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "buying_price_list", 
-   "fieldtype": "Link", 
-   "label": "Price List", 
-   "options": "Price List", 
-   "permlevel": 0, 
+   "fieldname": "buying_price_list",
+   "fieldtype": "Link",
+   "label": "Price List",
+   "options": "Price List",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "depends_on": "buying_price_list", 
-   "fieldname": "price_list_currency", 
-   "fieldtype": "Link", 
-   "label": "Price List Currency", 
-   "options": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "depends_on": "buying_price_list",
+   "fieldname": "price_list_currency",
+   "fieldtype": "Link",
+   "label": "Price List Currency",
+   "options": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "depends_on": "buying_price_list", 
-   "fieldname": "plc_conversion_rate", 
-   "fieldtype": "Float", 
-   "label": "Price List Exchange Rate", 
-   "permlevel": 0, 
+   "depends_on": "buying_price_list",
+   "fieldname": "plc_conversion_rate",
+   "fieldtype": "Float",
+   "label": "Price List Exchange Rate",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "ignore_pricing_rule", 
-   "fieldtype": "Check", 
-   "label": "Ignore Pricing Rule", 
-   "no_copy": 1, 
-   "permlevel": 1, 
+   "fieldname": "ignore_pricing_rule",
+   "fieldtype": "Check",
+   "label": "Ignore Pricing Rule",
+   "no_copy": 1,
+   "permlevel": 1,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "items", 
-   "fieldtype": "Section Break", 
-   "label": "Items", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-shopping-cart", 
+   "fieldname": "items_section",
+   "fieldtype": "Section Break",
+   "label": "Items",
+   "oldfieldtype": "Section Break",
+   "options": "icon-shopping-cart",
    "permlevel": 0
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "quotation_items", 
-   "fieldtype": "Table", 
-   "label": "Quotation Items", 
-   "no_copy": 0, 
-   "oldfieldname": "po_details", 
-   "oldfieldtype": "Table", 
-   "options": "Supplier Quotation Item", 
+   "allow_on_submit": 1,
+   "fieldname": "items",
+   "fieldtype": "Table",
+   "label": "Items",
+   "no_copy": 0,
+   "oldfieldname": "po_details",
+   "oldfieldtype": "Table",
+   "options": "Supplier Quotation Item",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "section_break_22", 
-   "fieldtype": "Section Break", 
+   "fieldname": "section_break_22",
+   "fieldtype": "Section Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "net_total", 
-   "fieldtype": "Currency", 
-   "label": "Net Total (Company Currency)", 
-   "no_copy": 1, 
-   "oldfieldname": "net_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "net_total",
+   "fieldtype": "Currency",
+   "label": "Net Total (Company Currency)",
+   "no_copy": 1,
+   "oldfieldname": "net_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "reqd": 0
-  }, 
+  },
   {
-   "fieldname": "column_break_24", 
-   "fieldtype": "Column Break", 
+   "fieldname": "column_break_24",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "net_total_import", 
-   "fieldtype": "Currency", 
-   "label": "Net Total", 
-   "no_copy": 0, 
-   "oldfieldname": "net_total_import", 
-   "oldfieldtype": "Currency", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 0, 
+   "fieldname": "net_total_import",
+   "fieldtype": "Currency",
+   "label": "Net Total",
+   "no_copy": 0,
+   "oldfieldname": "net_total_import",
+   "oldfieldtype": "Currency",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "taxes", 
-   "fieldtype": "Section Break", 
-   "label": "Taxes and Charges", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-money", 
+   "fieldname": "taxes_section",
+   "fieldtype": "Section Break",
+   "label": "Taxes and Charges",
+   "oldfieldtype": "Section Break",
+   "options": "icon-money",
    "permlevel": 0
-  }, 
+  },
   {
-   "description": "If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.", 
-   "fieldname": "taxes_and_charges", 
-   "fieldtype": "Link", 
-   "label": "Taxes and Charges", 
-   "no_copy": 1, 
-   "oldfieldname": "purchase_other_charges", 
-   "oldfieldtype": "Link", 
-   "options": "Purchase Taxes and Charges Master", 
-   "permlevel": 0, 
+   "description": "If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.",
+   "fieldname": "taxes_and_charges",
+   "fieldtype": "Link",
+   "label": "Taxes and Charges",
+   "no_copy": 1,
+   "oldfieldname": "purchase_other_charges",
+   "oldfieldtype": "Link",
+   "options": "Purchase Taxes and Charges Master",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "other_charges", 
-   "fieldtype": "Table", 
-   "label": "Purchase Taxes and Charges", 
-   "no_copy": 0, 
-   "oldfieldname": "purchase_tax_details", 
-   "oldfieldtype": "Table", 
-   "options": "Purchase Taxes and Charges", 
+   "fieldname": "taxes",
+   "fieldtype": "Table",
+   "label": "Purchase Taxes and Charges",
+   "no_copy": 0,
+   "oldfieldname": "purchase_tax_details",
+   "oldfieldtype": "Table",
+   "options": "Purchase Taxes and Charges",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_calculation", 
-   "fieldtype": "HTML", 
-   "label": "Taxes and Charges Calculation", 
-   "no_copy": 1, 
-   "oldfieldtype": "HTML", 
-   "permlevel": 0, 
+   "fieldname": "other_charges_calculation",
+   "fieldtype": "HTML",
+   "label": "Taxes and Charges Calculation",
+   "no_copy": 1,
+   "oldfieldtype": "HTML",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "totals", 
-   "fieldtype": "Section Break", 
-   "label": "Totals", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-money", 
+   "fieldname": "totals",
+   "fieldtype": "Section Break",
+   "label": "Totals",
+   "oldfieldtype": "Section Break",
+   "options": "icon-money",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_added", 
-   "fieldtype": "Currency", 
-   "label": "Taxes and Charges Added (Company Currency)", 
-   "no_copy": 0, 
-   "oldfieldname": "other_charges_added", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "other_charges_added",
+   "fieldtype": "Currency",
+   "label": "Taxes and Charges Added (Company Currency)",
+   "no_copy": 0,
+   "oldfieldname": "other_charges_added",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "other_charges_deducted", 
-   "fieldtype": "Currency", 
-   "label": "Taxes and Charges Deducted (Company Currency)", 
-   "no_copy": 0, 
-   "oldfieldname": "other_charges_deducted", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "other_charges_deducted",
+   "fieldtype": "Currency",
+   "label": "Taxes and Charges Deducted (Company Currency)",
+   "no_copy": 0,
+   "oldfieldname": "other_charges_deducted",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "total_tax", 
-   "fieldtype": "Currency", 
-   "label": "Total Tax (Company Currency)", 
-   "no_copy": 1, 
-   "oldfieldname": "total_tax", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "total_tax",
+   "fieldtype": "Currency",
+   "label": "Total Tax (Company Currency)",
+   "no_copy": 1,
+   "oldfieldname": "total_tax",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "grand_total", 
-   "fieldtype": "Currency", 
-   "label": "Grand Total (Company Currency)", 
-   "no_copy": 1, 
-   "oldfieldname": "grand_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "grand_total",
+   "fieldtype": "Currency",
+   "label": "Grand Total (Company Currency)",
+   "no_copy": 1,
+   "oldfieldname": "grand_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "rounded_total", 
-   "fieldtype": "Currency", 
-   "label": "Rounded Total (Company Currency)", 
-   "oldfieldname": "rounded_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "rounded_total",
+   "fieldtype": "Currency",
+   "label": "Rounded Total (Company Currency)",
+   "oldfieldname": "rounded_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "description": "In Words will be visible once you save the Purchase Order.", 
-   "fieldname": "in_words", 
-   "fieldtype": "Data", 
-   "label": "In Words (Company Currency)", 
-   "oldfieldname": "in_words", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "description": "In Words will be visible once you save the Purchase Order.",
+   "fieldname": "in_words",
+   "fieldtype": "Data",
+   "label": "In Words (Company Currency)",
+   "oldfieldname": "in_words",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "column_break4", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break4",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
    "print_hide": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_added_import", 
-   "fieldtype": "Currency", 
-   "label": "Taxes and Charges Added", 
-   "no_copy": 0, 
-   "oldfieldname": "other_charges_added_import", 
-   "oldfieldtype": "Currency", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "other_charges_added_import",
+   "fieldtype": "Currency",
+   "label": "Taxes and Charges Added",
+   "no_copy": 0,
+   "oldfieldname": "other_charges_added_import",
+   "oldfieldtype": "Currency",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "report_hide": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_deducted_import", 
-   "fieldtype": "Currency", 
-   "label": "Taxes and Charges Deducted", 
-   "no_copy": 0, 
-   "oldfieldname": "other_charges_deducted_import", 
-   "oldfieldtype": "Currency", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "other_charges_deducted_import",
+   "fieldtype": "Currency",
+   "label": "Taxes and Charges Deducted",
+   "no_copy": 0,
+   "oldfieldname": "other_charges_deducted_import",
+   "oldfieldtype": "Currency",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "report_hide": 0
-  }, 
+  },
   {
-   "fieldname": "grand_total_import", 
-   "fieldtype": "Currency", 
-   "in_list_view": 1, 
-   "label": "Grand Total", 
-   "no_copy": 0, 
-   "oldfieldname": "grand_total_import", 
-   "oldfieldtype": "Currency", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 1, 
+   "fieldname": "grand_total_import",
+   "fieldtype": "Currency",
+   "in_list_view": 1,
+   "label": "Grand Total",
+   "no_copy": 0,
+   "oldfieldname": "grand_total_import",
+   "oldfieldtype": "Currency",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 1,
    "report_hide": 0
-  }, 
+  },
   {
-   "fieldname": "in_words_import", 
-   "fieldtype": "Data", 
-   "label": "In Words", 
-   "oldfieldname": "in_words_import", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 0, 
+   "fieldname": "in_words_import",
+   "fieldtype": "Data",
+   "label": "In Words",
+   "oldfieldname": "in_words_import",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "fold", 
-   "fieldtype": "Fold", 
+   "fieldname": "fold",
+   "fieldtype": "Fold",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "terms_section_break", 
-   "fieldtype": "Section Break", 
-   "label": "Terms and Conditions", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-legal", 
+   "fieldname": "terms_section_break",
+   "fieldtype": "Section Break",
+   "label": "Terms and Conditions",
+   "oldfieldtype": "Section Break",
+   "options": "icon-legal",
    "permlevel": 0
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "letter_head", 
-   "fieldtype": "Link", 
-   "label": "Letter Head", 
-   "oldfieldname": "letter_head", 
-   "oldfieldtype": "Select", 
-   "options": "Letter Head", 
-   "permlevel": 0, 
+   "allow_on_submit": 1,
+   "fieldname": "letter_head",
+   "fieldtype": "Link",
+   "label": "Letter Head",
+   "oldfieldname": "letter_head",
+   "oldfieldtype": "Select",
+   "options": "Letter Head",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "tc_name", 
-   "fieldtype": "Link", 
-   "label": "Terms", 
-   "oldfieldname": "tc_name", 
-   "oldfieldtype": "Link", 
-   "options": "Terms and Conditions", 
-   "permlevel": 0, 
+   "fieldname": "tc_name",
+   "fieldtype": "Link",
+   "label": "Terms",
+   "oldfieldname": "tc_name",
+   "oldfieldtype": "Link",
+   "options": "Terms and Conditions",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "get_terms", 
-   "fieldtype": "Button", 
-   "label": "Get Terms and Conditions", 
-   "oldfieldtype": "Button", 
+   "fieldname": "get_terms",
+   "fieldtype": "Button",
+   "label": "Get Terms and Conditions",
+   "oldfieldtype": "Button",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "terms", 
-   "fieldtype": "Text Editor", 
-   "label": "Terms and Conditions", 
-   "oldfieldname": "terms", 
-   "oldfieldtype": "Text Editor", 
+   "fieldname": "terms",
+   "fieldtype": "Text Editor",
+   "label": "Terms and Conditions",
+   "oldfieldname": "terms",
+   "oldfieldtype": "Text Editor",
    "permlevel": 0
-  }, 
+  },
   {
-   "depends_on": "supplier", 
-   "fieldname": "contact_section", 
-   "fieldtype": "Section Break", 
-   "label": "Contact Info", 
-   "options": "icon-bullhorn", 
+   "depends_on": "supplier",
+   "fieldname": "contact_section",
+   "fieldtype": "Section Break",
+   "label": "Contact Info",
+   "options": "icon-bullhorn",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "supplier_address", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Supplier Address", 
-   "options": "Address", 
-   "permlevel": 0, 
+   "fieldname": "supplier_address",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Supplier Address",
+   "options": "Address",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "contact_person", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Contact Person", 
-   "options": "Contact", 
-   "permlevel": 0, 
+   "fieldname": "contact_person",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Contact Person",
+   "options": "Contact",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "more_info", 
-   "fieldtype": "Section Break", 
-   "label": "More Info", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-file-text", 
+   "fieldname": "more_info",
+   "fieldtype": "Section Break",
+   "label": "More Info",
+   "oldfieldtype": "Section Break",
+   "options": "icon-file-text",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "status", 
-   "fieldtype": "Select", 
-   "in_filter": 1, 
-   "label": "Status", 
-   "no_copy": 1, 
-   "oldfieldname": "status", 
-   "oldfieldtype": "Select", 
-   "options": "\nDraft\nSubmitted\nStopped\nCancelled", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
-   "reqd": 1, 
+   "fieldname": "status",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "label": "Status",
+   "no_copy": 1,
+   "oldfieldname": "status",
+   "oldfieldtype": "Select",
+   "options": "\nDraft\nSubmitted\nStopped\nCancelled",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "default": "No", 
-   "fieldname": "is_subcontracted", 
-   "fieldtype": "Select", 
-   "label": "Is Subcontracted", 
-   "options": "\nYes\nNo", 
-   "permlevel": 0, 
+   "default": "No",
+   "fieldname": "is_subcontracted",
+   "fieldtype": "Select",
+   "label": "Is Subcontracted",
+   "options": "\nYes\nNo",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "column_break_57", 
-   "fieldtype": "Column Break", 
+   "fieldname": "column_break_57",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "fiscal_year", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Fiscal Year", 
-   "no_copy": 0, 
-   "oldfieldname": "fiscal_year", 
-   "oldfieldtype": "Select", 
-   "options": "Fiscal Year", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "reqd": 1, 
+   "fieldname": "fiscal_year",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Fiscal Year",
+   "no_copy": 0,
+   "oldfieldname": "fiscal_year",
+   "oldfieldtype": "Select",
+   "options": "Fiscal Year",
+   "permlevel": 0,
+   "print_hide": 1,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "select_print_heading", 
-   "fieldtype": "Link", 
-   "label": "Print Heading", 
-   "no_copy": 1, 
-   "oldfieldname": "select_print_heading", 
-   "oldfieldtype": "Link", 
-   "options": "Print Heading", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "allow_on_submit": 1,
+   "fieldname": "select_print_heading",
+   "fieldtype": "Link",
+   "label": "Print Heading",
+   "no_copy": 1,
+   "oldfieldname": "select_print_heading",
+   "oldfieldtype": "Link",
+   "options": "Print Heading",
+   "permlevel": 0,
+   "print_hide": 1,
    "report_hide": 1
   }
- ], 
- "icon": "icon-shopping-cart", 
- "idx": 1, 
- "is_submittable": 1, 
- "modified": "2014-09-09 05:35:35.369734", 
- "modified_by": "Administrator", 
- "module": "Buying", 
- "name": "Supplier Quotation", 
- "owner": "Administrator", 
+ ],
+ "icon": "icon-shopping-cart",
+ "idx": 1,
+ "is_submittable": 1,
+ "modified": "2014-12-24 14:28:56.009809",
+ "modified_by": "Administrator",
+ "module": "Buying",
+ "name": "Supplier Quotation",
+ "owner": "Administrator",
  "permissions": [
   {
-   "amend": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Manufacturing Manager", 
-   "submit": 1, 
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Manufacturing Manager",
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "amend": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Purchase Manager", 
-   "submit": 1, 
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Purchase Manager",
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "amend": 1, 
-   "apply_user_permissions": 1, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 0, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Purchase User", 
-   "submit": 0, 
+   "amend": 1,
+   "apply_user_permissions": 1,
+   "cancel": 0,
+   "create": 1,
+   "delete": 0,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Purchase User",
+   "submit": 0,
    "write": 1
-  }, 
+  },
   {
-   "amend": 0, 
-   "apply_user_permissions": 1, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Material User", 
-   "submit": 0, 
+   "amend": 0,
+   "apply_user_permissions": 1,
+   "cancel": 0,
+   "create": 0,
+   "delete": 0,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Material User",
+   "submit": 0,
    "write": 0
-  }, 
+  },
   {
-   "amend": 0, 
-   "apply_user_permissions": 1, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Supplier", 
-   "submit": 0, 
+   "amend": 0,
+   "apply_user_permissions": 1,
+   "cancel": 0,
+   "create": 0,
+   "delete": 0,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Supplier",
+   "submit": 0,
    "write": 0
-  }, 
+  },
   {
-   "permlevel": 1, 
-   "read": 1, 
-   "role": "Purchase Manager", 
+   "permlevel": 1,
+   "read": 1,
+   "role": "Purchase Manager",
    "write": 1
   }
- ], 
- "read_only_onload": 1, 
- "search_fields": "status, transaction_date, supplier,grand_total", 
- "sort_field": "modified", 
+ ],
+ "read_only_onload": 1,
+ "search_fields": "status, transaction_date, supplier,grand_total",
+ "sort_field": "modified",
  "sort_order": "DESC"
-}
\ No newline at end of file
+}
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
index d009bac..0dde536 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
@@ -8,13 +8,10 @@
 from erpnext.controllers.buying_controller import BuyingController
 
 form_grid_templates = {
-	"quotation_items": "templates/form_grid/item_grid.html"
+	"items": "templates/form_grid/item_grid.html"
 }
 
 class SupplierQuotation(BuyingController):
-	tname = "Supplier Quotation Item"
-	fname = "quotation_items"
-
 	def validate(self):
 		super(SupplierQuotation, self).validate()
 
@@ -39,7 +36,7 @@
 		pass
 
 	def validate_with_previous_doc(self):
-		super(SupplierQuotation, self).validate_with_previous_doc(self.tname, {
+		super(SupplierQuotation, self).validate_with_previous_doc({
 			"Material Request": {
 				"ref_dn_field": "prevdoc_docname",
 				"compare_fields": [["company", "="]],
diff --git a/erpnext/buying/doctype/supplier_quotation/test_records.json b/erpnext/buying/doctype/supplier_quotation/test_records.json
index 90807d4..70e32fe 100644
--- a/erpnext/buying/doctype/supplier_quotation/test_records.json
+++ b/erpnext/buying/doctype/supplier_quotation/test_records.json
@@ -11,14 +11,14 @@
   "is_subcontracted": "No", 
   "naming_series": "_T-Supplier Quotation-", 
   "net_total": 5000.0, 
-  "quotation_items": [
+  "items": [
    {
     "base_amount": 5000.0, 
     "description": "_Test FG Item", 
     "doctype": "Supplier Quotation Item", 
     "item_code": "_Test FG Item", 
     "item_name": "_Test FG Item", 
-    "parentfield": "quotation_items", 
+    "parentfield": "items", 
     "qty": 10.0, 
     "rate": 500.0, 
     "uom": "_Test UOM", 
diff --git a/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py
index 3f22fd5..af5db60 100644
--- a/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py
+++ b/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py
@@ -21,11 +21,11 @@
 		po = make_purchase_order(sq.name)
 
 		self.assertEquals(po.doctype, "Purchase Order")
-		self.assertEquals(len(po.get("po_details")), len(sq.get("quotation_items")))
+		self.assertEquals(len(po.get("items")), len(sq.get("items")))
 
 		po.naming_series = "_T-Purchase Order-"
 
-		for doc in po.get("po_details"):
+		for doc in po.get("items"):
 			if doc.get("item_code"):
 				doc.set("schedule_date", "2013-04-12")
 
diff --git a/erpnext/config/accounts.py b/erpnext/config/accounts.py
index c861a9e..0747ae1 100644
--- a/erpnext/config/accounts.py
+++ b/erpnext/config/accounts.py
@@ -8,7 +8,7 @@
 			"items": [
 				{
 					"type": "doctype",
-					"name": "Journal Voucher",
+					"name": "Journal Entry",
 					"description": _("Accounting journal entries.")
 				},
 				{
@@ -234,7 +234,7 @@
 					"type": "report",
 					"name": "Bank Reconciliation Statement",
 					"is_query_report": True,
-					"doctype": "Journal Voucher"
+					"doctype": "Journal Entry"
 				},
 				{
 					"type": "report",
@@ -264,13 +264,13 @@
 					"type": "report",
 					"name": "Bank Clearance Summary",
 					"is_query_report": True,
-					"doctype": "Journal Voucher"
+					"doctype": "Journal Entry"
 				},
 				{
 					"type": "report",
 					"name": "Payment Period Based On Invoice Date",
 					"is_query_report": True,
-					"doctype": "Journal Voucher"
+					"doctype": "Journal Entry"
 				},
 				{
 					"type": "report",
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 2cecdc0..cf8a11c 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -102,12 +102,12 @@
 	def set_missing_item_details(self):
 		"""set missing item values"""
 		from erpnext.stock.get_item_details import get_item_details
-		if hasattr(self, "fname"):
+		if hasattr(self, "items"):
 			parent_dict = {}
 			for fieldname in self.meta.get_valid_columns():
 				parent_dict[fieldname] = self.get(fieldname)
 
-			for item in self.get(self.fname):
+			for item in self.get("items"):
 				if item.get("item_code"):
 					args = parent_dict.copy()
 					args.update(item.as_dict())
@@ -118,6 +118,10 @@
 							item.get(fieldname) is None and value is not None:
 								item.set(fieldname, value)
 
+						if fieldname == "cost_center" and item.meta.get_field("cost_center") \
+							and not item.get("cost_center") and value is not None:
+								item.set(fieldname, value)
+
 					if ret.get("pricing_rule"):
 						for field in ["base_price_list_rate", "price_list_rate",
 							"discount_percentage", "base_rate", "rate"]:
@@ -145,8 +149,8 @@
 				get_taxes_and_charges(tax_master_doctype, self.get(tax_master_field), tax_parentfield))
 
 	def set_other_charges(self):
-		self.set("other_charges", [])
-		self.set_taxes("other_charges", "taxes_and_charges")
+		self.set("taxes", [])
+		self.set_taxes("taxes", "taxes_and_charges")
 
 	def calculate_taxes_and_totals(self):
 		self.discount_amount_applied = False
@@ -166,8 +170,6 @@
 				self.meta.get_label("conversion_rate"), self.company)
 
 		self.conversion_rate = flt(self.conversion_rate)
-		self.item_doclist = self.get(self.fname)
-		self.tax_doclist = self.get(self.other_fname)
 
 		self.calculate_item_values()
 		self.initialize_taxes()
@@ -181,7 +183,7 @@
 		self._cleanup()
 
 	def initialize_taxes(self):
-		for tax in self.tax_doclist:
+		for tax in self.get("taxes"):
 			tax.item_wise_tax_detail = {}
 			tax_fields = ["total", "tax_amount_after_discount_amount",
 				"tax_amount_for_current_item", "grand_total_for_current_item",
@@ -216,30 +218,30 @@
 				# inclusive tax cannot be of type Actual
 				throw(_("Charge of type 'Actual' in row {0} cannot be included in Item Rate").format(tax.idx))
 			elif tax.charge_type == "On Previous Row Amount" and \
-					not cint(self.tax_doclist[cint(tax.row_id) - 1].included_in_print_rate):
+					not cint(self.get("taxes")[cint(tax.row_id) - 1].included_in_print_rate):
 				# referred row should also be inclusive
 				_on_previous_row_error(tax.row_id)
 			elif tax.charge_type == "On Previous Row Total" and \
-					not all([cint(t.included_in_print_rate) for t in self.tax_doclist[:cint(tax.row_id) - 1]]):
+					not all([cint(t.included_in_print_rate) for t in self.get("taxes")[:cint(tax.row_id) - 1]]):
 				# all rows about the reffered tax should be inclusive
 				_on_previous_row_error("1 - %d" % (tax.row_id,))
 
 	def calculate_taxes(self):
 		# maintain actual tax rate based on idx
-		actual_tax_dict = dict([[tax.idx, flt(tax.rate, self.precision("tax_amount", tax))] for tax in self.tax_doclist
+		actual_tax_dict = dict([[tax.idx, flt(tax.rate, self.precision("tax_amount", tax))] for tax in self.get("taxes")
 			if tax.charge_type == "Actual"])
 
-		for n, item in enumerate(self.item_doclist):
+		for n, item in enumerate(self.get("items")):
 			item_tax_map = self._load_item_tax_rate(item.item_tax_rate)
 
-			for i, tax in enumerate(self.tax_doclist):
+			for i, tax in enumerate(self.get("taxes")):
 				# tax_amount represents the amount of tax for the current step
 				current_tax_amount = self.get_current_tax_amount(item, tax, item_tax_map)
 
 				# Adjust divisional loss to the last item
 				if tax.charge_type == "Actual":
 					actual_tax_dict[tax.idx] -= current_tax_amount
-					if n == len(self.item_doclist) - 1:
+					if n == len(self.get("items")) - 1:
 						current_tax_amount += actual_tax_dict[tax.idx]
 
 				# store tax_amount for current item as it will be used for
@@ -268,18 +270,18 @@
 						self.precision("total", tax))
 				else:
 					tax.grand_total_for_current_item = \
-						flt(self.tax_doclist[i-1].grand_total_for_current_item +
+						flt(self.get("taxes")[i-1].grand_total_for_current_item +
 							current_tax_amount, self.precision("total", tax))
 
 				# in tax.total, accumulate grand total of each item
 				tax.total += tax.grand_total_for_current_item
 
 				# set precision in the last item iteration
-				if n == len(self.item_doclist) - 1:
+				if n == len(self.get("items")) - 1:
 					self.round_off_totals(tax)
 
 					# adjust Discount Amount loss in last tax iteration
-					if i == (len(self.tax_doclist) - 1) and self.discount_amount_applied:
+					if i == (len(self.get("taxes")) - 1) and self.discount_amount_applied:
 						self.adjust_discount_amount_loss(tax)
 
 	def round_off_totals(self, tax):
@@ -308,10 +310,10 @@
 			current_tax_amount = (tax_rate / 100.0) * item.base_amount
 		elif tax.charge_type == "On Previous Row Amount":
 			current_tax_amount = (tax_rate / 100.0) * \
-				self.tax_doclist[cint(tax.row_id) - 1].tax_amount_for_current_item
+				self.get("taxes")[cint(tax.row_id) - 1].tax_amount_for_current_item
 		elif tax.charge_type == "On Previous Row Total":
 			current_tax_amount = (tax_rate / 100.0) * \
-				self.tax_doclist[cint(tax.row_id) - 1].grand_total_for_current_item
+				self.get("taxes")[cint(tax.row_id) - 1].grand_total_for_current_item
 
 		current_tax_amount = flt(current_tax_amount, self.precision("tax_amount", tax))
 
@@ -335,7 +337,7 @@
 			return tax.rate
 
 	def _cleanup(self):
-		for tax in self.tax_doclist:
+		for tax in self.get("taxes"):
 			tax.item_wise_tax_detail = json.dumps(tax.item_wise_tax_detail, separators=(',', ':'))
 
 	def _set_in_company_currency(self, item, print_field, base_field):
@@ -385,7 +387,7 @@
 			and ifnull(allocated_amount, 0) = 0""" % (childtype, '%s', '%s'), (parentfield, self.name))
 
 	def get_advances(self, account_head, party_type, party, child_doctype, parentfield, dr_or_cr, against_order_field):
-		so_list = list(set([d.get(against_order_field) for d in self.get("entries") if d.get(against_order_field)]))
+		so_list = list(set([d.get(against_order_field) for d in self.get("items") if d.get(against_order_field)]))
 		cond = ""
 		if so_list:
 			cond = "or (ifnull(t2.%s, '')  in (%s))" % ("against_" + against_order_field, ', '.join(['%s']*len(so_list)))
@@ -394,7 +396,7 @@
 			select
 				t1.name as jv_no, t1.remark, t2.{0} as amount, t2.name as jv_detail_no, `against_{1}` as against_order
 			from
-				`tabJournal Voucher` t1, `tabJournal Voucher Detail` t2
+				`tabJournal Entry` t1, `tabJournal Entry Account` t2
 			where
 				t1.name = t2.parent and t2.account = %s
 				and t2.party_type=%s and t2.party=%s
@@ -413,7 +415,7 @@
 		for d in res:
 			self.append(parentfield, {
 				"doctype": child_doctype,
-				"journal_voucher": d.jv_no,
+				"journal_entry": d.jv_no,
 				"jv_detail_no": d.jv_detail_no,
 				"remarks": d.remark,
 				"advance_amount": flt(d.amount),
@@ -421,12 +423,12 @@
 			})
 
 	def validate_advance_jv(self, advance_table_fieldname, against_order_field):
-		order_list = list(set([d.get(against_order_field) for d in self.get("entries") if d.get(against_order_field)]))
+		order_list = list(set([d.get(against_order_field) for d in self.get("items") if d.get(against_order_field)]))
 		if order_list:
 			account = self.get("debit_to" if self.doctype=="Sales Invoice" else "credit_to")
 
 			jv_against_order = frappe.db.sql("""select parent, %s as against_order
-				from `tabJournal Voucher Detail`
+				from `tabJournal Entry Account`
 				where docstatus=1 and account=%s and ifnull(is_advance, 'No') = 'Yes'
 				and ifnull(against_sales_order, '') in (%s)
 				group by parent, against_sales_order""" %
@@ -438,12 +440,12 @@
 				for d in jv_against_order:
 					order_jv_map.setdefault(d.against_order, []).append(d.parent)
 
-				advance_jv_against_si = [d.journal_voucher for d in self.get(advance_table_fieldname)]
+				advance_jv_against_si = [d.journal_entry for d in self.get(advance_table_fieldname)]
 
 				for order, jv_list in order_jv_map.items():
 					for jv in jv_list:
 						if not advance_jv_against_si or jv not in advance_jv_against_si:
-							frappe.throw(_("Journal Voucher {0} is linked against Order {1}, hence it must be fetched as advance in Invoice as well.")
+							frappe.msgprint(_("Journal Entry {0} is linked against Order {1}, check if it should be pulled as advance in this invoice.")
 								.format(jv, order))
 
 
@@ -452,7 +454,7 @@
 		item_tolerance = {}
 		global_tolerance = None
 
-		for item in self.get("entries"):
+		for item in self.get("items"):
 			if item.get(item_ref_dn):
 				ref_amt = flt(frappe.db.get_value(ref_dt + " Item",
 					item.get(item_ref_dn), based_on), self.precision(based_on, item))
@@ -461,7 +463,7 @@
 				else:
 					already_billed = frappe.db.sql("""select sum(%s) from `tab%s`
 						where %s=%s and docstatus=1 and parent != %s""" %
-						(based_on, self.tname, item_ref_dn, '%s', '%s'),
+						(based_on, self.doctype + " Item", item_ref_dn, '%s', '%s'),
 						(item.get(item_ref_dn), self.name))[0][0]
 
 					total_billed_amt = flt(flt(already_billed) + flt(item.get(based_on)),
@@ -481,7 +483,7 @@
 
 	def get_stock_items(self):
 		stock_items = []
-		item_codes = list(set(item.item_code for item in self.get(self.fname)))
+		item_codes = list(set(item.item_code for item in self.get("items")))
 		if item_codes:
 			stock_items = [r[0] for r in frappe.db.sql("""select name
 				from `tabItem` where name in (%s) and is_stock_item='Yes'""" % \
@@ -501,7 +503,7 @@
 			select
 				sum(ifnull({dr_or_cr}, 0))
 			from
-				`tabJournal Voucher Detail`
+				`tabJournal Entry Account`
 			where
 				{against_field} = %s and docstatus = 1 and is_advance = "Yes" """.format(dr_or_cr=dr_or_cr, \
 					against_field=against_field), self.name)
diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index 0f7e2ba..c3f449c 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -14,10 +14,10 @@
 
 class BuyingController(StockController):
 	def __setup__(self):
-		if hasattr(self, "fname"):
+		if hasattr(self, "items"):
 			self.table_print_templates = {
-				self.fname: "templates/print_formats/includes/item_grid.html",
-				"other_charges": "templates/print_formats/includes/taxes.html",
+				"items": "templates/print_formats/includes/item_grid.html",
+				"taxes": "templates/print_formats/includes/taxes.html",
 			}
 
 	def get_feed(self):
@@ -46,11 +46,11 @@
 
 		self.set_missing_item_details()
 		if self.get("__islocal"):
-			self.set_taxes("other_charges", "taxes_and_charges")
+			self.set_taxes("taxes", "taxes_and_charges")
 
 	def set_supplier_from_item_default(self):
 		if self.meta.get_field("supplier") and not self.supplier:
-			for d in self.get(self.fname):
+			for d in self.get("items"):
 				supplier = frappe.db.get_value("Item", d.item_code, "default_supplier")
 				if supplier:
 					self.supplier = supplier
@@ -60,14 +60,14 @@
 		from erpnext.stock.utils import validate_warehouse_company
 
 		warehouses = list(set([d.warehouse for d in
-			self.get(self.fname) if getattr(d, "warehouse", None)]))
+			self.get("items") if getattr(d, "warehouse", None)]))
 
 		for w in warehouses:
 			validate_warehouse_company(w, self.company)
 
 	def validate_stock_or_nonstock_items(self):
-		if self.meta.get_field("other_charges") and not self.get_stock_items():
-			tax_for_valuation = [d.account_head for d in self.get("other_charges")
+		if self.meta.get_field("taxes") and not self.get_stock_items():
+			tax_for_valuation = [d.account_head for d in self.get("taxes")
 				if d.category in ["Valuation", "Valuation and Total"]]
 			if tax_for_valuation:
 				frappe.throw(_("Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items"))
@@ -82,12 +82,11 @@
 		 		self.currency)
 
 	def calculate_taxes_and_totals(self):
-		self.other_fname = "other_charges"
 		super(BuyingController, self).calculate_taxes_and_totals()
-		self.calculate_total_advance("Purchase Invoice", "advance_allocation_details")
+		self.calculate_total_advance("Purchase Invoice", "advances")
 
 	def calculate_item_values(self):
-		for item in self.item_doclist:
+		for item in self.get("items"):
 			self.round_floats_in(item)
 
 			if item.discount_percentage == 100.0:
@@ -108,14 +107,14 @@
 	def calculate_net_total(self):
 		self.net_total = self.net_total_import = 0.0
 
-		for item in self.item_doclist:
+		for item in self.get("items"):
 			self.net_total += item.base_amount
 			self.net_total_import += item.amount
 
 		self.round_floats_in(self, ["net_total", "net_total_import"])
 
 	def calculate_totals(self):
-		self.grand_total = flt(self.tax_doclist[-1].total if self.tax_doclist else self.net_total)
+		self.grand_total = flt(self.get("taxes")[-1].total if self.get("taxes") else self.net_total)
 		self.grand_total_import = flt(self.grand_total / self.conversion_rate)
 
 		self.total_tax = flt(self.grand_total - self.net_total, self.precision("total_tax"))
@@ -130,12 +129,12 @@
 			self.rounded_total_import = rounded(self.grand_total_import)
 
 		if self.meta.get_field("other_charges_added"):
-			self.other_charges_added = flt(sum([flt(d.tax_amount) for d in self.tax_doclist
+			self.other_charges_added = flt(sum([flt(d.tax_amount) for d in self.get("taxes")
 				if d.add_deduct_tax=="Add" and d.category in ["Valuation and Total", "Total"]]),
 				self.precision("other_charges_added"))
 
 		if self.meta.get_field("other_charges_deducted"):
-			self.other_charges_deducted = flt(sum([flt(d.tax_amount) for d in self.tax_doclist
+			self.other_charges_deducted = flt(sum([flt(d.tax_amount) for d in self.get("taxes")
 				if d.add_deduct_tax=="Deduct" and d.category in ["Valuation and Total", "Total"]]),
 				self.precision("other_charges_deducted"))
 
@@ -175,7 +174,7 @@
 				last_stock_item_idx = d.idx
 
 		total_valuation_amount = sum([flt(d.tax_amount) for d in
-			self.get("other_charges")
+			self.get("taxes")
 			if d.category in ["Valuation", "Valuation and Total"]])
 
 
@@ -216,12 +215,12 @@
 			if self.doctype == "Purchase Receipt" and not self.supplier_warehouse:
 				frappe.throw(_("Supplier Warehouse mandatory for sub-contracted Purchase Receipt"))
 
-			for item in self.get(self.fname):
+			for item in self.get("items"):
 				if item in self.sub_contracted_items and not item.bom:
 					frappe.throw(_("Please select BOM in BOM field for Item {0}").format(item.item_code))
 
 		else:
-			for item in self.get(self.fname):
+			for item in self.get("items"):
 				if item.bom:
 					item.bom = None
 
@@ -229,7 +228,7 @@
 		if self.is_subcontracted=="Yes":
 			parent_items = []
 			rm_supplied_idx = 0
-			for item in self.get(self.fname):
+			for item in self.get("items"):
 				if self.doctype == "Purchase Receipt":
 					item.rm_supp_cost = 0.0
 				if item.item_code in self.sub_contracted_items:
@@ -241,7 +240,7 @@
 			self.cleanup_raw_materials_supplied(parent_items, raw_material_table)
 
 		elif self.doctype == "Purchase Receipt":
-			for item in self.get(self.fname):
+			for item in self.get("items"):
 				item.rm_supp_cost = 0.0
 
 	def update_raw_materials_supplied(self, item, raw_material_table, rm_supplied_idx):
@@ -336,7 +335,7 @@
 		if not hasattr(self, "_sub_contracted_items"):
 			self._sub_contracted_items = []
 			item_codes = list(set(item.item_code for item in
-				self.get(self.fname)))
+				self.get("items")))
 			if item_codes:
 				self._sub_contracted_items = [r[0] for r in frappe.db.sql("""select name
 					from `tabItem` where name in (%s) and is_sub_contracted_item='Yes'""" % \
@@ -349,7 +348,7 @@
 		if not hasattr(self, "_purchase_items"):
 			self._purchase_items = []
 			item_codes = list(set(item.item_code for item in
-				self.get(self.fname)))
+				self.get("items")))
 			if item_codes:
 				self._purchase_items = [r[0] for r in frappe.db.sql("""select name
 					from `tabItem` where name in (%s) and is_purchase_item='Yes'""" % \
@@ -359,11 +358,11 @@
 
 
 	def is_item_table_empty(self):
-		if not len(self.get(self.fname)):
+		if not len(self.get("items")):
 			frappe.throw(_("Item table can not be blank"))
 
 	def set_qty_as_per_stock_uom(self):
-		for d in self.get(self.fname):
+		for d in self.get("items"):
 			if d.meta.get_field("stock_qty") and not d.stock_qty:
 				if not d.conversion_factor:
 					frappe.throw(_("Row {0}: Conversion Factor is mandatory"))
diff --git a/erpnext/controllers/recurring_document.py b/erpnext/controllers/recurring_document.py
index e16280d..a46fa32 100644
--- a/erpnext/controllers/recurring_document.py
+++ b/erpnext/controllers/recurring_document.py
@@ -124,10 +124,7 @@
 	frappe.sendmail(new_rv.notification_email_address,
 		subject=  _("New {0}: #{1}").format(new_rv.doctype, new_rv.name),
 		message = _("Please find attached {0} #{1}").format(new_rv.doctype, new_rv.name),
-		attachments = [{
-			"fname": new_rv.name + ".pdf",
-			"fcontent": frappe.get_print_format(new_rv.doctype, new_rv.name, as_pdf=True)
-		}])
+		attachments = [frappe.attach_print(new_rv.doctype, new_rv.name, file_name=new_rv.name)])
 
 def notify_errors(doc, doctype, party, owner):
 	from frappe.utils.user import get_system_managers
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index 7b4d03e..937e026 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -12,10 +12,10 @@
 
 class SellingController(StockController):
 	def __setup__(self):
-		if hasattr(self, "fname"):
+		if hasattr(self, "items"):
 			self.table_print_templates = {
-				self.fname: "templates/print_formats/includes/item_grid.html",
-				"other_charges": "templates/print_formats/includes/taxes.html",
+				"items": "templates/print_formats/includes/item_grid.html",
+				"taxes": "templates/print_formats/includes/taxes.html",
 			}
 
 	def get_feed(self):
@@ -24,7 +24,7 @@
 
 	def onload(self):
 		if self.doctype in ("Sales Order", "Delivery Note", "Sales Invoice"):
-			for item in self.get(self.fname):
+			for item in self.get("items"):
 				item.update(get_available_qty(item.item_code,
 					item.warehouse))
 
@@ -44,7 +44,7 @@
 		self.set_missing_lead_customer_details()
 		self.set_price_list_and_item_details()
 		if self.get("__islocal"):
-			self.set_taxes("other_charges", "taxes_and_charges")
+			self.set_taxes("taxes", "taxes_and_charges")
 
 	def set_missing_lead_customer_details(self):
 		if getattr(self, "customer", None):
@@ -73,7 +73,7 @@
 			# shipping rule calculation based on item's net weight
 
 			shipping_amount = 0.0
-			for condition in shipping_rule.get("shipping_rule_conditions"):
+			for condition in shipping_rule.get("conditions"):
 				if not condition.to_value or (flt(condition.from_value) <= value <= flt(condition.to_value)):
 					shipping_amount = condition.shipping_amount
 					break
@@ -85,28 +85,28 @@
 				"cost_center": shipping_rule.cost_center
 			}
 
-			existing_shipping_charge = self.get("other_charges", filters=shipping_charge)
+			existing_shipping_charge = self.get("taxes", filters=shipping_charge)
 			if existing_shipping_charge:
 				# take the last record found
 				existing_shipping_charge[-1].rate = shipping_amount
 			else:
 				shipping_charge["rate"] = shipping_amount
 				shipping_charge["description"] = shipping_rule.label
-				self.append("other_charges", shipping_charge)
+				self.append("taxes", shipping_charge)
 
 			self.calculate_taxes_and_totals()
 
 	def remove_shipping_charge(self):
 		if self.shipping_rule:
 			shipping_rule = frappe.get_doc("Shipping Rule", self.shipping_rule)
-			existing_shipping_charge = self.get("other_charges", {
+			existing_shipping_charge = self.get("taxes", {
 				"doctype": "Sales Taxes and Charges",
 				"charge_type": "Actual",
 				"account_head": shipping_rule.account,
 				"cost_center": shipping_rule.cost_center
 			})
 			if existing_shipping_charge:
-				self.get("other_charges").remove(existing_shipping_charge[-1])
+				self.get("taxes").remove(existing_shipping_charge[-1])
 				self.calculate_taxes_and_totals()
 
 	def set_total_in_words(self):
@@ -124,30 +124,28 @@
 				self.grand_total_export or self.rounded_total_export, self.currency)
 
 	def calculate_taxes_and_totals(self):
-		self.other_fname = "other_charges"
-
 		super(SellingController, self).calculate_taxes_and_totals()
 
-		self.calculate_total_advance("Sales Invoice", "advance_adjustment_details")
+		self.calculate_total_advance("Sales Invoice", "advances")
 		self.calculate_commission()
 		self.calculate_contribution()
 
 	def determine_exclusive_rate(self):
-		if not any((cint(tax.included_in_print_rate) for tax in self.tax_doclist)):
+		if not any((cint(tax.included_in_print_rate) for tax in self.get("taxes"))):
 			# no inclusive tax
 			return
 
-		for item in self.item_doclist:
+		for item in self.get("items"):
 			item_tax_map = self._load_item_tax_rate(item.item_tax_rate)
 			cumulated_tax_fraction = 0
-			for i, tax in enumerate(self.tax_doclist):
+			for i, tax in enumerate(self.get("taxes")):
 				tax.tax_fraction_for_current_item = self.get_current_tax_fraction(tax, item_tax_map)
 
 				if i==0:
 					tax.grand_total_fraction_for_current_item = 1 + tax.tax_fraction_for_current_item
 				else:
 					tax.grand_total_fraction_for_current_item = \
-						self.tax_doclist[i-1].grand_total_fraction_for_current_item \
+						self.get("taxes")[i-1].grand_total_fraction_for_current_item \
 						+ tax.tax_fraction_for_current_item
 
 				cumulated_tax_fraction += tax.tax_fraction_for_current_item
@@ -181,17 +179,17 @@
 
 			elif tax.charge_type == "On Previous Row Amount":
 				current_tax_fraction = (tax_rate / 100.0) * \
-					self.tax_doclist[cint(tax.row_id) - 1].tax_fraction_for_current_item
+					self.get("taxes")[cint(tax.row_id) - 1].tax_fraction_for_current_item
 
 			elif tax.charge_type == "On Previous Row Total":
 				current_tax_fraction = (tax_rate / 100.0) * \
-					self.tax_doclist[cint(tax.row_id) - 1].grand_total_fraction_for_current_item
+					self.get("taxes")[cint(tax.row_id) - 1].grand_total_fraction_for_current_item
 
 		return current_tax_fraction
 
 	def calculate_item_values(self):
 		if not self.discount_amount_applied:
-			for item in self.item_doclist:
+			for item in self.get("items"):
 				self.round_floats_in(item)
 
 				if item.discount_percentage == 100:
@@ -210,14 +208,14 @@
 	def calculate_net_total(self):
 		self.net_total = self.net_total_export = 0.0
 
-		for item in self.item_doclist:
+		for item in self.get("items"):
 			self.net_total += item.base_amount
 			self.net_total_export += item.amount
 
 		self.round_floats_in(self, ["net_total", "net_total_export"])
 
 	def calculate_totals(self):
-		self.grand_total = flt(self.tax_doclist[-1].total if self.tax_doclist else self.net_total)
+		self.grand_total = flt(self.get("taxes")[-1].total if self.get("taxes") else self.net_total)
 
 		self.grand_total_export = flt(self.grand_total / self.conversion_rate)
 
@@ -238,7 +236,7 @@
 
 			if grand_total_for_discount_amount:
 				# calculate item amount after Discount Amount
-				for item in self.item_doclist:
+				for item in self.get("items"):
 					distributed_amount = flt(self.discount_amount) * item.base_amount / grand_total_for_discount_amount
 					item.base_amount = flt(item.base_amount - distributed_amount, self.precision("base_amount", item))
 
@@ -248,7 +246,7 @@
 	def get_grand_total_for_discount_amount(self):
 		actual_taxes_dict = {}
 
-		for tax in self.tax_doclist:
+		for tax in self.get("taxes"):
 			if tax.charge_type == "Actual":
 				actual_taxes_dict.setdefault(tax.idx, tax.tax_amount)
 			elif tax.row_id in actual_taxes_dict:
@@ -306,7 +304,7 @@
 			throw(_("Order Type must be one of {0}").format(comma_or(valid_types)))
 
 	def validate_max_discount(self):
-		for d in self.get(self.fname):
+		for d in self.get("items"):
 			discount = flt(frappe.db.get_value("Item", d.item_code, "max_discount"))
 
 			if discount and flt(d.discount_percentage) > discount:
@@ -314,7 +312,7 @@
 
 	def get_item_list(self):
 		il = []
-		for d in self.get(self.fname):
+		for d in self.get("items"):
 			reserved_warehouse = ""
 			reserved_qty_for_main_item = 0
 
@@ -343,7 +341,7 @@
 					reserved_qty_for_main_item = -flt(d.qty)
 
 			if self.has_sales_bom(d.item_code):
-				for p in self.get("packing_details"):
+				for p in self.get("packed_items"):
 					if p.parent_detail_docname == d.name and p.parent_item == d.item_code:
 						# the packing details table's qty is already multiplied with parent's qty
 						il.append(frappe._dict({
@@ -390,14 +388,14 @@
 		return so_qty, so_warehouse
 
 	def check_stop_sales_order(self, ref_fieldname):
-		for d in self.get(self.fname):
+		for d in self.get("items"):
 			if d.get(ref_fieldname):
 				status = frappe.db.get_value("Sales Order", d.get(ref_fieldname), "status")
 				if status == "Stopped":
 					frappe.throw(_("Sales Order {0} is stopped").format(d.get(ref_fieldname)))
 
 def check_active_sales_items(obj):
-	for d in obj.get(obj.fname):
+	for d in obj.get("items"):
 		if d.item_code:
 			item = frappe.db.sql("""select docstatus, is_sales_item,
 				is_service_item, income_account from tabItem where name = %s""",
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index 0ec8bf0..2c710e6 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -197,7 +197,7 @@
 		all_zero_amount_refdoc = frappe.db.sql_list("""select name from `tab%s`
 			where docstatus=1 and net_total = 0""" % ref_dt)
 
-		for item in self.get("entries"):
+		for item in self.get("items"):
 			if item.get(ref_fieldname) \
 				and item.get(ref_fieldname) in all_zero_amount_refdoc \
 				and item.get(ref_fieldname) not in zero_amount_refdoc:
diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py
index f719c5d..4b4be79 100644
--- a/erpnext/controllers/stock_controller.py
+++ b/erpnext/controllers/stock_controller.py
@@ -77,7 +77,7 @@
 			return [frappe._dict({ "name": voucher_detail_no, "expense_account": default_expense_account,
 				"cost_center": default_cost_center }) for voucher_detail_no, sle in sle_map.items()]
 		else:
-			details = self.get(self.fname)
+			details = self.get("items")
 
 			if default_expense_account or default_cost_center:
 				for d in details:
@@ -91,8 +91,8 @@
 	def get_items_and_warehouses(self):
 		items, warehouses = [], []
 
-		if hasattr(self, "fname"):
-			item_doclist = self.get(self.fname)
+		if hasattr(self, "items"):
+			item_doclist = self.get("items")
 		elif self.doctype == "Stock Reconciliation":
 			import json
 			item_doclist = []
@@ -208,7 +208,7 @@
 
 	def get_serialized_items(self):
 		serialized_items = []
-		item_codes = list(set([d.item_code for d in self.get(self.fname)]))
+		item_codes = list(set([d.item_code for d in self.get("items")]))
 		if item_codes:
 			serialized_items = frappe.db.sql_list("""select name from `tabItem`
 				where has_serial_no='Yes' and name in ({})""".format(", ".join(["%s"]*len(item_codes))),
diff --git a/erpnext/hr/doctype/appraisal/appraisal.js b/erpnext/hr/doctype/appraisal/appraisal.js
index 84ab964..17e2709 100644
--- a/erpnext/hr/doctype/appraisal/appraisal.js
+++ b/erpnext/hr/doctype/appraisal/appraisal.js
@@ -33,7 +33,7 @@
 
 cur_frm.cscript.calculate_total_score = function(doc,cdt,cdn){
 	//return get_server_fields('calculate_total','','',doc,cdt,cdn,1);
-	var val = doc.appraisal_details || [];
+	var val = doc.goals || [];
 	var total =0;
 	for(var i = 0; i<val.length; i++){
 		total = flt(total)+flt(val[i].score_earned)
@@ -48,21 +48,21 @@
 		if (flt(d.score) > 5) {
 			msgprint(__("Score must be less than or equal to 5"));
 			d.score = 0;
-			refresh_field('score', d.name, 'appraisal_details');
+			refresh_field('score', d.name, 'goals');
 		}
 		total = flt(d.per_weightage*d.score)/100;
 		d.score_earned = total.toPrecision(2);
-		refresh_field('score_earned', d.name, 'appraisal_details');
+		refresh_field('score_earned', d.name, 'goals');
 	}
 	else{
 		d.score_earned = 0;
-		refresh_field('score_earned', d.name, 'appraisal_details');
+		refresh_field('score_earned', d.name, 'goals');
 	}
 	cur_frm.cscript.calculate_total(doc,cdt,cdn);
 }
 
 cur_frm.cscript.calculate_total = function(doc,cdt,cdn){
-	var val = doc.appraisal_details || [];
+	var val = doc.goals || [];
 	var total =0;
 	for(var i = 0; i<val.length; i++){
 		total = flt(total)+flt(val[i].score_earned);
diff --git a/erpnext/hr/doctype/appraisal/appraisal.json b/erpnext/hr/doctype/appraisal/appraisal.json
index beddeef..957b1af 100644
--- a/erpnext/hr/doctype/appraisal/appraisal.json
+++ b/erpnext/hr/doctype/appraisal/appraisal.json
@@ -107,9 +107,9 @@
   }, 
   {
    "allow_on_submit": 0, 
-   "fieldname": "appraisal_details", 
+   "fieldname": "goals", 
    "fieldtype": "Table", 
-   "label": "Appraisal Goals", 
+   "label": "Goals", 
    "oldfieldname": "appraisal_details", 
    "oldfieldtype": "Table", 
    "options": "Appraisal Goal", 
@@ -197,7 +197,7 @@
  "icon": "icon-thumbs-up", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-06-23 07:55:40.801381", 
+ "modified": "2014-12-24 15:00:49.133185", 
  "modified_by": "Administrator", 
  "module": "HR", 
  "name": "Appraisal", 
diff --git a/erpnext/hr/doctype/appraisal/appraisal.py b/erpnext/hr/doctype/appraisal/appraisal.py
index 72bfc1c..99c60b7 100644
--- a/erpnext/hr/doctype/appraisal/appraisal.py
+++ b/erpnext/hr/doctype/appraisal/appraisal.py
@@ -40,7 +40,7 @@
 
 	def calculate_total(self):
 		total, total_w  = 0, 0
-		for d in self.get('appraisal_details'):
+		for d in self.get('goals'):
 			if d.score:
 				d.score_earned = flt(d.score) * flt(d.per_weightage) / 100
 				total = total + d.score_earned
diff --git a/erpnext/hr/doctype/appraisal/test_appraisal.py b/erpnext/hr/doctype/appraisal/test_appraisal.py
new file mode 100644
index 0000000..814baa2
--- /dev/null
+++ b/erpnext/hr/doctype/appraisal/test_appraisal.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and Contributors
+# See license.txt
+
+import frappe
+import unittest
+
+test_records = frappe.get_test_records('Appraisal')
+
+class TestAppraisal(unittest.TestCase):
+	pass
diff --git a/erpnext/hr/doctype/appraisal/test_records.json b/erpnext/hr/doctype/appraisal/test_records.json
new file mode 100644
index 0000000..992043f
--- /dev/null
+++ b/erpnext/hr/doctype/appraisal/test_records.json
@@ -0,0 +1,6 @@
+[
+	{
+		"doctype": "Appraisal",
+		"name": "_Test Appraisal 1"
+	}
+]
diff --git a/erpnext/hr/doctype/appraisal_template/appraisal_template.json b/erpnext/hr/doctype/appraisal_template/appraisal_template.json
index 68661e3..c814579 100644
--- a/erpnext/hr/doctype/appraisal_template/appraisal_template.json
+++ b/erpnext/hr/doctype/appraisal_template/appraisal_template.json
@@ -28,9 +28,9 @@
    "width": "300px"
   }, 
   {
-   "fieldname": "kra_sheet", 
+   "fieldname": "goals", 
    "fieldtype": "Table", 
-   "label": "Appraisal Template Goal", 
+   "label": "Goals", 
    "oldfieldname": "kra_sheet", 
    "oldfieldtype": "Table", 
    "options": "Appraisal Template Goal", 
@@ -46,7 +46,7 @@
  ], 
  "icon": "icon-file-text", 
  "idx": 1, 
- "modified": "2014-05-27 03:49:07.533203", 
+ "modified": "2014-12-24 15:01:34.621450", 
  "modified_by": "Administrator", 
  "module": "HR", 
  "name": "Appraisal Template", 
diff --git a/erpnext/hr/doctype/appraisal_template/appraisal_template.py b/erpnext/hr/doctype/appraisal_template/appraisal_template.py
index 1f753d0..573efc9 100644
--- a/erpnext/hr/doctype/appraisal_template/appraisal_template.py
+++ b/erpnext/hr/doctype/appraisal_template/appraisal_template.py
@@ -10,7 +10,7 @@
 class AppraisalTemplate(Document):
 	def validate(self):
 		self.total_points = 0
-		for d in self.get("kra_sheet"):
+		for d in self.get("goals"):
 			self.total_points += int(d.per_weightage or 0)
 
 		if int(self.total_points) != 100:
diff --git a/erpnext/hr/doctype/appraisal_template/test_appraisal_template.py b/erpnext/hr/doctype/appraisal_template/test_appraisal_template.py
new file mode 100644
index 0000000..e9531dc
--- /dev/null
+++ b/erpnext/hr/doctype/appraisal_template/test_appraisal_template.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and Contributors
+# See license.txt
+
+import frappe
+import unittest
+
+test_records = frappe.get_test_records('Appraisal Template')
+
+class TestAppraisalTemplate(unittest.TestCase):
+	pass
diff --git a/erpnext/hr/doctype/appraisal_template/test_records.json b/erpnext/hr/doctype/appraisal_template/test_records.json
new file mode 100644
index 0000000..441f55a
--- /dev/null
+++ b/erpnext/hr/doctype/appraisal_template/test_records.json
@@ -0,0 +1,6 @@
+[
+	{
+		"doctype": "Appraisal Template",
+		"name": "_Test Appraisal Template 1"
+	}
+]
diff --git a/erpnext/hr/doctype/employee/employee.js b/erpnext/hr/doctype/employee/employee.js
index b068bde..4cce930 100644
--- a/erpnext/hr/doctype/employee/employee.js
+++ b/erpnext/hr/doctype/employee/employee.js
@@ -12,7 +12,7 @@
 
 	onload: function() {
 		if(this.frm.doc.__islocal) this.frm.set_value("employee_name", "");
-		this.frm.set_query("leave_approver", "employee_leave_approvers", function() {
+		this.frm.set_query("leave_approver", "leave_approvers", function() {
 			return {
 				filters: [["UserRole", "role", "=", "Leave Approver"]]
 			}
diff --git a/erpnext/hr/doctype/employee/employee.json b/erpnext/hr/doctype/employee/employee.json
index 9a9631b..61d6dc3 100644
--- a/erpnext/hr/doctype/employee/employee.json
+++ b/erpnext/hr/doctype/employee/employee.json
@@ -1,730 +1,730 @@
 {
- "allow_import": 1,
- "allow_rename": 1,
- "autoname": "naming_series:",
- "creation": "2013-03-07 09:04:18",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Master",
+ "allow_import": 1, 
+ "allow_rename": 1, 
+ "autoname": "naming_series:", 
+ "creation": "2013-03-07 09:04:18", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "Master", 
  "fields": [
   {
-   "fieldname": "basic_information",
-   "fieldtype": "Section Break",
-   "label": "Basic Information",
-   "oldfieldtype": "Section Break",
+   "fieldname": "basic_information", 
+   "fieldtype": "Section Break", 
+   "label": "Basic Information", 
+   "oldfieldtype": "Section Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break0",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break0", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "image_view",
-   "fieldtype": "Image",
-   "in_list_view": 0,
-   "label": "Image View",
-   "options": "image",
+   "fieldname": "image_view", 
+   "fieldtype": "Image", 
+   "in_list_view": 0, 
+   "label": "Image View", 
+   "options": "image", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "employee",
-   "fieldtype": "Data",
-   "hidden": 1,
-   "label": "Employee",
-   "no_copy": 1,
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "employee", 
+   "fieldtype": "Data", 
+   "hidden": 1, 
+   "label": "Employee", 
+   "no_copy": 1, 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "report_hide": 1
-  },
+  }, 
   {
-   "fieldname": "naming_series",
-   "fieldtype": "Select",
-   "label": "Series",
-   "no_copy": 1,
-   "oldfieldname": "naming_series",
-   "oldfieldtype": "Select",
-   "options": "EMP/",
-   "permlevel": 0,
+   "fieldname": "naming_series", 
+   "fieldtype": "Select", 
+   "label": "Series", 
+   "no_copy": 1, 
+   "oldfieldname": "naming_series", 
+   "oldfieldtype": "Select", 
+   "options": "EMP/", 
+   "permlevel": 0, 
    "reqd": 0
-  },
+  }, 
   {
-   "fieldname": "salutation",
-   "fieldtype": "Select",
-   "label": "Salutation",
-   "oldfieldname": "salutation",
-   "oldfieldtype": "Select",
-   "options": "\nMr\nMs",
-   "permlevel": 0,
+   "fieldname": "salutation", 
+   "fieldtype": "Select", 
+   "label": "Salutation", 
+   "oldfieldname": "salutation", 
+   "oldfieldtype": "Select", 
+   "options": "\nMr\nMs", 
+   "permlevel": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "employee_name",
-   "fieldtype": "Data",
-   "in_list_view": 1,
-   "label": "Full Name",
-   "oldfieldname": "employee_name",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
+   "fieldname": "employee_name", 
+   "fieldtype": "Data", 
+   "in_list_view": 1, 
+   "label": "Full Name", 
+   "oldfieldname": "employee_name", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "image",
-   "fieldtype": "Select",
-   "label": "Image",
-   "options": "attach_files:",
+   "fieldname": "image", 
+   "fieldtype": "Select", 
+   "label": "Image", 
+   "options": "attach_files:", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break1",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break1", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "description": "System User (login) ID. If set, it will become default for all HR forms.",
-   "fieldname": "user_id",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "User ID",
-   "options": "User",
+   "description": "System User (login) ID. If set, it will become default for all HR forms.", 
+   "fieldname": "user_id", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "User ID", 
+   "options": "User", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "employee_number",
-   "fieldtype": "Data",
-   "in_filter": 1,
-   "label": "Employee Number",
-   "oldfieldname": "employee_number",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
+   "fieldname": "employee_number", 
+   "fieldtype": "Data", 
+   "in_filter": 1, 
+   "label": "Employee Number", 
+   "oldfieldname": "employee_number", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "date_of_joining",
-   "fieldtype": "Date",
-   "label": "Date of Joining",
-   "oldfieldname": "date_of_joining",
-   "oldfieldtype": "Date",
-   "permlevel": 0,
+   "fieldname": "date_of_joining", 
+   "fieldtype": "Date", 
+   "label": "Date of Joining", 
+   "oldfieldname": "date_of_joining", 
+   "oldfieldtype": "Date", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "description": "You can enter any date manually",
-   "fieldname": "date_of_birth",
-   "fieldtype": "Date",
-   "in_filter": 1,
-   "label": "Date of Birth",
-   "oldfieldname": "date_of_birth",
-   "oldfieldtype": "Date",
-   "permlevel": 0,
-   "reqd": 1,
+   "description": "You can enter any date manually", 
+   "fieldname": "date_of_birth", 
+   "fieldtype": "Date", 
+   "in_filter": 1, 
+   "label": "Date of Birth", 
+   "oldfieldname": "date_of_birth", 
+   "oldfieldtype": "Date", 
+   "permlevel": 0, 
+   "reqd": 1, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "gender",
-   "fieldtype": "Select",
-   "in_filter": 1,
-   "label": "Gender",
-   "oldfieldname": "gender",
-   "oldfieldtype": "Select",
-   "options": "\nMale\nFemale",
-   "permlevel": 0,
-   "reqd": 1,
+   "fieldname": "gender", 
+   "fieldtype": "Select", 
+   "in_filter": 1, 
+   "label": "Gender", 
+   "oldfieldname": "gender", 
+   "oldfieldtype": "Select", 
+   "options": "\nMale\nFemale", 
+   "permlevel": 0, 
+   "reqd": 1, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "company",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "label": "Company",
-   "options": "Company",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "company", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "label": "Company", 
+   "options": "Company", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "employment_details",
-   "fieldtype": "Section Break",
-   "label": "Employment Details",
+   "fieldname": "employment_details", 
+   "fieldtype": "Section Break", 
+   "label": "Employment Details", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "col_break_21",
-   "fieldtype": "Column Break",
+   "fieldname": "col_break_21", 
+   "fieldtype": "Column Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "default": "Active",
-   "fieldname": "status",
-   "fieldtype": "Select",
-   "in_filter": 1,
-   "in_list_view": 1,
-   "label": "Status",
-   "oldfieldname": "status",
-   "oldfieldtype": "Select",
-   "options": "\nActive\nLeft",
-   "permlevel": 0,
-   "reqd": 1,
+   "default": "Active", 
+   "fieldname": "status", 
+   "fieldtype": "Select", 
+   "in_filter": 1, 
+   "in_list_view": 1, 
+   "label": "Status", 
+   "oldfieldname": "status", 
+   "oldfieldtype": "Select", 
+   "options": "\nActive\nLeft", 
+   "permlevel": 0, 
+   "reqd": 1, 
    "search_index": 1
-  },
+  }, 
   {
-   "fieldname": "employment_type",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "in_filter": 1,
-   "in_list_view": 1,
-   "label": "Employment Type",
-   "oldfieldname": "employment_type",
-   "oldfieldtype": "Link",
-   "options": "Employment Type",
-   "permlevel": 0,
+   "fieldname": "employment_type", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "in_filter": 1, 
+   "in_list_view": 1, 
+   "label": "Employment Type", 
+   "oldfieldname": "employment_type", 
+   "oldfieldtype": "Link", 
+   "options": "Employment Type", 
+   "permlevel": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "description": "Applicable Holiday List",
-   "fieldname": "holiday_list",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Holiday List",
-   "oldfieldname": "holiday_list",
-   "oldfieldtype": "Link",
-   "options": "Holiday List",
+   "description": "Applicable Holiday List", 
+   "fieldname": "holiday_list", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Holiday List", 
+   "oldfieldname": "holiday_list", 
+   "oldfieldtype": "Link", 
+   "options": "Holiday List", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "col_break_22",
-   "fieldtype": "Column Break",
+   "fieldname": "col_break_22", 
+   "fieldtype": "Column Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "scheduled_confirmation_date",
-   "fieldtype": "Date",
-   "in_filter": 1,
-   "label": "Offer Date",
-   "oldfieldname": "scheduled_confirmation_date",
-   "oldfieldtype": "Date",
-   "permlevel": 0,
+   "fieldname": "scheduled_confirmation_date", 
+   "fieldtype": "Date", 
+   "in_filter": 1, 
+   "label": "Offer Date", 
+   "oldfieldname": "scheduled_confirmation_date", 
+   "oldfieldtype": "Date", 
+   "permlevel": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "final_confirmation_date",
-   "fieldtype": "Date",
-   "label": "Confirmation Date",
-   "oldfieldname": "final_confirmation_date",
-   "oldfieldtype": "Date",
-   "permlevel": 0,
+   "fieldname": "final_confirmation_date", 
+   "fieldtype": "Date", 
+   "label": "Confirmation Date", 
+   "oldfieldname": "final_confirmation_date", 
+   "oldfieldtype": "Date", 
+   "permlevel": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "contract_end_date",
-   "fieldtype": "Date",
-   "in_filter": 1,
-   "label": "Contract End Date",
-   "oldfieldname": "contract_end_date",
-   "oldfieldtype": "Date",
-   "permlevel": 0,
+   "fieldname": "contract_end_date", 
+   "fieldtype": "Date", 
+   "in_filter": 1, 
+   "label": "Contract End Date", 
+   "oldfieldname": "contract_end_date", 
+   "oldfieldtype": "Date", 
+   "permlevel": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "date_of_retirement",
-   "fieldtype": "Date",
-   "label": "Date Of Retirement",
-   "oldfieldname": "date_of_retirement",
-   "oldfieldtype": "Date",
+   "fieldname": "date_of_retirement", 
+   "fieldtype": "Date", 
+   "label": "Date Of Retirement", 
+   "oldfieldname": "date_of_retirement", 
+   "oldfieldtype": "Date", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "job_profile",
-   "fieldtype": "Section Break",
-   "label": "Job Profile",
+   "fieldname": "job_profile", 
+   "fieldtype": "Section Break", 
+   "label": "Job Profile", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break2",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break2", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "branch",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "label": "Branch",
-   "oldfieldname": "branch",
-   "oldfieldtype": "Link",
-   "options": "Branch",
-   "permlevel": 0,
+   "fieldname": "branch", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "label": "Branch", 
+   "oldfieldname": "branch", 
+   "oldfieldtype": "Link", 
+   "options": "Branch", 
+   "permlevel": 0, 
    "reqd": 0
-  },
+  }, 
   {
-   "fieldname": "department",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "label": "Department",
-   "oldfieldname": "department",
-   "oldfieldtype": "Link",
-   "options": "Department",
-   "permlevel": 0,
+   "fieldname": "department", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "label": "Department", 
+   "oldfieldname": "department", 
+   "oldfieldtype": "Link", 
+   "options": "Department", 
+   "permlevel": 0, 
    "reqd": 0
-  },
+  }, 
   {
-   "fieldname": "designation",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "label": "Designation",
-   "oldfieldname": "designation",
-   "oldfieldtype": "Link",
-   "options": "Designation",
-   "permlevel": 0,
-   "reqd": 0,
+   "fieldname": "designation", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "label": "Designation", 
+   "oldfieldname": "designation", 
+   "oldfieldtype": "Link", 
+   "options": "Designation", 
+   "permlevel": 0, 
+   "reqd": 0, 
    "search_index": 1
-  },
+  }, 
   {
-   "description": "Provide email id registered in company",
-   "fieldname": "company_email",
-   "fieldtype": "Data",
-   "in_filter": 1,
-   "label": "Company Email",
-   "oldfieldname": "company_email",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
+   "description": "Provide email id registered in company", 
+   "fieldname": "company_email", 
+   "fieldtype": "Data", 
+   "in_filter": 1, 
+   "label": "Company Email", 
+   "oldfieldname": "company_email", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
    "reqd": 0
-  },
+  }, 
   {
-   "fieldname": "notice_number_of_days",
-   "fieldtype": "Int",
-   "label": "Notice (days)",
-   "oldfieldname": "notice_number_of_days",
-   "oldfieldtype": "Int",
+   "fieldname": "notice_number_of_days", 
+   "fieldtype": "Int", 
+   "label": "Notice (days)", 
+   "oldfieldname": "notice_number_of_days", 
+   "oldfieldtype": "Int", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "salary_information",
-   "fieldtype": "Column Break",
-   "label": "Salary Information",
-   "oldfieldtype": "Section Break",
-   "permlevel": 0,
+   "fieldname": "salary_information", 
+   "fieldtype": "Column Break", 
+   "label": "Salary Information", 
+   "oldfieldtype": "Section Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "salary_mode",
-   "fieldtype": "Select",
-   "label": "Salary Mode",
-   "oldfieldname": "salary_mode",
-   "oldfieldtype": "Select",
-   "options": "\nBank\nCash\nCheque",
+   "fieldname": "salary_mode", 
+   "fieldtype": "Select", 
+   "label": "Salary Mode", 
+   "oldfieldname": "salary_mode", 
+   "oldfieldtype": "Select", 
+   "options": "\nBank\nCash\nCheque", 
    "permlevel": 0
-  },
+  }, 
   {
-   "depends_on": "eval:doc.salary_mode == 'Bank'",
-   "fieldname": "bank_name",
-   "fieldtype": "Data",
-   "hidden": 0,
-   "in_filter": 1,
-   "label": "Bank Name",
-   "oldfieldname": "bank_name",
-   "oldfieldtype": "Link",
+   "depends_on": "eval:doc.salary_mode == 'Bank'", 
+   "fieldname": "bank_name", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "label": "Bank Name", 
+   "oldfieldname": "bank_name", 
+   "oldfieldtype": "Link", 
    "permlevel": 0
-  },
+  }, 
   {
-   "depends_on": "eval:doc.salary_mode == 'Bank'",
-   "fieldname": "bank_ac_no",
-   "fieldtype": "Data",
-   "hidden": 0,
-   "label": "Bank A/C No.",
-   "oldfieldname": "bank_ac_no",
-   "oldfieldtype": "Data",
+   "depends_on": "eval:doc.salary_mode == 'Bank'", 
+   "fieldname": "bank_ac_no", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "label": "Bank A/C No.", 
+   "oldfieldname": "bank_ac_no", 
+   "oldfieldtype": "Data", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "organization_profile",
-   "fieldtype": "Section Break",
-   "label": "Organization Profile",
+   "fieldname": "organization_profile", 
+   "fieldtype": "Section Break", 
+   "label": "Organization Profile", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "reports_to",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Reports to",
-   "oldfieldname": "reports_to",
-   "oldfieldtype": "Link",
-   "options": "Employee",
+   "fieldname": "reports_to", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Reports to", 
+   "oldfieldname": "reports_to", 
+   "oldfieldtype": "Link", 
+   "options": "Employee", 
    "permlevel": 0
-  },
+  }, 
   {
-   "description": "The first Leave Approver in the list will be set as the default Leave Approver",
-   "fieldname": "employee_leave_approvers",
-   "fieldtype": "Table",
-   "label": "Leave Approvers",
-   "options": "Employee Leave Approver",
+   "description": "The first Leave Approver in the list will be set as the default Leave Approver", 
+   "fieldname": "leave_approvers", 
+   "fieldtype": "Table", 
+   "label": "Leave Approvers", 
+   "options": "Employee Leave Approver", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "contact_details",
-   "fieldtype": "Section Break",
-   "label": "Contact Details",
+   "fieldname": "contact_details", 
+   "fieldtype": "Section Break", 
+   "label": "Contact Details", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break3",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break3", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "cell_number",
-   "fieldtype": "Data",
-   "label": "Cell Number",
+   "fieldname": "cell_number", 
+   "fieldtype": "Data", 
+   "label": "Cell Number", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "personal_email",
-   "fieldtype": "Data",
-   "label": "Personal Email",
+   "fieldname": "personal_email", 
+   "fieldtype": "Data", 
+   "label": "Personal Email", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "unsubscribed",
-   "fieldtype": "Check",
-   "label": "Unsubscribed",
+   "fieldname": "unsubscribed", 
+   "fieldtype": "Check", 
+   "label": "Unsubscribed", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "emergency_contact_details",
-   "fieldtype": "HTML",
-   "label": "Emergency Contact Details",
-   "options": "<h4 class=\"text-muted\">Emergency Contact Details</h4>",
+   "fieldname": "emergency_contact_details", 
+   "fieldtype": "HTML", 
+   "label": "Emergency Contact Details", 
+   "options": "<h4 class=\"text-muted\">Emergency Contact Details</h4>", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "person_to_be_contacted",
-   "fieldtype": "Data",
-   "label": "Emergency Contact",
+   "fieldname": "person_to_be_contacted", 
+   "fieldtype": "Data", 
+   "label": "Emergency Contact", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "relation",
-   "fieldtype": "Data",
-   "label": "Relation",
+   "fieldname": "relation", 
+   "fieldtype": "Data", 
+   "label": "Relation", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "emergency_phone_number",
-   "fieldtype": "Data",
-   "label": "Emergency Phone",
+   "fieldname": "emergency_phone_number", 
+   "fieldtype": "Data", 
+   "label": "Emergency Phone", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break4",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break4", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "permanent_accommodation_type",
-   "fieldtype": "Select",
-   "label": "Permanent Address Is",
-   "options": "\nRented\nOwned",
+   "fieldname": "permanent_accommodation_type", 
+   "fieldtype": "Select", 
+   "label": "Permanent Address Is", 
+   "options": "\nRented\nOwned", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "permanent_address",
-   "fieldtype": "Small Text",
-   "label": "Permanent Address",
+   "fieldname": "permanent_address", 
+   "fieldtype": "Small Text", 
+   "label": "Permanent Address", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "current_accommodation_type",
-   "fieldtype": "Select",
-   "label": "Current Address Is",
-   "options": "\nRented\nOwned",
+   "fieldname": "current_accommodation_type", 
+   "fieldtype": "Select", 
+   "label": "Current Address Is", 
+   "options": "\nRented\nOwned", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "current_address",
-   "fieldtype": "Small Text",
-   "label": "Current Address",
+   "fieldname": "current_address", 
+   "fieldtype": "Small Text", 
+   "label": "Current Address", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "sb53",
-   "fieldtype": "Section Break",
-   "label": "Bio",
+   "fieldname": "sb53", 
+   "fieldtype": "Section Break", 
+   "label": "Bio", 
    "permlevel": 0
-  },
+  }, 
   {
-   "description": "Short biography for website and other publications.",
-   "fieldname": "bio",
-   "fieldtype": "Text Editor",
-   "label": "Bio",
+   "description": "Short biography for website and other publications.", 
+   "fieldname": "bio", 
+   "fieldtype": "Text Editor", 
+   "label": "Bio", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "personal_details",
-   "fieldtype": "Section Break",
-   "label": "Personal Details",
+   "fieldname": "personal_details", 
+   "fieldtype": "Section Break", 
+   "label": "Personal Details", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break5",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break5", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "passport_number",
-   "fieldtype": "Data",
-   "label": "Passport Number",
+   "fieldname": "passport_number", 
+   "fieldtype": "Data", 
+   "label": "Passport Number", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "date_of_issue",
-   "fieldtype": "Date",
-   "label": "Date of Issue",
+   "fieldname": "date_of_issue", 
+   "fieldtype": "Date", 
+   "label": "Date of Issue", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "valid_upto",
-   "fieldtype": "Date",
-   "label": "Valid Upto",
+   "fieldname": "valid_upto", 
+   "fieldtype": "Date", 
+   "label": "Valid Upto", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "place_of_issue",
-   "fieldtype": "Data",
-   "label": "Place of Issue",
+   "fieldname": "place_of_issue", 
+   "fieldtype": "Data", 
+   "label": "Place of Issue", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break6",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break6", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "marital_status",
-   "fieldtype": "Select",
-   "label": "Marital Status",
-   "options": "\nSingle\nMarried\nDivorced\nWidowed",
+   "fieldname": "marital_status", 
+   "fieldtype": "Select", 
+   "label": "Marital Status", 
+   "options": "\nSingle\nMarried\nDivorced\nWidowed", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "blood_group",
-   "fieldtype": "Select",
-   "label": "Blood Group",
-   "options": "\nA+\nA-\nB+\nB-\nAB+\nAB-\nO+\nO-",
+   "fieldname": "blood_group", 
+   "fieldtype": "Select", 
+   "label": "Blood Group", 
+   "options": "\nA+\nA-\nB+\nB-\nAB+\nAB-\nO+\nO-", 
    "permlevel": 0
-  },
+  }, 
   {
-   "description": "Here you can maintain family details like name and occupation of parent, spouse and children",
-   "fieldname": "family_background",
-   "fieldtype": "Small Text",
-   "label": "Family Background",
+   "description": "Here you can maintain family details like name and occupation of parent, spouse and children", 
+   "fieldname": "family_background", 
+   "fieldtype": "Small Text", 
+   "label": "Family Background", 
    "permlevel": 0
-  },
+  }, 
   {
-   "description": "Here you can maintain height, weight, allergies, medical concerns etc",
-   "fieldname": "health_details",
-   "fieldtype": "Small Text",
-   "label": "Health Details",
+   "description": "Here you can maintain height, weight, allergies, medical concerns etc", 
+   "fieldname": "health_details", 
+   "fieldtype": "Small Text", 
+   "label": "Health Details", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "educational_qualification",
-   "fieldtype": "Section Break",
-   "label": "Educational Qualification",
+   "fieldname": "educational_qualification", 
+   "fieldtype": "Section Break", 
+   "label": "Educational Qualification", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "educational_qualification_details",
-   "fieldtype": "Table",
-   "label": "Educational Qualification Details",
-   "options": "Employee Education",
+   "fieldname": "education", 
+   "fieldtype": "Table", 
+   "label": "Education", 
+   "options": "Employee Education", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "previous_work_experience",
-   "fieldtype": "Section Break",
-   "label": "Previous Work Experience",
-   "options": "Simple",
+   "fieldname": "previous_work_experience", 
+   "fieldtype": "Section Break", 
+   "label": "Previous Work Experience", 
+   "options": "Simple", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "previous_experience_details",
-   "fieldtype": "Table",
-   "label": "Employee External Work History",
-   "options": "Employee External Work History",
+   "fieldname": "external_work_history", 
+   "fieldtype": "Table", 
+   "label": "External Work History", 
+   "options": "Employee External Work History", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "history_in_company",
-   "fieldtype": "Section Break",
-   "label": "History In Company",
-   "options": "Simple",
+   "fieldname": "history_in_company", 
+   "fieldtype": "Section Break", 
+   "label": "History In Company", 
+   "options": "Simple", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "experience_in_company_details",
-   "fieldtype": "Table",
-   "label": "Employee Internal Work Historys",
-   "options": "Employee Internal Work History",
+   "fieldname": "internal_work_history", 
+   "fieldtype": "Table", 
+   "label": "Internal Work History", 
+   "options": "Employee Internal Work History", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "exit",
-   "fieldtype": "Section Break",
-   "label": "Exit",
-   "oldfieldtype": "Section Break",
+   "fieldname": "exit", 
+   "fieldtype": "Section Break", 
+   "label": "Exit", 
+   "oldfieldtype": "Section Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break7",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break7", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "resignation_letter_date",
-   "fieldtype": "Date",
-   "label": "Resignation Letter Date",
-   "oldfieldname": "resignation_letter_date",
-   "oldfieldtype": "Date",
+   "fieldname": "resignation_letter_date", 
+   "fieldtype": "Date", 
+   "label": "Resignation Letter Date", 
+   "oldfieldname": "resignation_letter_date", 
+   "oldfieldtype": "Date", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "relieving_date",
-   "fieldtype": "Date",
-   "in_filter": 1,
-   "label": "Relieving Date",
-   "oldfieldname": "relieving_date",
-   "oldfieldtype": "Date",
+   "fieldname": "relieving_date", 
+   "fieldtype": "Date", 
+   "in_filter": 1, 
+   "label": "Relieving Date", 
+   "oldfieldname": "relieving_date", 
+   "oldfieldtype": "Date", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "reason_for_leaving",
-   "fieldtype": "Data",
-   "label": "Reason for Leaving",
-   "oldfieldname": "reason_for_leaving",
-   "oldfieldtype": "Data",
+   "fieldname": "reason_for_leaving", 
+   "fieldtype": "Data", 
+   "label": "Reason for Leaving", 
+   "oldfieldname": "reason_for_leaving", 
+   "oldfieldtype": "Data", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "leave_encashed",
-   "fieldtype": "Select",
-   "label": "Leave Encashed?",
-   "oldfieldname": "leave_encashed",
-   "oldfieldtype": "Select",
-   "options": "\nYes\nNo",
+   "fieldname": "leave_encashed", 
+   "fieldtype": "Select", 
+   "label": "Leave Encashed?", 
+   "oldfieldname": "leave_encashed", 
+   "oldfieldtype": "Select", 
+   "options": "\nYes\nNo", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "encashment_date",
-   "fieldtype": "Date",
-   "label": "Encashment Date",
-   "oldfieldname": "encashment_date",
-   "oldfieldtype": "Date",
+   "fieldname": "encashment_date", 
+   "fieldtype": "Date", 
+   "label": "Encashment Date", 
+   "oldfieldname": "encashment_date", 
+   "oldfieldtype": "Date", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "exit_interview_details",
-   "fieldtype": "Column Break",
-   "label": "Exit Interview Details",
-   "oldfieldname": "col_brk6",
-   "oldfieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "exit_interview_details", 
+   "fieldtype": "Column Break", 
+   "label": "Exit Interview Details", 
+   "oldfieldname": "col_brk6", 
+   "oldfieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "held_on",
-   "fieldtype": "Date",
-   "label": "Held On",
-   "oldfieldname": "held_on",
-   "oldfieldtype": "Date",
+   "fieldname": "held_on", 
+   "fieldtype": "Date", 
+   "label": "Held On", 
+   "oldfieldname": "held_on", 
+   "oldfieldtype": "Date", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "reason_for_resignation",
-   "fieldtype": "Select",
-   "label": "Reason for Resignation",
-   "oldfieldname": "reason_for_resignation",
-   "oldfieldtype": "Select",
-   "options": "\nBetter Prospects\nHealth Concerns",
+   "fieldname": "reason_for_resignation", 
+   "fieldtype": "Select", 
+   "label": "Reason for Resignation", 
+   "oldfieldname": "reason_for_resignation", 
+   "oldfieldtype": "Select", 
+   "options": "\nBetter Prospects\nHealth Concerns", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "new_workplace",
-   "fieldtype": "Data",
-   "label": "New Workplace",
-   "oldfieldname": "new_workplace",
-   "oldfieldtype": "Data",
+   "fieldname": "new_workplace", 
+   "fieldtype": "Data", 
+   "label": "New Workplace", 
+   "oldfieldname": "new_workplace", 
+   "oldfieldtype": "Data", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "feedback",
-   "fieldtype": "Small Text",
-   "label": "Feedback",
-   "oldfieldname": "feedback",
-   "oldfieldtype": "Text",
+   "fieldname": "feedback", 
+   "fieldtype": "Small Text", 
+   "label": "Feedback", 
+   "oldfieldname": "feedback", 
+   "oldfieldtype": "Text", 
    "permlevel": 0
   }
- ],
- "icon": "icon-user",
- "idx": 1,
- "modified": "2014-09-15 05:55:00.514660",
- "modified_by": "Administrator",
- "module": "HR",
- "name": "Employee",
- "owner": "Administrator",
+ ], 
+ "icon": "icon-user", 
+ "idx": 1, 
+ "modified": "2014-12-26 11:12:57.631617", 
+ "modified_by": "Administrator", 
+ "module": "HR", 
+ "name": "Employee", 
+ "owner": "Administrator", 
  "permissions": [
   {
-   "amend": 0,
-   "apply_user_permissions": 1,
-   "create": 0,
-   "delete": 0,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Employee",
-   "submit": 0,
+   "amend": 0, 
+   "apply_user_permissions": 1, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Employee", 
+   "submit": 0, 
    "write": 0
-  },
+  }, 
   {
-   "amend": 0,
-   "apply_user_permissions": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "HR User",
-   "submit": 0,
-   "user_permission_doctypes": "[\"Branch\",\"Company\",\"Department\",\"Designation\"]",
+   "amend": 0, 
+   "apply_user_permissions": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "HR User", 
+   "submit": 0, 
+   "user_permission_doctypes": "[\"Branch\",\"Company\",\"Department\",\"Designation\"]", 
    "write": 1
-  },
+  }, 
   {
-   "amend": 0,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "HR Manager",
-   "set_user_permissions": 1,
-   "submit": 0,
+   "amend": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "HR Manager", 
+   "set_user_permissions": 1, 
+   "submit": 0, 
    "write": 1
   }
- ],
- "search_fields": "employee_name",
- "sort_field": "modified",
- "sort_order": "DESC",
+ ], 
+ "search_fields": "employee_name", 
+ "sort_field": "modified", 
+ "sort_order": "DESC", 
  "title_field": "employee_name"
-}
+}
\ No newline at end of file
diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py
index 6c27b23..b5bb755 100644
--- a/erpnext/hr/doctype/employee/employee.py
+++ b/erpnext/hr/doctype/employee/employee.py
@@ -138,9 +138,9 @@
 	def validate_employee_leave_approver(self):
 		from erpnext.hr.doctype.leave_application.leave_application import InvalidLeaveApproverError
 
-		for l in self.get("employee_leave_approvers")[:]:
+		for l in self.get("leave_approvers")[:]:
 			if "Leave Approver" not in frappe.get_roles(l.leave_approver):
-				self.get("employee_leave_approvers").remove(l)
+				self.get("leave_approvers").remove(l)
 				msgprint(_("{0} is not a valid Leave Approver. Removing row #{1}.").format(l.leave_approver, l.idx))
 
 	def validate_reports_to(self):
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js
index 05e4866..487a402 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.js
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.js
@@ -4,28 +4,28 @@
 frappe.provide("erpnext.hr");
 
 erpnext.hr.ExpenseClaimController = frappe.ui.form.Controller.extend({
-	make_bank_voucher: function() {
+	make_bank_entry: function() {
 		var me = this;
 		return frappe.call({
-			method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account",
+			method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_default_bank_cash_account",
 			args: {
 				"company": cur_frm.doc.company,
-				"voucher_type": "Bank Voucher"
+				"voucher_type": "Bank Entry"
 			},
 			callback: function(r) {
-				var jv = frappe.model.make_new_doc_and_get_name('Journal Voucher');
-				jv = locals['Journal Voucher'][jv];
-				jv.voucher_type = 'Bank Voucher';
+				var jv = frappe.model.make_new_doc_and_get_name('Journal Entry');
+				jv = locals['Journal Entry'][jv];
+				jv.voucher_type = 'Bank Entry';
 				jv.company = cur_frm.doc.company;
 				jv.remark = 'Payment against Expense Claim: ' + cur_frm.doc.name;
 				jv.fiscal_year = cur_frm.doc.fiscal_year;
 
-				var d1 = frappe.model.add_child(jv, 'Journal Voucher Detail', 'entries');
+				var d1 = frappe.model.add_child(jv, 'Journal Entry Account', 'accounts');
 				d1.debit = cur_frm.doc.total_sanctioned_amount;
 				d1.against_expense_claim = cur_frm.doc.name;
 
 				// credit to bank
-				var d1 = frappe.model.add_child(jv, 'Journal Voucher Detail', 'entries');
+				var d1 = frappe.model.add_child(jv, 'Journal Entry Account', 'accounts');
 				d1.credit = cur_frm.doc.total_sanctioned_amount;
 				d1.against_expense_claim = cur_frm.doc.name;
 				if(r.message) {
@@ -33,7 +33,7 @@
 					d1.balance = r.message.balance;
 				}
 
-				loaddoc('Journal Voucher', jv.name);
+				loaddoc('Journal Entry', jv.name);
 			}
 		});
 	}
@@ -69,7 +69,7 @@
 }
 
 cur_frm.cscript.clear_sanctioned = function(doc) {
-	var val = doc.expense_voucher_details || [];
+	var val = doc.expenses || [];
 	for(var i = 0; i<val.length; i++){
 		val[i].sanctioned_amount ='';
 	}
@@ -88,10 +88,10 @@
 		if(doc.docstatus==0 && doc.exp_approver==user && doc.approval_status=="Approved")
 			 cur_frm.savesubmit();
 
-		if(doc.docstatus==1 && frappe.model.can_create("Journal Voucher") && 
+		if(doc.docstatus==1 && frappe.model.can_create("Journal Entry") && 
 			cint(doc.total_amount_reimbursed) < cint(doc.total_sanctioned_amount))
-			 cur_frm.add_custom_button(__("Make Bank Voucher"),
-			 	cur_frm.cscript.make_bank_voucher, frappe.boot.doctype_icons["Journal Voucher"]);
+			 cur_frm.add_custom_button(__("Make Bank Entry"),
+			 	cur_frm.cscript.make_bank_entry, frappe.boot.doctype_icons["Journal Entry"]);
 	}
 }
 
@@ -126,7 +126,7 @@
 cur_frm.cscript.calculate_total = function(doc,cdt,cdn){
 	doc.total_claimed_amount = 0;
 	doc.total_sanctioned_amount = 0;
-	$.each((doc.expense_voucher_details || []), function(i, d) {
+	$.each((doc.expenses || []), function(i, d) {
 		doc.total_claimed_amount += d.claim_amount;
 		if(d.sanctioned_amount==null) {
 			d.sanctioned_amount = d.claim_amount;
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.json b/erpnext/hr/doctype/expense_claim/expense_claim.json
index cbbe102..c952fb1 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.json
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.json
@@ -87,9 +87,9 @@
   }, 
   {
    "allow_on_submit": 0, 
-   "fieldname": "expense_voucher_details", 
+   "fieldname": "expenses", 
    "fieldtype": "Table", 
-   "label": "Expense Claim Details", 
+   "label": "Expenses", 
    "oldfieldname": "expense_voucher_details", 
    "oldfieldtype": "Table", 
    "options": "Expense Claim Detail", 
@@ -164,16 +164,6 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "total_amount_reimbursed", 
-   "fieldtype": "Currency", 
-   "label": "Total Amount Reimbursed", 
-   "no_copy": 1, 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "precision": "", 
-   "read_only": 1
-  }, 
-  {
    "allow_on_submit": 0, 
    "fieldname": "remark", 
    "fieldtype": "Small Text", 
@@ -212,7 +202,7 @@
  "icon": "icon-money", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-12-09 11:52:32.196383", 
+ "modified": "2014-12-24 15:31:39.611197", 
  "modified_by": "Administrator", 
  "module": "HR", 
  "name": "Expense Claim", 
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.py b/erpnext/hr/doctype/expense_claim/expense_claim.py
index 4db9cbf..b2b9b95 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.py
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.py
@@ -30,7 +30,7 @@
 		validate_fiscal_year(self.posting_date, self.fiscal_year, "Posting Date")
 
 	def validate_exp_details(self):
-		if not self.get('expense_voucher_details'):
+		if not self.get('expenses'):
 			frappe.throw(_("Please add expense voucher details"))
 
 	def validate_expense_approver(self):
diff --git a/erpnext/hr/doctype/holiday_list/holiday_list.json b/erpnext/hr/doctype/holiday_list/holiday_list.json
index af68b47..3782102 100644
--- a/erpnext/hr/doctype/holiday_list/holiday_list.json
+++ b/erpnext/hr/doctype/holiday_list/holiday_list.json
@@ -55,7 +55,7 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "holiday_list_details", 
+   "fieldname": "holidays", 
    "fieldtype": "Table", 
    "label": "Holidays", 
    "oldfieldname": "holiday_list_details", 
@@ -74,7 +74,7 @@
  ], 
  "icon": "icon-calendar", 
  "idx": 1, 
- "modified": "2014-11-25 15:42:22.419054", 
+ "modified": "2014-12-24 15:32:58.469070", 
  "modified_by": "Administrator", 
  "module": "HR", 
  "name": "Holiday List", 
diff --git a/erpnext/hr/doctype/holiday_list/holiday_list.py b/erpnext/hr/doctype/holiday_list/holiday_list.py
index b1dec84..d3237f0 100644
--- a/erpnext/hr/doctype/holiday_list/holiday_list.py
+++ b/erpnext/hr/doctype/holiday_list/holiday_list.py
@@ -18,9 +18,9 @@
 		self.validate_values()
 		yr_start_date, yr_end_date = self.get_fy_start_end_dates()
 		date_list = self.get_weekly_off_date_list(yr_start_date, yr_end_date)
-		last_idx = max([cint(d.idx) for d in self.get("holiday_list_details")] or [0,])
+		last_idx = max([cint(d.idx) for d in self.get("holidays")] or [0,])
 		for i, d in enumerate(date_list):
-			ch = self.append('holiday_list_details', {})
+			ch = self.append('holidays', {})
 			ch.description = self.weekly_off
 			ch.holiday_date = d
 			ch.idx = last_idx + i + 1
@@ -54,7 +54,7 @@
 		return date_list
 
 	def clear_table(self):
-		self.set('holiday_list_details', [])
+		self.set('holidays', [])
 
 	def update_default_holiday_list(self):
 		frappe.db.sql("""update `tabHoliday List` set is_default = 0
diff --git a/erpnext/hr/doctype/holiday_list/test_records.json b/erpnext/hr/doctype/holiday_list/test_records.json
index be7b178..342bacb 100644
--- a/erpnext/hr/doctype/holiday_list/test_records.json
+++ b/erpnext/hr/doctype/holiday_list/test_records.json
@@ -2,7 +2,7 @@
  {
   "doctype": "Holiday List",
   "fiscal_year": "_Test Fiscal Year 2013", 
-  "holiday_list_details": [
+  "holidays": [
    {
     "description": "New Year", 
     "holiday_date": "2013-01-01"
diff --git a/erpnext/hr/doctype/leave_application/leave_application.js b/erpnext/hr/doctype/leave_application/leave_application.js
index 1b6186f..8613a8f 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.js
+++ b/erpnext/hr/doctype/leave_application/leave_application.js
@@ -115,3 +115,18 @@
 }
 
 cur_frm.fields_dict.employee.get_query = erpnext.queries.employee;
+
+frappe.ui.form.on("Leave Application", "leave_approver", function(frm) {
+	frappe.call({
+		"method": "frappe.client.get",
+		args: {
+			doctype: "User",
+			name: frm.doc.leave_approver
+		},
+		callback: function (data) {
+			frappe.model.set_value(frm.doctype, frm.docname, "leave_approver_name",
+				data.message.first_name
+				+ (data.message.last_name ? (" " + data.message.last_name) : ""))
+		}
+	})
+})
diff --git a/erpnext/hr/doctype/leave_application/leave_application.json b/erpnext/hr/doctype/leave_application/leave_application.json
index 9e2ad53..8beed8b 100644
--- a/erpnext/hr/doctype/leave_application/leave_application.json
+++ b/erpnext/hr/doctype/leave_application/leave_application.json
@@ -25,6 +25,13 @@
    "permlevel": 0
   }, 
   {
+   "fieldname": "leave_approver_name", 
+   "fieldtype": "Read Only", 
+   "label": "Leave Approver Name", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
    "fieldname": "leave_type", 
    "fieldtype": "Link", 
    "ignore_user_permissions": 1, 
@@ -184,7 +191,7 @@
  "idx": 1, 
  "is_submittable": 1, 
  "max_attachments": 3, 
- "modified": "2014-09-09 05:35:31.531651", 
+ "modified": "2014-12-09 16:33:29.626849", 
  "modified_by": "Administrator", 
  "module": "HR", 
  "name": "Leave Application", 
diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py
index cb3e397..a7eeeae 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.py
+++ b/erpnext/hr/doctype/leave_application/leave_application.py
@@ -143,7 +143,7 @@
 
 	def validate_leave_approver(self):
 		employee = frappe.get_doc("Employee", self.employee)
-		leave_approvers = [l.leave_approver for l in employee.get("employee_leave_approvers")]
+		leave_approvers = [l.leave_approver for l in employee.get("leave_approvers")]
 
 		if len(leave_approvers) and self.leave_approver not in leave_approvers:
 			frappe.throw(_("Leave approver must be one of {0}").format(comma_or(leave_approvers)), InvalidLeaveApproverError)
@@ -207,15 +207,15 @@
 def get_holidays(leave_app):
 	tot_hol = frappe.db.sql("""select count(*) from `tabHoliday` h1, `tabHoliday List` h2, `tabEmployee` e1
 		where e1.name = %s and h1.parent = h2.name and e1.holiday_list = h2.name
-		and h1.holiday_date between %s and %s""", (leave_app.employee, leave_app.from_date, leave_app.to_date))
+		and h1.holiday_date between %s and %s""", (leave_app.employee, leave_app.from_date,
+			leave_app.to_date))[0][0]
 	# below line is needed. If an employee hasn't been assigned with any holiday list then above will return 0 rows.
-	tot_hol=tot_hol and flt(tot_hol[0][0]) or 0	
 	if not tot_hol:
 		tot_hol = frappe.db.sql("""select count(*) from `tabHoliday` h1, `tabHoliday List` h2
 			where h1.parent = h2.name and h1.holiday_date between %s and %s
 			and ifnull(h2.is_default,0) = 1 and h2.fiscal_year = %s""",
-			(leave_app.from_date, leave_app.to_date, leave_app.fiscal_year))
-	return tot_hol and flt(tot_hol[0][0]) or 0
+			(leave_app.from_date, leave_app.to_date, leave_app.fiscal_year))[0][0]
+	return tot_hol
 
 @frappe.whitelist()
 def get_total_leave_days(leave_app):
diff --git a/erpnext/hr/doctype/leave_application/test_leave_application.py b/erpnext/hr/doctype/leave_application/test_leave_application.py
index 7ad28de..d9e593d 100644
--- a/erpnext/hr/doctype/leave_application/test_leave_application.py
+++ b/erpnext/hr/doctype/leave_application/test_leave_application.py
@@ -61,7 +61,7 @@
 		temp_session_user = frappe.session.user
 		frappe.set_user("Administrator")
 		employee = frappe.get_doc("Employee", employee)
-		employee.append("employee_leave_approvers", {
+		employee.append("leave_approvers", {
 			"doctype": "Employee Leave Approver",
 			"leave_approver": leave_approver
 		})
@@ -72,11 +72,11 @@
 		temp_session_user = frappe.session.user
 		frappe.set_user("Administrator")
 		employee = frappe.get_doc("Employee", employee)
-		d = employee.get("employee_leave_approvers", {
+		d = employee.get("leave_approvers", {
 			"leave_approver": leave_approver
 		})
 		if d:
-			employee.get("employee_leave_approvers").remove(d[0])
+			employee.get("leave_approvers").remove(d[0])
 			employee.save()
 		frappe.set_user(temp_session_user)
 
diff --git a/erpnext/hr/doctype/salary_manager/salary_manager.js b/erpnext/hr/doctype/salary_manager/salary_manager.js
index bbae9ac..6e20bff 100644
--- a/erpnext/hr/doctype/salary_manager/salary_manager.js
+++ b/erpnext/hr/doctype/salary_manager/salary_manager.js
@@ -29,7 +29,7 @@
 	}
 }
 
-cur_frm.cscript.make_bank_voucher = function(doc,cdt,cdn){
+cur_frm.cscript.make_bank_entry = function(doc,cdt,cdn){
     if(doc.company && doc.month && doc.fiscal_year){
     	cur_frm.cscript.make_jv(doc, cdt, cdn);
     } else {
@@ -39,24 +39,24 @@
 
 cur_frm.cscript.make_jv = function(doc, dt, dn) {
 	var call_back = function(r, rt){
-		var jv = frappe.model.make_new_doc_and_get_name('Journal Voucher');
-		jv = locals['Journal Voucher'][jv];
-		jv.voucher_type = 'Bank Voucher';
+		var jv = frappe.model.make_new_doc_and_get_name('Journal Entry');
+		jv = locals['Journal Entry'][jv];
+		jv.voucher_type = 'Bank Entry';
 		jv.user_remark = __('Payment of salary for the month {0} and year {1}', [doc.month, doc.fiscal_year]);
 		jv.fiscal_year = doc.fiscal_year;
 		jv.company = doc.company;
 		jv.posting_date = dateutil.obj_to_str(new Date());
 
 		// credit to bank
-		var d1 = frappe.model.add_child(jv, 'Journal Voucher Detail', 'entries');
+		var d1 = frappe.model.add_child(jv, 'Journal Entry Account', 'accounts');
 		d1.account = r.message['default_bank_account'];
 		d1.credit = r.message['amount']
 
 		// debit to salary account
-		var d2 = frappe.model.add_child(jv, 'Journal Voucher Detail', 'entries');
+		var d2 = frappe.model.add_child(jv, 'Journal Entry Account', 'accounts');
 		d2.debit = r.message['amount']
 
-		loaddoc('Journal Voucher', jv.name);
+		loaddoc('Journal Entry', jv.name);
 	}
 	return $c_obj(doc, 'get_acc_details', '', call_back);
 }
diff --git a/erpnext/hr/doctype/salary_manager/salary_manager.json b/erpnext/hr/doctype/salary_manager/salary_manager.json
index e430f3b..7b25ec2 100644
--- a/erpnext/hr/doctype/salary_manager/salary_manager.json
+++ b/erpnext/hr/doctype/salary_manager/salary_manager.json
@@ -1,163 +1,163 @@
 {
- "allow_copy": 1, 
- "allow_email": 1, 
- "allow_print": 1, 
- "creation": "2012-03-27 14:35:59", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Other", 
+ "allow_copy": 1,
+ "allow_email": 1,
+ "allow_print": 1,
+ "creation": "2012-03-27 14:35:59",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Other",
  "fields": [
   {
-   "fieldname": "document_description", 
-   "fieldtype": "HTML", 
-   "label": "Document Description", 
-   "options": "<div class=\"alert alert-info\">You can generate multiple salary slips based on the selected criteria, submit and mail those to the employee directly from here</div>", 
+   "fieldname": "document_description",
+   "fieldtype": "HTML",
+   "label": "Document Description",
+   "options": "<div class=\"alert alert-info\">You can generate multiple salary slips based on the selected criteria, submit and mail those to the employee directly from here</div>",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "section_break0", 
-   "fieldtype": "Section Break", 
+   "fieldname": "section_break0",
+   "fieldtype": "Section Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "column_break0", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break0",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "in_list_view": 1, 
-   "label": "Company", 
-   "options": "Company", 
-   "permlevel": 0, 
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Company",
+   "options": "Company",
+   "permlevel": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "branch", 
-   "fieldtype": "Link", 
-   "in_list_view": 1, 
-   "label": "Branch", 
-   "options": "Branch", 
+   "fieldname": "branch",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Branch",
+   "options": "Branch",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "department", 
-   "fieldtype": "Link", 
-   "label": "Department", 
-   "options": "Department", 
+   "fieldname": "department",
+   "fieldtype": "Link",
+   "label": "Department",
+   "options": "Department",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "designation", 
-   "fieldtype": "Link", 
-   "label": "Designation", 
-   "options": "Designation", 
+   "fieldname": "designation",
+   "fieldtype": "Link",
+   "label": "Designation",
+   "options": "Designation",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "column_break1", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break1",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "fiscal_year", 
-   "fieldtype": "Link", 
-   "label": "Fiscal Year", 
-   "options": "Fiscal Year", 
-   "permlevel": 0, 
+   "fieldname": "fiscal_year",
+   "fieldtype": "Link",
+   "label": "Fiscal Year",
+   "options": "Fiscal Year",
+   "permlevel": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "month", 
-   "fieldtype": "Select", 
-   "label": "Month", 
-   "options": "\n01\n02\n03\n04\n05\n06\n07\n08\n09\n10\n11\n12", 
-   "permlevel": 0, 
+   "fieldname": "month",
+   "fieldtype": "Select",
+   "label": "Month",
+   "options": "\n01\n02\n03\n04\n05\n06\n07\n08\n09\n10\n11\n12",
+   "permlevel": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "description": "Check if you want to send salary slip in mail to each employee while submitting salary slip", 
-   "fieldname": "send_email", 
-   "fieldtype": "Check", 
-   "label": "Send Email", 
+   "description": "Check if you want to send salary slip in mail to each employee while submitting salary slip",
+   "fieldname": "send_email",
+   "fieldtype": "Check",
+   "label": "Send Email",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "section_break1", 
-   "fieldtype": "Section Break", 
+   "fieldname": "section_break1",
+   "fieldtype": "Section Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "column_break2", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break2",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "description": "Creates salary slip for above mentioned criteria.", 
-   "fieldname": "create_salary_slip", 
-   "fieldtype": "Button", 
-   "label": "Create Salary Slip", 
+   "description": "Creates salary slip for above mentioned criteria.",
+   "fieldname": "create_salary_slip",
+   "fieldtype": "Button",
+   "label": "Create Salary Slip",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "column_break3", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break3",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "width": "25%"
-  }, 
+  },
   {
-   "description": "Submit all salary slips for the above selected criteria", 
-   "fieldname": "submit_salary_slip", 
-   "fieldtype": "Button", 
-   "label": "Submit Salary Slip", 
+   "description": "Submit all salary slips for the above selected criteria",
+   "fieldname": "submit_salary_slip",
+   "fieldtype": "Button",
+   "label": "Submit Salary Slip",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "column_break4", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break4",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "width": "25%"
-  }, 
+  },
   {
-   "description": "Create Bank Voucher for the total salary paid for the above selected criteria", 
-   "fieldname": "make_bank_voucher", 
-   "fieldtype": "Button", 
-   "label": "Make Bank Voucher", 
+   "description": "Create Bank Entry for the total salary paid for the above selected criteria",
+   "fieldname": "make_bank_entry",
+   "fieldtype": "Button",
+   "label": "Make Bank Entry",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "section_break2", 
-   "fieldtype": "Section Break", 
+   "fieldname": "section_break2",
+   "fieldtype": "Section Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "activity_log", 
-   "fieldtype": "HTML", 
-   "label": "Activity Log", 
+   "fieldname": "activity_log",
+   "fieldtype": "HTML",
+   "label": "Activity Log",
    "permlevel": 0
   }
- ], 
- "icon": "icon-cog", 
- "idx": 1, 
- "issingle": 1, 
- "modified": "2014-06-04 06:46:39.437061", 
- "modified_by": "Administrator", 
- "module": "HR", 
- "name": "Salary Manager", 
- "owner": "Administrator", 
+ ],
+ "icon": "icon-cog",
+ "idx": 1,
+ "issingle": 1,
+ "modified": "2014-12-25 06:46:39.437061",
+ "modified_by": "Administrator",
+ "module": "HR",
+ "name": "Salary Manager",
+ "owner": "Administrator",
  "permissions": [
   {
-   "create": 1, 
-   "permlevel": 0, 
-   "read": 1, 
-   "role": "HR Manager", 
+   "create": 1,
+   "permlevel": 0,
+   "read": 1,
+   "role": "HR Manager",
    "write": 1
   }
- ], 
- "sort_field": "modified", 
+ ],
+ "sort_field": "modified",
  "sort_order": "DESC"
-}
\ No newline at end of file
+}
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.js b/erpnext/hr/doctype/salary_slip/salary_slip.js
index 3c11f9d..fb4f8f8 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.js
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.js
@@ -65,13 +65,13 @@
 // Calculate earning total
 // ------------------------------------------------------------------------
 var calculate_earning_total = function(doc, dt, dn) {
-	var tbl = doc.earning_details || [];
+	var tbl = doc.earnings || [];
 
 	var total_earn = 0;
 	for(var i = 0; i < tbl.length; i++){
 		if(cint(tbl[i].e_depends_on_lwp) == 1) {
 			tbl[i].e_modified_amount = Math.round(tbl[i].e_amount)*(flt(doc.payment_days)/cint(doc.total_days_in_month)*100)/100;			
-			refresh_field('e_modified_amount', tbl[i].name, 'earning_details');
+			refresh_field('e_modified_amount', tbl[i].name, 'earnings');
 		}
 		total_earn += flt(tbl[i].e_modified_amount);
 	}
@@ -82,13 +82,13 @@
 // Calculate deduction total
 // ------------------------------------------------------------------------
 var calculate_ded_total = function(doc, dt, dn) {
-	var tbl = doc.deduction_details || [];
+	var tbl = doc.deductions || [];
 
 	var total_ded = 0;
 	for(var i = 0; i < tbl.length; i++){
 		if(cint(tbl[i].d_depends_on_lwp) == 1) {
 			tbl[i].d_modified_amount = Math.round(tbl[i].d_amount)*(flt(doc.payment_days)/cint(doc.total_days_in_month)*100)/100;
-			refresh_field('d_modified_amount', tbl[i].name, 'deduction_details');
+			refresh_field('d_modified_amount', tbl[i].name, 'deductions');
 		}
 		total_ded += flt(tbl[i].d_modified_amount);
 	}
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.json b/erpnext/hr/doctype/salary_slip/salary_slip.json
index 44607dc..a90b3e4 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.json
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.json
@@ -218,9 +218,9 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "earning_details", 
+   "fieldname": "earnings", 
    "fieldtype": "Table", 
-   "label": "Salary Structure Earnings", 
+   "label": "Earnings", 
    "oldfieldname": "earning_details", 
    "oldfieldtype": "Table", 
    "options": "Salary Slip Earning", 
@@ -241,7 +241,7 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "deduction_details", 
+   "fieldname": "deductions", 
    "fieldtype": "Table", 
    "label": "Deductions", 
    "oldfieldname": "deduction_details", 
@@ -337,7 +337,7 @@
  "icon": "icon-file-text", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-09-09 05:35:33.807228", 
+ "modified": "2014-12-24 16:38:43.899286", 
  "modified_by": "Administrator", 
  "module": "HR", 
  "name": "Salary Slip", 
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py
index 22a7975..3e15cd9 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.py
@@ -134,8 +134,8 @@
 		from frappe.utils import money_in_words
 		self.check_existing()
 
-		if not (len(self.get("earning_details")) or
-			len(self.get("deduction_details"))):
+		if not (len(self.get("earnings")) or
+			len(self.get("deductions"))):
 				self.get_emp_and_leave_details()
 		else:
 			self.get_leave_details(self.leave_without_pay)
@@ -150,7 +150,7 @@
 
 	def calculate_earning_total(self):
 		self.gross_pay = flt(self.arrear_amount) + flt(self.leave_encashment_amount)
-		for d in self.get("earning_details"):
+		for d in self.get("earnings"):
 			if cint(d.e_depends_on_lwp) == 1:
 				d.e_modified_amount = rounded(flt(d.e_amount) * flt(self.payment_days)
 					/ cint(self.total_days_in_month), 2)
@@ -162,7 +162,7 @@
 
 	def calculate_ded_total(self):
 		self.total_deduction = 0
-		for d in self.get('deduction_details'):
+		for d in self.get('deductions'):
 			if cint(d.d_depends_on_lwp) == 1:
 				d.d_modified_amount = rounded(flt(d.d_amount) * flt(self.payment_days)
 					/ cint(self.total_days_in_month), 2)
@@ -189,9 +189,6 @@
 		if receiver:
 			subj = 'Salary Slip - ' + cstr(self.month) +'/'+cstr(self.fiscal_year)
 			frappe.sendmail([receiver], subject=subj, msg = _("Please see attachment"),
-				attachments=[{
-					"fname": self.name + ".pdf",
-					"fcontent": frappe.get_print_format(self.doctype, self.name, as_pdf = True)
-				}])
+				attachments=[frappe.attach_print(self.doctype, self.name, file_name=self.name)])
 		else:
 			msgprint(_("Company Email ID not found, hence mail not sent"))
diff --git a/erpnext/hr/doctype/salary_slip/test_records.json b/erpnext/hr/doctype/salary_slip/test_records.json
index 3e750cf..da8d95d 100644
--- a/erpnext/hr/doctype/salary_slip/test_records.json
+++ b/erpnext/hr/doctype/salary_slip/test_records.json
@@ -1,37 +1,37 @@
 [
  {
   "company": "_Test Company", 
-  "deduction_details": [
+  "deductions": [
    {
     "d_amount": 100, 
     "d_depends_on_lwp": 0, 
     "d_type": "_Test Professional Tax", 
     "doctype": "Salary Slip Deduction", 
-    "parentfield": "deduction_details"
+    "parentfield": "deductions"
    }, 
    {
     "d_amount": 50, 
     "d_depends_on_lwp": 1, 
     "d_type": "_Test TDS", 
     "doctype": "Salary Slip Deduction", 
-    "parentfield": "deduction_details"
+    "parentfield": "deductions"
    }
   ], 
   "doctype": "Salary Slip", 
-  "earning_details": [
+  "earnings": [
    {
     "doctype": "Salary Slip Earning", 
     "e_amount": 15000, 
     "e_depends_on_lwp": 1, 
     "e_type": "_Test Basic Salary", 
-    "parentfield": "earning_details"
+    "parentfield": "earnings"
    }, 
    {
     "doctype": "Salary Slip Earning", 
     "e_amount": 500, 
     "e_depends_on_lwp": 0, 
     "e_type": "_Test Allowance", 
-    "parentfield": "earning_details"
+    "parentfield": "earnings"
    }
   ], 
   "employee": "_T-Employee-0001", 
diff --git a/erpnext/hr/doctype/salary_slip/test_salary_slip.py b/erpnext/hr/doctype/salary_slip/test_salary_slip.py
index 8aca9a6..475a02c 100644
--- a/erpnext/hr/doctype/salary_slip/test_salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/test_salary_slip.py
@@ -27,10 +27,10 @@
 		ss.insert()
 		self.assertEquals(ss.total_days_in_month, 31)
 		self.assertEquals(ss.payment_days, 30)
-		self.assertEquals(ss.earning_details[0].e_modified_amount, 14516.13)
-		self.assertEquals(ss.earning_details[1].e_modified_amount, 500)
-		self.assertEquals(ss.deduction_details[0].d_modified_amount, 100)
-		self.assertEquals(ss.deduction_details[1].d_modified_amount, 48.39)
+		self.assertEquals(ss.earnings[0].e_modified_amount, 14516.13)
+		self.assertEquals(ss.earnings[1].e_modified_amount, 500)
+		self.assertEquals(ss.deductions[0].d_modified_amount, 100)
+		self.assertEquals(ss.deductions[1].d_modified_amount, 48.39)
 		self.assertEquals(ss.gross_pay, 15016.13)
 		self.assertEquals(ss.net_pay, 14867.74)
 
@@ -39,10 +39,10 @@
 		ss.insert()
 		self.assertEquals(ss.total_days_in_month, 30)
 		self.assertEquals(ss.payment_days, 29)
-		self.assertEquals(ss.earning_details[0].e_modified_amount, 14500)
-		self.assertEquals(ss.earning_details[1].e_modified_amount, 500)
-		self.assertEquals(ss.deduction_details[0].d_modified_amount, 100)
-		self.assertEquals(ss.deduction_details[1].d_modified_amount, 48.33)
+		self.assertEquals(ss.earnings[0].e_modified_amount, 14500)
+		self.assertEquals(ss.earnings[1].e_modified_amount, 500)
+		self.assertEquals(ss.deductions[0].d_modified_amount, 100)
+		self.assertEquals(ss.deductions[1].d_modified_amount, 48.33)
 		self.assertEquals(ss.gross_pay, 15000)
 		self.assertEquals(ss.net_pay, 14851.67)
 
diff --git a/erpnext/hr/doctype/salary_structure/salary_structure.js b/erpnext/hr/doctype/salary_structure/salary_structure.js
index a5a3ad3..a6e9ede 100644
--- a/erpnext/hr/doctype/salary_structure/salary_structure.js
+++ b/erpnext/hr/doctype/salary_structure/salary_structure.js
@@ -4,10 +4,10 @@
 cur_frm.add_fetch('employee', 'company', 'company');
 
 cur_frm.cscript.onload = function(doc, dt, dn){
-	e_tbl = doc.earning_details || [];
-	d_tbl = doc.deduction_details || [];
+	e_tbl = doc.earnings || [];
+	d_tbl = doc.deductions || [];
 	if (e_tbl.length == 0 && d_tbl.length == 0)
-		return $c_obj(doc,'make_earn_ded_table','', function(r, rt) { refresh_many(['earning_details', 'deduction_details']);});
+		return $c_obj(doc,'make_earn_ded_table','', function(r, rt) { refresh_many(['earnings', 'deductions']);});
 }
 
 cur_frm.cscript.refresh = function(doc, dt, dn){
@@ -38,8 +38,8 @@
 }
 
 var calculate_totals = function(doc, cdt, cdn) {
-	var tbl1 = doc.earning_details || [];
-	var tbl2 = doc.deduction_details || [];
+	var tbl1 = doc.earnings || [];
+	var tbl2 = doc.deductions || [];
 
 	var total_earn = 0; var total_ded = 0;
 	for(var i = 0; i < tbl1.length; i++){
diff --git a/erpnext/hr/doctype/salary_structure/salary_structure.json b/erpnext/hr/doctype/salary_structure/salary_structure.json
index 2ddd95b..12219e1 100644
--- a/erpnext/hr/doctype/salary_structure/salary_structure.json
+++ b/erpnext/hr/doctype/salary_structure/salary_structure.json
@@ -143,10 +143,10 @@
    "width": "50%"
   }, 
   {
-   "fieldname": "earning_details", 
+   "fieldname": "earnings", 
    "fieldtype": "Table", 
    "hidden": 0, 
-   "label": "Earning1", 
+   "label": "Earnings", 
    "oldfieldname": "earning_details", 
    "oldfieldtype": "Table", 
    "options": "Salary Structure Earning", 
@@ -165,10 +165,10 @@
    "width": "50%"
   }, 
   {
-   "fieldname": "deduction_details", 
+   "fieldname": "deductions", 
    "fieldtype": "Table", 
    "hidden": 0, 
-   "label": "Deduction1", 
+   "label": "Deductions", 
    "oldfieldname": "deduction_details", 
    "oldfieldtype": "Table", 
    "options": "Salary Structure Deduction", 
@@ -227,7 +227,7 @@
  ], 
  "icon": "icon-file-text", 
  "idx": 1, 
- "modified": "2014-08-05 06:56:27.038404", 
+ "modified": "2014-12-24 16:39:45.518474", 
  "modified_by": "Administrator", 
  "module": "HR", 
  "name": "Salary Structure", 
diff --git a/erpnext/hr/doctype/salary_structure/salary_structure.py b/erpnext/hr/doctype/salary_structure/salary_structure.py
index 93b0c26..3c64f5d 100644
--- a/erpnext/hr/doctype/salary_structure/salary_structure.py
+++ b/erpnext/hr/doctype/salary_structure/salary_structure.py
@@ -40,16 +40,16 @@
 		list1 = frappe.db.sql("select name from `tab%s` where docstatus != 2" % doct_name)
 		for li in list1:
 			child = self.append(tab_fname, {})
-			if(tab_fname == 'earning_details'):
+			if(tab_fname == 'earnings'):
 				child.e_type = cstr(li[0])
 				child.modified_value = 0
-			elif(tab_fname == 'deduction_details'):
+			elif(tab_fname == 'deductions'):
 				child.d_type = cstr(li[0])
 				child.d_modified_amt = 0
 
 	def make_earn_ded_table(self):
-		self.make_table('Earning Type','earning_details','Salary Structure Earning')
-		self.make_table('Deduction Type','deduction_details', 'Salary Structure Deduction')
+		self.make_table('Earning Type','earnings','Salary Structure Earning')
+		self.make_table('Deduction Type','deductions', 'Salary Structure Deduction')
 
 	def check_existing(self):
 		ret = frappe.db.sql("""select name from `tabSalary Structure` where is_active = 'Yes'
diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js
index 7a8d75a..2ac11dc 100644
--- a/erpnext/manufacturing/doctype/bom/bom.js
+++ b/erpnext/manufacturing/doctype/bom/bom.js
@@ -26,12 +26,12 @@
 }
 
 cur_frm.cscript.with_operations = function(doc) {
-	cur_frm.fields_dict["bom_materials"].grid.set_column_disp("operation", doc.with_operations);
-	cur_frm.fields_dict["bom_materials"].grid.toggle_reqd("operation", doc.with_operations);
+	cur_frm.fields_dict["items"].grid.set_column_disp("operation", doc.with_operations);
+	cur_frm.fields_dict["items"].grid.toggle_reqd("operation", doc.with_operations);
 }
 
 erpnext.bom.set_operation = function(doc) {
-	var op_table = doc["bom_operations"] || [];
+	var op_table = doc["operations"] || [];
 	var operations = [];
 
 	for (var i=0, j=op_table.length; i<j; i++) {
@@ -40,10 +40,10 @@
 
 	frappe.meta.get_docfield("BOM Item", "operation", cur_frm.docname).options = operations.join("\n");
 
-	refresh_field("bom_materials");
+	refresh_field("items");
 }
 
-cur_frm.cscript.bom_operations_remove = function(){
+cur_frm.cscript.operations_remove = function(){
 	erpnext.bom.set_operation(doc);
 }
 
@@ -57,6 +57,7 @@
 }
 
 cur_frm.cscript.time_in_mins = cur_frm.cscript.hour_rate;
+cur_frm.cscript.fixed_cycle_cost = cur_frm.cscript.hour_rate;
 
 cur_frm.cscript.item_code = function(doc, cdt, cdn) {
 	get_bom_material_detail(doc, cdt, cdn);
@@ -84,7 +85,7 @@
 			callback: function(r) {
 				d = locals[cdt][cdn];
 				$.extend(d, r.message);
-				refresh_field("bom_materials");
+				refresh_field("items");
 				doc = locals[doc.doctype][doc.name];
 				erpnext.bom.calculate_rm_cost(doc);
 				erpnext.bom.calculate_total(doc);
@@ -111,7 +112,7 @@
 }
 
 erpnext.bom.calculate_op_cost = function(doc) {
-	var op = doc.bom_operations || [];
+	var op = doc.operations || [];
 	doc.operating_cost = 0.0;
 	for(var i=0;i<op.length;i++) {
 		operating_cost = flt(flt(op[i].hour_rate) * flt(op[i].time_in_mins) / 60, 2);
@@ -123,13 +124,13 @@
 }
 
 erpnext.bom.calculate_rm_cost = function(doc) {
-	var rm = doc.bom_materials || [];
+	var rm = doc.items || [];
 	total_rm_cost = 0;
 	for(var i=0;i<rm.length;i++) {
 		amt =	flt(rm[i].rate) * flt(rm[i].qty);
-		set_multiple('BOM Item',rm[i].name, {'amount': amt}, 'bom_materials');
+		set_multiple('BOM Item',rm[i].name, {'amount': amt}, 'items');
 		set_multiple('BOM Item',rm[i].name,
-			{'qty_consumed_per_unit': flt(rm[i].qty)/flt(doc.quantity)}, 'bom_materials');
+			{'qty_consumed_per_unit': flt(rm[i].qty)/flt(doc.quantity)}, 'items');
 		total_rm_cost += amt;
 	}
 	cur_frm.set_value("raw_material_cost", total_rm_cost);
@@ -157,7 +158,7 @@
 	}
 }
 
-cur_frm.fields_dict['bom_materials'].grid.get_field('item_code').get_query = function(doc) {
+cur_frm.fields_dict['items'].grid.get_field('item_code').get_query = function(doc) {
 	return{
 		query: "erpnext.controllers.queries.item_query",
 		filters: {
@@ -166,7 +167,7 @@
 	}
 }
 
-cur_frm.fields_dict['bom_materials'].grid.get_field('bom_no').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['items'].grid.get_field('bom_no').get_query = function(doc, cdt, cdn) {
 	var d = locals[cdt][cdn];
 	return{
 		filters:{
diff --git a/erpnext/manufacturing/doctype/bom/bom.json b/erpnext/manufacturing/doctype/bom/bom.json
index cb0a48c..97b35e0 100644
--- a/erpnext/manufacturing/doctype/bom/bom.json
+++ b/erpnext/manufacturing/doctype/bom/bom.json
@@ -77,33 +77,33 @@
   {
    "depends_on": "with_operations", 
    "description": "Specify the operations, operating cost and give a unique Operation no to your operations.", 
-   "fieldname": "operations", 
+   "fieldname": "operations_section", 
    "fieldtype": "Section Break", 
    "label": "Operations", 
    "oldfieldtype": "Section Break", 
    "permlevel": 0
   }, 
   {
-   "fieldname": "bom_operations", 
+   "fieldname": "operations", 
    "fieldtype": "Table", 
    "in_list_view": 0, 
-   "label": "BOM Operations", 
+   "label": "Operations", 
    "oldfieldname": "bom_operations", 
    "oldfieldtype": "Table", 
    "options": "BOM Operation", 
    "permlevel": 0
   }, 
   {
-   "fieldname": "materials", 
+   "fieldname": "materials_section", 
    "fieldtype": "Section Break", 
    "label": "Materials", 
    "oldfieldtype": "Section Break", 
    "permlevel": 0
   }, 
   {
-   "fieldname": "bom_materials", 
+   "fieldname": "items", 
    "fieldtype": "Table", 
-   "label": "BOM Item", 
+   "label": "Items", 
    "oldfieldname": "bom_materials", 
    "oldfieldtype": "Table", 
    "options": "BOM Item", 
@@ -223,10 +223,10 @@
    "print_hide": 0
   }, 
   {
-   "fieldname": "flat_bom_details", 
+   "fieldname": "exploded_items", 
    "fieldtype": "Table", 
    "hidden": 0, 
-   "label": "Materials Required (Exploded)", 
+   "label": "Exploded_items", 
    "no_copy": 1, 
    "oldfieldname": "flat_bom_details", 
    "oldfieldtype": "Table", 
@@ -244,7 +244,7 @@
  "is_submittable": 1, 
  "issingle": 0, 
  "istable": 0, 
- "modified": "2014-12-23 16:39:14.197038", 
+ "modified": "2014-12-24 14:38:43.906947", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "BOM", 
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index 1c1c81b..afdf10f 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -56,6 +56,9 @@
 			last_purchase_rate
 			from `tabItem` where name=%s""", item_code, as_dict = 1)
 
+		if not item:
+			frappe.throw(_("Item: {0} does not exist in the system").format(item_code))
+
 		return item
 
 	def validate_rm_item(self, item):
@@ -63,7 +66,7 @@
 			frappe.throw(_("Raw material cannot be same as main Item"))
 
 	def set_bom_material_details(self):
-		for item in self.get("bom_materials"):
+		for item in self.get("items"):
 			ret = self.get_bom_material_detail({"item_code": item.item_code, "bom_no": item.bom_no,
 				"qty": item.qty})
 
@@ -117,7 +120,7 @@
 		if self.docstatus == 2:
 			return
 
-		for d in self.get("bom_materials"):
+		for d in self.get("items"):
 			rate = self.get_bom_material_detail({'item_code': d.item_code, 'bom_no': d.bom_no,
 				'qty': d.qty})["rate"]
 			if rate:
@@ -178,8 +181,8 @@
 
 	def clear_operations(self):
 		if not self.with_operations:
-			self.set('bom_operations', [])
-			for d in self.get("bom_materials"):
+			self.set('operations', [])
+			for d in self.get("items"):
 				d.operation = None
 
 	def validate_main_item(self):
@@ -195,7 +198,7 @@
 	def validate_materials(self):
 		""" Validate raw material entries """
 		check_list = []
-		for m in self.get('bom_materials'):
+		for m in self.get('items'):
 
 			if m.bom_no:
 				validate_bom_no(m.item_code, m.bom_no)
@@ -262,7 +265,7 @@
 	def calculate_op_cost(self):
 		"""Update workstation rate and calculates totals"""
 		self.operating_cost = 0
-		for d in self.get('bom_operations'):
+		for d in self.get('operations'):
 			if d.workstation:
 				if not d.hour_rate:
 					d.hour_rate = flt(frappe.db.get_value("Workstation", d.workstation, "hour_rate"))
@@ -275,7 +278,7 @@
 	def calculate_rm_cost(self):
 		"""Fetch RM rate as per today's valuation rate and calculate totals"""
 		total_rm_cost = 0
-		for d in self.get('bom_materials'):
+		for d in self.get('items'):
 			if d.bom_no:
 				d.rate = self.get_bom_unitcost(d.bom_no)
 			d.amount = flt(d.rate, self.precision("rate", d)) * flt(d.qty, self.precision("qty", d))
@@ -292,7 +295,7 @@
 	def get_exploded_items(self):
 		""" Get all raw materials including items from child bom"""
 		self.cur_exploded_items = {}
-		for d in self.get('bom_materials'):
+		for d in self.get('items'):
 			if d.bom_no:
 				self.get_child_exploded_items(d.bom_no, d.qty)
 			else:
@@ -331,9 +334,9 @@
 	def add_exploded_items(self):
 		"Add items to Flat BOM table"
 		frappe.db.sql("""delete from `tabBOM Explosion Item` where parent=%s""", self.name)
-		self.set('flat_bom_details', [])
+		self.set('exploded_items', [])
 		for d in self.cur_exploded_items:
-			ch = self.append('flat_bom_details', {})
+			ch = self.append('exploded_items', {})
 			for i in self.cur_exploded_items[d].keys():
 				ch.set(i, self.cur_exploded_items[d][i])
 			ch.amount = flt(ch.qty) * flt(ch.rate)
diff --git a/erpnext/manufacturing/doctype/bom/test_bom.py b/erpnext/manufacturing/doctype/bom/test_bom.py
index a8e7ed2..4889638 100644
--- a/erpnext/manufacturing/doctype/bom/test_bom.py
+++ b/erpnext/manufacturing/doctype/bom/test_bom.py
@@ -13,17 +13,17 @@
 	def test_get_items(self):
 		from erpnext.manufacturing.doctype.bom.bom import get_bom_items_as_dict
 		items_dict = get_bom_items_as_dict(bom="BOM/_Test FG Item 2/001", qty=1, fetch_exploded=0)
-		self.assertTrue(test_records[2]["bom_materials"][0]["item_code"] in items_dict)
-		self.assertTrue(test_records[2]["bom_materials"][1]["item_code"] in items_dict)
+		self.assertTrue(test_records[2]["items"][0]["item_code"] in items_dict)
+		self.assertTrue(test_records[2]["items"][1]["item_code"] in items_dict)
 		self.assertEquals(len(items_dict.values()), 2)
 
 	def test_get_items_exploded(self):
 		from erpnext.manufacturing.doctype.bom.bom import get_bom_items_as_dict
 		items_dict = get_bom_items_as_dict(bom="BOM/_Test FG Item 2/001", qty=1, fetch_exploded=1)
-		self.assertTrue(test_records[2]["bom_materials"][0]["item_code"] in items_dict)
-		self.assertFalse(test_records[2]["bom_materials"][1]["item_code"] in items_dict)
-		self.assertTrue(test_records[0]["bom_materials"][0]["item_code"] in items_dict)
-		self.assertTrue(test_records[0]["bom_materials"][1]["item_code"] in items_dict)
+		self.assertTrue(test_records[2]["items"][0]["item_code"] in items_dict)
+		self.assertFalse(test_records[2]["items"][1]["item_code"] in items_dict)
+		self.assertTrue(test_records[0]["items"][0]["item_code"] in items_dict)
+		self.assertTrue(test_records[0]["items"][1]["item_code"] in items_dict)
 		self.assertEquals(len(items_dict.values()), 3)
 
 	def test_get_items_list(self):
diff --git a/erpnext/manufacturing/doctype/bom/test_records.json b/erpnext/manufacturing/doctype/bom/test_records.json
index 56e3abf..c37cef0 100644
--- a/erpnext/manufacturing/doctype/bom/test_records.json
+++ b/erpnext/manufacturing/doctype/bom/test_records.json
@@ -1,11 +1,11 @@
 [
  {
-  "bom_materials": [
+  "items": [
    {
     "amount": 5000.0,
     "doctype": "BOM Item",
     "item_code": "_Test Serialized Item With Series",
-    "parentfield": "bom_materials",
+    "parentfield": "items",
     "qty": 1.0,
     "rate": 5000.0,
     "stock_uom": "_Test UOM"
@@ -14,7 +14,7 @@
     "amount": 2000.0,
     "doctype": "BOM Item",
     "item_code": "_Test Item 2",
-    "parentfield": "bom_materials",
+    "parentfield": "items",
     "qty": 2.0,
     "rate": 1000.0,
     "stock_uom": "_Test UOM"
@@ -28,12 +28,12 @@
   "quantity": 1.0
  },
  {
-  "bom_materials": [
+  "items": [
    {
     "amount": 5000.0,
     "doctype": "BOM Item",
     "item_code": "_Test Item",
-    "parentfield": "bom_materials",
+    "parentfield": "items",
     "qty": 1.0,
     "rate": 5000.0,
     "stock_uom": "_Test UOM"
@@ -42,7 +42,7 @@
     "amount": 2000.0,
     "doctype": "BOM Item",
     "item_code": "_Test Item Home Desktop 100",
-    "parentfield": "bom_materials",
+    "parentfield": "items",
     "qty": 2.0,
     "rate": 1000.0,
     "stock_uom": "_Test UOM"
@@ -56,7 +56,7 @@
   "quantity": 1.0
  },
  {
-  "bom_operations": [
+  "operations": [
    {
     "operation": "_Test Operation 1",
     "opn_description": "_Test",
@@ -65,13 +65,13 @@
     "operating_cost": 100
    }
    ],
-  "bom_materials": [
+  "items": [
    {
     "operation": 1,
     "amount": 5000.0,
     "doctype": "BOM Item",
     "item_code": "_Test Item",
-    "parentfield": "bom_materials",
+    "parentfield": "items",
     "qty": 1.0,
     "rate": 5000.0,
     "stock_uom": "_Test UOM"
@@ -82,7 +82,7 @@
     "bom_no": "BOM/_Test Item Home Desktop Manufactured/001",
     "doctype": "BOM Item",
     "item_code": "_Test Item Home Desktop Manufactured",
-    "parentfield": "bom_materials",
+    "parentfield": "items",
     "qty": 2.0,
     "rate": 1000.0,
     "stock_uom": "_Test UOM"
@@ -97,7 +97,7 @@
   "with_operations": 1
  },
  {
-  "bom_operations": [
+  "operations": [
    {
     "operation": "_Test Operation 1",
     "opn_description": "_Test",
@@ -106,13 +106,13 @@
     "operating_cost": 140
    }
    ],
-  "bom_materials": [
+  "items": [
    {
     "operation": 1,
     "amount": 5000.0,
     "doctype": "BOM Item",
     "item_code": "_Test Item",
-    "parentfield": "bom_materials",
+    "parentfield": "items",
     "qty": 2.0,
     "rate": 3000.0,
     "stock_uom": "_Test UOM"
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.js b/erpnext/manufacturing/doctype/production_order/production_order.js
index a949022..502277b 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.js
+++ b/erpnext/manufacturing/doctype/production_order/production_order.js
@@ -62,7 +62,7 @@
 			doc: this.frm.doc,
 			method: "set_production_order_operations",
 			callback: function(r) {
-				if(!r.exc) refresh_field("production_order_operations");
+				if(!r.exc) refresh_field("operations");
 			}
 		});
 	},
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.json b/erpnext/manufacturing/doctype/production_order/production_order.json
index 9617ba0..6563952 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.json
+++ b/erpnext/manufacturing/doctype/production_order/production_order.json
@@ -192,7 +192,7 @@
   }, 
   {
    "depends_on": "", 
-   "fieldname": "operations", 
+   "fieldname": "operations_section", 
    "fieldtype": "Section Break", 
    "label": "Operations", 
    "options": "icon-wrench", 
@@ -200,9 +200,9 @@
    "precision": ""
   }, 
   {
-   "fieldname": "production_order_operations", 
+   "fieldname": "operations", 
    "fieldtype": "Table", 
-   "label": "Production Order Operations", 
+   "label": "Operations", 
    "options": "Production Order Operation", 
    "permlevel": 0, 
    "precision": "", 
@@ -351,7 +351,7 @@
  "idx": 1, 
  "in_create": 0, 
  "is_submittable": 1, 
- "modified": "2014-12-23 15:07:26.516227", 
+ "modified": "2014-12-24 14:36:25.662920", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "Production Order", 
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py
index 2c2c04d..9ac1c48 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/production_order.py
@@ -14,7 +14,7 @@
 class StockOverProductionError(frappe.ValidationError): pass
 
 form_grid_templates = {
-	"production_order_operations": "templates/form_grid/production_order_grid.html"
+	"operations": "templates/form_grid/production_order_grid.html"
 }
 
 class ProductionOrder(Document):
@@ -60,7 +60,7 @@
 
 	def calculate_operating_cost(self):
 		self.planned_operating_cost, self.actual_operating_cost = 0.0, 0.0
-		for d in self.get("production_order_operations"):
+		for d in self.get("operations"):
 			d.actual_operating_cost = flt(d.hour_rate) * flt(d.actual_operation_time) / 60
 
 			self.planned_operating_cost += flt(d.planned_operating_cost)
@@ -163,20 +163,20 @@
 	def set_production_order_operations(self):
 		"""Fetch operations from BOM and set in 'Production Order'"""
 
-		self.set('production_order_operations', [])
+		self.set('operations', [])
 
 		operations = frappe.db.sql("""select operation, opn_description, workstation,
 			hour_rate, time_in_mins, operating_cost as "planned_operating_cost", "Pending" as status
 			from `tabBOM Operation` where parent = %s""", self.bom_no, as_dict=1)
 
-		self.set('production_order_operations', operations)
+		self.set('operations', operations)
 
 		self.plan_operations()
 		self.calculate_operating_cost()
 
 	def plan_operations(self):
 		scheduled_datetime = self.planned_start_date
-		for d in self.get('production_order_operations'):
+		for d in self.get('operations'):
 			while getdate(scheduled_datetime) in self.get_holidays(d.workstation):
 				scheduled_datetime = get_datetime(scheduled_datetime) + relativedelta(days=1)
 
@@ -199,7 +199,7 @@
 		return self.holidays[holiday_list]
 
 	def update_operation_status(self):
-		for d in self.get("production_order_operations"):
+		for d in self.get("operations"):
 			if not d.completed_qty:
 				d.status = "Pending"
 			elif flt(d.completed_qty) < flt(self.qty):
@@ -294,7 +294,7 @@
 	time_logs = []
 	prod_order = frappe.get_doc("Production Order", production_order_id)
 
-	for d in prod_order.production_order_operations:
+	for d in prod_order.operations:
 		operation = cstr(d.idx) + ". " + d.operation
 		time_log = make_time_log(prod_order.name, operation, d.planned_start_time, d.planned_end_time,
 			flt(prod_order.qty) - flt(d.completed_qty), prod_order.project_name, d.workstation)
diff --git a/erpnext/manufacturing/doctype/production_order/test_production_order.py b/erpnext/manufacturing/doctype/production_order/test_production_order.py
index 49db178..58a49c1 100644
--- a/erpnext/manufacturing/doctype/production_order/test_production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/test_production_order.py
@@ -28,7 +28,7 @@
 
 		# from stores to wip
 		s = frappe.get_doc(make_stock_entry(pro_doc.name, "Material Transfer", 4))
-		for d in s.get("mtn_details"):
+		for d in s.get("items"):
 			d.s_warehouse = "Stores - _TC"
 		s.insert()
 		s.submit()
@@ -71,7 +71,7 @@
 
 
 		prod_order.set_production_order_operations()
-		prod_order.production_order_operations[0].update({
+		prod_order.operations[0].update({
 			"planned_start_time": "2014-11-25 00:00:00",
 			"planned_end_time": "2014-11-25 10:00:00",
 			"hour_rate": 10
@@ -79,7 +79,7 @@
 
 		prod_order.insert()
 
-		d = prod_order.production_order_operations[0]
+		d = prod_order.operations[0]
 
 		from erpnext.manufacturing.doctype.production_order.production_order import make_time_log
 		from frappe.utils import cstr
@@ -106,23 +106,23 @@
 		manufacturing_settings.save()
 
 		prod_order.load_from_db()
-		self.assertEqual(prod_order.production_order_operations[0].status, "Completed")
-		self.assertEqual(prod_order.production_order_operations[0].qty_completed, prod_order.qty)
+		self.assertEqual(prod_order.operations[0].status, "Completed")
+		self.assertEqual(prod_order.operations[0].qty_completed, prod_order.qty)
 
-		self.assertEqual(prod_order.production_order_operations[0].actual_start_time, time_log.from_time)
-		self.assertEqual(prod_order.production_order_operations[0].actual_end_time, time_log.to_time)
+		self.assertEqual(prod_order.operations[0].actual_start_time, time_log.from_time)
+		self.assertEqual(prod_order.operations[0].actual_end_time, time_log.to_time)
 
-		self.assertEqual(prod_order.production_order_operations[0].actual_operation_time, 600)
-		self.assertEqual(prod_order.production_order_operations[0].actual_operating_cost, 6000)
+		self.assertEqual(prod_order.operations[0].actual_operation_time, 600)
+		self.assertEqual(prod_order.operations[0].actual_operating_cost, 6000)
 
 		time_log.cancel()
 
 		prod_order.load_from_db()
-		self.assertEqual(prod_order.production_order_operations[0].status, "Pending")
-		self.assertEqual(prod_order.production_order_operations[0].qty_completed, 0)
+		self.assertEqual(prod_order.operations[0].status, "Pending")
+		self.assertEqual(prod_order.operations[0].qty_completed, 0)
 
-		self.assertEqual(prod_order.production_order_operations[0].actual_operation_time, 0)
-		self.assertEqual(prod_order.production_order_operations[0].actual_operating_cost, 0)
+		self.assertEqual(prod_order.operations[0].actual_operation_time, 0)
+		self.assertEqual(prod_order.operations[0].actual_operating_cost, 0)
 
 		time_log2 = frappe.copy_doc(time_log)
 		time_log2.update({
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js
index e219215..b17303d 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js
@@ -13,14 +13,14 @@
 cur_frm.cscript.sales_order = function(doc,cdt,cdn) {
 	var d = locals[cdt][cdn];
 	if (d.sales_order) {
-		return get_server_fields('get_so_details', d.sales_order, 'pp_so_details', doc, cdt, cdn, 1);
+		return get_server_fields('get_so_details', d.sales_order, 'sales_orders', doc, cdt, cdn, 1);
 	}
 }
 
 cur_frm.cscript.item_code = function(doc,cdt,cdn) {
 	var d = locals[cdt][cdn];
 	if (d.item_code) {
-		return get_server_fields('get_item_details', d.item_code, 'pp_details', doc, cdt, cdn, 1);
+		return get_server_fields('get_item_details', d.item_code, 'items', doc, cdt, cdn, 1);
 	}
 }
 
@@ -32,7 +32,7 @@
 }
 
 
-cur_frm.fields_dict['pp_so_details'].grid.get_field('sales_order').get_query = function(doc) {
+cur_frm.fields_dict['sales_orders'].grid.get_field('sales_order').get_query = function(doc) {
 	var args = { "docstatus": 1 };
 	if(doc.customer) {
 		args["customer"] = doc.customer;
@@ -41,13 +41,13 @@
  	return { filters: args }
 }
 
-cur_frm.fields_dict['pp_details'].grid.get_field('item_code').get_query = function(doc) {
+cur_frm.fields_dict['items'].grid.get_field('item_code').get_query = function(doc) {
  	return erpnext.queries.item({
 		'is_pro_applicable': 'Yes'
 	});
 }
 
-cur_frm.fields_dict['pp_details'].grid.get_field('bom_no').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['items'].grid.get_field('bom_no').get_query = function(doc, cdt, cdn) {
 	var d = locals[cdt][cdn];
 	if (d.item_code) {
 		return {
@@ -63,5 +63,5 @@
 	}
 }
 
-cur_frm.fields_dict.pp_so_details.grid.get_field("customer").get_query =
+cur_frm.fields_dict.sales_orders.grid.get_field("customer").get_query =
 	cur_frm.fields_dict.customer.get_query;
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
index bdfab41..a69f514 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
@@ -1,5 +1,5 @@
 {
- "creation": "2013-01-21 12:03:47.000000", 
+ "creation": "2013-01-21 12:03:47", 
  "default_print_format": "Standard", 
  "docstatus": 0, 
  "doctype": "DocType", 
@@ -20,6 +20,7 @@
   {
    "fieldname": "fg_item", 
    "fieldtype": "Link", 
+   "in_list_view": 1, 
    "label": "Filter based on item", 
    "options": "Item", 
    "permlevel": 0
@@ -27,6 +28,7 @@
   {
    "fieldname": "customer", 
    "fieldtype": "Link", 
+   "in_list_view": 1, 
    "label": "Filter based on customer", 
    "options": "Customer", 
    "permlevel": 0
@@ -34,6 +36,7 @@
   {
    "fieldname": "company", 
    "fieldtype": "Link", 
+   "in_list_view": 1, 
    "label": "Company", 
    "options": "Company", 
    "permlevel": 0, 
@@ -72,9 +75,9 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "pp_so_details", 
+   "fieldname": "sales_orders", 
    "fieldtype": "Table", 
-   "label": "Production Plan Sales Orders", 
+   "label": "Sales Orders", 
    "options": "Production Plan Sales Order", 
    "permlevel": 0
   }, 
@@ -101,9 +104,9 @@
    "reqd": 0
   }, 
   {
-   "fieldname": "pp_details", 
+   "fieldname": "items", 
    "fieldtype": "Table", 
-   "label": "Production Plan Items", 
+   "label": "Items", 
    "options": "Production Plan Item", 
    "permlevel": 0
   }, 
@@ -155,7 +158,7 @@
  "idx": 1, 
  "in_create": 1, 
  "issingle": 1, 
- "modified": "2013-12-20 19:23:25.000000", 
+ "modified": "2014-12-24 16:36:06.267344", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "Production Planning Tool", 
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 f0bb937..713433e 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
@@ -38,10 +38,10 @@
 		return ret
 
 	def clear_so_table(self):
-		self.set('pp_so_details', [])
+		self.set('sales_orders', [])
 
 	def clear_item_table(self):
-		self.set('pp_details', [])
+		self.set('items', [])
 
 	def validate_company(self):
 		if not self.company:
@@ -83,10 +83,10 @@
 		""" Add sales orders in the table"""
 		self.clear_so_table()
 
-		so_list = [d.sales_order for d in self.get('pp_so_details')]
+		so_list = [d.sales_order for d in self.get('sales_orders')]
 		for r in open_so:
 			if cstr(r['name']) not in so_list:
-				pp_so = self.append('pp_so_details', {})
+				pp_so = self.append('sales_orders', {})
 				pp_so.sales_order = r['name']
 				pp_so.sales_order_date = cstr(r['transaction_date'])
 				pp_so.customer = cstr(r['customer'])
@@ -101,7 +101,7 @@
 		self.add_items(items)
 
 	def get_items(self):
-		so_list = filter(None, [d.sales_order for d in self.get('pp_so_details')])
+		so_list = filter(None, [d.sales_order for d in self.get('sales_orders')])
 		if not so_list:
 			msgprint(_("Please enter sales order in the above table"))
 			return []
@@ -143,7 +143,7 @@
 		for p in items:
 			item_details = frappe.db.sql("""select description, stock_uom, default_bom
 				from tabItem where name=%s""", p['item_code'])
-			pi = self.append('pp_details', {})
+			pi = self.append('items', {})
 			pi.sales_order				= p['parent']
 			pi.warehouse				= p['warehouse']
 			pi.item_code				= p['item_code']
@@ -155,7 +155,7 @@
 
 	def validate_data(self):
 		self.validate_company()
-		for d in self.get('pp_details'):
+		for d in self.get('items'):
 			self.validate_bom_no(d)
 			if not flt(d.planned_qty):
 				frappe.throw(_("Please enter Planned Qty for Item {0} at row {1}").format(d.item_code, d.idx))
@@ -193,7 +193,7 @@
 			}
 		"""
 		item_dict, bom_dict = {}, {}
-		for d in self.get("pp_details"):
+		for d in self.get("items"):
 			bom_dict.setdefault(d.bom_no, []).append([d.sales_order, flt(d.planned_qty)])
 			item_dict[(d.item_code, d.sales_order, d.warehouse)] = {
 				"production_item"	: d.item_code,
@@ -379,7 +379,7 @@
 					"material_request_type": "Purchase"
 				})
 				for sales_order, requested_qty in items_to_be_requested[item].items():
-					pr_doc.append("indent_details", {
+					pr_doc.append("items", {
 						"doctype": "Material Request Item",
 						"__islocal": 1,
 						"item_code": item,
diff --git a/erpnext/manufacturing/doctype/workstation/test_records.json b/erpnext/manufacturing/doctype/workstation/test_records.json
index 37fb5aa..ffc1ec8 100644
--- a/erpnext/manufacturing/doctype/workstation/test_records.json
+++ b/erpnext/manufacturing/doctype/workstation/test_records.json
@@ -6,7 +6,7 @@
 		"warehouse": "_Test warehouse - _TC",
 		"hour_rate":100,
 		"holiday_list": "_Test Holiday List",
-		"workstation_operation_hours": [
+		"working_hours": [
 			{
 				"start_time": "10:00:00",
 				"end_time": "20:00:00"
diff --git a/erpnext/manufacturing/doctype/workstation/workstation.json b/erpnext/manufacturing/doctype/workstation/workstation.json
index ecf0f66..14d4964 100644
--- a/erpnext/manufacturing/doctype/workstation/workstation.json
+++ b/erpnext/manufacturing/doctype/workstation/workstation.json
@@ -121,24 +121,24 @@
    "read_only": 1
   }, 
   {
-   "fieldname": "operation_timings", 
+   "fieldname": "working_hours_section", 
    "fieldtype": "Section Break", 
-   "label": "Operation Timings", 
+   "label": "Wroking Hours", 
    "permlevel": 0, 
    "precision": ""
   }, 
   {
-   "fieldname": "workstation_operation_hours", 
+   "fieldname": "working_hours", 
    "fieldtype": "Table", 
-   "label": "Workstation Operation Hours", 
-   "options": "Workstation Operation Hour", 
+   "label": "Working Hours", 
+   "options": "Workstation Working Hour", 
    "permlevel": 0, 
    "precision": ""
   }
  ], 
  "icon": "icon-wrench", 
  "idx": 1, 
- "modified": "2014-12-23 15:27:58.477925", 
+ "modified": "2014-12-24 14:47:06.676335", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "Workstation", 
diff --git a/erpnext/manufacturing/doctype/workstation/workstation.py b/erpnext/manufacturing/doctype/workstation/workstation.py
index 6281977..d679b94 100644
--- a/erpnext/manufacturing/doctype/workstation/workstation.py
+++ b/erpnext/manufacturing/doctype/workstation/workstation.py
@@ -31,7 +31,7 @@
 		self.update_bom_operation()
 
 	def validate_overlap_for_operation_timings(self):
-		for d in self.get("workstation_operation_hours"):
+		for d in self.get("working_hours"):
 			existing = frappe.db.sql_list("""select idx from `tabWorkstation Operation Hours`
 				where parent = %s and name != %s
 					and (
diff --git a/erpnext/manufacturing/doctype/workstation_operation_hour/__init__.py b/erpnext/manufacturing/doctype/workstation_working_hour/__init__.py
similarity index 100%
rename from erpnext/manufacturing/doctype/workstation_operation_hour/__init__.py
rename to erpnext/manufacturing/doctype/workstation_working_hour/__init__.py
diff --git a/erpnext/manufacturing/doctype/workstation_operation_hour/workstation_operation_hour.json b/erpnext/manufacturing/doctype/workstation_working_hour/workstation_working_hour.json
similarity index 94%
rename from erpnext/manufacturing/doctype/workstation_operation_hour/workstation_operation_hour.json
rename to erpnext/manufacturing/doctype/workstation_working_hour/workstation_working_hour.json
index ebfa0ef..2afc2e7 100644
--- a/erpnext/manufacturing/doctype/workstation_operation_hour/workstation_operation_hour.json
+++ b/erpnext/manufacturing/doctype/workstation_working_hour/workstation_working_hour.json
@@ -2,7 +2,7 @@
  "allow_copy": 0, 
  "allow_import": 0, 
  "allow_rename": 0, 
- "creation": "2014-12-22 14:18:20.786493", 
+ "creation": "2014-12-24 14:46:40.678236", 
  "custom": 0, 
  "docstatus": 0, 
  "doctype": "DocType", 
@@ -115,10 +115,10 @@
  "is_submittable": 0, 
  "issingle": 0, 
  "istable": 1, 
- "modified": "2014-12-22 14:18:31.091653", 
+ "modified": "2014-12-24 14:46:40.678236", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
- "name": "Workstation Operation Hour", 
+ "name": "Workstation Working Hour", 
  "name_case": "", 
  "owner": "Administrator", 
  "permissions": [], 
diff --git a/erpnext/manufacturing/doctype/workstation_operation_hour/workstation_operation_hour.py b/erpnext/manufacturing/doctype/workstation_working_hour/workstation_working_hour.py
similarity index 84%
rename from erpnext/manufacturing/doctype/workstation_operation_hour/workstation_operation_hour.py
rename to erpnext/manufacturing/doctype/workstation_working_hour/workstation_working_hour.py
index 1b8c519..3ce50ec 100644
--- a/erpnext/manufacturing/doctype/workstation_operation_hour/workstation_operation_hour.py
+++ b/erpnext/manufacturing/doctype/workstation_working_hour/workstation_working_hour.py
@@ -5,5 +5,5 @@
 import frappe
 from frappe.model.document import Document
 
-class WorkstationOperationHour(Document):
+class WorkstationWorkingHour(Document):
 	pass
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index fc4ecba..df3d772 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -36,7 +36,7 @@
 execute:frappe.delete_doc("DocType", "MIS Control")
 execute:frappe.delete_doc("Page", "Financial Statements")
 execute:frappe.delete_doc("DocType", "Stock Ledger")
-execute:frappe.db.sql("update `tabJournal Voucher` set voucher_type='Journal Entry' where ifnull(voucher_type, '')=''")
+execute:frappe.db.sql("update `tabJournal Entry` set voucher_type='Journal Entry' where ifnull(voucher_type, '')=''")
 execute:frappe.delete_doc("DocType", "Grade")
 execute:frappe.db.sql("delete from `tabWebsite Item Group` where ifnull(item_group, '')=''")
 execute:frappe.delete_doc("Print Format", "SalesInvoice")
@@ -90,6 +90,7 @@
 erpnext.patches.v4_2.party_model
 erpnext.patches.v4_4.make_email_accounts
 execute:frappe.delete_doc("DocType", "Contact Control")
+erpnext.patches.v4_2.reset_bom_costs
 erpnext.patches.v5_0.update_frozen_accounts_permission_role
 erpnext.patches.v5_0.update_dn_against_doc_fields
 execute:frappe.db.sql("update `tabMaterial Request` set material_request_type = 'Material Transfer' where material_request_type = 'Transfer'")
diff --git a/erpnext/patches/repair_tools/fix_naming_series_records_lost_by_reload.py b/erpnext/patches/repair_tools/fix_naming_series_records_lost_by_reload.py
index 7a19688..80e7437 100644
--- a/erpnext/patches/repair_tools/fix_naming_series_records_lost_by_reload.py
+++ b/erpnext/patches/repair_tools/fix_naming_series_records_lost_by_reload.py
@@ -17,7 +17,7 @@
 	'Delivery Note': 'DN-',
 	'Installation Note': 'IN-',
 	'Item': 'ITEM-',
-	'Journal Voucher': 'JV-',
+	'Journal Entry': 'JV-',
 	'Lead': 'LEAD-',
 	'Opportunity': 'OPTY-',
 	'Packing Slip': 'PS-',
diff --git a/erpnext/patches/v4_0/create_price_list_if_missing.py b/erpnext/patches/v4_0/create_price_list_if_missing.py
index f65b7cb..8d23319 100644
--- a/erpnext/patches/v4_0/create_price_list_if_missing.py
+++ b/erpnext/patches/v4_0/create_price_list_if_missing.py
@@ -28,7 +28,7 @@
 		"buying": buying,
 		"selling": selling,
 		"currency": frappe.db.get_default("currency"),
-		"valid_for_territories": [{
+		"territories": [{
 			"territory": get_root_of("Territory")
 		}]
 	})
diff --git a/erpnext/patches/v4_0/set_naming_series_property_setter.py b/erpnext/patches/v4_0/set_naming_series_property_setter.py
index 7ebcc1e..d62d845 100644
--- a/erpnext/patches/v4_0/set_naming_series_property_setter.py
+++ b/erpnext/patches/v4_0/set_naming_series_property_setter.py
@@ -14,7 +14,7 @@
 	'Delivery Note': 'DN-',
 	'Installation Note': 'IN-',
 	'Item': 'ITEM-',
-	'Journal Voucher': 'JV-',
+	'Journal Entry': 'JV-',
 	'Lead': 'LEAD-',
 	'Opportunity': 'OPTY-',
 	'Packing Slip': 'PS-',
diff --git a/erpnext/patches/v4_0/update_incharge_name_to_sales_person_in_maintenance_schedule.py b/erpnext/patches/v4_0/update_incharge_name_to_sales_person_in_maintenance_schedule.py
index 11f0090..673d306 100644
--- a/erpnext/patches/v4_0/update_incharge_name_to_sales_person_in_maintenance_schedule.py
+++ b/erpnext/patches/v4_0/update_incharge_name_to_sales_person_in_maintenance_schedule.py
@@ -5,7 +5,7 @@
 import frappe
 
 def execute():
-	frappe.reload_doc("support", "doctype", "maintenance_schedule_detail")
+	frappe.reload_doc("support", "doctype", "schedules")
 	frappe.reload_doc("support", "doctype", "maintenance_schedule_item")
 	
 	frappe.db.sql("""update `tabMaintenance Schedule Detail` set sales_person=incharge_name""")
diff --git a/erpnext/patches/v4_0/update_other_charges_in_custom_purchase_print_formats.py b/erpnext/patches/v4_0/update_other_charges_in_custom_purchase_print_formats.py
index c0f9ee0..697f05c 100644
--- a/erpnext/patches/v4_0/update_other_charges_in_custom_purchase_print_formats.py
+++ b/erpnext/patches/v4_0/update_other_charges_in_custom_purchase_print_formats.py
@@ -8,5 +8,5 @@
 def execute():
 	for name, html in frappe.db.sql("""select name, html from `tabPrint Format`
 		where standard = 'No' and html like '%%purchase\\_tax\\_details%%'"""):
-			html = re.sub(r"\bpurchase_tax_details\b", "other_charges", html)
+			html = re.sub(r"\bpurchase_tax_details\b", "taxes", html)
 			frappe.db.set_value("Print Format", name, "html", html)
diff --git a/erpnext/patches/v4_1/fix_jv_remarks.py b/erpnext/patches/v4_1/fix_jv_remarks.py
index 3b2f342..513fb7f 100644
--- a/erpnext/patches/v4_1/fix_jv_remarks.py
+++ b/erpnext/patches/v4_1/fix_jv_remarks.py
@@ -6,15 +6,16 @@
 
 def execute():
 	reference_date = guess_reference_date()
-	for name in frappe.db.sql_list("""select name from `tabJournal Voucher`
-		where date(creation)>=%s""", reference_date):
-		jv = frappe.get_doc("Journal Voucher", name)
+	frappe.reload_doc('accounts', 'doctype', 'journal_voucher_detail')
+	for name in frappe.db.sql_list("""select name from `tabJournal Entry`
+			where date(creation)>=%s""", reference_date):
+		jv = frappe.get_doc("Journal Entry", name)
 		try:
 			jv.create_remarks()
 		except frappe.MandatoryError:
 			pass
 		else:
-			frappe.db.set_value("Journal Voucher", jv.name, "remark", jv.remark)
+			frappe.db.set_value("Journal Entry", jv.name, "remark", jv.remark)
 
 def guess_reference_date():
 	return (frappe.db.get_value("Patch Log", {"patch": "erpnext.patches.v4_0.validate_v3_patch"}, "creation")
diff --git a/erpnext/patches/v4_2/party_model.py b/erpnext/patches/v4_2/party_model.py
index 7bcb6ce..d41ef62 100644
--- a/erpnext/patches/v4_2/party_model.py
+++ b/erpnext/patches/v4_2/party_model.py
@@ -7,7 +7,7 @@
 def execute():
 	frappe.reload_doc("accounts", "doctype", "account")
 	frappe.reload_doc("setup", "doctype", "company")
-	frappe.reload_doc("accounts", "doctype", "journal_voucher_detail")
+	frappe.reload_doc("accounts", "doctype", "journal_entry_account")
 	frappe.reload_doc("accounts", "doctype", "gl_entry")
 	receivable_payable_accounts = create_receivable_payable_account()
 	if receivable_payable_accounts:
@@ -77,7 +77,7 @@
 	if not account_map:
 		return
 
-	for dt in ["Journal Voucher Detail", "GL Entry"]:
+	for dt in ["Journal Entry Account", "GL Entry"]:
 		records = frappe.db.sql("""select name, account from `tab%s` where account in (%s)""" %
 			(dt, ", ".join(['%s']*len(account_map))), tuple(account_map.keys()), as_dict=1)
 		for d in records:
diff --git a/erpnext/patches/v4_2/reset_bom_costs.py b/erpnext/patches/v4_2/reset_bom_costs.py
new file mode 100644
index 0000000..49f0b2e
--- /dev/null
+++ b/erpnext/patches/v4_2/reset_bom_costs.py
@@ -0,0 +1,17 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+	frappe.reload_doc('manufacturing', 'doctype', 'bom_operation')
+	for d in frappe.db.sql("""select name from `tabBOM` where docstatus < 2""", as_dict=1):
+		try:
+			bom = frappe.get_doc('BOM', d.name)
+			bom.ignore_validate_update_after_submit = True
+			bom.calculate_cost()
+			bom.save()
+			frappe.db.commit()
+		except:
+			frappe.db.rollback()
diff --git a/erpnext/patches/v5_0/recalculate_total_amount_in_jv.py b/erpnext/patches/v5_0/recalculate_total_amount_in_jv.py
index 147dd64..afb5681 100644
--- a/erpnext/patches/v5_0/recalculate_total_amount_in_jv.py
+++ b/erpnext/patches/v5_0/recalculate_total_amount_in_jv.py
@@ -4,9 +4,9 @@
 import frappe
 
 def execute():
-	for d in frappe.db.sql("""select name from `tabJournal Voucher` where docstatus < 2 """, as_dict=1):
+	for d in frappe.db.sql("""select name from `tabJournal Entry` where docstatus < 2 """, as_dict=1):
 		try:
-			jv = frappe.get_doc('Journal Voucher', d.name)
+			jv = frappe.get_doc('Journal Entry', d.name)
 			jv.ignore_validate_update_after_submit = True
 			jv.set_print_format_fields()
 			jv.save()
diff --git a/erpnext/patches/v5_0/rename_table_fieldnames.py b/erpnext/patches/v5_0/rename_table_fieldnames.py
new file mode 100644
index 0000000..288e372
--- /dev/null
+++ b/erpnext/patches/v5_0/rename_table_fieldnames.py
@@ -0,0 +1,248 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+import frappe
+from frappe.model import rename_field
+from frappe.modules import scrub, get_doctype_module
+
+rename_map = {
+	"Opportunity": [
+		["enquiry_details", "items"]
+	],
+	"Quotation": [
+		["quotation_details", "items"],
+		["other_charges", "taxes"]
+	],
+	"Sales Order": [
+		["sales_order_details", "items"],
+		["other_charges", "taxes"],
+		["packing_details", "packed_items"]
+	],
+	"Delivery Note": [
+		["delivery_note_details", "items"],
+		["other_charges", "taxes"],
+		["packing_details", "packed_items"]
+	],
+	"Sales Invoice": [
+		["entries", "items"],
+		["other_charges", "taxes"],
+		["packing_details", "packed_items"],
+		["advance_adjustment_details", "advances"]
+	],
+	"Material Request": [
+		["indent_details", "items"]
+	],
+	"Supplier Quotation": [
+		["quotation_items", "items"],
+		["other_charges", "taxes"]
+	],
+	"Purchase Order": [
+		["po_details", "items"],
+		["other_charges", "taxes"],
+		["po_raw_material_details", "supplied_items"]
+	],
+	"Purchase Receipt": [
+		["purchase_receipt_details", "items"],
+		["other_charges", "taxes"],
+		["pr_raw_material_details", "supplied_items"]
+	],
+	"Purchase Invoice": [
+		["entries", "items"],
+		["other_charges", "taxes"],
+		["advance_allocation_details", "advances"]
+	],
+	"Production Order": [
+		["production_order_operations", "operations"]
+	],
+	"BOM": [
+		["bom_operations", "operations"],
+		["bom_materials", "items"],
+		["flat_bom_details", "exploded_items"]
+	],
+	"Payment Reconciliation": [
+		["payment_reconciliation_payments", "payments"],
+		["payment_reconciliation_invoices", "invoices"]
+	],
+	"Sales Taxes and Charges Master": [
+		["other_charges", "taxes"],
+		["valid_for_territories", "territories"]
+	],
+	"Purchase Taxes and Charges Master": [
+		["other_charges", "taxes"]
+	],
+	"Shipping Rule": [
+		["shipping_rule_conditions", "conditions"],
+		["valid_for_territories", "territories"]
+	],
+	"Price List": [
+		["valid_for_territories", "territories"]
+	],
+	"Appraisal": [
+		["appraisal_details", "goals"]
+	],
+	"Appraisal Template": [
+		["kra_sheet", "goals"]
+	],
+	"Bank Reconciliation": [
+		["entries", "journal_entries"]
+	],
+	"Cost Center": [
+		["budget_details", "budgets"]
+	],
+	"C-Form": [
+		["invoice_details", "invoices"]
+	],
+	"Customize Form": [
+		["customize_form_fields", "fields"]
+	],
+	"Email Alert": [
+		["email_alert_recipients", "recipients"]
+	],
+	"Employee": [
+		["employee_leave_approvers", "leave_approvers"],
+		["educational_qualification_details", "education"],
+		["previous_experience_details", "external_work_history"],
+		["experience_in_company_details", "internal_work_history"]
+	],
+	"Event": [
+		["event_individuals", "users"],
+		["event_roles", "roles"]
+	],
+	"Expense Claim": [
+		["expense_voucher_details", "expenses"]
+	],
+	"Fiscal Year": [
+		["fiscal_year_companies", "companies"]
+	],
+	"Holiday List": [
+		["holiday_list_details", "holidays"]
+	],
+	"Installation Note": [
+		["installed_item_details", "items"]
+	],
+	"Item": [
+		["item_variants", "variants"],
+		["item_reorder", "reorder_levels"],
+		["uom_conversion_details", "uoms"],
+		["item_supplier_details", "supplier_items"],
+		["item_customer_details", "customer_items"],
+		["item_tax", "taxes"],
+		["item_specification_details", "quality_parameters"],
+		["item_website_specifications", "website_specifications"]
+	],
+	"Item Group": [
+		["item_website_specifications", "website_specifications"]
+	],
+	"Landed Cost Voucher": [
+		["landed_cost_purchase_receipts", "purchase_receipts"],
+		["landed_cost_items", "items"],
+		["landed_cost_taxes_and_charges", "taxes"]
+	],
+	"Maintenance Schedule": [
+		["item_maintenance_detail", "items"],
+		["maintenance_schedule_detail", "schedules"]
+	],
+	"Maintenance Visit": [
+		["maintenance_visit_details", "purposes"]
+	],
+	"Packing Slip": [
+		["item_details", "items"]
+	],
+	"Customer": [
+		["party_accounts", "accounts"]
+	],
+	"Customer Group": [
+		["party_accounts", "accounts"]
+	],
+	"Supplier": [
+		["party_accounts", "accounts"]
+	],
+	"Supplier Type": [
+		["party_accounts", "accounts"]
+	],
+	"Payment Tool": [
+		["payment_tool_details", "vouchers"]
+	],
+	"Production Planning Tool": [
+		["pp_so_details", "sales_orders"],
+		["pp_details", "items"]
+	],
+	"Project": [
+		["project_milestones", "milestones"]
+	],
+	"Quality Inspection": [
+		["qa_specification_details", "readings"]
+	],
+	"Salary Slip": [
+		["earning_details", "earnings"],
+		["deduction_details", "deductions"]
+	],
+	"Salary Structure": [
+		["earning_details", "earnings"],
+		["deduction_details", "deductions"]
+	],
+	"Sales BOM": [
+		["sales_bom_items", "items"]
+	],
+	"SMS Settings": [
+		["static_parameter_details", "parameters"]
+	],
+	"Stock Entry": [
+		["mtn_details", "items"]
+	],
+	"Sales Partner": [
+		["partner_target_details", "targets"]
+	],
+	"Sales Person": [
+		["target_details", "targets"]
+	],
+	"Territory": [
+		["target_details", "targets"]
+	],
+	"Time Log Batch": [
+		["time_log_batch_details", "time_logs"]
+	],
+	"Workflow": [
+		["workflow_document_states", "states"],
+		["workflow_transitions", "transitions"]
+	],
+	"Workstation": [
+		["workstation_operation_hours", "working_hours"]
+	],
+	"Payment Reconciliation Payment": [
+		["journal_voucher", "journal_entry"],
+	],
+	"Purchase Invoice Advance": [
+		["journal_voucher", "journal_entry"],
+	],
+	"Sales Invoice Advance": [
+		["journal_voucher", "journal_entry"],
+	],
+	"Journal Entry": [
+		["entries", "accounts"]
+	]
+}
+
+def execute():
+	# rename doctypes
+	tables = frappe.db.sql_list("show tables")
+	for old_dt, new_dt in [["Journal Voucher Detail", "Journal Entry Account"],
+		["Journal Voucher", "Journal Entry"],
+		["Budget Distribution Detail", "Monthly Distribution Percentage"],
+		["Budget Distribution", "Monthly Distribution"]]:
+			if "tab"+old_dt not in tables:
+				frappe.rename_doc("DocType", old_dt, new_dt, force=True)
+
+	#rename table fieldnames
+	for dn in rename_map:
+		frappe.reload_doc(get_doctype_module(dn), "doctype", scrub(dn))
+
+	for dt, field_list in rename_map.items():
+		for field in field_list:
+			rename_field(dt, field[0], field[1])
+
+	# update voucher type
+	for old, new in [["Bank Voucher", "Bank Entry"], ["Cash Voucher", "Cash Entry"],
+		["Credit Card Voucher", "Credit Card Entry"], ["Contra Voucher", "Contra Entry"],
+		["Write Off Voucher", "Write Off Entry"], ["Excise Voucher", "Excise Entry"]]:
+			frappe.db.sql("update `tabJournal Entry` set voucher_type=%s where voucher_type=%s", (new, old))
diff --git a/erpnext/projects/doctype/project/project.json b/erpnext/projects/doctype/project/project.json
index f7a5754..7a3899a 100644
--- a/erpnext/projects/doctype/project/project.json
+++ b/erpnext/projects/doctype/project/project.json
@@ -1,5 +1,4 @@
 {
- "allow_attach": 1, 
  "allow_import": 1, 
  "allow_rename": 1, 
  "autoname": "field:project_name", 
@@ -126,9 +125,9 @@
   }, 
   {
    "description": "Milestones will be added as Events in the Calendar", 
-   "fieldname": "project_milestones", 
+   "fieldname": "milestones", 
    "fieldtype": "Table", 
-   "label": "Project Milestones", 
+   "label": "Milestones", 
    "no_copy": 0, 
    "oldfieldname": "project_milestones", 
    "oldfieldtype": "Table", 
@@ -273,7 +272,7 @@
  "icon": "icon-puzzle-piece", 
  "idx": 1, 
  "max_attachments": 4, 
- "modified": "2014-08-26 14:59:27.052172", 
+ "modified": "2014-12-24 16:36:50.539666", 
  "modified_by": "Administrator", 
  "module": "Projects", 
  "name": "Project", 
diff --git a/erpnext/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py
index ce9b561..8cf58c8 100644
--- a/erpnext/projects/doctype/project/project.py
+++ b/erpnext/projects/doctype/project/project.py
@@ -31,9 +31,9 @@
 		self.update_milestones_completed()
 
 	def update_milestones_completed(self):
-		if self.project_milestones:
-			completed = filter(lambda x: x.status=="Completed", self.project_milestones)
-			self.percent_milestones_completed =  len(completed) * 100 / len(self.project_milestones)
+		if self.milestones:
+			completed = filter(lambda x: x.status=="Completed", self.milestones)
+			self.percent_milestones_completed =  len(completed) * 100 / len(self.milestones)
 
 	def on_update(self):
 		self.add_calendar_event()
@@ -53,7 +53,7 @@
 		delete_events(self.doctype, self.name)
 
 		# add events
-		for milestone in self.get("project_milestones"):
+		for milestone in self.get("milestones"):
 			if milestone.milestone_date:
 				description = (milestone.milestone or "Milestone") + " for " + self.name
 				frappe.get_doc({
diff --git a/erpnext/projects/doctype/time_log/test_time_log.py b/erpnext/projects/doctype/time_log/test_time_log.py
index bfc4c05..8955c28 100644
--- a/erpnext/projects/doctype/time_log/test_time_log.py
+++ b/erpnext/projects/doctype/time_log/test_time_log.py
@@ -22,12 +22,12 @@
 		self.assertRaises(OverlapError, ts.insert)
 
 		frappe.db.sql("delete from `tabTime Log`")
-		
+
 	def test_production_order_status(self):
 		prod_order = make_prod_order(self)
-		
+
 		prod_order.save()
-		
+
 		time_log = frappe.get_doc({
 			"doctype": "Time Log",
 			"time_log_for": "Manufacturing",
@@ -36,15 +36,15 @@
 			"from_time": "2014-12-26 00:00:00",
 			"to_time": "2014-12-26 00:00:00"
 		})
-		
+
 		self.assertRaises(NotSubmittedError, time_log.save)
-		
-	def test_time_log_on_holiday(self):	
+
+	def test_time_log_on_holiday(self):
 		prod_order = make_prod_order(self)
-		
+
 		prod_order.save()
 		prod_order.submit()
-		
+
 		time_log = frappe.get_doc({
 			"doctype": "Time Log",
 			"time_log_for": "Manufacturing",
@@ -55,18 +55,27 @@
 			"workstation": "_Test Workstation 1"
 		})
 		self.assertRaises(WorkstationHolidayError , time_log.save)
-		
+
 		time_log.update({
 			"from_time": "2013-02-02 09:00:00",
 			"to_time": "2013-02-02 20:00:00"
 		})
 		self.assertRaises(WorkstationIsClosedError , time_log.save)
-		
+
 		time_log.from_time= "2013-02-02 09:30:00"
 		time_log.save()
 		time_log.submit()
 		time_log.cancel()
-		
+
+	def test_negative_hours(self):
+		frappe.db.sql("delete from `tabTime Log`")
+		test_time_log = frappe.new_doc("Time Log")
+		test_time_log.activity_type = "Communication"
+		test_time_log.from_time = "2013-01-01 11:00:00.000000"
+		test_time_log.to_time = "2013-01-01 10:00:00.000000"
+		self.assertRaises(frappe.ValidationError, test_time_log.save)
+		frappe.db.sql("delete from `tabTime Log`")
+
 def make_prod_order(self):
 	return frappe.get_doc({
 			"doctype":"Production Order",
@@ -76,6 +85,6 @@
 			"wip_warehouse": "_Test Warehouse - _TC",
 			"fg_warehouse": "_Test Warehouse 1 - _TC"
 		})
-		
+
 test_records = frappe.get_test_records('Time Log')
 test_ignore = ["Time Log Batch", "Sales Invoice"]
diff --git a/erpnext/projects/doctype/time_log/time_log.js b/erpnext/projects/doctype/time_log/time_log.js
index b23b3ea..9a53836 100644
--- a/erpnext/projects/doctype/time_log/time_log.js
+++ b/erpnext/projects/doctype/time_log/time_log.js
@@ -52,7 +52,7 @@
 			var operations = [];
 			frappe.model.with_doc("Production Order", doc.production_order, function(pro) {
 				doc = frappe.get_doc("Production Order",pro);
-				$.each(doc.production_order_operations , function(i, row){
+				$.each(doc.operations , function(i, row){
 					operations[i] = (i+1) +". "+ row.operation;
 				});
 			frappe.meta.get_docfield("Time Log", "operation", me.frm.doc.name).options = "\n" + operations.join("\n");
diff --git a/erpnext/projects/doctype/time_log/time_log_list.js b/erpnext/projects/doctype/time_log/time_log_list.js
index e9a7c76..4e2a9c9 100644
--- a/erpnext/projects/doctype/time_log/time_log_list.js
+++ b/erpnext/projects/doctype/time_log/time_log_list.js
@@ -32,7 +32,7 @@
 				var tlb = frappe.model.get_new_doc("Time Log Batch");
 				$.each(selected, function(i, d) {
 					var detail = frappe.model.get_new_doc("Time Log Batch Detail", tlb,
-						"time_log_batch_details");
+						"time_logs");
 
 					$.extend(detail, {
 						"time_log": d.name,
diff --git a/erpnext/projects/doctype/time_log_batch/test_records.json b/erpnext/projects/doctype/time_log_batch/test_records.json
new file mode 100644
index 0000000..0b85c16
--- /dev/null
+++ b/erpnext/projects/doctype/time_log_batch/test_records.json
@@ -0,0 +1,6 @@
+[
+	{
+		"doctype": "Time Log Batch",
+		"name": "_Test Time Log Batch 1"
+	}
+]
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 de57f28..8096efd 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
@@ -43,10 +43,10 @@
 	tlb = frappe.get_doc({
 		"doctype": "Time Log Batch",
 		"rate": "500",
-		"time_log_batch_details": [
+		"time_logs": [
 			{
 			"doctype": "Time Log Batch Detail",
-			"parentfield": "time_log_batch_details",
+			"parentfield": "time_logs",
 			"parenttype": "Time Log Batch",
 			"time_log": time_log
 			}
diff --git a/erpnext/projects/doctype/time_log_batch/time_log_batch.js b/erpnext/projects/doctype/time_log_batch/time_log_batch.js
index 8fea083..61acd47 100644
--- a/erpnext/projects/doctype/time_log_batch/time_log_batch.js
+++ b/erpnext/projects/doctype/time_log_batch/time_log_batch.js
@@ -5,7 +5,7 @@
 cur_frm.add_fetch("time_log", "owner", "created_by");
 cur_frm.add_fetch("time_log", "hours", "hours");
 
-cur_frm.set_query("time_log", "time_log_batch_details", function(doc) {
+cur_frm.set_query("time_log", "time_logs", function(doc) {
 	return {
 		query: "erpnext.projects.utils.get_time_log_list",
 		filters: {
diff --git a/erpnext/projects/doctype/time_log_batch/time_log_batch.json b/erpnext/projects/doctype/time_log_batch/time_log_batch.json
index 9d24643..4418fcf 100644
--- a/erpnext/projects/doctype/time_log_batch/time_log_batch.json
+++ b/erpnext/projects/doctype/time_log_batch/time_log_batch.json
@@ -52,9 +52,9 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "time_log_batch_details", 
+   "fieldname": "time_logs", 
    "fieldtype": "Table", 
-   "label": "Time Log Batch Details", 
+   "label": "Time Logs", 
    "options": "Time Log Batch Detail", 
    "permlevel": 0, 
    "reqd": 1
@@ -83,7 +83,7 @@
  "icon": "icon-time", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-05-27 03:49:21.339026", 
+ "modified": "2014-12-24 16:48:03.419707", 
  "modified_by": "Administrator", 
  "module": "Projects", 
  "name": "Time Log Batch", 
diff --git a/erpnext/projects/doctype/time_log_batch/time_log_batch.py b/erpnext/projects/doctype/time_log_batch/time_log_batch.py
index 0724bc7..e878577 100644
--- a/erpnext/projects/doctype/time_log_batch/time_log_batch.py
+++ b/erpnext/projects/doctype/time_log_batch/time_log_batch.py
@@ -15,7 +15,7 @@
 	def validate(self):
 		self.set_status()
 		self.total_hours = 0.0
-		for d in self.get("time_log_batch_details"):
+		for d in self.get("time_logs"):
 			tl = frappe.get_doc("Time Log", d.time_log)
 			self.update_time_log_values(d, tl)
 			self.validate_time_log_is_submitted(tl)
@@ -53,7 +53,7 @@
 
 	def update_status(self, time_log_batch):
 		self.set_status()
-		for d in self.get("time_log_batch_details"):
+		for d in self.get("time_logs"):
 			tl = frappe.get_doc("Time Log", d.time_log)
 			tl.time_log_batch = time_log_batch
 			tl.sales_invoice = self.sales_invoice
@@ -67,7 +67,7 @@
 		target_doc.description = "via Time Logs"
 
 	target = frappe.new_doc("Sales Invoice")
-	target.append("entries", get_mapped_doc("Time Log Batch", source_name, {
+	target.append("items", get_mapped_doc("Time Log Batch", source_name, {
 		"Time Log Batch": {
 			"doctype": "Sales Invoice Item",
 			"field_map": {
diff --git a/erpnext/public/js/controllers/stock_controller.js b/erpnext/public/js/controllers/stock_controller.js
index 98caf43..1a66297 100644
--- a/erpnext/public/js/controllers/stock_controller.js
+++ b/erpnext/public/js/controllers/stock_controller.js
@@ -75,11 +75,11 @@
 	copy_account_in_all_row: function(doc, dt, dn, fieldname) {
 		var d = locals[dt][dn];
 		if(d[fieldname]){
-			var cl = doc[this.frm.cscript.fname] || [];
+			var cl = doc["items"] || [];
 			for(var i = 0; i < cl.length; i++) {
 				if(!cl[i][fieldname]) cl[i][fieldname] = d[fieldname];
 			}
 		}
-		refresh_field(this.frm.cscript.fname);
+		refresh_field("items");
 	}
 });
diff --git a/erpnext/public/js/feature_setup.js b/erpnext/public/js/feature_setup.js
index 5abf2d9..d3ff49e 100644
--- a/erpnext/public/js/feature_setup.js
+++ b/erpnext/public/js/feature_setup.js
@@ -6,7 +6,7 @@
 	'projects': {
 		'Sales Order': {
 			'fields':['project_name'],
-			'sales_order_details':['projected_qty']
+			'items':['projected_qty']
 		},
 		'Purchase Order': {
 			'fields':['project_name']
@@ -17,105 +17,105 @@
 	'fs_projects': {
 		'BOM': {'fields':['project_name']},
 		'Delivery Note': {'fields':['project_name']},
-		'Purchase Invoice': {'entries':['project_name']},
+		'Purchase Invoice': {'items':['project_name']},
 		'Production Order': {'fields':['project_name']},
-		'Purchase Order': {'po_details':['project_name']},
-		'Purchase Receipt': {'purchase_receipt_details':['project_name']},
+		'Purchase Order': {'items':['project_name']},
+		'Purchase Receipt': {'items':['project_name']},
 		'Sales Invoice': {'fields':['project_name']},
 		'Sales Order': {'fields':['project_name']},
 		'Stock Entry': {'fields':['project_name']},
 		'Timesheet': {'timesheet_details':['project_name']}
 	},
 	'fs_discounts': {
-		'Delivery Note': {'delivery_note_details':['discount_percentage']},
-		'Quotation': {'quotation_details':['discount_percentage']},
-		'Sales Invoice': {'entries':['discount_percentage']},
-		'Sales Order': {'sales_order_details':['discount_percentage','price_list_rate']}
+		'Delivery Note': {'items':['discount_percentage']},
+		'Quotation': {'items':['discount_percentage']},
+		'Sales Invoice': {'items':['discount_percentage']},
+		'Sales Order': {'items':['discount_percentage','price_list_rate']}
 	},
 	'fs_purchase_discounts': {
-		'Purchase Order': {'po_details':['base_price_list_rate', 'discount_percentage', 'price_list_rate']},
-		'Purchase Receipt': {'purchase_receipt_details':['base_price_list_rate', 'discount_percentage', 'price_list_rate']},
-		'Purchase Invoice': {'entries':['base_price_list_rate', 'discount_percentage', 'price_list_rate']}
+		'Purchase Order': {'items':['base_price_list_rate', 'discount_percentage', 'price_list_rate']},
+		'Purchase Receipt': {'items':['base_price_list_rate', 'discount_percentage', 'price_list_rate']},
+		'Purchase Invoice': {'items':['base_price_list_rate', 'discount_percentage', 'price_list_rate']}
 	},
 	'fs_brands': {
-		'Delivery Note': {'delivery_note_details':['brand']},
-		'Material Request': {'indent_details':['brand']},
+		'Delivery Note': {'items':['brand']},
+		'Material Request': {'items':['brand']},
 		'Item': {'fields':['brand']},
-		'Purchase Order': {'po_details':['brand']},
-		'Purchase Invoice': {'entries':['brand']},
-		'Quotation': {'quotation_details':['brand']},
-		'Sales Invoice': {'entries':['brand']},
+		'Purchase Order': {'items':['brand']},
+		'Purchase Invoice': {'items':['brand']},
+		'Quotation': {'items':['brand']},
+		'Sales Invoice': {'items':['brand']},
 		'Sales BOM': {'fields':['new_item_brand']},
-		'Sales Order': {'sales_order_details':['brand']},
+		'Sales Order': {'items':['brand']},
 		'Serial No': {'fields':['brand']}
 	},
 	'fs_after_sales_installations': {
-		'Delivery Note': {'fields':['installation_status','per_installed'],'delivery_note_details':['installed_qty']}
+		'Delivery Note': {'fields':['installation_status','per_installed'],'items':['installed_qty']}
 	},
 	'fs_item_batch_nos': {
-		'Delivery Note': {'delivery_note_details':['batch_no']},
+		'Delivery Note': {'items':['batch_no']},
 		'Item': {'fields':['has_batch_no']},
-		'Purchase Receipt': {'purchase_receipt_details':['batch_no']},
+		'Purchase Receipt': {'items':['batch_no']},
 		'Quality Inspection': {'fields':['batch_no']},
 		'Sales and Pruchase Return Wizard': {'return_details':['batch_no']},
-		'Sales Invoice': {'entries':['batch_no']},
-		'Stock Entry': {'mtn_details':['batch_no']},
+		'Sales Invoice': {'items':['batch_no']},
+		'Stock Entry': {'items':['batch_no']},
 		'Stock Ledger Entry': {'fields':['batch_no']}
 	},
 	'fs_item_serial_nos': {
 		'Customer Issue': {'fields':['serial_no']},
-		'Delivery Note': {'delivery_note_details':['serial_no'],'packing_details':['serial_no']},
-		'Installation Note': {'installed_item_details':['serial_no']},
+		'Delivery Note': {'items':['serial_no'],'packed_items':['serial_no']},
+		'Installation Note': {'items':['serial_no']},
 		'Item': {'fields':['has_serial_no']},
-		'Maintenance Schedule': {'item_maintenance_detail':['serial_no'],'maintenance_schedule_detail':['serial_no']},
-		'Maintenance Visit': {'maintenance_visit_details':['serial_no']},
-		'Purchase Receipt': {'purchase_receipt_details':['serial_no']},
+		'Maintenance Schedule': {'items':['serial_no'],'schedules':['serial_no']},
+		'Maintenance Visit': {'purposes':['serial_no']},
+		'Purchase Receipt': {'items':['serial_no']},
 		'Quality Inspection': {'fields':['item_serial_no']},
 		'Sales and Pruchase Return Wizard': {'return_details':['serial_no']},
-		'Sales Invoice': {'entries':['serial_no']},
-		'Stock Entry': {'mtn_details':['serial_no']},
+		'Sales Invoice': {'items':['serial_no']},
+		'Stock Entry': {'items':['serial_no']},
 		'Stock Ledger Entry': {'fields':['serial_no']}
 	},
 	'fs_item_barcode': {
 		'Item': {'fields': ['barcode']},
-		'Delivery Note': {'delivery_note_details': ['barcode']},
-		'Sales Invoice': {'entries': ['barcode']}
+		'Delivery Note': {'items': ['barcode']},
+		'Sales Invoice': {'items': ['barcode']}
 	},
 	'fs_item_group_in_details': {
-		'Delivery Note': {'delivery_note_details':['item_group']},
-		'Opportunity': {'enquiry_details':['item_group']},
-		'Material Request': {'indent_details':['item_group']},
+		'Delivery Note': {'items':['item_group']},
+		'Opportunity': {'items':['item_group']},
+		'Material Request': {'items':['item_group']},
 		'Item': {'fields':['item_group']},
 		'Global Defaults': {'fields':['default_item_group']},
-		'Purchase Order': {'po_details':['item_group']},
-		'Purchase Receipt': {'purchase_receipt_details':['item_group']},
-		'Purchase Voucher': {'entries':['item_group']},
-		'Quotation': {'quotation_details':['item_group']},
-		'Sales Invoice': {'entries':['item_group']},
+		'Purchase Order': {'items':['item_group']},
+		'Purchase Receipt': {'items':['item_group']},
+		'Purchase Voucher': {'items':['item_group']},
+		'Quotation': {'items':['item_group']},
+		'Sales Invoice': {'items':['item_group']},
 		'Sales BOM': {'fields':['serial_no']},
-		'Sales Order': {'sales_order_details':['item_group']},
+		'Sales Order': {'items':['item_group']},
 		'Serial No': {'fields':['item_group']},
-		'Sales Partner': {'partner_target_details':['item_group']},
-		'Sales Person': {'target_details':['item_group']},
-		'Territory': {'target_details':['item_group']}
+		'Sales Partner': {'targets':['item_group']},
+		'Sales Person': {'targets':['item_group']},
+		'Territory': {'targets':['item_group']}
 	},
 	'fs_page_break': {
-		'Delivery Note': {'delivery_note_details':['page_break'],'packing_details':['page_break']},
-		'Material Request': {'indent_details':['page_break']},
-		'Purchase Order': {'po_details':['page_break']},
-		'Purchase Receipt': {'purchase_receipt_details':['page_break']},
-		'Purchase Voucher': {'entries':['page_break']},
-		'Quotation': {'quotation_details':['page_break']},
-		'Sales Invoice': {'entries':['page_break']},
-		'Sales Order': {'sales_order_details':['page_break']}
+		'Delivery Note': {'items':['page_break'],'packed_items':['page_break']},
+		'Material Request': {'items':['page_break']},
+		'Purchase Order': {'items':['page_break']},
+		'Purchase Receipt': {'items':['page_break']},
+		'Purchase Voucher': {'items':['page_break']},
+		'Quotation': {'items':['page_break']},
+		'Sales Invoice': {'items':['page_break']},
+		'Sales Order': {'items':['page_break']}
 	},
 	'fs_exports': {
-		'Delivery Note': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'delivery_note_details':['base_price_list_rate','base_amount','base_rate']},
+		'Delivery Note': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'items':['base_price_list_rate','base_amount','base_rate']},
 		'POS Setting': {'fields':['conversion_rate','currency']},
-		'Quotation': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'quotation_details':['base_price_list_rate','base_amount','base_rate']},
-		'Sales Invoice': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'entries':['base_price_list_rate','base_amount','base_rate']},
+		'Quotation': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'items':['base_price_list_rate','base_amount','base_rate']},
+		'Sales Invoice': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'items':['base_price_list_rate','base_amount','base_rate']},
 		'Sales BOM': {'fields':['currency']},
-		'Sales Order': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'sales_order_details':['base_price_list_rate','base_amount','base_rate']}
+		'Sales Order': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'items':['base_price_list_rate','base_amount','base_rate']}
 	},
 
 	'fs_imports': {
@@ -123,18 +123,18 @@
 			'fields': ['conversion_rate', 'currency', 'grand_total',
 		 		'in_words', 'net_total', 'other_charges_added',
 		 		'other_charges_deducted'],
-			'entries': ['base_price_list_rate', 'base_amount','base_rate']
+			'items': ['base_price_list_rate', 'base_amount','base_rate']
 		},
 		'Purchase Order': {
 			'fields': ['conversion_rate','currency', 'grand_total',
 			'in_words', 'net_total', 'other_charges_added',
 			 'other_charges_deducted'],
-			'po_details': ['base_price_list_rate', 'base_amount','base_rate']
+			'items': ['base_price_list_rate', 'base_amount','base_rate']
 		},
 		'Purchase Receipt': {
 			'fields': ['conversion_rate', 'currency','grand_total', 'in_words',
 			 	'net_total', 'other_charges_added', 'other_charges_deducted'],
-			'purchase_receipt_details': ['base_price_list_rate','base_amount','base_rate']
+			'items': ['base_price_list_rate','base_amount','base_rate']
 		},
 		'Supplier Quotation': {
 			'fields':['conversion_rate','currency']
@@ -142,14 +142,14 @@
 	},
 
 	'fs_item_advanced': {
-		'Item': {'fields':['item_customer_details']}
+		'Item': {'fields':['customer_items']}
 	},
 	'fs_sales_extras': {
 		'Address': {'fields':['sales_partner']},
 		'Contact': {'fields':['sales_partner']},
 		'Customer': {'fields':['sales_team']},
 		'Delivery Note': {'fields':['sales_team']},
-		'Item': {'fields':['item_customer_details']},
+		'Item': {'fields':['customer_items']},
 		'Sales Invoice': {'fields':['sales_team']},
 		'Sales Order': {'fields':['sales_team']}
 	},
@@ -169,7 +169,7 @@
 	},
 	'fs_quality': {
 		'Item': {'fields':['inspection_criteria','inspection_required']},
-		'Purchase Receipt': {'purchase_receipt_details':['qa_no']}
+		'Purchase Receipt': {'items':['qa_no']}
 	},
 	'fs_manufacturing': {
 		'Item': {'fields':['manufacturing']}
diff --git a/erpnext/public/js/pos/pos.js b/erpnext/public/js/pos/pos.js
index cfae515..5357d8e 100644
--- a/erpnext/public/js/pos/pos.js
+++ b/erpnext/public/js/pos/pos.js
@@ -135,6 +135,11 @@
 	},
 	make_item_list: function() {
 		var me = this;
+		if(!this.price_list) {
+			msgprint(__("Price List not found or disabled"));
+			return;
+		}
+
 		me.item_timeout = null;
 		frappe.call({
 			method: 'erpnext.accounts.doctype.sales_invoice.pos.get_items',
@@ -196,7 +201,7 @@
 
 		// check whether the item is already added
 		if (no_of_items != 0) {
-			$.each(this.frm.doc[this.frm.cscript.fname] || [], function(i, d) {
+			$.each(this.frm.doc["items"] || [], function(i, d) {
 				if (d.item_code == item_code) {
 					caught = true;
 					if (serial_no)
@@ -217,8 +222,7 @@
 	add_new_item_to_grid: function(item_code, serial_no) {
 		var me = this;
 
-		var child = frappe.model.add_child(me.frm.doc, this.frm.doctype + " Item",
-			this.frm.cscript.fname);
+		var child = frappe.model.add_child(me.frm.doc, this.frm.doctype + " Item", "items");
 		child.item_code = item_code;
 
 		if (serial_no)
@@ -238,7 +242,7 @@
 	update_qty: function(item_code, qty) {
 		console.log([item_code, qty]);
 		var me = this;
-		$.each(this.frm.doc[this.frm.cscript.fname] || [], function(i, d) {
+		$.each(this.frm.doc["items"] || [], function(i, d) {
 			if (d.item_code == item_code) {
 				if (qty == 0) {
 					frappe.model.clear_doc(d.doctype, d.name);
@@ -287,7 +291,7 @@
 		var me = this;
 		var $items = this.wrapper.find(".items").empty();
 
-		$.each(this.frm.doc[this.frm.cscript.fname] || [], function(i, d) {
+		$.each(this.frm.doc.items|| [], function(i, d) {
 			$(frappe.render_template("pos_bill_item", {
 				item_code: d.item_code,
 				item_name: d.item_name===d.item_code ? "" : ("<br>" + d.item_name),
@@ -304,7 +308,7 @@
 	},
 	show_taxes: function() {
 		var me = this;
-		var taxes = this.frm.doc[this.frm.cscript.other_fname] || [];
+		var taxes = this.frm.doc["taxes"] || [];
 		$(this.wrapper).find(".tax-table")
 			.toggle((taxes && taxes.length) ? true : false)
 			.find("tbody").empty();
@@ -366,10 +370,14 @@
 		});
 
 		me.refresh_delete_btn();
+<<<<<<< HEAD:erpnext/accounts/doctype/sales_invoice/pos.js
+		if(me.frm.doc[this.party.toLowerCase()]) {
+=======
 		//me.focus();
 	},
 	focus: function() {
 		if(me.frm.doc[this.party]) {
+>>>>>>> v5-design:erpnext/public/js/pos/pos.js
 			this.barcode.$input.focus();
 		} else {
 			if(!(this.frm.doctype == "Quotation" && this.frm.doc.quotation_to!="Customer"))
@@ -433,7 +441,7 @@
 			}
 		}
 
-		var child = this.frm.doc[this.frm.cscript.fname] || [];
+		var child = this.frm.doc["items"] || [];
 
 		$.each(child, function(i, d) {
 			for (var i in selected_items) {
@@ -447,7 +455,7 @@
 	},
 	refresh_grid: function() {
 		this.frm.dirty();
-		this.frm.fields_dict[this.frm.cscript.fname].grid.refresh();
+		this.frm.fields_dict["items"].grid.refresh();
 		this.frm.script_manager.trigger("calculate_taxes_and_totals");
 		this.refresh();
 	},
diff --git a/erpnext/public/js/stock_analytics.js b/erpnext/public/js/stock_analytics.js
index d32afeb..716e8ac 100644
--- a/erpnext/public/js/stock_analytics.js
+++ b/erpnext/public/js/stock_analytics.js
@@ -108,6 +108,7 @@
 			// otherwise, only reset values
 			$.each(this.data, function(i, d) {
 				me.reset_item_values(d);
+				d["closing_qty_value"] = 0;
 			});
 		}
 
diff --git a/erpnext/public/js/templates/contact_list.html b/erpnext/public/js/templates/contact_list.html
index c4c058c..94af7ef 100644
--- a/erpnext/public/js/templates/contact_list.html
+++ b/erpnext/public/js/templates/contact_list.html
@@ -14,8 +14,11 @@
             {% if(contact_list[i].phone) { %}
                 {%= __("Phone") %}: {%= contact_list[i].phone %}<br>
             {% } %}
+            {% if(contact_list[i].mobile_no) { %}
+                {%= __("Mobile No.") %}: {%= contact_list[i].mobile_no %}<br>
+            {% } %}
             {% if(contact_list[i].email_id) { %}
-                {%= __("Email Id") %}: {%= contact_list[i].email_id %}
+                {%= __("Email ID") %}: {%= contact_list[i].email_id %}
             {% } %}
         </p>
     </div>
diff --git a/erpnext/public/js/transaction.js b/erpnext/public/js/transaction.js
index ab1f7d2..f8c0e7c 100644
--- a/erpnext/public/js/transaction.js
+++ b/erpnext/public/js/transaction.js
@@ -33,22 +33,22 @@
 			}
 		}
 
-		if(this.other_fname) {
-			this[this.other_fname + "_remove"] = this.calculate_taxes_and_totals;
+		if(this.frm.fields_dict["taxes"]) {
+			this["taxes_remove"] = this.calculate_taxes_and_totals;
 		}
 
-		if(this.fname) {
-			this[this.fname + "_remove"] = this.calculate_taxes_and_totals;
+		if(this.frm.fields_dict["items"]) {
+			this["items_remove"] = this.calculate_taxes_and_totals;
 		}
 	},
 
 	onload_post_render: function() {
 		var me = this;
-		if(this.frm.doc.__islocal && this.frm.doc.company && this.frm.doc[this.fname] && !this.frm.doc.is_pos) {
+		if(this.frm.doc.__islocal && this.frm.doc.company && this.frm.doc["items"] && !this.frm.doc.is_pos) {
 			this.calculate_taxes_and_totals();
 		}
-		if(frappe.meta.get_docfield(this.tname, "item_code")) {
-			cur_frm.get_field(this.fname).grid.set_multiple_add("item_code", "qty");
+		if(frappe.meta.get_docfield(this.frm.doc.doctype + " Item", "item_code")) {
+			cur_frm.get_field("items").grid.set_multiple_add("item_code", "qty");
 		}
 	},
 
@@ -125,7 +125,7 @@
 		var item = frappe.get_doc(cdt, cdn);
 		if(item.item_code || item.barcode || item.serial_no) {
 			if(!this.validate_company_and_party()) {
-				cur_frm.fields_dict[me.frm.cscript.fname].grid.grid_rows[item.idx - 1].remove();
+				cur_frm.fields_dict["items"].grid.grid_rows[item.idx - 1].remove();
 			} else {
 				return this.frm.call({
 					method: "erpnext.stock.get_item_details.get_item_details",
@@ -230,7 +230,7 @@
 		if (this.frm.doc.posting_date) var date = this.frm.doc.posting_date;
 		else var date = this.frm.doc.transaction_date;
 		erpnext.get_fiscal_year(this.frm.doc.company, date, fn);
-		
+
 		erpnext.get_letter_head(this.frm.doc.company);
 	},
 
@@ -421,20 +421,32 @@
 	},
 
 	_set_values_for_item_list: function(children) {
+		var me = this;
+		var price_list_rate_changed = false;
 		$.each(children, function(i, d) {
+			var existing_pricing_rule = frappe.model.get_value(d.doctype, d.name, "pricing_rule");
 			$.each(d, function(k, v) {
 				if (["doctype", "name"].indexOf(k)===-1) {
+					if(k=="price_list_rate") {
+						if(flt(v) != flt(d.price_list_rate)) price_list_rate_changed = true;
+					}
 					frappe.model.set_value(d.doctype, d.name, k, v);
 				}
 			});
+			// if pricing rule set as blank from an existing value, apply price_list
+			if(!me.frm.doc.ignore_pricing_rule && existing_pricing_rule && !d.pricing_rule) {
+				me.apply_price_list(frappe.get_doc(d.doctype, d.name));
+			}
+
+			if(!price_list_rate_changed) me.calculate_taxes_and_totals();
 		});
 	},
 
-	apply_price_list: function() {
+	apply_price_list: function(item) {
 		var me = this;
 		return this.frm.call({
 			method: "erpnext.stock.get_item_details.apply_price_list",
-			args: {	args: this._get_args() },
+			args: {	args: this._get_args(item) },
 			callback: function(r) {
 				if (!r.exc) {
 					me.in_apply_price_list = true;
@@ -593,11 +605,11 @@
 	},
 
 	get_item_doclist: function() {
-		return this.frm.doc[this.fname] || [];
+		return this.frm.doc["items"] || [];
 	},
 
 	get_tax_doclist: function() {
-		return this.frm.doc[this.other_fname] || [];
+		return this.frm.doc["taxes"] || [];
 	},
 
 	validate_conversion_rate: function() {
@@ -828,11 +840,11 @@
 					"master_doctype": frappe.meta.get_docfield(this.frm.doc.doctype, "taxes_and_charges",
 						this.frm.doc.name).options,
 					"master_name": this.frm.doc.taxes_and_charges,
-					"tax_parentfield": this.other_fname
+					"tax_parentfield": "taxes"
 				},
 				callback: function(r) {
 					if(!r.exc) {
-						me.frm.set_value(me.other_fname, r.message);
+						me.frm.set_value("taxes", r.message);
 						me.calculate_taxes_and_totals();
 					}
 				}
diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index 58e5122..8b96185 100644
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -46,11 +46,11 @@
 	},
 
 	add_applicable_territory: function() {
-		if(cur_frm.doc.__islocal && (cur_frm.doc.valid_for_territories || []).length===0) {
+		if(cur_frm.doc.__islocal && (cur_frm.doc.territories || []).length===0) {
 				var default_territory = frappe.defaults.get_user_default("territory");
 				if(default_territory) {
 					var territory = frappe.model.add_child(cur_frm.doc, "Applicable Territory",
-						"valid_for_territories");
+						"territories");
 					territory.territory = default_territory;
 				}
 
diff --git a/erpnext/selling/doctype/customer/customer.js b/erpnext/selling/doctype/customer/customer.js
index 54fd927..5d349f6 100644
--- a/erpnext/selling/doctype/customer/customer.js
+++ b/erpnext/selling/doctype/customer/customer.js
@@ -91,7 +91,7 @@
 	}
 }
 
-cur_frm.fields_dict['party_accounts'].grid.get_field('account').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['accounts'].grid.get_field('account').get_query = function(doc, cdt, cdn) {
 	var d  = locals[cdt][cdn];
 	return {
 		filters: {
diff --git a/erpnext/selling/doctype/customer/customer.json b/erpnext/selling/doctype/customer/customer.json
index 2de553e..86d0479 100644
--- a/erpnext/selling/doctype/customer/customer.json
+++ b/erpnext/selling/doctype/customer/customer.json
@@ -1,361 +1,361 @@
 {
- "allow_import": 1,
- "allow_rename": 1,
- "autoname": "naming_series:",
- "creation": "2013-06-11 14:26:44",
- "description": "Buyer of Goods and Services.",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Master",
+ "allow_import": 1, 
+ "allow_rename": 1, 
+ "autoname": "naming_series:", 
+ "creation": "2013-06-11 14:26:44", 
+ "description": "Buyer of Goods and Services.", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "Master", 
  "fields": [
   {
-   "fieldname": "basic_info",
-   "fieldtype": "Section Break",
-   "label": "Basic Info",
-   "oldfieldtype": "Section Break",
-   "options": "icon-user",
-   "permlevel": 0,
+   "fieldname": "basic_info", 
+   "fieldtype": "Section Break", 
+   "label": "Basic Info", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-user", 
+   "permlevel": 0, 
    "reqd": 0
-  },
+  }, 
   {
-   "fieldname": "naming_series",
-   "fieldtype": "Select",
-   "label": "Series",
-   "no_copy": 1,
-   "options": "CUST-",
-   "permlevel": 0,
+   "fieldname": "naming_series", 
+   "fieldtype": "Select", 
+   "label": "Series", 
+   "no_copy": 1, 
+   "options": "CUST-", 
+   "permlevel": 0, 
    "print_hide": 0
-  },
+  }, 
   {
-   "fieldname": "customer_name",
-   "fieldtype": "Data",
-   "hidden": 0,
-   "in_filter": 1,
-   "in_list_view": 1,
-   "label": "Full Name",
-   "no_copy": 1,
-   "oldfieldname": "customer_name",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
-   "print_hide": 0,
-   "report_hide": 0,
-   "reqd": 1,
+   "fieldname": "customer_name", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "in_list_view": 1, 
+   "label": "Full Name", 
+   "no_copy": 1, 
+   "oldfieldname": "customer_name", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
    "search_index": 1
-  },
+  }, 
   {
-   "fieldname": "customer_type",
-   "fieldtype": "Select",
-   "label": "Type",
-   "oldfieldname": "customer_type",
-   "oldfieldtype": "Select",
-   "options": "\nCompany\nIndividual",
-   "permlevel": 0,
+   "fieldname": "customer_type", 
+   "fieldtype": "Select", 
+   "label": "Type", 
+   "oldfieldname": "customer_type", 
+   "oldfieldtype": "Select", 
+   "options": "\nCompany\nIndividual", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "lead_name",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 1,
-   "label": "From Lead",
-   "no_copy": 1,
-   "oldfieldname": "lead_name",
-   "oldfieldtype": "Link",
-   "options": "Lead",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "lead_name", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "label": "From Lead", 
+   "no_copy": 1, 
+   "oldfieldname": "lead_name", 
+   "oldfieldtype": "Link", 
+   "options": "Lead", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "report_hide": 1
-  },
+  }, 
   {
-   "fieldname": "column_break0",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break0", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>",
-   "fieldname": "customer_group",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 1,
-   "label": "Customer Group",
-   "oldfieldname": "customer_group",
-   "oldfieldtype": "Link",
-   "options": "Customer Group",
-   "permlevel": 0,
-   "print_hide": 0,
-   "reqd": 1,
+   "description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>", 
+   "fieldname": "customer_group", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "label": "Customer Group", 
+   "oldfieldname": "customer_group", 
+   "oldfieldtype": "Link", 
+   "options": "Customer Group", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "reqd": 1, 
    "search_index": 1
-  },
+  }, 
   {
-   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>",
-   "fieldname": "territory",
-   "fieldtype": "Link",
-   "in_list_view": 1,
-   "label": "Territory",
-   "oldfieldname": "territory",
-   "oldfieldtype": "Link",
-   "options": "Territory",
-   "permlevel": 0,
-   "print_hide": 1,
+   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>", 
+   "fieldname": "territory", 
+   "fieldtype": "Link", 
+   "in_list_view": 1, 
+   "label": "Territory", 
+   "oldfieldname": "territory", 
+   "oldfieldtype": "Link", 
+   "options": "Territory", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "reqd": 1
-  },
+  }, 
   {
-   "depends_on": "eval:!doc.__islocal",
-   "fieldname": "address_contacts",
-   "fieldtype": "Section Break",
-   "label": "Address & Contacts",
-   "options": "icon-map-marker",
+   "depends_on": "eval:!doc.__islocal", 
+   "fieldname": "address_contacts", 
+   "fieldtype": "Section Break", 
+   "label": "Address & Contacts", 
+   "options": "icon-map-marker", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "address_html",
-   "fieldtype": "HTML",
-   "label": "Address HTML",
-   "permlevel": 0,
+   "fieldname": "address_html", 
+   "fieldtype": "HTML", 
+   "label": "Address HTML", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "column_break1",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break1", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "contact_html",
-   "fieldtype": "HTML",
-   "label": "Contact HTML",
-   "oldfieldtype": "HTML",
-   "permlevel": 0,
+   "fieldname": "contact_html", 
+   "fieldtype": "HTML", 
+   "label": "Contact HTML", 
+   "oldfieldtype": "HTML", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "default_receivable_accounts",
-   "fieldtype": "Section Break",
-   "label": "Default Receivable Accounts",
+   "fieldname": "default_receivable_accounts", 
+   "fieldtype": "Section Break", 
+   "label": "Default Receivable Accounts", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "party_accounts",
-   "fieldtype": "Table",
-   "label": "Party Accounts",
-   "options": "Party Account",
+   "fieldname": "accounts", 
+   "fieldtype": "Table", 
+   "label": "Accounts", 
+   "options": "Party Account", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "more_info",
-   "fieldtype": "Section Break",
-   "label": "More Info",
-   "oldfieldtype": "Section Break",
-   "options": "icon-file-text",
+   "fieldname": "more_info", 
+   "fieldtype": "Section Break", 
+   "label": "More Info", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-file-text", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break2",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break2", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "description": "Your Customer's TAX registration numbers (if applicable) or any general information",
-   "fieldname": "customer_details",
-   "fieldtype": "Text",
-   "label": "Customer Details",
-   "oldfieldname": "customer_details",
-   "oldfieldtype": "Code",
+   "description": "Your Customer's TAX registration numbers (if applicable) or any general information", 
+   "fieldname": "customer_details", 
+   "fieldtype": "Text", 
+   "label": "Customer Details", 
+   "oldfieldname": "customer_details", 
+   "oldfieldtype": "Code", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break3",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break3", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "default_currency",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Currency",
-   "no_copy": 1,
-   "options": "Currency",
+   "fieldname": "default_currency", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Currency", 
+   "no_copy": 1, 
+   "options": "Currency", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "default_price_list",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Price List",
-   "options": "Price List",
+   "fieldname": "default_price_list", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Price List", 
+   "options": "Price List", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "default_taxes_and_charges",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Taxes and Charges",
-   "options": "Sales Taxes and Charges Master",
+   "fieldname": "default_taxes_and_charges", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Taxes and Charges", 
+   "options": "Sales Taxes and Charges Master", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "credit_days",
-   "fieldtype": "Int",
-   "label": "Credit Days",
-   "oldfieldname": "credit_days",
-   "oldfieldtype": "Int",
+   "fieldname": "credit_days", 
+   "fieldtype": "Int", 
+   "label": "Credit Days", 
+   "oldfieldname": "credit_days", 
+   "oldfieldtype": "Int", 
    "permlevel": 1
-  },
+  }, 
   {
-   "fieldname": "credit_limit",
-   "fieldtype": "Currency",
-   "label": "Credit Limit",
-   "oldfieldname": "credit_limit",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
+   "fieldname": "credit_limit", 
+   "fieldtype": "Currency", 
+   "label": "Credit Limit", 
+   "oldfieldname": "credit_limit", 
+   "oldfieldtype": "Currency", 
+   "options": "Company:company:default_currency", 
    "permlevel": 1
-  },
+  }, 
   {
-   "fieldname": "website",
-   "fieldtype": "Data",
-   "label": "Website",
+   "fieldname": "website", 
+   "fieldtype": "Data", 
+   "label": "Website", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "sales_team_section_break",
-   "fieldtype": "Section Break",
-   "label": "Sales Team",
-   "oldfieldtype": "Section Break",
-   "options": "icon-group",
+   "fieldname": "sales_team_section_break", 
+   "fieldtype": "Section Break", 
+   "label": "Sales Team", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-group", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "default_sales_partner",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Sales Partner",
-   "oldfieldname": "default_sales_partner",
-   "oldfieldtype": "Link",
-   "options": "Sales Partner",
+   "fieldname": "default_sales_partner", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Sales Partner", 
+   "oldfieldname": "default_sales_partner", 
+   "oldfieldtype": "Link", 
+   "options": "Sales Partner", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "default_commission_rate",
-   "fieldtype": "Float",
-   "label": "Commission Rate",
-   "oldfieldname": "default_commission_rate",
-   "oldfieldtype": "Currency",
+   "fieldname": "default_commission_rate", 
+   "fieldtype": "Float", 
+   "label": "Commission Rate", 
+   "oldfieldname": "default_commission_rate", 
+   "oldfieldtype": "Currency", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "sales_team",
-   "fieldtype": "Table",
-   "label": "Sales Team Details",
-   "oldfieldname": "sales_team",
-   "oldfieldtype": "Table",
-   "options": "Sales Team",
+   "fieldname": "sales_team", 
+   "fieldtype": "Table", 
+   "label": "Sales Team Details", 
+   "oldfieldname": "sales_team", 
+   "oldfieldtype": "Table", 
+   "options": "Sales Team", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "communications",
-   "fieldtype": "Table",
-   "hidden": 1,
-   "label": "Communications",
-   "options": "Communication",
-   "permlevel": 0,
+   "fieldname": "communications", 
+   "fieldtype": "Table", 
+   "hidden": 1, 
+   "label": "Communications", 
+   "options": "Communication", 
+   "permlevel": 0, 
    "print_hide": 1
   }
- ],
- "icon": "icon-user",
- "idx": 1,
- "modified": "2014-10-06 12:26:47.480965",
- "modified_by": "Administrator",
- "module": "Selling",
- "name": "Customer",
- "owner": "Administrator",
+ ], 
+ "icon": "icon-user", 
+ "idx": 1, 
+ "modified": "2014-12-24 16:23:11.018042", 
+ "modified_by": "Administrator", 
+ "module": "Selling", 
+ "name": "Customer", 
+ "owner": "Administrator", 
  "permissions": [
   {
-   "amend": 0,
-   "apply_user_permissions": 1,
-   "create": 1,
-   "delete": 0,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Sales User",
-   "submit": 0,
+   "amend": 0, 
+   "apply_user_permissions": 1, 
+   "create": 1, 
+   "delete": 0, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales User", 
+   "submit": 0, 
    "write": 1
-  },
+  }, 
   {
-   "cancel": 0,
-   "delete": 0,
-   "permlevel": 1,
-   "read": 1,
+   "cancel": 0, 
+   "delete": 0, 
+   "permlevel": 1, 
+   "read": 1, 
    "role": "Sales User"
-  },
+  }, 
   {
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
    "role": "Sales Manager"
-  },
+  }, 
   {
-   "amend": 0,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Sales Master Manager",
-   "set_user_permissions": 1,
-   "submit": 0,
+   "amend": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales Master Manager", 
+   "set_user_permissions": 1, 
+   "submit": 0, 
    "write": 1
-  },
+  }, 
   {
-   "cancel": 0,
-   "delete": 0,
-   "permlevel": 1,
-   "read": 1,
-   "role": "Sales Master Manager",
+   "cancel": 0, 
+   "delete": 0, 
+   "permlevel": 1, 
+   "read": 1, 
+   "role": "Sales Master Manager", 
    "write": 1
-  },
+  }, 
   {
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
    "role": "Material User"
-  },
+  }, 
   {
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
    "role": "Material Manager"
-  },
+  }, 
   {
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
    "role": "Accounts User"
-  },
+  }, 
   {
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
    "role": "Accounts Manager"
   }
- ],
- "search_fields": "customer_name,customer_group,territory",
+ ], 
+ "search_fields": "customer_name,customer_group,territory", 
  "title_field": "customer_name"
-}
+}
\ No newline at end of file
diff --git a/erpnext/selling/doctype/installation_note/installation_note.js b/erpnext/selling/doctype/installation_note/installation_note.js
index 60e2f72..477647e 100644
--- a/erpnext/selling/doctype/installation_note/installation_note.js
+++ b/erpnext/selling/doctype/installation_note/installation_note.js
@@ -1,9 +1,6 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-cur_frm.cscript.tname = "Installation Note Item";
-cur_frm.cscript.fname = "installed_item_details";
-
 frappe.require("assets/erpnext/js/utils.js");
 
 frappe.ui.form.on_change("Installation Note", "customer",
@@ -77,4 +74,4 @@
 
 cur_frm.cscript.inst_date = function(doc, cdt, cdn){
 	erpnext.get_fiscal_year(doc.company, doc.inst_date);
-}
\ No newline at end of file
+}
diff --git a/erpnext/selling/doctype/installation_note/installation_note.json b/erpnext/selling/doctype/installation_note/installation_note.json
index 289af75..95eebd6 100644
--- a/erpnext/selling/doctype/installation_note/installation_note.json
+++ b/erpnext/selling/doctype/installation_note/installation_note.json
@@ -224,9 +224,9 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "installed_item_details", 
+   "fieldname": "items", 
    "fieldtype": "Table", 
-   "label": "Installation Note Item", 
+   "label": "Items", 
    "oldfieldname": "installed_item_details", 
    "oldfieldtype": "Table", 
    "options": "Installation Note Item", 
@@ -236,7 +236,7 @@
  "icon": "icon-wrench", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-07-30 03:37:31.118791", 
+ "modified": "2014-12-24 15:33:52.513813", 
  "modified_by": "Administrator", 
  "module": "Selling", 
  "name": "Installation Note", 
diff --git a/erpnext/selling/doctype/installation_note/installation_note.py b/erpnext/selling/doctype/installation_note/installation_note.py
index 0477abc..4aba9ab 100644
--- a/erpnext/selling/doctype/installation_note/installation_note.py
+++ b/erpnext/selling/doctype/installation_note/installation_note.py
@@ -12,9 +12,6 @@
 from erpnext.utilities.transaction_base import TransactionBase
 
 class InstallationNote(TransactionBase):
-	tname = 'Installation Note Item'
-	fname = 'installed_item_details'
-
 	def __init__(self, arg1, arg2=None):
 		super(InstallationNote, self).__init__(arg1, arg2)
 		self.status_updater = [{
@@ -76,7 +73,7 @@
 
 	def validate_serial_no(self):
 		cur_s_no, prevdoc_s_no, sr_list = [], [], []
-		for d in self.get('installed_item_details'):
+		for d in self.get('items'):
 			self.is_serial_no_added(d.item_code, d.serial_no)
 			if d.serial_no:
 				sr_list = get_valid_serial_nos(d.serial_no, d.qty, d.item_code)
@@ -89,14 +86,14 @@
 				self.is_serial_no_installed(sr_list, d.item_code)
 
 	def validate_installation_date(self):
-		for d in self.get('installed_item_details'):
+		for d in self.get('items'):
 			if d.prevdoc_docname:
 				d_date = frappe.db.get_value("Delivery Note", d.prevdoc_docname, "posting_date")
 				if d_date > getdate(self.inst_date):
 					frappe.throw(_("Installation date cannot be before delivery date for Item {0}").format(d.item_code))
 
 	def check_item_table(self):
-		if not(self.get('installed_item_details')):
+		if not(self.get('items')):
 			frappe.throw(_("Please pull items from Delivery Note"))
 
 	def on_update(self):
@@ -108,7 +105,7 @@
 		frappe.db.set(self, 'status', 'Submitted')
 
 	def on_cancel(self):
-		for d in self.get('installed_item_details'):
+		for d in self.get('items'):
 			if d.serial_no:
 				d.serial_no = d.serial_no.replace(",", "\n")
 				for sr_no in d.serial_no.split("\n"):
diff --git a/erpnext/selling/doctype/installation_note/test_installation_note.py b/erpnext/selling/doctype/installation_note/test_installation_note.py
new file mode 100644
index 0000000..252126e
--- /dev/null
+++ b/erpnext/selling/doctype/installation_note/test_installation_note.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and Contributors
+# See license.txt
+
+import frappe
+import unittest
+
+test_records = frappe.get_test_records('Installation Note')
+
+class TestInstallationNote(unittest.TestCase):
+	pass
diff --git a/erpnext/selling/doctype/installation_note/test_records.json b/erpnext/selling/doctype/installation_note/test_records.json
new file mode 100644
index 0000000..7c0bade
--- /dev/null
+++ b/erpnext/selling/doctype/installation_note/test_records.json
@@ -0,0 +1,6 @@
+[
+	{
+		"doctype": "Installation Note",
+		"name": "_Test Installation Note 1"
+	}
+]
diff --git a/erpnext/selling/doctype/lead/lead.json b/erpnext/selling/doctype/lead/lead.json
index b78ca4f..db5e1a5 100644
--- a/erpnext/selling/doctype/lead/lead.json
+++ b/erpnext/selling/doctype/lead/lead.json
@@ -1,426 +1,426 @@
 {
- "allow_import": 1, 
- "autoname": "naming_series:", 
- "creation": "2013-04-10 11:45:37", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Master", 
+ "allow_import": 1,
+ "autoname": "naming_series:",
+ "creation": "2013-04-10 11:45:37",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Master",
  "fields": [
   {
-   "fieldname": "lead_details", 
-   "fieldtype": "Section Break", 
-   "label": "Lead Details", 
-   "options": "icon-user", 
+   "fieldname": "lead_details",
+   "fieldtype": "Section Break",
+   "label": "Lead Details",
+   "options": "icon-user",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "naming_series", 
-   "fieldtype": "Select", 
-   "label": "Series", 
-   "no_copy": 1, 
-   "oldfieldname": "naming_series", 
-   "oldfieldtype": "Select", 
-   "options": "LEAD-", 
-   "permlevel": 0, 
+   "fieldname": "naming_series",
+   "fieldtype": "Select",
+   "label": "Series",
+   "no_copy": 1,
+   "oldfieldname": "naming_series",
+   "oldfieldtype": "Select",
+   "options": "LEAD-",
+   "permlevel": 0,
    "reqd": 0
-  }, 
+  },
   {
-   "fieldname": "lead_name", 
-   "fieldtype": "Data", 
-   "in_filter": 1, 
-   "in_list_view": 1, 
-   "label": "Contact Name", 
-   "oldfieldname": "lead_name", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "reqd": 1, 
+   "fieldname": "lead_name",
+   "fieldtype": "Data",
+   "in_filter": 1,
+   "in_list_view": 1,
+   "label": "Contact Name",
+   "oldfieldname": "lead_name",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "company_name", 
-   "fieldtype": "Data", 
-   "in_filter": 1, 
-   "in_list_view": 1, 
-   "label": "Organization Name", 
-   "oldfieldname": "company_name", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "reqd": 0, 
+   "fieldname": "company_name",
+   "fieldtype": "Data",
+   "in_filter": 1,
+   "in_list_view": 1,
+   "label": "Organization Name",
+   "oldfieldname": "company_name",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "reqd": 0,
    "search_index": 0
-  }, 
+  },
   {
-   "fieldname": "email_id", 
-   "fieldtype": "Data", 
-   "label": "Email Id", 
-   "oldfieldname": "email_id", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "reqd": 0, 
+   "fieldname": "email_id",
+   "fieldtype": "Data",
+   "label": "Email Id",
+   "oldfieldname": "email_id",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "reqd": 0,
    "search_index": 1
-  }, 
+  },
   {
-   "default": "Lead", 
-   "fieldname": "status", 
-   "fieldtype": "Select", 
-   "in_filter": 1, 
-   "in_list_view": 1, 
-   "label": "Status", 
-   "no_copy": 1, 
-   "oldfieldname": "status", 
-   "oldfieldtype": "Select", 
-   "options": "Lead\nOpen\nReplied\nOpportunity\nInterested\nConverted\nDo Not Contact", 
-   "permlevel": 0, 
-   "reqd": 1, 
+   "default": "Lead",
+   "fieldname": "status",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "in_list_view": 1,
+   "label": "Status",
+   "no_copy": 1,
+   "oldfieldname": "status",
+   "oldfieldtype": "Select",
+   "options": "Lead\nOpen\nReplied\nOpportunity\nInterested\nConverted\nDo Not Contact",
+   "permlevel": 0,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "source", 
-   "fieldtype": "Select", 
-   "in_filter": 1, 
-   "in_list_view": 1, 
-   "label": "Source", 
-   "no_copy": 1, 
-   "oldfieldname": "source", 
-   "oldfieldtype": "Select", 
-   "options": "\nAdvertisement\nBlog Post\nCampaign\nCall\nCustomer\nExhibition\nSupplier\nWebsite\nEmail", 
-   "permlevel": 0, 
-   "reqd": 0, 
+   "fieldname": "source",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "in_list_view": 1,
+   "label": "Source",
+   "no_copy": 1,
+   "oldfieldname": "source",
+   "oldfieldtype": "Select",
+   "options": "\nAdvertisement\nBlog Post\nCampaign\nCall\nCustomer\nExhibition\nSupplier\nWebsite\nEmail",
+   "permlevel": 0,
+   "reqd": 0,
    "search_index": 0
-  }, 
+  },
   {
-   "fieldname": "col_break123", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "col_break123",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "depends_on": "eval:doc.source == 'Customer'", 
-   "fieldname": "customer", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "label": "From Customer", 
-   "oldfieldname": "customer", 
-   "oldfieldtype": "Link", 
-   "options": "Customer", 
+   "depends_on": "eval:doc.source == 'Customer'",
+   "fieldname": "customer",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "label": "From Customer",
+   "oldfieldname": "customer",
+   "oldfieldtype": "Link",
+   "options": "Customer",
    "permlevel": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.source == 'Campaign'", 
-   "description": "Enter campaign name if the source of lead is campaign.", 
-   "fieldname": "campaign_name", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "label": "Campaign Name", 
-   "oldfieldname": "campaign_name", 
-   "oldfieldtype": "Link", 
-   "options": "Campaign", 
+   "depends_on": "eval:doc.source == 'Campaign'",
+   "description": "Enter campaign name if the source of lead is campaign.",
+   "fieldname": "campaign_name",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "label": "Campaign Name",
+   "oldfieldname": "campaign_name",
+   "oldfieldtype": "Link",
+   "options": "Campaign",
    "permlevel": 0
-  }, 
+  },
   {
-   "default": "__user", 
-   "fieldname": "lead_owner", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Lead Owner", 
-   "oldfieldname": "lead_owner", 
-   "oldfieldtype": "Link", 
-   "options": "User", 
-   "permlevel": 0, 
+   "default": "__user",
+   "fieldname": "lead_owner",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Lead Owner",
+   "oldfieldname": "lead_owner",
+   "oldfieldtype": "Link",
+   "options": "User",
+   "permlevel": 0,
    "search_index": 1
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "fieldname": "contact_by", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "label": "Next Contact By", 
-   "oldfieldname": "contact_by", 
-   "oldfieldtype": "Link", 
-   "options": "User", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "reqd": 0, 
+   "allow_on_submit": 0,
+   "fieldname": "contact_by",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "in_filter": 1,
+   "label": "Next Contact By",
+   "oldfieldname": "contact_by",
+   "oldfieldtype": "Link",
+   "options": "User",
+   "permlevel": 0,
+   "print_hide": 0,
+   "reqd": 0,
    "width": "100px"
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "description": "Add to calendar on this date", 
-   "fieldname": "contact_date", 
-   "fieldtype": "Date", 
-   "in_filter": 1, 
-   "label": "Next Contact Date", 
-   "no_copy": 1, 
-   "oldfieldname": "contact_date", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
-   "reqd": 0, 
+   "allow_on_submit": 0,
+   "description": "Add to calendar on this date",
+   "fieldname": "contact_date",
+   "fieldtype": "Datetime",
+   "in_filter": 1,
+   "label": "Next Contact Date",
+   "no_copy": 1,
+   "oldfieldname": "contact_date",
+   "oldfieldtype": "Date",
+   "permlevel": 0,
+   "reqd": 0,
    "width": "100px"
-  }, 
+  },
   {
-   "fieldname": "fold", 
-   "fieldtype": "Fold", 
-   "label": "fold", 
+   "fieldname": "fold",
+   "fieldtype": "Fold",
+   "label": "fold",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "contact_info", 
-   "fieldtype": "Section Break", 
-   "label": "Address & Contact", 
-   "oldfieldtype": "Column Break", 
-   "options": "icon-map-marker", 
+   "fieldname": "contact_info",
+   "fieldtype": "Section Break",
+   "label": "Address & Contact",
+   "oldfieldtype": "Column Break",
+   "options": "icon-map-marker",
    "permlevel": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.__islocal", 
-   "fieldname": "address_desc", 
-   "fieldtype": "HTML", 
-   "hidden": 0, 
-   "label": "Address Desc", 
-   "options": "<em>Addresses will appear only when you save the lead</em>", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.__islocal",
+   "fieldname": "address_desc",
+   "fieldtype": "HTML",
+   "hidden": 0,
+   "label": "Address Desc",
+   "options": "<em>Addresses will appear only when you save the lead</em>",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "address_html", 
-   "fieldtype": "HTML", 
-   "hidden": 0, 
-   "label": "Address HTML", 
-   "permlevel": 0, 
-   "print_hide": 0, 
+   "fieldname": "address_html",
+   "fieldtype": "HTML",
+   "hidden": 0,
+   "label": "Address HTML",
+   "permlevel": 0,
+   "print_hide": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "column_break2", 
-   "fieldtype": "Column Break", 
+   "fieldname": "column_break2",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "phone", 
-   "fieldtype": "Data", 
-   "label": "Phone", 
-   "oldfieldname": "contact_no", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
+   "fieldname": "phone",
+   "fieldtype": "Data",
+   "label": "Phone",
+   "oldfieldname": "contact_no",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
    "reqd": 0
-  }, 
+  },
   {
-   "fieldname": "mobile_no", 
-   "fieldtype": "Data", 
-   "label": "Mobile No.", 
-   "oldfieldname": "mobile_no", 
-   "oldfieldtype": "Data", 
+   "fieldname": "mobile_no",
+   "fieldtype": "Data",
+   "label": "Mobile No.",
+   "oldfieldname": "mobile_no",
+   "oldfieldtype": "Data",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "fax", 
-   "fieldtype": "Data", 
-   "label": "Fax", 
-   "oldfieldname": "fax", 
-   "oldfieldtype": "Data", 
+   "fieldname": "fax",
+   "fieldtype": "Data",
+   "label": "Fax",
+   "oldfieldname": "fax",
+   "oldfieldtype": "Data",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "website", 
-   "fieldtype": "Data", 
-   "label": "Website", 
-   "oldfieldname": "website", 
-   "oldfieldtype": "Data", 
+   "fieldname": "website",
+   "fieldtype": "Data",
+   "label": "Website",
+   "oldfieldname": "website",
+   "oldfieldtype": "Data",
    "permlevel": 0
-  }, 
+  },
   {
-   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>", 
-   "fieldname": "territory", 
-   "fieldtype": "Link", 
-   "label": "Territory", 
-   "oldfieldname": "territory", 
-   "oldfieldtype": "Link", 
-   "options": "Territory", 
-   "permlevel": 0, 
+   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>",
+   "fieldname": "territory",
+   "fieldtype": "Link",
+   "label": "Territory",
+   "oldfieldname": "territory",
+   "oldfieldtype": "Link",
+   "options": "Territory",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "more_info", 
-   "fieldtype": "Section Break", 
-   "label": "More Info", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-file-text", 
+   "fieldname": "more_info",
+   "fieldtype": "Section Break",
+   "label": "More Info",
+   "oldfieldtype": "Section Break",
+   "options": "icon-file-text",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "type", 
-   "fieldtype": "Select", 
-   "in_filter": 1, 
-   "label": "Lead Type", 
-   "oldfieldname": "type", 
-   "oldfieldtype": "Select", 
-   "options": "\nClient\nChannel Partner\nConsultant", 
+   "fieldname": "type",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "label": "Lead Type",
+   "oldfieldname": "type",
+   "oldfieldtype": "Select",
+   "options": "\nClient\nChannel Partner\nConsultant",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "market_segment", 
-   "fieldtype": "Select", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "label": "Market Segment", 
-   "oldfieldname": "market_segment", 
-   "oldfieldtype": "Select", 
-   "options": "\nLower Income\nMiddle Income\nUpper Income", 
-   "permlevel": 0, 
-   "reqd": 0, 
+   "fieldname": "market_segment",
+   "fieldtype": "Select",
+   "hidden": 0,
+   "in_filter": 1,
+   "label": "Market Segment",
+   "oldfieldname": "market_segment",
+   "oldfieldtype": "Select",
+   "options": "\nLower Income\nMiddle Income\nUpper Income",
+   "permlevel": 0,
+   "reqd": 0,
    "search_index": 0
-  }, 
+  },
   {
-   "fieldname": "industry", 
-   "fieldtype": "Link", 
-   "label": "Industry", 
-   "oldfieldname": "industry", 
-   "oldfieldtype": "Link", 
-   "options": "Industry Type", 
+   "fieldname": "industry",
+   "fieldtype": "Link",
+   "label": "Industry",
+   "oldfieldname": "industry",
+   "oldfieldtype": "Link",
+   "options": "Industry Type",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "request_type", 
-   "fieldtype": "Select", 
-   "label": "Request Type", 
-   "oldfieldname": "request_type", 
-   "oldfieldtype": "Select", 
-   "options": "\nProduct Enquiry\nRequest for Information\nSuggestions\nOther", 
+   "fieldname": "request_type",
+   "fieldtype": "Select",
+   "label": "Request Type",
+   "oldfieldname": "request_type",
+   "oldfieldtype": "Select",
+   "options": "\nProduct Enquiry\nRequest for Information\nSuggestions\nOther",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "fiscal_year", 
-   "fieldtype": "Link", 
-   "hidden": 1, 
-   "in_filter": 1, 
-   "label": "Fiscal Year", 
-   "oldfieldname": "fiscal_year", 
-   "oldfieldtype": "Select", 
-   "options": "Fiscal Year", 
+   "fieldname": "fiscal_year",
+   "fieldtype": "Link",
+   "hidden": 1,
+   "in_filter": 1,
+   "label": "Fiscal Year",
+   "oldfieldname": "fiscal_year",
+   "oldfieldtype": "Select",
+   "options": "Fiscal Year",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "column_break3", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break3",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "label": "Company", 
-   "oldfieldname": "company", 
-   "oldfieldtype": "Link", 
-   "options": "Company", 
-   "permlevel": 0, 
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "label": "Company",
+   "oldfieldname": "company",
+   "oldfieldtype": "Link",
+   "options": "Company",
+   "permlevel": 0,
    "reqd": 0
-  }, 
+  },
   {
-   "fieldname": "unsubscribed", 
-   "fieldtype": "Check", 
-   "label": "Unsubscribed", 
+   "fieldname": "unsubscribed",
+   "fieldtype": "Check",
+   "label": "Unsubscribed",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "blog_subscriber", 
-   "fieldtype": "Check", 
-   "label": "Blog Subscriber", 
+   "fieldname": "blog_subscriber",
+   "fieldtype": "Check",
+   "label": "Blog Subscriber",
    "permlevel": 0
   }
- ], 
- "icon": "icon-user", 
- "idx": 1, 
- "modified": "2014-09-11 18:52:50.397563", 
- "modified_by": "Administrator", 
- "module": "Selling", 
- "name": "Lead", 
- "owner": "Administrator", 
+ ],
+ "icon": "icon-user",
+ "idx": 1,
+ "modified": "2014-12-01 08:22:23.286314",
+ "modified_by": "Administrator",
+ "module": "Selling",
+ "name": "Lead",
+ "owner": "Administrator",
  "permissions": [
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "match": "", 
-   "permlevel": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "All", 
-   "submit": 0, 
+   "amend": 0,
+   "cancel": 0,
+   "create": 0,
+   "delete": 0,
+   "match": "",
+   "permlevel": 1,
+   "read": 1,
+   "report": 1,
+   "role": "All",
+   "submit": 0,
    "write": 0
-  }, 
+  },
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 0, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales User", 
-   "submit": 0, 
+   "amend": 0,
+   "cancel": 0,
+   "create": 1,
+   "delete": 0,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales User",
+   "submit": 0,
    "write": 1
-  }, 
+  },
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales Manager", 
-   "submit": 0, 
+   "amend": 0,
+   "cancel": 0,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales Manager",
+   "submit": 0,
    "write": 1
-  }, 
+  },
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 0, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "System Manager", 
-   "submit": 0, 
+   "amend": 0,
+   "cancel": 0,
+   "create": 1,
+   "delete": 0,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "System Manager",
+   "submit": 0,
    "write": 1
-  }, 
+  },
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "match": "", 
-   "permlevel": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales Manager", 
-   "submit": 0, 
+   "amend": 0,
+   "cancel": 0,
+   "create": 0,
+   "delete": 0,
+   "match": "",
+   "permlevel": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales Manager",
+   "submit": 0,
    "write": 0
-  }, 
+  },
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "match": "", 
-   "permlevel": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales User", 
-   "submit": 0, 
+   "amend": 0,
+   "cancel": 0,
+   "create": 0,
+   "delete": 0,
+   "match": "",
+   "permlevel": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales User",
+   "submit": 0,
    "write": 0
   }
- ], 
- "search_fields": "lead_name,lead_owner,status", 
- "sort_field": "modified", 
- "sort_order": "DESC", 
+ ],
+ "search_fields": "lead_name,lead_owner,status",
+ "sort_field": "modified",
+ "sort_order": "DESC",
  "title_field": "lead_name"
-}
\ No newline at end of file
+}
diff --git a/erpnext/selling/doctype/lead/lead.py b/erpnext/selling/doctype/lead/lead.py
index 48cdee9..47d9b02 100644
--- a/erpnext/selling/doctype/lead/lead.py
+++ b/erpnext/selling/doctype/lead/lead.py
@@ -48,6 +48,7 @@
 	def add_calendar_event(self, opts=None, force=False):
 		super(Lead, self).add_calendar_event({
 			"owner": self.lead_owner,
+			"starts_on": self.contact_date,
 			"subject": ('Contact ' + cstr(self.lead_name)),
 			"description": ('Contact ' + cstr(self.lead_name)) + \
 				(self.contact_by and ('. By : ' + cstr(self.contact_by)) or '')
diff --git a/erpnext/selling/doctype/opportunity/opportunity.js b/erpnext/selling/doctype/opportunity/opportunity.js
index b29c03a..2ca1878 100644
--- a/erpnext/selling/doctype/opportunity/opportunity.js
+++ b/erpnext/selling/doctype/opportunity/opportunity.js
@@ -28,7 +28,6 @@
 		if(!this.frm.doc.fiscal_year && sys_defaults.fiscal_year)
 			set_multiple(cdt, cdn, { fiscal_year:sys_defaults.fiscal_year });
 
-
 		if(this.frm.doc.customer && !this.frm.doc.customer_name) cur_frm.cscript.customer(this.frm.doc);
 
 		this.setup_queries();
@@ -46,7 +45,7 @@
 			else if(me.frm.doc.customer) return {filters: { customer: me.frm.doc.customer } };
 		});
 
-		this.frm.set_query("item_code", "enquiry_details", function() {
+		this.frm.set_query("item_code", "items", function() {
 			return {
 				query: "erpnext.controllers.queries.item_query",
 				filters: me.frm.doc.enquiry_type === "Maintenance" ?
@@ -97,7 +96,7 @@
 	var d = locals[cdt][cdn];
 	if (d.item_code) {
 		return get_server_fields('get_item_details', d.item_code,
-			'enquiry_details', doc, cdt, cdn, 1);
+			'items', doc, cdt, cdn, 1);
 	}
 }
 
@@ -152,4 +151,4 @@
 
 cur_frm.cscript.transaction_date = function(doc, cdt, cdn){
 	erpnext.get_fiscal_year(doc.company, doc.transaction_date);
-}
\ No newline at end of file
+}
diff --git a/erpnext/selling/doctype/opportunity/opportunity.json b/erpnext/selling/doctype/opportunity/opportunity.json
index a47b21f..995bb27 100644
--- a/erpnext/selling/doctype/opportunity/opportunity.json
+++ b/erpnext/selling/doctype/opportunity/opportunity.json
@@ -1,430 +1,431 @@
 {
- "allow_import": 1, 
- "autoname": "naming_series:", 
- "creation": "2013-03-07 18:50:30", 
- "description": "Potential Sales Deal", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Transaction", 
+ "allow_import": 1,
+ "autoname": "naming_series:",
+ "creation": "2013-03-07 18:50:30",
+ "description": "Potential Sales Deal",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Transaction",
  "fields": [
   {
-   "fieldname": "from_section", 
-   "fieldtype": "Section Break", 
-   "label": "From", 
-   "options": "icon-user", 
+   "fieldname": "from_section",
+   "fieldtype": "Section Break",
+   "label": "From",
+   "options": "icon-user",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "naming_series", 
-   "fieldtype": "Select", 
-   "label": "Series", 
-   "no_copy": 1, 
-   "oldfieldname": "naming_series", 
-   "oldfieldtype": "Select", 
-   "options": "OPTY-", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "fieldname": "naming_series",
+   "fieldtype": "Select",
+   "label": "Series",
+   "no_copy": 1,
+   "oldfieldname": "naming_series",
+   "oldfieldtype": "Select",
+   "options": "OPTY-",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "enquiry_from", 
-   "fieldtype": "Select", 
-   "in_list_view": 1, 
-   "label": "Opportunity From", 
-   "oldfieldname": "enquiry_from", 
-   "oldfieldtype": "Select", 
-   "options": "\nLead\nCustomer", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "report_hide": 0, 
+   "fieldname": "enquiry_from",
+   "fieldtype": "Select",
+   "in_list_view": 1,
+   "label": "Opportunity From",
+   "oldfieldname": "enquiry_from",
+   "oldfieldtype": "Select",
+   "options": "\nLead\nCustomer",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "report_hide": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "depends_on": "eval:doc.enquiry_from===\"Customer\"", 
-   "fieldname": "customer", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "in_list_view": 1, 
-   "label": "Customer", 
-   "oldfieldname": "customer", 
-   "oldfieldtype": "Link", 
-   "options": "Customer", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 0, 
+   "depends_on": "eval:doc.enquiry_from===\"Customer\"",
+   "fieldname": "customer",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "in_filter": 1,
+   "in_list_view": 1,
+   "label": "Customer",
+   "no_copy": 1,
+   "oldfieldname": "customer",
+   "oldfieldtype": "Link",
+   "options": "Customer",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 0,
    "search_index": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.enquiry_from===\"Lead\"", 
-   "fieldname": "lead", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "in_list_view": 1, 
-   "label": "Lead", 
-   "oldfieldname": "lead", 
-   "oldfieldtype": "Link", 
-   "options": "Lead", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "depends_on": "eval:doc.enquiry_from===\"Lead\"",
+   "fieldname": "lead",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "in_filter": 1,
+   "in_list_view": 1,
+   "label": "Lead",
+   "oldfieldname": "lead",
+   "oldfieldtype": "Link",
+   "options": "Lead",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.customer || doc.lead", 
-   "fieldname": "customer_name", 
-   "fieldtype": "Data", 
-   "label": "Customer / Lead Name", 
-   "permlevel": 0, 
-   "print_hide": 0, 
+   "depends_on": "eval:doc.customer || doc.lead",
+   "fieldname": "customer_name",
+   "fieldtype": "Data",
+   "label": "Customer / Lead Name",
+   "permlevel": 0,
+   "print_hide": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "column_break0", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "fieldname": "column_break0",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "enquiry_type", 
-   "fieldtype": "Select", 
-   "label": "Opportunity Type", 
-   "oldfieldname": "enquiry_type", 
-   "oldfieldtype": "Select", 
-   "options": "\nSales\nMaintenance", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "fieldname": "enquiry_type",
+   "fieldtype": "Select",
+   "label": "Opportunity Type",
+   "oldfieldname": "enquiry_type",
+   "oldfieldtype": "Select",
+   "options": "\nSales\nMaintenance",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "default": "Draft", 
-   "fieldname": "status", 
-   "fieldtype": "Select", 
-   "in_list_view": 1, 
-   "label": "Status", 
-   "no_copy": 1, 
-   "oldfieldname": "status", 
-   "oldfieldtype": "Select", 
-   "options": "Draft\nSubmitted\nQuotation\nLost\nCancelled\nReplied\nOpen", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "default": "Draft",
+   "fieldname": "status",
+   "fieldtype": "Select",
+   "in_list_view": 1,
+   "label": "Status",
+   "no_copy": 1,
+   "oldfieldname": "status",
+   "oldfieldtype": "Select",
+   "options": "Draft\nSubmitted\nQuotation\nLost\nCancelled\nReplied\nOpen",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "items", 
-   "fieldtype": "Section Break", 
-   "label": "Items", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-shopping-cart", 
-   "permlevel": 0, 
+   "fieldname": "items_section",
+   "fieldtype": "Section Break",
+   "label": "Items",
+   "oldfieldtype": "Section Break",
+   "options": "icon-shopping-cart",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "description": "Items which do not exist in Item master can also be entered on customer's request", 
-   "fieldname": "enquiry_details", 
-   "fieldtype": "Table", 
-   "label": "Opportunity Items", 
-   "oldfieldname": "enquiry_details", 
-   "oldfieldtype": "Table", 
-   "options": "Opportunity Item", 
-   "permlevel": 0, 
+   "description": "Items which do not exist in Item master can also be entered on customer's request",
+   "fieldname": "items",
+   "fieldtype": "Table",
+   "label": "Items",
+   "oldfieldname": "enquiry_details",
+   "oldfieldtype": "Table",
+   "options": "Opportunity Item",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "fold", 
-   "fieldtype": "Fold", 
+   "fieldname": "fold",
+   "fieldtype": "Fold",
    "permlevel": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.lead || doc.customer", 
-   "fieldname": "contact_info", 
-   "fieldtype": "Section Break", 
-   "label": "Contact Info", 
-   "options": "icon-bullhorn", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.lead || doc.customer",
+   "fieldname": "contact_info",
+   "fieldtype": "Section Break",
+   "label": "Contact Info",
+   "options": "icon-bullhorn",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.customer || doc.lead", 
-   "fieldname": "customer_address", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Customer / Lead Address", 
-   "options": "Address", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "depends_on": "eval:doc.customer || doc.lead",
+   "fieldname": "customer_address",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Customer / Lead Address",
+   "options": "Address",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "address_display", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Address", 
-   "oldfieldname": "address", 
-   "oldfieldtype": "Small Text", 
-   "permlevel": 0, 
+   "fieldname": "address_display",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Address",
+   "oldfieldname": "address",
+   "oldfieldtype": "Small Text",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "depends_on": "customer", 
-   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>", 
-   "fieldname": "territory", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Territory", 
-   "options": "Territory", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 0, 
+   "depends_on": "customer",
+   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>",
+   "fieldname": "territory",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Territory",
+   "options": "Territory",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 0,
    "search_index": 1
-  }, 
+  },
   {
-   "depends_on": "customer", 
-   "description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>", 
-   "fieldname": "customer_group", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "label": "Customer Group", 
-   "oldfieldname": "customer_group", 
-   "oldfieldtype": "Link", 
-   "options": "Customer Group", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 0, 
+   "depends_on": "customer",
+   "description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>",
+   "fieldname": "customer_group",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "in_filter": 1,
+   "label": "Customer Group",
+   "oldfieldname": "customer_group",
+   "oldfieldtype": "Link",
+   "options": "Customer Group",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 0,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "column_break3", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break3",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.lead || doc.customer", 
-   "fieldname": "contact_person", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Contact Person", 
-   "options": "Contact", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "depends_on": "eval:doc.lead || doc.customer",
+   "fieldname": "contact_person",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Contact Person",
+   "options": "Contact",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "customer", 
-   "fieldname": "contact_display", 
-   "fieldtype": "Small Text", 
-   "label": "Contact", 
-   "permlevel": 0, 
+   "depends_on": "customer",
+   "fieldname": "contact_display",
+   "fieldtype": "Small Text",
+   "label": "Contact",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "depends_on": "eval:doc.lead || doc.customer", 
-   "fieldname": "contact_email", 
-   "fieldtype": "Small Text", 
-   "label": "Contact Email", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.lead || doc.customer",
+   "fieldname": "contact_email",
+   "fieldtype": "Small Text",
+   "label": "Contact Email",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "depends_on": "eval:doc.lead || doc.customer", 
-   "fieldname": "contact_mobile", 
-   "fieldtype": "Small Text", 
-   "label": "Contact Mobile No", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.lead || doc.customer",
+   "fieldname": "contact_mobile",
+   "fieldtype": "Small Text",
+   "label": "Contact Mobile No",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "more_info", 
-   "fieldtype": "Section Break", 
-   "label": "More Info", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-file-text", 
-   "permlevel": 0, 
+   "fieldname": "more_info",
+   "fieldtype": "Section Break",
+   "label": "More Info",
+   "oldfieldtype": "Section Break",
+   "options": "icon-file-text",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "column_break1", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "fieldname": "column_break1",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "default": "Today", 
-   "fieldname": "transaction_date", 
-   "fieldtype": "Date", 
-   "label": "Opportunity Date", 
-   "oldfieldname": "transaction_date", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
-   "read_only": 0, 
-   "reqd": 1, 
+   "default": "Today",
+   "fieldname": "transaction_date",
+   "fieldtype": "Date",
+   "label": "Opportunity Date",
+   "oldfieldname": "transaction_date",
+   "oldfieldtype": "Date",
+   "permlevel": 0,
+   "read_only": 0,
+   "reqd": 1,
    "width": "50px"
-  }, 
+  },
   {
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Company", 
-   "oldfieldname": "company", 
-   "oldfieldtype": "Link", 
-   "options": "Company", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 1, 
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Company",
+   "oldfieldname": "company",
+   "oldfieldtype": "Link",
+   "options": "Company",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "source", 
-   "fieldtype": "Select", 
-   "label": "Source", 
-   "oldfieldname": "source", 
-   "oldfieldtype": "Select", 
-   "options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign\nWalk In", 
-   "permlevel": 0, 
+   "fieldname": "source",
+   "fieldtype": "Select",
+   "label": "Source",
+   "oldfieldname": "source",
+   "oldfieldtype": "Select",
+   "options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign\nWalk In",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "description": "Enter name of campaign if source of enquiry is campaign", 
-   "fieldname": "campaign", 
-   "fieldtype": "Link", 
-   "label": "Campaign", 
-   "oldfieldname": "campaign", 
-   "oldfieldtype": "Link", 
-   "options": "Campaign", 
-   "permlevel": 0, 
+   "description": "Enter name of campaign if source of enquiry is campaign",
+   "fieldname": "campaign",
+   "fieldtype": "Link",
+   "label": "Campaign",
+   "oldfieldname": "campaign",
+   "oldfieldtype": "Link",
+   "options": "Campaign",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "fiscal_year", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Fiscal Year", 
-   "oldfieldname": "fiscal_year", 
-   "oldfieldtype": "Select", 
-   "options": "Fiscal Year", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 1, 
+   "fieldname": "fiscal_year",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Fiscal Year",
+   "oldfieldname": "fiscal_year",
+   "oldfieldtype": "Select",
+   "options": "Fiscal Year",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "depends_on": "eval:!doc.__islocal", 
-   "fieldname": "order_lost_reason", 
-   "fieldtype": "Text", 
-   "label": "Lost Reason", 
-   "no_copy": 1, 
-   "permlevel": 0, 
+   "depends_on": "eval:!doc.__islocal",
+   "fieldname": "order_lost_reason",
+   "fieldtype": "Text",
+   "label": "Lost Reason",
+   "no_copy": 1,
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "column_break2", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "fieldname": "column_break2",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "description": "Your sales person who will contact the customer in future", 
-   "fieldname": "contact_by", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Next Contact By", 
-   "oldfieldname": "contact_by", 
-   "oldfieldtype": "Link", 
-   "options": "User", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "description": "Your sales person who will contact the customer in future",
+   "fieldname": "contact_by",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Next Contact By",
+   "oldfieldname": "contact_by",
+   "oldfieldtype": "Link",
+   "options": "User",
+   "permlevel": 0,
+   "read_only": 0,
    "width": "75px"
-  }, 
+  },
   {
-   "description": "Your sales person will get a reminder on this date to contact the customer", 
-   "fieldname": "contact_date", 
-   "fieldtype": "Date", 
-   "label": "Next Contact Date", 
-   "oldfieldname": "contact_date", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
+   "description": "Your sales person will get a reminder on this date to contact the customer",
+   "fieldname": "contact_date",
+   "fieldtype": "Datetime",
+   "label": "Next Contact Date",
+   "oldfieldname": "contact_date",
+   "oldfieldtype": "Date",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "to_discuss", 
-   "fieldtype": "Small Text", 
-   "label": "To Discuss", 
-   "no_copy": 1, 
-   "oldfieldname": "to_discuss", 
-   "oldfieldtype": "Small Text", 
-   "permlevel": 0, 
+   "fieldname": "to_discuss",
+   "fieldtype": "Small Text",
+   "label": "To Discuss",
+   "no_copy": 1,
+   "oldfieldname": "to_discuss",
+   "oldfieldtype": "Small Text",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "amended_from", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Amended From", 
-   "no_copy": 1, 
-   "oldfieldname": "amended_from", 
-   "oldfieldtype": "Data", 
-   "options": "Opportunity", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Amended From",
+   "no_copy": 1,
+   "oldfieldname": "amended_from",
+   "oldfieldtype": "Data",
+   "options": "Opportunity",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "width": "150px"
   }
- ], 
- "icon": "icon-info-sign", 
- "idx": 1, 
- "is_submittable": 1, 
- "modified": "2014-10-07 18:12:19.104820", 
- "modified_by": "Administrator", 
- "module": "Selling", 
- "name": "Opportunity", 
- "owner": "Administrator", 
+ ],
+ "icon": "icon-info-sign",
+ "idx": 1,
+ "is_submittable": 1,
+ "modified": "2014-12-24 14:22:53.858170",
+ "modified_by": "Administrator",
+ "module": "Selling",
+ "name": "Opportunity",
+ "owner": "Administrator",
  "permissions": [
   {
-   "amend": 1, 
-   "apply_user_permissions": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales User", 
-   "submit": 1, 
+   "amend": 1,
+   "apply_user_permissions": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales User",
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "amend": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales Manager", 
-   "submit": 1, 
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales Manager",
+   "submit": 1,
    "write": 1
   }
- ], 
- "search_fields": "status,transaction_date,customer,lead,enquiry_type,territory,company", 
- "sort_field": "modified", 
+ ],
+ "search_fields": "status,transaction_date,customer,lead,enquiry_type,territory,company",
+ "sort_field": "modified",
  "sort_order": "DESC"
-}
\ No newline at end of file
+}
diff --git a/erpnext/selling/doctype/opportunity/opportunity.py b/erpnext/selling/doctype/opportunity/opportunity.py
index ba331f9..af170c4 100644
--- a/erpnext/selling/doctype/opportunity/opportunity.py
+++ b/erpnext/selling/doctype/opportunity/opportunity.py
@@ -10,9 +10,6 @@
 from erpnext.utilities.transaction_base import TransactionBase
 
 class Opportunity(TransactionBase):
-	fname = 'enq_details'
-	tname = 'Opportunity Item'
-
 	def get_item_details(self, item_code):
 		item = frappe.db.sql("""select item_name, stock_uom, description_html, description, item_group, brand
 			from `tabItem` where name = %s""", item_code, as_dict=1)
@@ -57,6 +54,7 @@
 			opts = frappe._dict()
 
 		opts.description = ""
+		opts.contact_date = self.contact_date
 
 		if self.customer:
 			if self.contact_person:
@@ -78,7 +76,7 @@
 		super(Opportunity, self).add_calendar_event(opts, force)
 
 	def validate_item_details(self):
-		if not self.get('enquiry_details'):
+		if not self.get('items'):
 			frappe.throw(_("Items required"))
 
 	def validate_lead_cust(self):
diff --git a/erpnext/selling/doctype/opportunity/test_records.json b/erpnext/selling/doctype/opportunity/test_records.json
index 3970903..dcda5d5 100644
--- a/erpnext/selling/doctype/opportunity/test_records.json
+++ b/erpnext/selling/doctype/opportunity/test_records.json
@@ -5,7 +5,7 @@
 		"enquiry_from": "Lead",
 		"enquiry_type": "Sales",
 		"lead": "_T-Lead-00001",
-		"enquiry_details": [{
+		"items": [{
 			"item_name": "Test Item",
 			"description": "Some description"
 		}]
diff --git a/erpnext/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js
index cad9a8c..776671a 100644
--- a/erpnext/selling/doctype/quotation/quotation.js
+++ b/erpnext/selling/doctype/quotation/quotation.js
@@ -1,12 +1,6 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-// Module CRM
-// =====================================================================================
-cur_frm.cscript.tname = "Quotation Item";
-cur_frm.cscript.fname = "quotation_details";
-cur_frm.cscript.other_fname = "other_charges";
-cur_frm.cscript.sales_team_fname = "sales_team";
 
 {% include 'selling/sales_common.js' %}
 {% include 'accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js' %}
@@ -168,4 +162,4 @@
 cur_frm.cscript.send_sms = function() {
 	frappe.require("assets/erpnext/js/sms_manager.js");
 	var sms_man = new SMSManager(cur_frm.doc);
-}
\ No newline at end of file
+}
diff --git a/erpnext/selling/doctype/quotation/quotation.json b/erpnext/selling/doctype/quotation/quotation.json
index 107abc2..c23ae6e 100644
--- a/erpnext/selling/doctype/quotation/quotation.json
+++ b/erpnext/selling/doctype/quotation/quotation.json
@@ -1,931 +1,931 @@
 {
- "allow_import": 1,
- "autoname": "naming_series:",
- "creation": "2013-05-24 19:29:08",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Transaction",
+ "allow_import": 1, 
+ "autoname": "naming_series:", 
+ "creation": "2013-05-24 19:29:08", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "Transaction", 
  "fields": [
   {
-   "fieldname": "customer_section",
-   "fieldtype": "Section Break",
-   "label": "Customer",
-   "options": "icon-user",
+   "fieldname": "customer_section", 
+   "fieldtype": "Section Break", 
+   "label": "Customer", 
+   "options": "icon-user", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break0",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
-   "read_only": 0,
+   "fieldname": "column_break0", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
+   "read_only": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "naming_series",
-   "fieldtype": "Select",
-   "label": "Series",
-   "no_copy": 1,
-   "oldfieldname": "naming_series",
-   "oldfieldtype": "Select",
-   "options": "QTN-",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
+   "fieldname": "naming_series", 
+   "fieldtype": "Select", 
+   "label": "Series", 
+   "no_copy": 1, 
+   "oldfieldname": "naming_series", 
+   "oldfieldtype": "Select", 
+   "options": "QTN-", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "default": "Customer",
-   "fieldname": "quotation_to",
-   "fieldtype": "Select",
-   "in_filter": 1,
-   "label": "Quotation To",
-   "oldfieldname": "quotation_to",
-   "oldfieldtype": "Select",
-   "options": "\nLead\nCustomer",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
+   "default": "Customer", 
+   "fieldname": "quotation_to", 
+   "fieldtype": "Select", 
+   "in_filter": 1, 
+   "label": "Quotation To", 
+   "oldfieldname": "quotation_to", 
+   "oldfieldtype": "Select", 
+   "options": "\nLead\nCustomer", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "depends_on": "eval:doc.quotation_to == \"Customer\"",
-   "fieldname": "customer",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 1,
-   "label": "Customer",
-   "oldfieldname": "customer",
-   "oldfieldtype": "Link",
-   "options": "Customer",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
+   "depends_on": "eval:doc.quotation_to == \"Customer\"", 
+   "fieldname": "customer", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "label": "Customer", 
+   "oldfieldname": "customer", 
+   "oldfieldtype": "Link", 
+   "options": "Customer", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
    "search_index": 1
-  },
+  }, 
   {
-   "depends_on": "eval:doc.quotation_to == \"Lead\"",
-   "fieldname": "lead",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 1,
-   "label": "Lead",
-   "oldfieldname": "lead",
-   "oldfieldtype": "Link",
-   "options": "Lead",
-   "permlevel": 0,
-   "print_hide": 1,
+   "depends_on": "eval:doc.quotation_to == \"Lead\"", 
+   "fieldname": "lead", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "label": "Lead", 
+   "oldfieldname": "lead", 
+   "oldfieldtype": "Link", 
+   "options": "Lead", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "customer_name",
-   "fieldtype": "Data",
-   "hidden": 1,
-   "in_list_view": 1,
-   "label": "Customer / Lead Name",
-   "permlevel": 0,
+   "fieldname": "customer_name", 
+   "fieldtype": "Data", 
+   "hidden": 1, 
+   "in_list_view": 1, 
+   "label": "Customer / Lead Name", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "address_display",
-   "fieldtype": "Small Text",
-   "hidden": 1,
-   "in_filter": 0,
-   "label": "Address",
-   "oldfieldname": "customer_address",
-   "oldfieldtype": "Small Text",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 1,
-   "reqd": 0,
+   "fieldname": "address_display", 
+   "fieldtype": "Small Text", 
+   "hidden": 1, 
+   "in_filter": 0, 
+   "label": "Address", 
+   "oldfieldname": "customer_address", 
+   "oldfieldtype": "Small Text", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 1, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "contact_display",
-   "fieldtype": "Small Text",
-   "hidden": 1,
-   "in_filter": 0,
-   "label": "Contact",
-   "permlevel": 0,
-   "print_hide": 0,
+   "fieldname": "contact_display", 
+   "fieldtype": "Small Text", 
+   "hidden": 1, 
+   "in_filter": 0, 
+   "label": "Contact", 
+   "permlevel": 0, 
+   "print_hide": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "contact_mobile",
-   "fieldtype": "Small Text",
-   "hidden": 1,
-   "label": "Mobile No",
-   "permlevel": 0,
-   "print_hide": 0,
+   "fieldname": "contact_mobile", 
+   "fieldtype": "Small Text", 
+   "hidden": 1, 
+   "label": "Mobile No", 
+   "permlevel": 0, 
+   "print_hide": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "contact_email",
-   "fieldtype": "Small Text",
-   "hidden": 1,
-   "label": "Contact Email",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "contact_email", 
+   "fieldtype": "Small Text", 
+   "hidden": 1, 
+   "label": "Contact Email", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "column_break1",
-   "fieldtype": "Column Break",
-   "oldfieldtype": "Column Break",
-   "permlevel": 0,
-   "read_only": 0,
+   "fieldname": "column_break1", 
+   "fieldtype": "Column Break", 
+   "oldfieldtype": "Column Break", 
+   "permlevel": 0, 
+   "read_only": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "amended_from",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Amended From",
-   "no_copy": 1,
-   "oldfieldname": "amended_from",
-   "oldfieldtype": "Data",
-   "options": "Quotation",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 1,
+   "fieldname": "amended_from", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Amended From", 
+   "no_copy": 1, 
+   "oldfieldname": "amended_from", 
+   "oldfieldtype": "Data", 
+   "options": "Quotation", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 1, 
    "width": "150px"
-  },
+  }, 
   {
-   "description": "Select the relevant company name if you have multiple companies.",
-   "fieldname": "company",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "label": "Company",
-   "oldfieldname": "company",
-   "oldfieldtype": "Link",
-   "options": "Company",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "reqd": 1,
-   "search_index": 0,
+   "description": "Select the relevant company name if you have multiple companies.", 
+   "fieldname": "company", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "label": "Company", 
+   "oldfieldname": "company", 
+   "oldfieldtype": "Link", 
+   "options": "Company", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
    "width": "150px"
-  },
+  }, 
   {
-   "default": "Today",
-   "fieldname": "transaction_date",
-   "fieldtype": "Date",
-   "in_filter": 1,
-   "label": "Date",
-   "no_copy": 1,
-   "oldfieldname": "transaction_date",
-   "oldfieldtype": "Date",
-   "permlevel": 0,
-   "read_only": 0,
-   "reqd": 1,
-   "search_index": 1,
+   "default": "Today", 
+   "fieldname": "transaction_date", 
+   "fieldtype": "Date", 
+   "in_filter": 1, 
+   "label": "Date", 
+   "no_copy": 1, 
+   "oldfieldname": "transaction_date", 
+   "oldfieldtype": "Date", 
+   "permlevel": 0, 
+   "read_only": 0, 
+   "reqd": 1, 
+   "search_index": 1, 
    "width": "100px"
-  },
+  }, 
   {
-   "default": "Sales",
-   "fieldname": "order_type",
-   "fieldtype": "Select",
-   "in_filter": 1,
-   "label": "Order Type",
-   "oldfieldname": "order_type",
-   "oldfieldtype": "Select",
-   "options": "\nSales\nMaintenance\nShopping Cart",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "reqd": 1,
+   "default": "Sales", 
+   "fieldname": "order_type", 
+   "fieldtype": "Select", 
+   "in_filter": 1, 
+   "label": "Order Type", 
+   "oldfieldname": "order_type", 
+   "oldfieldtype": "Select", 
+   "options": "\nSales\nMaintenance\nShopping Cart", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "reqd": 1, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "section_break0",
-   "fieldtype": "Section Break",
-   "label": "Currency and Price List",
-   "options": "icon-tag",
-   "permlevel": 0,
+   "fieldname": "section_break0", 
+   "fieldtype": "Section Break", 
+   "label": "Currency and Price List", 
+   "options": "icon-tag", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "currency",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "label": "Currency",
-   "oldfieldname": "currency",
-   "oldfieldtype": "Select",
-   "options": "Currency",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "reqd": 1,
-   "search_index": 0,
+   "fieldname": "currency", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "label": "Currency", 
+   "oldfieldname": "currency", 
+   "oldfieldtype": "Select", 
+   "options": "Currency", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
    "width": "100px"
-  },
+  }, 
   {
-   "description": "Rate at which customer's currency is converted to company's base currency",
-   "fieldname": "conversion_rate",
-   "fieldtype": "Float",
-   "label": "Exchange Rate",
-   "oldfieldname": "conversion_rate",
-   "oldfieldtype": "Currency",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "reqd": 1,
+   "description": "Rate at which customer's currency is converted to company's base currency", 
+   "fieldname": "conversion_rate", 
+   "fieldtype": "Float", 
+   "label": "Exchange Rate", 
+   "oldfieldname": "conversion_rate", 
+   "oldfieldtype": "Currency", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "reqd": 1, 
    "width": "100px"
-  },
+  }, 
   {
-   "fieldname": "column_break2",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
-   "read_only": 0,
+   "fieldname": "column_break2", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
+   "read_only": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "selling_price_list",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "label": "Price List",
-   "oldfieldname": "price_list_name",
-   "oldfieldtype": "Select",
-   "options": "Price List",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "reqd": 1,
-   "search_index": 0,
+   "fieldname": "selling_price_list", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "label": "Price List", 
+   "oldfieldname": "price_list_name", 
+   "oldfieldtype": "Select", 
+   "options": "Price List", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
    "width": "100px"
-  },
+  }, 
   {
-   "fieldname": "price_list_currency",
-   "fieldtype": "Link",
-   "label": "Price List Currency",
-   "options": "Currency",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 1,
+   "fieldname": "price_list_currency", 
+   "fieldtype": "Link", 
+   "label": "Price List Currency", 
+   "options": "Currency", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 1, 
    "reqd": 1
-  },
+  }, 
   {
-   "description": "Rate at which Price list currency is converted to company's base currency",
-   "fieldname": "plc_conversion_rate",
-   "fieldtype": "Float",
-   "label": "Price List Exchange Rate",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
+   "description": "Rate at which Price list currency is converted to company's base currency", 
+   "fieldname": "plc_conversion_rate", 
+   "fieldtype": "Float", 
+   "label": "Price List Exchange Rate", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "ignore_pricing_rule",
-   "fieldtype": "Check",
-   "label": "Ignore Pricing Rule",
-   "no_copy": 1,
-   "permlevel": 1,
+   "fieldname": "ignore_pricing_rule", 
+   "fieldtype": "Check", 
+   "label": "Ignore Pricing Rule", 
+   "no_copy": 1, 
+   "permlevel": 1, 
    "print_hide": 1
-  },
+  }, 
   {
-   "fieldname": "items",
-   "fieldtype": "Section Break",
-   "label": "Items",
-   "oldfieldtype": "Section Break",
-   "options": "icon-shopping-cart",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 0,
+   "fieldname": "items_section", 
+   "fieldtype": "Section Break", 
+   "label": "Items", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-shopping-cart", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "allow_on_submit": 1,
-   "fieldname": "quotation_details",
-   "fieldtype": "Table",
-   "label": "Quotation Items",
-   "oldfieldname": "quotation_details",
-   "oldfieldtype": "Table",
-   "options": "Quotation Item",
-   "permlevel": 0,
-   "read_only": 0,
-   "reqd": 0,
+   "allow_on_submit": 1, 
+   "fieldname": "items", 
+   "fieldtype": "Table", 
+   "label": "Items", 
+   "oldfieldname": "quotation_details", 
+   "oldfieldtype": "Table", 
+   "options": "Quotation Item", 
+   "permlevel": 0, 
+   "read_only": 0, 
+   "reqd": 0, 
    "width": "40px"
-  },
+  }, 
   {
-   "fieldname": "sec_break23",
-   "fieldtype": "Section Break",
-   "permlevel": 0,
+   "fieldname": "sec_break23", 
+   "fieldtype": "Section Break", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "net_total",
-   "fieldtype": "Currency",
-   "label": "Net Total (Company Currency)",
-   "no_copy": 0,
-   "oldfieldname": "net_total",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 1,
-   "reqd": 0,
+   "fieldname": "net_total", 
+   "fieldtype": "Currency", 
+   "label": "Net Total (Company Currency)", 
+   "no_copy": 0, 
+   "oldfieldname": "net_total", 
+   "oldfieldtype": "Currency", 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 1, 
+   "reqd": 0, 
    "width": "100px"
-  },
+  }, 
   {
-   "fieldname": "column_break_28",
-   "fieldtype": "Column Break",
+   "fieldname": "column_break_28", 
+   "fieldtype": "Column Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "net_total_export",
-   "fieldtype": "Currency",
-   "label": "Net Total",
-   "options": "currency",
-   "permlevel": 0,
+   "fieldname": "net_total_export", 
+   "fieldtype": "Currency", 
+   "label": "Net Total", 
+   "options": "currency", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "taxes",
-   "fieldtype": "Section Break",
-   "label": "Taxes and Charges",
-   "oldfieldtype": "Section Break",
-   "options": "icon-money",
-   "permlevel": 0,
+   "fieldname": "taxes_section", 
+   "fieldtype": "Section Break", 
+   "label": "Taxes and Charges", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-money", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "taxes_and_charges",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "label": "Taxes and Charges",
-   "oldfieldname": "charge",
-   "oldfieldtype": "Link",
-   "options": "Sales Taxes and Charges Master",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "taxes_and_charges", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "label": "Taxes and Charges", 
+   "oldfieldname": "charge", 
+   "oldfieldtype": "Link", 
+   "options": "Sales Taxes and Charges Master", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "column_break_34",
-   "fieldtype": "Column Break",
+   "fieldname": "column_break_34", 
+   "fieldtype": "Column Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "shipping_rule",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "label": "Shipping Rule",
-   "oldfieldtype": "Button",
-   "options": "Shipping Rule",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "shipping_rule", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "label": "Shipping Rule", 
+   "oldfieldtype": "Button", 
+   "options": "Shipping Rule", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "section_break_36",
-   "fieldtype": "Section Break",
+   "fieldname": "section_break_36", 
+   "fieldtype": "Section Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "other_charges",
-   "fieldtype": "Table",
-   "label": "Sales Taxes and Charges",
-   "oldfieldname": "other_charges",
-   "oldfieldtype": "Table",
-   "options": "Sales Taxes and Charges",
-   "permlevel": 0,
+   "fieldname": "taxes", 
+   "fieldtype": "Table", 
+   "label": "Sales Taxes and Charges", 
+   "oldfieldname": "other_charges", 
+   "oldfieldtype": "Table", 
+   "options": "Sales Taxes and Charges", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "other_charges_calculation",
-   "fieldtype": "HTML",
-   "label": "Taxes and Charges Calculation",
-   "oldfieldtype": "HTML",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "other_charges_calculation", 
+   "fieldtype": "HTML", 
+   "label": "Taxes and Charges Calculation", 
+   "oldfieldtype": "HTML", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "section_break_39",
-   "fieldtype": "Section Break",
+   "fieldname": "section_break_39", 
+   "fieldtype": "Section Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "other_charges_total",
-   "fieldtype": "Currency",
-   "label": "Taxes and Charges Total (Company Currency)",
-   "oldfieldname": "other_charges_total",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "other_charges_total", 
+   "fieldtype": "Currency", 
+   "label": "Taxes and Charges Total (Company Currency)", 
+   "oldfieldname": "other_charges_total", 
+   "oldfieldtype": "Currency", 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "column_break_42",
-   "fieldtype": "Column Break",
+   "fieldname": "column_break_42", 
+   "fieldtype": "Column Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "other_charges_total_export",
-   "fieldtype": "Currency",
-   "label": "Taxes and Charges Total",
-   "options": "currency",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "other_charges_total_export", 
+   "fieldtype": "Currency", 
+   "label": "Taxes and Charges Total", 
+   "options": "currency", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "discount_amount",
-   "fieldtype": "Currency",
-   "label": "Discount Amount",
-   "options": "Company:company:default_currency",
+   "fieldname": "discount_amount", 
+   "fieldtype": "Currency", 
+   "label": "Discount Amount", 
+   "options": "Company:company:default_currency", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "totals",
-   "fieldtype": "Section Break",
-   "label": "Totals",
-   "oldfieldtype": "Section Break",
-   "options": "icon-money",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "totals", 
+   "fieldtype": "Section Break", 
+   "label": "Totals", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-money", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "grand_total",
-   "fieldtype": "Currency",
-   "label": "Grand Total (Company Currency)",
-   "no_copy": 0,
-   "oldfieldname": "grand_total",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 1,
-   "reqd": 0,
+   "fieldname": "grand_total", 
+   "fieldtype": "Currency", 
+   "label": "Grand Total (Company Currency)", 
+   "no_copy": 0, 
+   "oldfieldname": "grand_total", 
+   "oldfieldtype": "Currency", 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 1, 
+   "reqd": 0, 
    "width": "200px"
-  },
+  }, 
   {
-   "fieldname": "rounded_total",
-   "fieldtype": "Currency",
-   "label": "Rounded Total (Company Currency)",
-   "no_copy": 0,
-   "oldfieldname": "rounded_total",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 1,
+   "fieldname": "rounded_total", 
+   "fieldtype": "Currency", 
+   "label": "Rounded Total (Company Currency)", 
+   "no_copy": 0, 
+   "oldfieldname": "rounded_total", 
+   "oldfieldtype": "Currency", 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 1, 
    "width": "200px"
-  },
+  }, 
   {
-   "description": "In Words will be visible once you save the Quotation.",
-   "fieldname": "in_words",
-   "fieldtype": "Data",
-   "label": "In Words (Company Currency)",
-   "no_copy": 0,
-   "oldfieldname": "in_words",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 1,
+   "description": "In Words will be visible once you save the Quotation.", 
+   "fieldname": "in_words", 
+   "fieldtype": "Data", 
+   "label": "In Words (Company Currency)", 
+   "no_copy": 0, 
+   "oldfieldname": "in_words", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 1, 
    "width": "200px"
-  },
+  }, 
   {
-   "fieldname": "column_break3",
-   "fieldtype": "Column Break",
-   "oldfieldtype": "Column Break",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
+   "fieldname": "column_break3", 
+   "fieldtype": "Column Break", 
+   "oldfieldtype": "Column Break", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "grand_total_export",
-   "fieldtype": "Currency",
-   "in_list_view": 1,
-   "label": "Grand Total",
-   "no_copy": 0,
-   "oldfieldname": "grand_total_export",
-   "oldfieldtype": "Currency",
-   "options": "currency",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 1,
-   "reqd": 0,
+   "fieldname": "grand_total_export", 
+   "fieldtype": "Currency", 
+   "in_list_view": 1, 
+   "label": "Grand Total", 
+   "no_copy": 0, 
+   "oldfieldname": "grand_total_export", 
+   "oldfieldtype": "Currency", 
+   "options": "currency", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 1, 
+   "reqd": 0, 
    "width": "200px"
-  },
+  }, 
   {
-   "fieldname": "rounded_total_export",
-   "fieldtype": "Currency",
-   "label": "Rounded Total",
-   "no_copy": 0,
-   "oldfieldname": "rounded_total_export",
-   "oldfieldtype": "Currency",
-   "options": "currency",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 1,
-   "reqd": 0,
+   "fieldname": "rounded_total_export", 
+   "fieldtype": "Currency", 
+   "label": "Rounded Total", 
+   "no_copy": 0, 
+   "oldfieldname": "rounded_total_export", 
+   "oldfieldtype": "Currency", 
+   "options": "currency", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 1, 
+   "reqd": 0, 
    "width": "200px"
-  },
+  }, 
   {
-   "fieldname": "in_words_export",
-   "fieldtype": "Data",
-   "label": "In Words",
-   "no_copy": 0,
-   "oldfieldname": "in_words_export",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 1,
+   "fieldname": "in_words_export", 
+   "fieldtype": "Data", 
+   "label": "In Words", 
+   "no_copy": 0, 
+   "oldfieldname": "in_words_export", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 1, 
    "width": "200px"
-  },
+  }, 
   {
-   "fieldname": "fold",
-   "fieldtype": "Fold",
-   "label": "Fold",
+   "fieldname": "fold", 
+   "fieldtype": "Fold", 
+   "label": "Fold", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "terms_section_break",
-   "fieldtype": "Section Break",
-   "label": "Terms and Conditions",
-   "oldfieldtype": "Section Break",
-   "options": "icon-legal",
-   "permlevel": 0,
-   "print_hide": 0,
+   "fieldname": "terms_section_break", 
+   "fieldtype": "Section Break", 
+   "label": "Terms and Conditions", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-legal", 
+   "permlevel": 0, 
+   "print_hide": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "tc_name",
-   "fieldtype": "Link",
-   "label": "Terms",
-   "oldfieldname": "tc_name",
-   "oldfieldtype": "Link",
-   "options": "Terms and Conditions",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
+   "fieldname": "tc_name", 
+   "fieldtype": "Link", 
+   "label": "Terms", 
+   "oldfieldname": "tc_name", 
+   "oldfieldtype": "Link", 
+   "options": "Terms and Conditions", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
    "report_hide": 1
-  },
+  }, 
   {
-   "fieldname": "terms",
-   "fieldtype": "Text Editor",
-   "label": "Term Details",
-   "oldfieldname": "terms",
-   "oldfieldtype": "Text Editor",
-   "permlevel": 0,
+   "fieldname": "terms", 
+   "fieldtype": "Text Editor", 
+   "label": "Term Details", 
+   "oldfieldname": "terms", 
+   "oldfieldtype": "Text Editor", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "contact_section",
-   "fieldtype": "Section Break",
-   "label": "Contact Info",
-   "options": "icon-bullhorn",
-   "permlevel": 0,
+   "fieldname": "contact_section", 
+   "fieldtype": "Section Break", 
+   "label": "Contact Info", 
+   "options": "icon-bullhorn", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>",
-   "fieldname": "territory",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 1,
-   "label": "Territory",
-   "options": "Territory",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "reqd": 1,
+   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>", 
+   "fieldname": "territory", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "label": "Territory", 
+   "options": "Territory", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "reqd": 1, 
    "search_index": 0
-  },
+  }, 
   {
-   "depends_on": "customer",
-   "description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>",
-   "fieldname": "customer_group",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "label": "Customer Group",
-   "oldfieldname": "customer_group",
-   "oldfieldtype": "Link",
-   "options": "Customer Group",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "reqd": 0,
+   "depends_on": "customer", 
+   "description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>", 
+   "fieldname": "customer_group", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "label": "Customer Group", 
+   "oldfieldname": "customer_group", 
+   "oldfieldtype": "Link", 
+   "options": "Customer Group", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "shipping_address_name",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "label": "Shipping Address",
-   "options": "Address",
-   "permlevel": 0,
+   "fieldname": "shipping_address_name", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "label": "Shipping Address", 
+   "options": "Address", 
+   "permlevel": 0, 
    "print_hide": 1
-  },
+  }, 
   {
-   "fieldname": "shipping_address",
-   "fieldtype": "Small Text",
-   "hidden": 1,
-   "label": "Shipping Address",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "shipping_address", 
+   "fieldtype": "Small Text", 
+   "hidden": 1, 
+   "label": "Shipping Address", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 1
-  },
+  }, 
   {
-   "depends_on": "customer",
-   "fieldname": "col_break98",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
-   "read_only": 0,
+   "depends_on": "customer", 
+   "fieldname": "col_break98", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
+   "read_only": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "customer_address",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 1,
-   "label": "Customer Address",
-   "options": "Address",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "customer_address", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "label": "Customer Address", 
+   "options": "Address", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 0
-  },
+  }, 
   {
-   "depends_on": "eval:doc.customer",
-   "fieldname": "contact_person",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 1,
-   "label": "Contact Person",
-   "oldfieldname": "contact_person",
-   "oldfieldtype": "Link",
-   "options": "Contact",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
+   "depends_on": "eval:doc.customer", 
+   "fieldname": "contact_person", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "label": "Contact Person", 
+   "oldfieldname": "contact_person", 
+   "oldfieldtype": "Link", 
+   "options": "Contact", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
    "reqd": 0
-  },
+  }, 
   {
-   "fieldname": "more_info",
-   "fieldtype": "Section Break",
-   "label": "More Info",
-   "oldfieldtype": "Section Break",
-   "options": "icon-file-text",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "more_info", 
+   "fieldtype": "Section Break", 
+   "label": "More Info", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-file-text", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "campaign",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "label": "Campaign",
-   "no_copy": 0,
-   "oldfieldname": "campaign",
-   "oldfieldtype": "Link",
-   "options": "Campaign",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
+   "fieldname": "campaign", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "label": "Campaign", 
+   "no_copy": 0, 
+   "oldfieldname": "campaign", 
+   "oldfieldtype": "Link", 
+   "options": "Campaign", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
    "report_hide": 0
-  },
+  }, 
   {
-   "fieldname": "source",
-   "fieldtype": "Select",
-   "hidden": 0,
-   "label": "Source",
-   "no_copy": 0,
-   "oldfieldname": "source",
-   "oldfieldtype": "Select",
-   "options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
+   "fieldname": "source", 
+   "fieldtype": "Select", 
+   "hidden": 0, 
+   "label": "Source", 
+   "no_copy": 0, 
+   "oldfieldname": "source", 
+   "oldfieldtype": "Select", 
+   "options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
    "report_hide": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "default": "Draft",
-   "fieldname": "status",
-   "fieldtype": "Select",
-   "in_filter": 1,
-   "in_list_view": 1,
-   "label": "Status",
-   "no_copy": 1,
-   "oldfieldname": "status",
-   "oldfieldtype": "Select",
-   "options": "Draft\nSubmitted\nOrdered\nLost\nCancelled",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 1,
-   "reqd": 1,
+   "allow_on_submit": 0, 
+   "default": "Draft", 
+   "fieldname": "status", 
+   "fieldtype": "Select", 
+   "in_filter": 1, 
+   "in_list_view": 1, 
+   "label": "Status", 
+   "no_copy": 1, 
+   "oldfieldname": "status", 
+   "oldfieldtype": "Select", 
+   "options": "Draft\nSubmitted\nOrdered\nLost\nCancelled", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 1, 
+   "reqd": 1, 
    "search_index": 0
-  },
+  }, 
   {
-   "allow_on_submit": 1,
-   "fieldname": "order_lost_reason",
-   "fieldtype": "Small Text",
-   "label": "Quotation Lost Reason",
-   "no_copy": 1,
-   "oldfieldname": "order_lost_reason",
-   "oldfieldtype": "Small Text",
-   "permlevel": 0,
-   "print_hide": 1,
+   "allow_on_submit": 1, 
+   "fieldname": "order_lost_reason", 
+   "fieldtype": "Small Text", 
+   "label": "Quotation Lost Reason", 
+   "no_copy": 1, 
+   "oldfieldname": "order_lost_reason", 
+   "oldfieldtype": "Small Text", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "column_break4",
-   "fieldtype": "Column Break",
-   "oldfieldtype": "Column Break",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
+   "fieldname": "column_break4", 
+   "fieldtype": "Column Break", 
+   "oldfieldtype": "Column Break", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "allow_on_submit": 1,
-   "fieldname": "letter_head",
-   "fieldtype": "Link",
-   "label": "Letter Head",
-   "oldfieldname": "letter_head",
-   "oldfieldtype": "Select",
-   "options": "Letter Head",
-   "permlevel": 0,
-   "print_hide": 1,
+   "allow_on_submit": 1, 
+   "fieldname": "letter_head", 
+   "fieldtype": "Link", 
+   "label": "Letter Head", 
+   "oldfieldname": "letter_head", 
+   "oldfieldtype": "Select", 
+   "options": "Letter Head", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 0
-  },
+  }, 
   {
-   "allow_on_submit": 1,
-   "fieldname": "select_print_heading",
-   "fieldtype": "Link",
-   "label": "Print Heading",
-   "no_copy": 1,
-   "oldfieldname": "select_print_heading",
-   "oldfieldtype": "Link",
-   "options": "Print Heading",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
+   "allow_on_submit": 1, 
+   "fieldname": "select_print_heading", 
+   "fieldtype": "Link", 
+   "label": "Print Heading", 
+   "no_copy": 1, 
+   "oldfieldname": "select_print_heading", 
+   "oldfieldtype": "Link", 
+   "options": "Print Heading", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
    "report_hide": 1
-  },
+  }, 
   {
-   "fieldname": "fiscal_year",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "label": "Fiscal Year",
-   "oldfieldname": "fiscal_year",
-   "oldfieldtype": "Select",
-   "options": "Fiscal Year",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "reqd": 1,
+   "fieldname": "fiscal_year", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "label": "Fiscal Year", 
+   "oldfieldname": "fiscal_year", 
+   "oldfieldtype": "Select", 
+   "options": "Fiscal Year", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "reqd": 1, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "enq_det",
-   "fieldtype": "Text",
-   "hidden": 1,
-   "label": "Opportunity Item",
-   "no_copy": 0,
-   "oldfieldname": "enq_det",
-   "oldfieldtype": "Text",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 1,
+   "fieldname": "enq_det", 
+   "fieldtype": "Text", 
+   "hidden": 1, 
+   "label": "Opportunity Item", 
+   "no_copy": 0, 
+   "oldfieldname": "enq_det", 
+   "oldfieldtype": "Text", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 1, 
    "report_hide": 0
   }
- ],
- "hide_toolbar": 0,
- "icon": "icon-shopping-cart",
- "idx": 1,
- "is_submittable": 1,
- "max_attachments": 1,
- "modified": "2014-09-11 18:53:08.594908",
- "modified_by": "Administrator",
- "module": "Selling",
- "name": "Quotation",
- "owner": "Administrator",
+ ], 
+ "hide_toolbar": 0, 
+ "icon": "icon-shopping-cart", 
+ "idx": 1, 
+ "is_submittable": 1, 
+ "max_attachments": 1, 
+ "modified": "2014-12-24 14:24:12.930936", 
+ "modified_by": "Administrator", 
+ "module": "Selling", 
+ "name": "Quotation", 
+ "owner": "Administrator", 
  "permissions": [
   {
-   "amend": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Sales User",
-   "submit": 1,
+   "amend": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales User", 
+   "submit": 1, 
    "write": 1
-  },
+  }, 
   {
-   "amend": 0,
-   "cancel": 0,
-   "create": 0,
-   "delete": 0,
-   "match": "",
-   "permlevel": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Sales User",
-   "submit": 0,
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "match": "", 
+   "permlevel": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales User", 
+   "submit": 0, 
    "write": 0
-  },
+  }, 
   {
-   "cancel": 0,
-   "delete": 0,
-   "email": 1,
-   "match": "",
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
+   "cancel": 0, 
+   "delete": 0, 
+   "email": 1, 
+   "match": "", 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
    "role": "Customer"
-  },
+  }, 
   {
-   "amend": 0,
-   "cancel": 0,
-   "create": 0,
-   "delete": 0,
-   "match": "",
-   "permlevel": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Sales Manager",
-   "submit": 0,
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "match": "", 
+   "permlevel": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales Manager", 
+   "submit": 0, 
    "write": 0
-  },
+  }, 
   {
-   "amend": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Sales Manager",
-   "submit": 1,
+   "amend": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales Manager", 
+   "submit": 1, 
    "write": 1
-  },
+  }, 
   {
-   "amend": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Maintenance Manager",
-   "submit": 1,
+   "amend": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Maintenance Manager", 
+   "submit": 1, 
    "write": 1
-  },
+  }, 
   {
-   "amend": 0,
-   "cancel": 0,
-   "create": 0,
-   "delete": 0,
-   "match": "",
-   "permlevel": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Maintenance Manager",
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "match": "", 
+   "permlevel": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Maintenance Manager", 
    "submit": 0
-  },
+  }, 
   {
-   "amend": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Maintenance User",
-   "submit": 1,
+   "amend": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Maintenance User", 
+   "submit": 1, 
    "write": 1
-  },
+  }, 
   {
-   "amend": 0,
-   "cancel": 0,
-   "create": 0,
-   "delete": 0,
-   "match": "",
-   "permlevel": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Maintenance User",
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "match": "", 
+   "permlevel": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Maintenance User", 
    "submit": 0
   }
- ],
- "read_only_onload": 1,
- "search_fields": "status,transaction_date,customer,lead,order_type",
- "sort_field": "modified",
+ ], 
+ "read_only_onload": 1, 
+ "search_fields": "status,transaction_date,customer,lead,order_type", 
+ "sort_field": "modified", 
  "sort_order": "DESC"
-}
+}
\ No newline at end of file
diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
index f12f396..e4d7cc8 100644
--- a/erpnext/selling/doctype/quotation/quotation.py
+++ b/erpnext/selling/doctype/quotation/quotation.py
@@ -10,13 +10,10 @@
 from erpnext.controllers.selling_controller import SellingController
 
 form_grid_templates = {
-	"quotation_details": "templates/form_grid/item_grid.html"
+	"items": "templates/form_grid/item_grid.html"
 }
 
 class Quotation(SellingController):
-	tname = 'Quotation Item'
-	fname = 'quotation_details'
-
 	def validate(self):
 		super(Quotation, self).validate()
 		self.set_status()
@@ -30,7 +27,7 @@
 
 	def validate_for_items(self):
 		chk_dupl_itm = []
-		for d in self.get('quotation_details'):
+		for d in self.get('items'):
 			if [cstr(d.item_code),cstr(d.description)] in chk_dupl_itm:
 				frappe.throw(_("Item {0} with same description entered twice").format(d.item_code))
 			else:
@@ -40,14 +37,14 @@
 		super(Quotation, self).validate_order_type()
 
 		if self.order_type in ['Maintenance', 'Service']:
-			for d in self.get('quotation_details'):
+			for d in self.get('items'):
 				is_service_item = frappe.db.sql("select is_service_item from `tabItem` where name=%s", d.item_code)
 				is_service_item = is_service_item and is_service_item[0][0] or 'No'
 
 				if is_service_item == 'No':
 					frappe.throw(_("Item {0} must be Service Item").format(d.item_code))
 		else:
-			for d in self.get('quotation_details'):
+			for d in self.get('items'):
 				is_sales_item = frappe.db.sql("select is_sales_item from `tabItem` where name=%s", d.item_code)
 				is_sales_item = is_sales_item and is_sales_item[0][0] or 'No'
 
@@ -62,7 +59,7 @@
 			self.quotation_to = "Lead"
 
 	def update_opportunity(self):
-		for opportunity in list(set([d.prevdoc_docname for d in self.get("quotation_details")])):
+		for opportunity in list(set([d.prevdoc_docname for d in self.get("items")])):
 			if opportunity:
 				frappe.get_doc("Opportunity", opportunity).set_status(update=True)
 
@@ -75,7 +72,7 @@
 			frappe.throw(_("Cannot set as Lost as Sales Order is made."))
 
 	def check_item_table(self):
-		if not self.get('quotation_details'):
+		if not self.get('items'):
 			frappe.throw(_("Please enter item details"))
 
 	def on_submit(self):
@@ -94,7 +91,7 @@
 
 	def print_other_charges(self,docname):
 		print_lst = []
-		for d in self.get('other_charges'):
+		for d in self.get('taxes'):
 			lst1 = []
 			lst1.append(d.description)
 			lst1.append(d.total)
diff --git a/erpnext/selling/doctype/quotation/test_quotation.py b/erpnext/selling/doctype/quotation/test_quotation.py
index 97d4110..62ed7a8 100644
--- a/erpnext/selling/doctype/quotation/test_quotation.py
+++ b/erpnext/selling/doctype/quotation/test_quotation.py
@@ -21,9 +21,9 @@
 		sales_order = make_sales_order(quotation.name)
 
 		self.assertEquals(sales_order.doctype, "Sales Order")
-		self.assertEquals(len(sales_order.get("sales_order_details")), 1)
-		self.assertEquals(sales_order.get("sales_order_details")[0].doctype, "Sales Order Item")
-		self.assertEquals(sales_order.get("sales_order_details")[0].prevdoc_docname, quotation.name)
+		self.assertEquals(len(sales_order.get("items")), 1)
+		self.assertEquals(sales_order.get("items")[0].doctype, "Sales Order Item")
+		self.assertEquals(sales_order.get("items")[0].prevdoc_docname, quotation.name)
 		self.assertEquals(sales_order.customer, "_Test Customer")
 
 		sales_order.delivery_date = "2014-01-01"
diff --git a/erpnext/selling/doctype/quotation/test_records.json b/erpnext/selling/doctype/quotation/test_records.json
index 054144e..1dc4b07 100644
--- a/erpnext/selling/doctype/quotation/test_records.json
+++ b/erpnext/selling/doctype/quotation/test_records.json
@@ -13,7 +13,7 @@
   "order_type": "Sales", 
   "plc_conversion_rate": 1.0, 
   "price_list_currency": "INR", 
-  "quotation_details": [
+  "items": [
    {
     "base_amount": 1000.0, 
     "base_rate": 100.0, 
@@ -21,7 +21,7 @@
     "doctype": "Quotation Item", 
     "item_code": "_Test Item Home Desktop 100", 
     "item_name": "CPU", 
-    "parentfield": "quotation_details", 
+    "parentfield": "items", 
     "qty": 10.0, 
     "rate": 100.0
    }
diff --git a/erpnext/selling/doctype/sales_bom/sales_bom.js b/erpnext/selling/doctype/sales_bom/sales_bom.js
index 2e0e749..bbc5569 100644
--- a/erpnext/selling/doctype/sales_bom/sales_bom.js
+++ b/erpnext/selling/doctype/sales_bom/sales_bom.js
@@ -15,6 +15,6 @@
 cur_frm.cscript.item_code = function(doc, dt, dn) {
 	var d = locals[dt][dn];
 	if (d.item_code){
-		return get_server_fields('get_item_details', d.item_code, 'sales_bom_items', doc ,dt, dn, 1);
+		return get_server_fields('get_item_details', d.item_code, 'items', doc ,dt, dn, 1);
 	}
 }
diff --git a/erpnext/selling/doctype/sales_bom/sales_bom.json b/erpnext/selling/doctype/sales_bom/sales_bom.json
index 337bd12..3f0b5a2 100644
--- a/erpnext/selling/doctype/sales_bom/sales_bom.json
+++ b/erpnext/selling/doctype/sales_bom/sales_bom.json
@@ -33,9 +33,9 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "sales_bom_items", 
+   "fieldname": "items", 
    "fieldtype": "Table", 
-   "label": "Sales BOM Items", 
+   "label": "Items", 
    "oldfieldname": "sales_bom_items", 
    "oldfieldtype": "Table", 
    "options": "Sales BOM Item", 
@@ -46,7 +46,7 @@
  "icon": "icon-sitemap", 
  "idx": 1, 
  "is_submittable": 0, 
- "modified": "2014-05-27 03:49:17.656569", 
+ "modified": "2014-12-24 16:40:11.941046", 
  "modified_by": "Administrator", 
  "module": "Selling", 
  "name": "Sales BOM", 
diff --git a/erpnext/selling/doctype/sales_bom/test_records.json b/erpnext/selling/doctype/sales_bom/test_records.json
index beb8289..a19bc1a 100644
--- a/erpnext/selling/doctype/sales_bom/test_records.json
+++ b/erpnext/selling/doctype/sales_bom/test_records.json
@@ -2,17 +2,17 @@
  {
   "doctype": "Sales BOM", 
   "new_item_code": "_Test Sales BOM Item", 
-  "sales_bom_items": [
+  "items": [
    {
     "doctype": "Sales BOM Item", 
     "item_code": "_Test Item", 
-    "parentfield": "sales_bom_items", 
+    "parentfield": "items", 
     "qty": 5.0
    }, 
    {
     "doctype": "Sales BOM Item", 
     "item_code": "_Test Item Home Desktop 100", 
-    "parentfield": "sales_bom_items", 
+    "parentfield": "items", 
     "qty": 2.0
    }
   ]
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index 2c19686..3c3d264 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -1,13 +1,6 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-// Module CRM
-
-cur_frm.cscript.tname = "Sales Order Item";
-cur_frm.cscript.fname = "sales_order_details";
-cur_frm.cscript.other_fname = "other_charges";
-cur_frm.cscript.sales_team_fname = "sales_team";
-
 {% include 'selling/sales_common.js' %}
 {% include 'accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js' %}
 
@@ -197,4 +190,4 @@
 cur_frm.cscript.send_sms = function() {
 	frappe.require("assets/erpnext/js/sms_manager.js");
 	var sms_man = new SMSManager(cur_frm.doc);
-};
\ No newline at end of file
+};
diff --git a/erpnext/selling/doctype/sales_order/sales_order.json b/erpnext/selling/doctype/sales_order/sales_order.json
index 3f77006..a5bf2b3 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.json
+++ b/erpnext/selling/doctype/sales_order/sales_order.json
@@ -175,6 +175,7 @@
    "fieldtype": "Data",
    "hidden": 0,
    "label": "PO No",
+   "no_copy": 0,
    "oldfieldname": "po_no",
    "oldfieldtype": "Data",
    "permlevel": 0,
@@ -295,7 +296,7 @@
    "print_hide": 1
   },
   {
-   "fieldname": "items",
+   "fieldname": "items_section",
    "fieldtype": "Section Break",
    "label": "Items",
    "oldfieldtype": "Section Break",
@@ -304,9 +305,9 @@
   },
   {
    "allow_on_submit": 1,
-   "fieldname": "sales_order_details",
+   "fieldname": "items",
    "fieldtype": "Table",
-   "label": "Sales Order Items",
+   "label": "Items",
    "oldfieldname": "sales_order_details",
    "oldfieldtype": "Table",
    "options": "Sales Order Item",
@@ -351,7 +352,7 @@
    "width": "150px"
   },
   {
-   "fieldname": "taxes",
+   "fieldname": "taxes_section",
    "fieldtype": "Section Break",
    "label": "Taxes and Charges",
    "oldfieldtype": "Section Break",
@@ -389,7 +390,7 @@
    "permlevel": 0
   },
   {
-   "fieldname": "other_charges",
+   "fieldname": "taxes",
    "fieldtype": "Table",
    "label": "Sales Taxes and Charges",
    "oldfieldname": "other_charges",
@@ -559,9 +560,9 @@
    "print_hide": 1
   },
   {
-   "fieldname": "packing_details",
+   "fieldname": "packed_items",
    "fieldtype": "Table",
-   "label": "Packing Details",
+   "label": "Packed Items",
    "oldfieldname": "packing_details",
    "oldfieldtype": "Table",
    "options": "Packed Item",
@@ -1020,7 +1021,7 @@
  "idx": 1,
  "is_submittable": 1,
  "issingle": 0,
- "modified": "2014-10-08 14:22:44.717108",
+ "modified": "2014-12-24 14:25:16.633280",
  "modified_by": "Administrator",
  "module": "Selling",
  "name": "Sales Order",
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 3ee119d..ad90557 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -11,16 +11,10 @@
 from erpnext.controllers.selling_controller import SellingController
 
 form_grid_templates = {
-	"sales_order_details": "templates/form_grid/item_grid.html"
+	"items": "templates/form_grid/item_grid.html"
 }
 
 class SalesOrder(SellingController):
-	tname = 'Sales Order Item'
-	fname = 'sales_order_details'
-	person_tname = 'Target Detail'
-	partner_tname = 'Partner Target Detail'
-	territory_tname = 'Territory Target Detail'
-
 	def validate_mandatory(self):
 		# validate transaction date v/s delivery date
 		if self.delivery_date:
@@ -42,7 +36,7 @@
 	def validate_for_items(self):
 		check_list, flag = [], 0
 		chk_dupl_itm = []
-		for d in self.get('sales_order_details'):
+		for d in self.get('items'):
 			e = [d.item_code, d.description, d.warehouse, d.prevdoc_docname or '']
 			f = [d.item_code, d.description]
 
@@ -68,7 +62,7 @@
 			d.projected_qty = tot_avail_qty and flt(tot_avail_qty[0][0]) or 0
 
 	def validate_sales_mntc_quotation(self):
-		for d in self.get('sales_order_details'):
+		for d in self.get('items'):
 			if d.prevdoc_docname:
 				res = frappe.db.sql("select name from `tabQuotation` where name=%s and order_type = %s", (d.prevdoc_docname, self.order_type))
 				if not res:
@@ -104,7 +98,7 @@
 		self.validate_warehouse()
 
 		from erpnext.stock.doctype.packed_item.packed_item import make_packing_list
-		make_packing_list(self,'sales_order_details')
+		make_packing_list(self,'items')
 
 		self.validate_with_previous_doc()
 
@@ -122,13 +116,13 @@
 		from erpnext.stock.utils import validate_warehouse_company
 
 		warehouses = list(set([d.warehouse for d in
-			self.get(self.fname) if d.warehouse]))
+			self.get("items") if d.warehouse]))
 
 		for w in warehouses:
 			validate_warehouse_company(w, self.company)
 
 	def validate_with_previous_doc(self):
-		super(SalesOrder, self).validate_with_previous_doc(self.tname, {
+		super(SalesOrder, self).validate_with_previous_doc({
 			"Quotation": {
 				"ref_dn_field": "prevdoc_docname",
 				"compare_fields": [["company", "="], ["currency", "="]]
@@ -142,7 +136,7 @@
 			frappe.db.sql("update `tabOpportunity` set status = %s where name=%s",(flag,enq[0][0]))
 
 	def update_prevdoc_status(self, flag):
-		for quotation in list(set([d.prevdoc_docname for d in self.get(self.fname)])):
+		for quotation in list(set([d.prevdoc_docname for d in self.get("items")])):
 			if quotation:
 				doc = frappe.get_doc("Quotation", quotation)
 				if doc.docstatus==2:
@@ -274,6 +268,14 @@
 @frappe.whitelist()
 def make_delivery_note(source_name, target_doc=None):
 	def set_missing_values(source, target):
+		if source.po_no:
+			if target.po_no:
+				target_po_no = target.po_no.split(", ")
+				target_po_no.append(source.po_no)
+				target.po_no = ", ".join(list(set(target_po_no))) if len(target_po_no) > 1 else target_po_no[0]
+			else:
+				target.po_no = source.po_no
+
 		target.ignore_pricing_rule = 1
 		target.run_method("set_missing_values")
 		target.run_method("calculate_taxes_and_totals")
@@ -316,7 +318,7 @@
 def make_sales_invoice(source_name, target_doc=None):
 	def postprocess(source, target):
 		set_missing_values(source, target)
-		#Get the advance paid Journal Vouchers in Sales Invoice Advance
+		#Get the advance paid Journal Entries in Sales Invoice Advance
 		target.get_advances()
 
 	def set_missing_values(source, target):
diff --git a/erpnext/selling/doctype/sales_order/test_records.json b/erpnext/selling/doctype/sales_order/test_records.json
index 8db9915..0154d32 100644
--- a/erpnext/selling/doctype/sales_order/test_records.json
+++ b/erpnext/selling/doctype/sales_order/test_records.json
@@ -16,7 +16,7 @@
   "order_type": "Sales", 
   "plc_conversion_rate": 1.0, 
   "price_list_currency": "INR", 
-  "sales_order_details": [
+  "items": [
    {
     "base_amount": 1000.0, 
     "base_rate": 100.0, 
@@ -24,7 +24,7 @@
     "doctype": "Sales Order Item", 
     "item_code": "_Test Item Home Desktop 100", 
     "item_name": "CPU", 
-    "parentfield": "sales_order_details", 
+    "parentfield": "items", 
     "qty": 10.0, 
     "rate": 100.0, 
     "warehouse": "_Test Warehouse - _TC"
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 775495a..f7b99b0 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -24,7 +24,7 @@
 		mr = make_material_request(so.name)
 
 		self.assertEquals(mr.material_request_type, "Purchase")
-		self.assertEquals(len(mr.get("indent_details")), len(sales_order.get("sales_order_details")))
+		self.assertEquals(len(mr.get("items")), len(sales_order.get("items")))
 
 	def test_make_delivery_note(self):
 		from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note
@@ -37,7 +37,7 @@
 		dn = self.make_next_doc_testcase(so, "Delivery Note")
 
 		self.assertEquals(dn.doctype, "Delivery Note")
-		self.assertEquals(len(dn.get("delivery_note_details")), len(so.get("sales_order_details")))
+		self.assertEquals(len(dn.get("items")), len(so.get("items")))
 
 	def test_make_sales_invoice(self):
 		from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice
@@ -50,8 +50,8 @@
 		si = self.make_next_doc_testcase(so, "Sales Invoice")
 
 		self.assertEquals(si.doctype, "Sales Invoice")
-		self.assertEquals(len(si.get("entries")), len(so.get("sales_order_details")))
-		self.assertEquals(len(si.get("entries")), 1)
+		self.assertEquals(len(si.get("items")), len(so.get("items")))
+		self.assertEquals(len(si.get("items")), 1)
 
 		si.set("debit_to", "_Test Receivable - _TC")
 		si.set("posting_date", "2013-10-10")
@@ -59,14 +59,14 @@
 		si.submit()
 
 		si1 = self.make_next_doc_testcase(so, "Sales Invoice")
-		self.assertEquals(len(si1.get("entries")), 0)
+		self.assertEquals(len(si1.get("items")), 0)
 
 	def test_update_qty(self):
 		so = frappe.copy_doc(test_records[0]).insert()
 
 		dn = self.make_next_doc_testcase(so, "Delivery Note")
 
-		dn.get("delivery_note_details")[0].qty = 6
+		dn.get("items")[0].qty = 6
 		dn.posting_date = "2013-10-10"
 		dn.insert()
 
@@ -75,20 +75,20 @@
 
 		sales_order = frappe.get_doc("Sales Order", so.name)
 
-		self.assertEquals(sales_order.get("sales_order_details")[0].delivered_qty, 6)
+		self.assertEquals(sales_order.get("items")[0].delivered_qty, 6)
 
 		#Check delivered_qty after make_sales_invoice without update_stock checked
 		si1 = self.make_next_doc_testcase(sales_order, "Sales Invoice")
 
 		si1.set("debit_to", "_Test Receivable - _TC")
 		si1.set("posting_date", "2013-10-10")
-		si1.get("entries")[0].qty = 1
+		si1.get("items")[0].qty = 1
 		si1.insert()
 		si1.submit()
 
 		sales_order = frappe.get_doc("Sales Order", sales_order.name)
 
-		self.assertEquals(sales_order.get("sales_order_details")[0].delivered_qty, 6)
+		self.assertEquals(sales_order.get("items")[0].delivered_qty, 6)
 
 		#Check delivered_qty after make_sales_invoice with update_stock checked
 		si2 = self.make_next_doc_testcase(sales_order, "Sales Invoice")
@@ -96,13 +96,13 @@
 		si2.set("debit_to", "_Test Receivable - _TC")
 		si2.set("posting_date", "2013-10-10")
 		si2.set("update_stock", 1)
-		si2.get("entries")[0].qty = 3
+		si2.get("items")[0].qty = 3
 		si2.insert()
 		si2.submit()
 
 		sales_order = frappe.get_doc("Sales Order", sales_order.name)
 
-		self.assertEquals(sales_order.get("sales_order_details")[0].delivered_qty, 9)
+		self.assertEquals(sales_order.get("items")[0].delivered_qty, 9)
 
 	def make_next_doc_testcase(self, so, next_doc = None):
 
@@ -133,14 +133,14 @@
 		from erpnext.stock.doctype.delivery_note.test_delivery_note import test_records as dn_test_records
 		from erpnext.stock.doctype.delivery_note.test_delivery_note import _insert_purchase_receipt
 
-		_insert_purchase_receipt(so.get("sales_order_details")[0].item_code)
+		_insert_purchase_receipt(so.get("items")[0].item_code)
 
 		dn = frappe.get_doc(frappe.copy_doc(dn_test_records[0]))
-		dn.get("delivery_note_details")[0].item_code = so.get("sales_order_details")[0].item_code
-		dn.get("delivery_note_details")[0].against_sales_order = so.name
-		dn.get("delivery_note_details")[0].so_detail = so.get("sales_order_details")[0].name
+		dn.get("items")[0].item_code = so.get("items")[0].item_code
+		dn.get("items")[0].against_sales_order = so.name
+		dn.get("items")[0].so_detail = so.get("items")[0].name
 		if delivered_qty:
-			dn.get("delivery_note_details")[0].qty = delivered_qty
+			dn.get("items")[0].qty = delivered_qty
 		dn.insert()
 		dn.submit()
 		return dn
@@ -161,21 +161,21 @@
 
 	def test_reserved_qty_for_so(self):
 		# reset bin
-		so_item = test_records[0]["sales_order_details"][0].copy()
+		so_item = test_records[0]["items"][0].copy()
 		self.delete_bin(so_item["item_code"], so_item["warehouse"])
 
 		# submit
 		so = self.create_so()
-		self.check_reserved_qty(so.get("sales_order_details")[0].item_code, so.get("sales_order_details")[0].warehouse, 10.0)
+		self.check_reserved_qty(so.get("items")[0].item_code, so.get("items")[0].warehouse, 10.0)
 
 		# cancel
 		so.cancel()
-		self.check_reserved_qty(so.get("sales_order_details")[0].item_code, so.get("sales_order_details")[0].warehouse, 0.0)
+		self.check_reserved_qty(so.get("items")[0].item_code, so.get("items")[0].warehouse, 0.0)
 
 
 	def test_reserved_qty_for_partial_delivery(self):
 		# reset bin
-		so_item = test_records[0]["sales_order_details"][0].copy()
+		so_item = test_records[0]["items"][0].copy()
 		self.delete_bin(so_item["item_code"], so_item["warehouse"])
 
 		# submit so
@@ -187,25 +187,25 @@
 		# submit dn
 		dn = self.create_dn_against_so(so)
 
-		self.check_reserved_qty(so.get("sales_order_details")[0].item_code, so.get("sales_order_details")[0].warehouse, 5.0)
+		self.check_reserved_qty(so.get("items")[0].item_code, so.get("items")[0].warehouse, 5.0)
 
 		# stop so
 		so.load_from_db()
 		so.stop_sales_order()
-		self.check_reserved_qty(so.get("sales_order_details")[0].item_code, so.get("sales_order_details")[0].warehouse, 0.0)
+		self.check_reserved_qty(so.get("items")[0].item_code, so.get("items")[0].warehouse, 0.0)
 
 		# unstop so
 		so.load_from_db()
 		so.unstop_sales_order()
-		self.check_reserved_qty(so.get("sales_order_details")[0].item_code, so.get("sales_order_details")[0].warehouse, 5.0)
+		self.check_reserved_qty(so.get("items")[0].item_code, so.get("items")[0].warehouse, 5.0)
 
 		# cancel dn
 		dn.cancel()
-		self.check_reserved_qty(so.get("sales_order_details")[0].item_code, so.get("sales_order_details")[0].warehouse, 10.0)
+		self.check_reserved_qty(so.get("items")[0].item_code, so.get("items")[0].warehouse, 10.0)
 
 	def test_reserved_qty_for_over_delivery(self):
 		# reset bin
-		so_item = test_records[0]["sales_order_details"][0].copy()
+		so_item = test_records[0]["items"][0].copy()
 		self.delete_bin(so_item["item_code"], so_item["warehouse"])
 
 		# submit so
@@ -215,42 +215,42 @@
 		frappe.db.set_value("Stock Settings", None, "allow_negative_stock", 1)
 
 		# set over-delivery tolerance
-		frappe.db.set_value('Item', so.get("sales_order_details")[0].item_code, 'tolerance', 50)
+		frappe.db.set_value('Item', so.get("items")[0].item_code, 'tolerance', 50)
 
 		# submit dn
 		dn = self.create_dn_against_so(so, 15)
-		self.check_reserved_qty(so.get("sales_order_details")[0].item_code, so.get("sales_order_details")[0].warehouse, 0.0)
+		self.check_reserved_qty(so.get("items")[0].item_code, so.get("items")[0].warehouse, 0.0)
 
 		# cancel dn
 		dn.cancel()
-		self.check_reserved_qty(so.get("sales_order_details")[0].item_code, so.get("sales_order_details")[0].warehouse, 10.0)
+		self.check_reserved_qty(so.get("items")[0].item_code, so.get("items")[0].warehouse, 10.0)
 
 	def test_reserved_qty_for_so_with_packing_list(self):
 		from erpnext.selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
 
 		# change item in test so record
 		test_record = copy.deepcopy(test_records[0])
-		test_record["sales_order_details"][0]["item_code"] = "_Test Sales BOM Item"
+		test_record["items"][0]["item_code"] = "_Test Sales BOM Item"
 
 		# reset bin
-		self.delete_bin(sbom_test_records[0]["sales_bom_items"][0]["item_code"], test_record.get("sales_order_details")[0]["warehouse"])
-		self.delete_bin(sbom_test_records[0]["sales_bom_items"][1]["item_code"], test_record.get("sales_order_details")[0]["warehouse"])
+		self.delete_bin(sbom_test_records[0]["items"][0]["item_code"], test_record.get("items")[0]["warehouse"])
+		self.delete_bin(sbom_test_records[0]["items"][1]["item_code"], test_record.get("items")[0]["warehouse"])
 
 		# submit
 		so = self.create_so(test_record)
 
 
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][0]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 50.0)
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][1]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 20.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][0]["item_code"],
+			so.get("items")[0].warehouse, 50.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][1]["item_code"],
+			so.get("items")[0].warehouse, 20.0)
 
 		# cancel
 		so.cancel()
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][0]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 0.0)
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][1]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 0.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][0]["item_code"],
+			so.get("items")[0].warehouse, 0.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][1]["item_code"],
+			so.get("items")[0].warehouse, 0.0)
 
 	def test_reserved_qty_for_partial_delivery_with_packing_list(self):
 		from erpnext.selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
@@ -258,11 +258,11 @@
 		# change item in test so record
 
 		test_record = frappe.copy_doc(test_records[0])
-		test_record.get("sales_order_details")[0].item_code = "_Test Sales BOM Item"
+		test_record.get("items")[0].item_code = "_Test Sales BOM Item"
 
 		# reset bin
-		self.delete_bin(sbom_test_records[0]["sales_bom_items"][0]["item_code"], test_record.get("sales_order_details")[0].warehouse)
-		self.delete_bin(sbom_test_records[0]["sales_bom_items"][1]["item_code"], test_record.get("sales_order_details")[0].warehouse)
+		self.delete_bin(sbom_test_records[0]["items"][0]["item_code"], test_record.get("items")[0].warehouse)
+		self.delete_bin(sbom_test_records[0]["items"][1]["item_code"], test_record.get("items")[0].warehouse)
 
 		# submit
 		so = self.create_so(test_record)
@@ -273,45 +273,45 @@
 		# submit dn
 		dn = self.create_dn_against_so(so)
 
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][0]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 25.0)
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][1]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 10.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][0]["item_code"],
+			so.get("items")[0].warehouse, 25.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][1]["item_code"],
+			so.get("items")[0].warehouse, 10.0)
 
 		# stop so
 		so.load_from_db()
 		so.stop_sales_order()
 
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][0]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 0.0)
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][1]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 0.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][0]["item_code"],
+			so.get("items")[0].warehouse, 0.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][1]["item_code"],
+			so.get("items")[0].warehouse, 0.0)
 
 		# unstop so
 		so.load_from_db()
 		so.unstop_sales_order()
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][0]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 25.0)
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][1]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 10.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][0]["item_code"],
+			so.get("items")[0].warehouse, 25.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][1]["item_code"],
+			so.get("items")[0].warehouse, 10.0)
 
 		# cancel dn
 		dn.cancel()
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][0]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 50.0)
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][1]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 20.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][0]["item_code"],
+			so.get("items")[0].warehouse, 50.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][1]["item_code"],
+			so.get("items")[0].warehouse, 20.0)
 
 	def test_reserved_qty_for_over_delivery_with_packing_list(self):
 		from erpnext.selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
 
 		# change item in test so record
 		test_record = frappe.copy_doc(test_records[0])
-		test_record.get("sales_order_details")[0].item_code = "_Test Sales BOM Item"
+		test_record.get("items")[0].item_code = "_Test Sales BOM Item"
 
 		# reset bin
-		self.delete_bin(sbom_test_records[0]["sales_bom_items"][0]["item_code"], test_record.get("sales_order_details")[0].warehouse)
-		self.delete_bin(sbom_test_records[0]["sales_bom_items"][1]["item_code"], test_record.get("sales_order_details")[0].warehouse)
+		self.delete_bin(sbom_test_records[0]["items"][0]["item_code"], test_record.get("items")[0].warehouse)
+		self.delete_bin(sbom_test_records[0]["items"][1]["item_code"], test_record.get("items")[0].warehouse)
 
 		# submit
 		so = self.create_so(test_record)
@@ -320,22 +320,22 @@
 		frappe.db.set_value("Stock Settings", None, "allow_negative_stock", 1)
 
 		# set over-delivery tolerance
-		frappe.db.set_value('Item', so.get("sales_order_details")[0].item_code, 'tolerance', 50)
+		frappe.db.set_value('Item', so.get("items")[0].item_code, 'tolerance', 50)
 
 		# submit dn
 		dn = self.create_dn_against_so(so, 15)
 
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][0]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 0.0)
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][1]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 0.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][0]["item_code"],
+			so.get("items")[0].warehouse, 0.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][1]["item_code"],
+			so.get("items")[0].warehouse, 0.0)
 
 		# cancel dn
 		dn.cancel()
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][0]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 50.0)
-		self.check_reserved_qty(sbom_test_records[0]["sales_bom_items"][1]["item_code"],
-			so.get("sales_order_details")[0].warehouse, 20.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][0]["item_code"],
+			so.get("items")[0].warehouse, 50.0)
+		self.check_reserved_qty(sbom_test_records[0]["items"][1]["item_code"],
+			so.get("items")[0].warehouse, 20.0)
 
 	def test_warehouse_user(self):
 		frappe.permissions.add_user_permission("Warehouse", "_Test Warehouse 1 - _TC", "test@example.com")
@@ -356,7 +356,7 @@
 		so.company = "_Test Company 1"
 		so.conversion_rate = 0.02
 		so.plc_conversion_rate = 0.02
-		so.get("sales_order_details")[0].warehouse = "_Test Warehouse 2 - _TC1"
+		so.get("items")[0].warehouse = "_Test Warehouse 2 - _TC1"
 		self.assertRaises(frappe.PermissionError, so.insert)
 
 		frappe.set_user("test2@example.com")
@@ -371,11 +371,11 @@
 		from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note
 
 		sales_order = frappe.copy_doc(test_records[0])
-		sales_order.sales_order_details[0].qty = 5
+		sales_order.items[0].qty = 5
 		sales_order.insert()
 		sales_order.submit()
 
-		_insert_purchase_receipt(sales_order.get("sales_order_details")[0].item_code)
+		_insert_purchase_receipt(sales_order.get("items")[0].item_code)
 
 		delivery_note = make_delivery_note(sales_order.name)
 		delivery_note.posting_date = sales_order.transaction_date
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index 05a523c..490eec0 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -1,12 +1,6 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-// Preset
-// ------
-// cur_frm.cscript.tname - Details table name
-// cur_frm.cscript.fname - Details fieldname
-// cur_frm.cscript.other_fname - fieldname
-// cur_frm.cscript.sales_team_fname - Sales Team fieldname
 
 frappe.provide("erpnext.selling");
 frappe.require("assets/erpnext/js/transaction.js");
@@ -23,7 +17,7 @@
 	},
 
 	onload_post_render: function() {
-		cur_frm.get_field(this.fname).grid.set_multiple_add("item_code", "qty");
+		cur_frm.get_field("items").grid.set_multiple_add("item_code", "qty");
 	},
 
 	setup_queries: function() {
@@ -58,12 +52,12 @@
 			});
 		}
 
-		if(!this.fname) {
+		if(!this.frm.fields_dict["items"]) {
 			return;
 		}
 
-		if(this.frm.fields_dict[this.fname].grid.get_field('item_code')) {
-			this.frm.set_query("item_code", this.fname, function() {
+		if(this.frm.fields_dict["items"].grid.get_field('item_code')) {
+			this.frm.set_query("item_code", "items", function() {
 				return {
 					query: "erpnext.controllers.queries.item_query",
 					filters: (me.frm.doc.order_type === "Maintenance" ?
@@ -73,8 +67,8 @@
 			});
 		}
 
-		if(this.frm.fields_dict[this.fname].grid.get_field('batch_no')) {
-			this.frm.set_query("batch_no", this.fname, function(doc, cdt, cdn) {
+		if(this.frm.fields_dict["items"].grid.get_field('batch_no')) {
+			this.frm.set_query("batch_no", "items", function(doc, cdt, cdn) {
 				var item = frappe.get_doc(cdt, cdn);
 				if(!item.item_code) {
 					frappe.throw(__("Please enter Item Code to get batch no"));
@@ -102,8 +96,8 @@
 		this._super();
 		this.frm.toggle_display("customer_name",
 			(this.frm.doc.customer_name && this.frm.doc.customer_name!==this.frm.doc.customer));
-		if(this.frm.fields_dict.packing_details) {
-			var packing_list_exists = (this.frm.doc.packing_details || []).length;
+		if(this.frm.fields_dict.packed_items) {
+			var packing_list_exists = (this.frm.doc.packed_items || []).length;
 			this.frm.toggle_display("packing_list", packing_list_exists ? true : false);
 		}
 	},
@@ -231,7 +225,7 @@
 	},
 
 	toggle_editable_price_list_rate: function() {
-		var df = frappe.meta.get_docfield(this.tname, "price_list_rate", this.frm.doc.name);
+		var df = frappe.meta.get_docfield(this.frm.doc.doctype + " Item", "price_list_rate", this.frm.doc.name);
 		var editable_price_list_rate = cint(frappe.defaults.get_default("editable_price_list_rate"));
 
 		if(df && editable_price_list_rate) {
@@ -241,7 +235,7 @@
 
 	calculate_taxes_and_totals: function(update_paid_amount) {
 		this._super();
-		this.calculate_total_advance("Sales Invoice", "advance_adjustment_details", update_paid_amount);
+		this.calculate_total_advance("Sales Invoice", "advances", update_paid_amount);
 		this.calculate_commission();
 		this.calculate_contribution();
 
@@ -477,7 +471,7 @@
 
 	set_sales_bom_help: function(doc) {
 		if(!cur_frm.fields_dict.packing_list) return;
-		if ((doc.packing_details || []).length) {
+		if ((doc.packed_items || []).length) {
 			$(cur_frm.fields_dict.packing_list.row.wrapper).toggle(true);
 
 			if (inList(['Delivery Note', 'Sales Invoice'], doc.doctype)) {
@@ -555,22 +549,22 @@
 		}
 
 		setup_field_label_map(["base_rate", "base_price_list_rate", "base_amount"],
-			company_currency, this.fname);
+			company_currency, "items");
 
 		setup_field_label_map(["rate", "price_list_rate", "amount"],
-			this.frm.doc.currency, this.fname);
+			this.frm.doc.currency, "items");
 
-		setup_field_label_map(["tax_amount", "total"], company_currency, "other_charges");
+		setup_field_label_map(["tax_amount", "total"], company_currency, "taxes");
 
-		if(this.frm.fields_dict["advance_allocation_details"]) {
+		if(this.frm.fields_dict["advances"]) {
 			setup_field_label_map(["advance_amount", "allocated_amount"], company_currency,
-				"advance_allocation_details");
+				"advances");
 		}
 
 		// toggle columns
-		var item_grid = this.frm.fields_dict[this.fname].grid;
+		var item_grid = this.frm.fields_dict["items"].grid;
 		var show = (this.frm.doc.currency != company_currency) ||
-			((cur_frm.doc.other_charges || []).filter(
+			((cur_frm.doc.taxes || []).filter(
 					function(d) { return d.included_in_print_rate===1}).length);
 
 		$.each(["base_rate", "base_price_list_rate", "base_amount"], function(i, fname) {
@@ -595,7 +589,7 @@
 			args: {	project_name: frm.doc.project_name	},
 			callback: function(r, rt) {
 				if(!r.exc) {
-					$.each(frm.doc[cur_frm.cscript.fname] || [], function(i, row) {
+					$.each(frm.doc["items"] || [], function(i, row) {
 						frappe.model.set_value(row.doctype, row.name, "cost_center", r.message);
 						msgprint(__("Cost Center For Item with Item Code '"+row.item_name+"' has been Changed to "+ r.message));
 					})
diff --git a/erpnext/setup/doctype/authorization_control/authorization_control.py b/erpnext/setup/doctype/authorization_control/authorization_control.py
index 8e7b0ce..a080f1c 100644
--- a/erpnext/setup/doctype/authorization_control/authorization_control.py
+++ b/erpnext/setup/doctype/authorization_control/authorization_control.py
@@ -88,7 +88,7 @@
 				add_cond = " and master_name = '"+cstr(customer).replace("'", "\\'")+"'"
 		if based_on == 'Itemwise Discount':
 			if doc_obj:
-				for t in doc_obj.get(doc_obj.fname):
+				for t in doc_obj.get("items"):
 					self.validate_auth_rule(doctype_name, t.discount_percentage, based_on, add_cond, company,t.item_code )
 		else:
 			self.validate_auth_rule(doctype_name, auth_value, based_on, add_cond, company)
@@ -97,10 +97,13 @@
 		av_dis = 0
 		if doc_obj:
 			price_list_rate, base_rate = 0, 0
-			for d in doc_obj.get(doc_obj.fname):
-				if d.base_price_list_rate and d.base_rate:
-					price_list_rate += flt(d.base_price_list_rate)
+			for d in doc_obj.get("items"):
+				if d.base_rate:
+					price_list_rate += flt(d.base_price_list_rate) or flt(d.base_rate)
 					base_rate += flt(d.base_rate)
+			if doc_obj.get("discount_amount"):
+				base_rate -= flt(doc_obj.discount_amount)
+
 			if price_list_rate: av_dis = 100 - flt(base_rate * 100 / price_list_rate)
 
 		final_based_on = ['Grand Total','Average Discount','Customerwise Discount','Itemwise Discount']
diff --git a/erpnext/setup/doctype/customer_group/customer_group.js b/erpnext/setup/doctype/customer_group/customer_group.js
index 902f4a6..da1d1b3 100644
--- a/erpnext/setup/doctype/customer_group/customer_group.js
+++ b/erpnext/setup/doctype/customer_group/customer_group.js
@@ -26,7 +26,7 @@
 	}
 }
 
-cur_frm.fields_dict['party_accounts'].grid.get_field('account').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['accounts'].grid.get_field('account').get_query = function(doc, cdt, cdn) {
 	var d  = locals[cdt][cdn];
 	return {
 		filters: {
diff --git a/erpnext/setup/doctype/customer_group/customer_group.json b/erpnext/setup/doctype/customer_group/customer_group.json
index 5e1ccab..fc3a3d4 100644
--- a/erpnext/setup/doctype/customer_group/customer_group.json
+++ b/erpnext/setup/doctype/customer_group/customer_group.json
@@ -116,9 +116,9 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "party_accounts", 
+   "fieldname": "accounts", 
    "fieldtype": "Table", 
-   "label": "Party Accounts", 
+   "label": "Accounts", 
    "options": "Party Account", 
    "permlevel": 0
   }
@@ -126,7 +126,7 @@
  "icon": "icon-sitemap", 
  "idx": 1, 
  "in_create": 1, 
- "modified": "2014-08-29 16:37:35.877256", 
+ "modified": "2014-12-25 12:48:13.727656", 
  "modified_by": "Administrator", 
  "module": "Setup", 
  "name": "Customer Group", 
@@ -191,5 +191,5 @@
   }
  ], 
  "read_only": 1, 
- "search_fields": "name,parent_customer_group"
+ "search_fields": "parent_customer_group"
 }
\ No newline at end of file
diff --git a/erpnext/setup/doctype/item_group/item_group.json b/erpnext/setup/doctype/item_group/item_group.json
index af5a5c3..8aa3aa5 100644
--- a/erpnext/setup/doctype/item_group/item_group.json
+++ b/erpnext/setup/doctype/item_group/item_group.json
@@ -1,5 +1,5 @@
 {
-  "allow_import": 1, 
+ "allow_import": 1, 
  "allow_rename": 1, 
  "autoname": "field:item_group_name", 
  "creation": "2013-03-28 10:35:29", 
@@ -134,9 +134,9 @@
   }, 
   {
    "depends_on": "show_in_website", 
-   "fieldname": "item_website_specifications", 
+   "fieldname": "website_specifications", 
    "fieldtype": "Table", 
-   "label": "Item Website Specifications", 
+   "label": "Website Specifications", 
    "options": "Item Website Specification", 
    "permlevel": 0
   }, 
@@ -190,7 +190,7 @@
  "in_create": 1, 
  "issingle": 0, 
  "max_attachments": 3, 
- "modified": "2014-08-20 17:48:34.489750", 
+ "modified": "2014-12-25 12:33:43.359081", 
  "modified_by": "Administrator", 
  "module": "Setup", 
  "name": "Item Group", 
diff --git a/erpnext/setup/doctype/sales_partner/sales_partner.js b/erpnext/setup/doctype/sales_partner/sales_partner.js
index 3a03bfe..0962660 100644
--- a/erpnext/setup/doctype/sales_partner/sales_partner.js
+++ b/erpnext/setup/doctype/sales_partner/sales_partner.js
@@ -12,7 +12,7 @@
 	}
 }
 
-cur_frm.fields_dict['partner_target_details'].grid.get_field("item_group").get_query = function(doc, dt, dn) {
+cur_frm.fields_dict['targets'].grid.get_field("item_group").get_query = function(doc, dt, dn) {
   return{
   	filters:{ 'is_group': "No" }
   }
diff --git a/erpnext/setup/doctype/sales_partner/sales_partner.json b/erpnext/setup/doctype/sales_partner/sales_partner.json
index f20433d..98debb3 100644
--- a/erpnext/setup/doctype/sales_partner/sales_partner.json
+++ b/erpnext/setup/doctype/sales_partner/sales_partner.json
@@ -108,9 +108,9 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "partner_target_details", 
+   "fieldname": "targets", 
    "fieldtype": "Table", 
-   "label": "Partner Target Detail", 
+   "label": "Targets", 
    "oldfieldname": "partner_target_details", 
    "oldfieldtype": "Table", 
    "options": "Target Detail", 
@@ -124,7 +124,7 @@
    "label": "Target Distribution", 
    "oldfieldname": "distribution_id", 
    "oldfieldtype": "Link", 
-   "options": "Budget Distribution", 
+   "options": "Monthly Distribution", 
    "permlevel": 0
   }, 
   {
@@ -200,7 +200,7 @@
  "icon": "icon-user", 
  "idx": 1, 
  "in_create": 0, 
- "modified": "2014-09-05 14:54:57.014940", 
+ "modified": "2014-12-25 15:37:44.884917", 
  "modified_by": "Administrator", 
  "module": "Setup", 
  "name": "Sales Partner", 
diff --git a/erpnext/setup/doctype/sales_person/sales_person.js b/erpnext/setup/doctype/sales_person/sales_person.js
index b342485..3a12c24 100644
--- a/erpnext/setup/doctype/sales_person/sales_person.js
+++ b/erpnext/setup/doctype/sales_person/sales_person.js
@@ -27,7 +27,7 @@
 	}
 }
 
-cur_frm.fields_dict['target_details'].grid.get_field("item_group").get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['targets'].grid.get_field("item_group").get_query = function(doc, cdt, cdn) {
 	return {
 		filters: { 'is_group': "No" }
 	}
diff --git a/erpnext/setup/doctype/sales_person/sales_person.json b/erpnext/setup/doctype/sales_person/sales_person.json
index f1db4f4..a284b00 100644
--- a/erpnext/setup/doctype/sales_person/sales_person.json
+++ b/erpnext/setup/doctype/sales_person/sales_person.json
@@ -111,9 +111,9 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "target_details", 
+   "fieldname": "targets", 
    "fieldtype": "Table", 
-   "label": "Target Details1", 
+   "label": "Targets", 
    "oldfieldname": "target_details", 
    "oldfieldtype": "Table", 
    "options": "Target Detail", 
@@ -126,7 +126,7 @@
    "label": "Target Distribution", 
    "oldfieldname": "distribution_id", 
    "oldfieldtype": "Link", 
-   "options": "Budget Distribution", 
+   "options": "Monthly Distribution", 
    "permlevel": 0, 
    "search_index": 0
   }, 
@@ -143,7 +143,7 @@
  "icon": "icon-user", 
  "idx": 1, 
  "in_create": 1, 
- "modified": "2014-05-27 03:49:18.900175", 
+ "modified": "2014-12-25 15:37:37.695495", 
  "modified_by": "Administrator", 
  "module": "Setup", 
  "name": "Sales Person", 
@@ -190,5 +190,5 @@
    "write": 1
   }
  ], 
- "search_fields": "name,parent_sales_person"
+ "search_fields": "parent_sales_person"
 }
\ No newline at end of file
diff --git a/erpnext/setup/doctype/sales_person/sales_person.py b/erpnext/setup/doctype/sales_person/sales_person.py
index f37b139..ce7b572 100644
--- a/erpnext/setup/doctype/sales_person/sales_person.py
+++ b/erpnext/setup/doctype/sales_person/sales_person.py
@@ -11,7 +11,7 @@
 	nsm_parent_field = 'parent_sales_person';
 
 	def validate(self):
-		for d in self.get('target_details'):
+		for d in self.get('targets'):
 			if not flt(d.target_qty) and not flt(d.target_amount):
 				frappe.throw(_("Either target qty or target amount is mandatory."))
 
diff --git a/erpnext/setup/doctype/sms_settings/sms_settings.json b/erpnext/setup/doctype/sms_settings/sms_settings.json
index a966ddb..ce1fdec 100755
--- a/erpnext/setup/doctype/sms_settings/sms_settings.json
+++ b/erpnext/setup/doctype/sms_settings/sms_settings.json
@@ -1,75 +1,78 @@
 {
- "allow_copy": 1, 
- "allow_email": 1, 
- "allow_print": 1, 
- "creation": "2013-01-10 16:34:24.000000", 
- "docstatus": 0, 
- "doctype": "DocType", 
+ "allow_copy": 1,
+ "allow_email": 1,
+ "allow_print": 1,
+ "creation": "2013-01-10 16:34:24",
+ "docstatus": 0,
+ "doctype": "DocType",
  "fields": [
   {
-   "fieldname": "column_break0", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break0",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "description": "Eg. smsgateway.com/api/send_sms.cgi", 
-   "fieldname": "sms_gateway_url", 
-   "fieldtype": "Data", 
-   "label": "SMS Gateway URL", 
-   "permlevel": 0, 
+   "description": "Eg. smsgateway.com/api/send_sms.cgi",
+   "fieldname": "sms_gateway_url",
+   "fieldtype": "Data",
+   "in_list_view": 1,
+   "label": "SMS Gateway URL",
+   "permlevel": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "description": "Enter url parameter for message", 
-   "fieldname": "message_parameter", 
-   "fieldtype": "Data", 
-   "label": "Message Parameter", 
-   "permlevel": 0, 
+   "description": "Enter url parameter for message",
+   "fieldname": "message_parameter",
+   "fieldtype": "Data",
+   "in_list_view": 1,
+   "label": "Message Parameter",
+   "permlevel": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "description": "Enter url parameter for receiver nos", 
-   "fieldname": "receiver_parameter", 
-   "fieldtype": "Data", 
-   "label": "Receiver Parameter", 
-   "permlevel": 0, 
+   "description": "Enter url parameter for receiver nos",
+   "fieldname": "receiver_parameter",
+   "fieldtype": "Data",
+   "in_list_view": 1,
+   "label": "Receiver Parameter",
+   "permlevel": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "static_parameters", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "static_parameters_section",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "description": "Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)", 
-   "fieldname": "static_parameter_details", 
-   "fieldtype": "Table", 
-   "label": "Static Parameters", 
-   "options": "SMS Parameter", 
+   "description": "Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)",
+   "fieldname": "parameters",
+   "fieldtype": "Table",
+   "label": "Static Parameters",
+   "options": "SMS Parameter",
    "permlevel": 0
   }
- ], 
- "icon": "icon-cog", 
- "idx": 1, 
- "in_create": 0, 
- "issingle": 1, 
- "modified": "2013-09-10 17:20:25.000000", 
- "modified_by": "Administrator", 
- "module": "Setup", 
- "name": "SMS Settings", 
- "owner": "Administrator", 
+ ],
+ "icon": "icon-cog",
+ "idx": 1,
+ "in_create": 0,
+ "issingle": 1,
+ "modified": "2014-12-26 16:42:57.956544",
+ "modified_by": "Administrator",
+ "module": "Setup",
+ "name": "SMS Settings",
+ "owner": "Administrator",
  "permissions": [
   {
-   "create": 1, 
-   "permlevel": 0, 
-   "read": 1, 
-   "report": 0, 
-   "role": "System Manager", 
-   "submit": 0, 
+   "create": 1,
+   "permlevel": 0,
+   "read": 1,
+   "report": 0,
+   "role": "System Manager",
+   "submit": 0,
    "write": 1
   }
- ], 
+ ],
  "read_only": 0
-}
\ No newline at end of file
+}
diff --git a/erpnext/setup/doctype/sms_settings/sms_settings.py b/erpnext/setup/doctype/sms_settings/sms_settings.py
index de11641..d061a83 100644
--- a/erpnext/setup/doctype/sms_settings/sms_settings.py
+++ b/erpnext/setup/doctype/sms_settings/sms_settings.py
@@ -71,7 +71,7 @@
 def send_via_gateway(arg):
 	ss = frappe.get_doc('SMS Settings', 'SMS Settings')
 	args = {ss.message_parameter : arg.get('message')}
-	for d in ss.get("static_parameter_details"):
+	for d in ss.get("parameters"):
 		args[d.parameter] = d.value
 
 	resp = []
diff --git a/erpnext/setup/doctype/supplier_type/supplier_type.js b/erpnext/setup/doctype/supplier_type/supplier_type.js
index f54edca..e78de0a 100644
--- a/erpnext/setup/doctype/supplier_type/supplier_type.js
+++ b/erpnext/setup/doctype/supplier_type/supplier_type.js
@@ -5,7 +5,7 @@
 	cur_frm.set_intro(doc.__islocal ? "" : __("There is nothing to edit."))
 }
 
-cur_frm.fields_dict['party_accounts'].grid.get_field('account').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['accounts'].grid.get_field('account').get_query = function(doc, cdt, cdn) {
 	var d  = locals[cdt][cdn];
 	return {
 		filters: {
diff --git a/erpnext/setup/doctype/supplier_type/supplier_type.json b/erpnext/setup/doctype/supplier_type/supplier_type.json
index 51ffb2a..827d9e6 100644
--- a/erpnext/setup/doctype/supplier_type/supplier_type.json
+++ b/erpnext/setup/doctype/supplier_type/supplier_type.json
@@ -30,16 +30,16 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "party_accounts", 
+   "fieldname": "accounts", 
    "fieldtype": "Table", 
-   "label": "Party Accounts", 
+   "label": "Accounts", 
    "options": "Party Account", 
    "permlevel": 0
   }
  ], 
  "icon": "icon-flag", 
  "idx": 1, 
- "modified": "2014-08-29 16:38:22.219286", 
+ "modified": "2014-12-25 12:48:28.195655", 
  "modified_by": "Administrator", 
  "module": "Setup", 
  "name": "Supplier Type", 
diff --git a/erpnext/setup/doctype/territory/territory.js b/erpnext/setup/doctype/territory/territory.js
index f870641..935845a 100644
--- a/erpnext/setup/doctype/territory/territory.js
+++ b/erpnext/setup/doctype/territory/territory.js
@@ -29,7 +29,7 @@
 
 
 // ******************** ITEM Group ********************************
-cur_frm.fields_dict['target_details'].grid.get_field("item_group").get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['targets'].grid.get_field("item_group").get_query = function(doc, cdt, cdn) {
 	return{
 		filters:{ 'is_group': "No"}
 	}
diff --git a/erpnext/setup/doctype/territory/territory.json b/erpnext/setup/doctype/territory/territory.json
index 66f1945..6ba8fc6 100644
--- a/erpnext/setup/doctype/territory/territory.json
+++ b/erpnext/setup/doctype/territory/territory.json
@@ -114,9 +114,9 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "target_details", 
+   "fieldname": "targets", 
    "fieldtype": "Table", 
-   "label": "Target Details", 
+   "label": "Targets", 
    "oldfieldname": "target_details", 
    "oldfieldtype": "Table", 
    "options": "Target Detail", 
@@ -129,14 +129,14 @@
    "label": "Target Distribution", 
    "oldfieldname": "distribution_id", 
    "oldfieldtype": "Link", 
-   "options": "Budget Distribution", 
+   "options": "Monthly Distribution", 
    "permlevel": 0
   }
  ], 
  "icon": "icon-map-marker", 
  "idx": 1, 
  "in_create": 1, 
- "modified": "2014-05-27 03:49:20.981624", 
+ "modified": "2014-12-25 15:37:31.563276", 
  "modified_by": "Administrator", 
  "module": "Setup", 
  "name": "Territory", 
@@ -197,5 +197,5 @@
   }
  ], 
  "read_only": 1, 
- "search_fields": "name,parent_territory,territory_manager"
+ "search_fields": "parent_territory,territory_manager"
 }
\ No newline at end of file
diff --git a/erpnext/setup/doctype/territory/territory.py b/erpnext/setup/doctype/territory/territory.py
index d1b8dda..8eb4dce 100644
--- a/erpnext/setup/doctype/territory/territory.py
+++ b/erpnext/setup/doctype/territory/territory.py
@@ -14,7 +14,7 @@
 	nsm_parent_field = 'parent_territory'
 
 	def validate(self):
-		for d in self.get('target_details'):
+		for d in self.get('targets'):
 			if not flt(d.target_qty) and not flt(d.target_amount):
 				frappe.throw(_("Either target qty or target amount is mandatory"))
 
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.js b/erpnext/setup/page/setup_wizard/setup_wizard.js
index 7b2abdf..6b847e0 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.js
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.js
@@ -61,14 +61,27 @@
 				fields: [
 					{
 						"fieldname": "language", "label": __("Language"), "fieldtype": "Select",
-						options: ["english", "العربية", "deutsch", "ελληνικά", "español", "français", "हिंदी", "hrvatski",
-							"italiano", "nederlands", "polski", "português brasileiro", "português", "српски", "தமிழ்",
-							"ไทย", "中国(简体)", "中國(繁體)"],
-						reqd:1, "default": "english"
+						reqd:1
 					},
 				],
 				help: __("Welcome to ERPNext. Please select your language to begin the Setup Wizard."),
 				onload: function(slide) {
+					var me = this;
+
+					if (!this.language_list) {
+						frappe.call({
+							method: "erpnext.setup.page.setup_wizard.setup_wizard.load_languages",
+							callback: function(r) {
+								me.language_list = r.message;
+								slide.get_input("language")
+									.add_options(r.message)
+									.val("english");
+							}
+						})
+					} else {
+						slide.get_input("language").add_options(this.language_list);
+					}
+
 					slide.get_input("language").on("change", function() {
 						var lang = $(this).val() || "english";
 						frappe._messages = {};
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.py b/erpnext/setup/page/setup_wizard/setup_wizard.py
index 52b3f4b..c93e404 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.py
@@ -153,7 +153,7 @@
 			"buying": 1 if pl_type == "Buying" else 0,
 			"selling": 1 if pl_type == "Selling" else 0,
 			"currency": args["currency"],
-			"valid_for_territories": [{
+			"territories": [{
 				"territory": get_root_of("Territory")
 			}]
 		}).insert()
@@ -439,4 +439,6 @@
 	send_translations(m)
 	return lang
 
-
+@frappe.whitelist()
+def load_languages():
+	return sorted(get_lang_dict().keys())
diff --git a/erpnext/shopping_cart/__init__.py b/erpnext/shopping_cart/__init__.py
index 8660003..ddee6dc 100644
--- a/erpnext/shopping_cart/__init__.py
+++ b/erpnext/shopping_cart/__init__.py
@@ -42,18 +42,18 @@
 	validate_item(item_code)
 	quotation = get_quotation(user=user)
 	qty = flt(qty)
-	quotation_item = quotation.get("quotation_details", {"item_code": item_code})
+	quotation_item = quotation.get("items", {"item_code": item_code})
 
 	if qty==0:
 		if quotation_item:
 			# remove
-			quotation.get("quotation_details").remove(quotation_item[0])
+			quotation.get("items").remove(quotation_item[0])
 	else:
 		# add or update
 		if quotation_item:
 			quotation_item[0].qty = qty
 		else:
-			quotation.append("quotation_details", {
+			quotation.append("items", {
 				"doctype": "Quotation Item",
 				"item_code": item_code,
 				"qty": qty
diff --git a/erpnext/shopping_cart/cart.py b/erpnext/shopping_cart/cart.py
index 692f27d..3ee089c 100644
--- a/erpnext/shopping_cart/cart.py
+++ b/erpnext/shopping_cart/cart.py
@@ -14,7 +14,7 @@
 def set_cart_count(quotation=None):
 	if not quotation:
 		quotation = _get_cart_quotation()
-	cart_count = cstr(len(quotation.get("quotation_details")))
+	cart_count = cstr(len(quotation.get("items")))
 	frappe.local.cookie_manager.set_cookie("cart_count", cart_count)
 
 @frappe.whitelist()
@@ -50,7 +50,7 @@
 
 	from erpnext.selling.doctype.quotation.quotation import _make_sales_order
 	sales_order = frappe.get_doc(_make_sales_order(quotation.name, ignore_permissions=True))
-	for item in sales_order.get("sales_order_details"):
+	for item in sales_order.get("items"):
 		item.reserved_warehouse = frappe.db.get_value("Item", item.item_code, "website_warehouse") or None
 
 	sales_order.ignore_permissions = True
@@ -66,15 +66,15 @@
 
 	qty = flt(qty)
 	if qty == 0:
-		quotation.set("quotation_details", quotation.get("quotation_details", {"item_code": ["!=", item_code]}))
-		if not quotation.get("quotation_details") and \
+		quotation.set("items", quotation.get("items", {"item_code": ["!=", item_code]}))
+		if not quotation.get("items") and \
 			not quotation.get("__islocal"):
 				quotation.__delete = True
 
 	else:
-		quotation_items = quotation.get("quotation_details", {"item_code": item_code})
+		quotation_items = quotation.get("items", {"item_code": item_code})
 		if not quotation_items:
-			quotation.append("quotation_details", {
+			quotation.append("items", {
 				"doctype": "Quotation Item",
 				"item_code": item_code,
 				"qty": qty
@@ -134,13 +134,13 @@
 
 def decorate_quotation_doc(quotation_doc):
 	doc = frappe._dict(quotation_doc.as_dict())
-	for d in doc.get("quotation_details", []):
+	for d in doc.get("items", []):
 		d.update(frappe.db.get_value("Item", d["item_code"],
 			["website_image", "description", "page_name"], as_dict=True))
 		d["formatted_rate"] = fmt_money(d.get("rate"), currency=doc.currency)
 		d["formatted_amount"] = fmt_money(d.get("amount"), currency=doc.currency)
 
-	for d in doc.get("other_charges", []):
+	for d in doc.get("taxes", []):
 		d["formatted_tax_amount"] = fmt_money(flt(d.get("tax_amount")) / doc.conversion_rate,
 			currency=doc.currency)
 
@@ -239,7 +239,7 @@
 	# reset values
 	quotation.price_list_currency = quotation.currency = \
 		quotation.plc_conversion_rate = quotation.conversion_rate = None
-	for item in quotation.get("quotation_details"):
+	for item in quotation.get("items"):
 		item.price_list_rate = item.discount_percentage = item.rate = item.amount = None
 
 	# refetch values
@@ -253,10 +253,10 @@
 	quotation.taxes_and_charges = cart_settings.get_tax_master(billing_territory)
 
 	# clear table
-	quotation.set("other_charges", [])
+	quotation.set("taxes", [])
 
 	# append taxes
-	quotation.append_taxes_from_master("other_charges", "taxes_and_charges")
+	quotation.append_taxes_from_master("taxes", "taxes_and_charges")
 
 def get_lead_or_customer():
 	customer = frappe.db.get_value("Contact", {"email_id": frappe.session.user}, "customer")
diff --git a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.json b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.json
index 7340930..ce2fb8e 100644
--- a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.json
+++ b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.json
@@ -66,7 +66,7 @@
   {
    "fieldname": "price_lists", 
    "fieldtype": "Table", 
-   "label": "Shopping Cart Price Lists", 
+   "label": "Price Lists", 
    "options": "Shopping Cart Price List", 
    "permlevel": 0, 
    "reqd": 0
@@ -74,7 +74,7 @@
   {
    "fieldname": "shipping_rules", 
    "fieldtype": "Table", 
-   "label": "Shopping Cart Shipping Rules", 
+   "label": "Shipping Rules", 
    "options": "Shopping Cart Shipping Rule", 
    "permlevel": 0, 
    "reqd": 0
@@ -87,7 +87,7 @@
   {
    "fieldname": "sales_taxes_and_charges_masters", 
    "fieldtype": "Table", 
-   "label": "Shopping Cart Taxes and Charges Masters", 
+   "label": "Taxes and Charges", 
    "options": "Shopping Cart Taxes and Charges Master", 
    "permlevel": 0, 
    "reqd": 0
@@ -96,7 +96,7 @@
  "icon": "icon-shopping-cart", 
  "idx": 1, 
  "issingle": 1, 
- "modified": "2014-05-26 03:05:53.747800", 
+ "modified": "2014-12-24 16:42:14.262882", 
  "modified_by": "Administrator", 
  "module": "Shopping Cart", 
  "name": "Shopping Cart Settings", 
diff --git a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py
index 48e31f6..cdbe6c2 100644
--- a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py
+++ b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py
@@ -190,7 +190,7 @@
 
 	if previous_selling_price_list != quotation.selling_price_list:
 		quotation.price_list_currency = quotation.currency = quotation.plc_conversion_rate = quotation.conversion_rate = None
-		for d in quotation.get("quotation_details"):
+		for d in quotation.get("items"):
 			d.price_list_rate = d.discount_percentage = d.rate = d.amount = None
 
 	quotation.set_price_list_and_item_details()
diff --git a/erpnext/shopping_cart/test_shopping_cart.py b/erpnext/shopping_cart/test_shopping_cart.py
index bbab3fd..9d124b7 100644
--- a/erpnext/shopping_cart/test_shopping_cart.py
+++ b/erpnext/shopping_cart/test_shopping_cart.py
@@ -61,18 +61,18 @@
 		# add first item
 		set_item_in_cart("_Test Item", 1)
 		quotation = self.test_get_cart_lead()
-		self.assertEquals(quotation.get("quotation_details")[0].item_code, "_Test Item")
-		self.assertEquals(quotation.get("quotation_details")[0].qty, 1)
-		self.assertEquals(quotation.get("quotation_details")[0].amount, 10)
+		self.assertEquals(quotation.get("items")[0].item_code, "_Test Item")
+		self.assertEquals(quotation.get("items")[0].qty, 1)
+		self.assertEquals(quotation.get("items")[0].amount, 10)
 
 		# add second item
 		set_item_in_cart("_Test Item 2", 1)
 		quotation = self.test_get_cart_lead()
-		self.assertEquals(quotation.get("quotation_details")[1].item_code, "_Test Item 2")
-		self.assertEquals(quotation.get("quotation_details")[1].qty, 1)
-		self.assertEquals(quotation.get("quotation_details")[1].amount, 20)
+		self.assertEquals(quotation.get("items")[1].item_code, "_Test Item 2")
+		self.assertEquals(quotation.get("items")[1].qty, 1)
+		self.assertEquals(quotation.get("items")[1].amount, 20)
 
-		self.assertEquals(len(quotation.get("quotation_details")), 2)
+		self.assertEquals(len(quotation.get("items")), 2)
 
 	def test_update_cart(self):
 		# first, add to cart
@@ -81,11 +81,11 @@
 		# update first item
 		set_item_in_cart("_Test Item", 5)
 		quotation = self.test_get_cart_lead()
-		self.assertEquals(quotation.get("quotation_details")[0].item_code, "_Test Item")
-		self.assertEquals(quotation.get("quotation_details")[0].qty, 5)
-		self.assertEquals(quotation.get("quotation_details")[0].amount, 50)
+		self.assertEquals(quotation.get("items")[0].item_code, "_Test Item")
+		self.assertEquals(quotation.get("items")[0].qty, 5)
+		self.assertEquals(quotation.get("items")[0].amount, 50)
 		self.assertEquals(quotation.net_total, 70)
-		self.assertEquals(len(quotation.get("quotation_details")), 2)
+		self.assertEquals(len(quotation.get("items")), 2)
 
 	def test_remove_from_cart(self):
 		# first, add to cart
@@ -94,17 +94,17 @@
 		# remove first item
 		set_item_in_cart("_Test Item", 0)
 		quotation = self.test_get_cart_lead()
-		self.assertEquals(quotation.get("quotation_details")[0].item_code, "_Test Item 2")
-		self.assertEquals(quotation.get("quotation_details")[0].qty, 1)
-		self.assertEquals(quotation.get("quotation_details")[0].amount, 20)
+		self.assertEquals(quotation.get("items")[0].item_code, "_Test Item 2")
+		self.assertEquals(quotation.get("items")[0].qty, 1)
+		self.assertEquals(quotation.get("items")[0].amount, 20)
 		self.assertEquals(quotation.net_total, 20)
-		self.assertEquals(len(quotation.get("quotation_details")), 1)
+		self.assertEquals(len(quotation.get("items")), 1)
 
 		# remove second item
 		set_item_in_cart("_Test Item 2", 0)
 		quotation = self.test_get_cart_lead()
 		self.assertEquals(quotation.net_total, 0)
-		self.assertEquals(len(quotation.get("quotation_details")), 0)
+		self.assertEquals(len(quotation.get("items")), 0)
 
 	def test_set_billing_address(self):
 		return
diff --git a/erpnext/startup/notifications.py b/erpnext/startup/notifications.py
index 8109e92..eccd1d2 100644
--- a/erpnext/startup/notifications.py
+++ b/erpnext/startup/notifications.py
@@ -15,7 +15,7 @@
 			"Opportunity": {"docstatus":0},
 			"Quotation": {"docstatus":0},
 			"Sales Order": {"docstatus":0},
-			"Journal Voucher": {"docstatus":0},
+			"Journal Entry": {"docstatus":0},
 			"Sales Invoice": {"docstatus":0},
 			"Purchase Invoice": {"docstatus":0},
 			"Leave Application": {"status":"Open"},
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index 354667a..1668bd0 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -1,12 +1,6 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-// Module Material Management
-cur_frm.cscript.tname = "Delivery Note Item";
-cur_frm.cscript.fname = "delivery_note_details";
-cur_frm.cscript.other_fname = "other_charges";
-cur_frm.cscript.sales_team_fname = "sales_team";
-
 {% include 'selling/sales_common.js' %};
 {% include 'accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js' %}
 
@@ -19,7 +13,7 @@
 		if(doc.__onload && !doc.__onload.billing_complete && doc.docstatus==1) {
 			// show Make Invoice button only if Delivery Note is not created from Sales Invoice
 			var from_sales_invoice = false;
-			from_sales_invoice = cur_frm.doc.delivery_note_details.some(function(item) {
+			from_sales_invoice = cur_frm.doc.items.some(function(item) {
 					return item.against_sales_invoice ? true : false;
 				});
 
@@ -45,7 +39,7 @@
 
 		// unhide expense_account and cost_center is auto_accounting_for_stock enabled
 		var aii_enabled = cint(sys_defaults.auto_accounting_for_stock)
-		cur_frm.fields_dict[cur_frm.cscript.fname].grid.set_column_disp(["expense_account", "cost_center"], aii_enabled);
+		cur_frm.fields_dict["items"].grid.set_column_disp(["expense_account", "cost_center"], aii_enabled);
 
 		if (this.frm.doc.docstatus===0) {
 			cur_frm.add_custom_button(__('From Sales Order'),
@@ -85,7 +79,7 @@
 		this.get_terms();
 	},
 
-	delivery_note_details_on_form_rendered: function(doc, grid_row) {
+	items_on_form_rendered: function(doc, grid_row) {
 		erpnext.setup_serial_no(grid_row)
 	}
 
@@ -166,7 +160,7 @@
 
 	out ='';
 
-	var cl = doc.delivery_note_details || [];
+	var cl = doc.items || [];
 
 	// outer table
 	var out='<div><table class="noborder" style="width:100%"><tr><td style="width: 50%"></td><td>';
@@ -204,16 +198,16 @@
 	cur_frm.cscript.expense_account = function(doc, cdt, cdn){
 		var d = locals[cdt][cdn];
 		if(d.expense_account) {
-			var cl = doc[cur_frm.cscript.fname] || [];
+			var cl = doc["items"] || [];
 			for(var i = 0; i < cl.length; i++){
 				if(!cl[i].expense_account) cl[i].expense_account = d.expense_account;
 			}
 		}
-		refresh_field(cur_frm.cscript.fname);
+		refresh_field("items");
 	}
 
 	// expense account
-	cur_frm.fields_dict['delivery_note_details'].grid.get_field('expense_account').get_query = function(doc) {
+	cur_frm.fields_dict['items'].grid.get_field('expense_account').get_query = function(doc) {
 		return {
 			filters: {
 				"report_type": "Profit and Loss",
@@ -227,15 +221,15 @@
 	cur_frm.cscript.cost_center = function(doc, cdt, cdn){
 		var d = locals[cdt][cdn];
 		if(d.cost_center) {
-			var cl = doc[cur_frm.cscript.fname] || [];
+			var cl = doc["items"] || [];
 			for(var i = 0; i < cl.length; i++){
 				if(!cl[i].cost_center) cl[i].cost_center = d.cost_center;
 			}
 		}
-		refresh_field(cur_frm.cscript.fname);
+		refresh_field("items");
 	}
 
-	cur_frm.fields_dict.delivery_note_details.grid.get_field("cost_center").get_query = function(doc) {
+	cur_frm.fields_dict.items.grid.get_field("cost_center").get_query = function(doc) {
 		return {
 
 			filters: {
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.json b/erpnext/stock/doctype/delivery_note/delivery_note.json
index 4a957ff..aa4b685 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.json
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.json
@@ -1,1102 +1,1102 @@
 {
- "autoname": "naming_series:", 
- "creation": "2013-05-24 19:29:09", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Transaction", 
+ "autoname": "naming_series:",
+ "creation": "2013-05-24 19:29:09",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Transaction",
  "fields": [
   {
-   "fieldname": "delivery_to_section", 
-   "fieldtype": "Section Break", 
-   "label": "Delivery To", 
-   "options": "icon-user", 
+   "fieldname": "delivery_to_section",
+   "fieldtype": "Section Break",
+   "label": "Delivery To",
+   "options": "icon-user",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "column_break0", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "print_width": "50%", 
-   "read_only": 0, 
+   "fieldname": "column_break0",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "print_width": "50%",
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "naming_series", 
-   "fieldtype": "Select", 
-   "label": "Series", 
-   "no_copy": 1, 
-   "oldfieldname": "naming_series", 
-   "oldfieldtype": "Select", 
-   "options": "DN-", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "fieldname": "naming_series",
+   "fieldtype": "Select",
+   "label": "Series",
+   "no_copy": 1,
+   "oldfieldname": "naming_series",
+   "oldfieldtype": "Select",
+   "options": "DN-",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "customer", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Customer", 
-   "oldfieldname": "customer", 
-   "oldfieldtype": "Link", 
-   "options": "Customer", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 1, 
+   "fieldname": "customer",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Customer",
+   "oldfieldname": "customer",
+   "oldfieldtype": "Link",
+   "options": "Customer",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "depends_on": "customer", 
-   "fieldname": "customer_name", 
-   "fieldtype": "Data", 
-   "hidden": 0, 
-   "in_list_view": 1, 
-   "label": "Customer Name", 
-   "permlevel": 0, 
+   "depends_on": "customer",
+   "fieldname": "customer_name",
+   "fieldtype": "Data",
+   "hidden": 0,
+   "in_list_view": 1,
+   "label": "Customer Name",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "depends_on": "customer", 
-   "fieldname": "customer_address", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Billing Address Name", 
-   "options": "Address", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "depends_on": "customer",
+   "fieldname": "customer_address",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Billing Address Name",
+   "options": "Address",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "address_display", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Billing Address", 
-   "permlevel": 0, 
+   "fieldname": "address_display",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Billing Address",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "shipping_address_name", 
-   "fieldtype": "Link", 
-   "label": "Shipping Address", 
-   "options": "Address", 
-   "permlevel": 0, 
+   "fieldname": "shipping_address_name",
+   "fieldtype": "Link",
+   "label": "Shipping Address",
+   "options": "Address",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "shipping_address", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Shipping Address", 
-   "permlevel": 0, 
+   "fieldname": "shipping_address",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Shipping Address",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "contact_display", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Contact", 
-   "permlevel": 0, 
+   "fieldname": "contact_display",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Contact",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "contact_mobile", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Mobile No", 
-   "permlevel": 0, 
+   "fieldname": "contact_mobile",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Mobile No",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "contact_email", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Contact Email", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "contact_email",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Contact Email",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "column_break1", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break1",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "fieldname": "amended_from", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Amended From", 
-   "no_copy": 1, 
-   "oldfieldname": "amended_from", 
-   "oldfieldtype": "Data", 
-   "options": "Delivery Note", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "150px", 
-   "read_only": 1, 
+   "allow_on_submit": 0,
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Amended From",
+   "no_copy": 1,
+   "oldfieldname": "amended_from",
+   "oldfieldtype": "Data",
+   "options": "Delivery Note",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "150px",
+   "read_only": 1,
    "width": "150px"
-  }, 
+  },
   {
-   "description": "Select the relevant company name if you have multiple companies", 
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Company", 
-   "oldfieldname": "company", 
-   "oldfieldtype": "Link", 
-   "options": "Company", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "150px", 
-   "read_only": 0, 
-   "reqd": 1, 
-   "search_index": 1, 
+   "description": "Select the relevant company name if you have multiple companies",
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Company",
+   "oldfieldname": "company",
+   "oldfieldtype": "Link",
+   "options": "Company",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "150px",
+   "read_only": 0,
+   "reqd": 1,
+   "search_index": 1,
    "width": "150px"
-  }, 
+  },
   {
-   "default": "Today", 
-   "fieldname": "posting_date", 
-   "fieldtype": "Date", 
-   "in_filter": 1, 
-   "label": "Date", 
-   "no_copy": 1, 
-   "oldfieldname": "posting_date", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_width": "100px", 
-   "read_only": 0, 
-   "reqd": 1, 
-   "search_index": 1, 
+   "default": "Today",
+   "fieldname": "posting_date",
+   "fieldtype": "Date",
+   "in_filter": 1,
+   "label": "Date",
+   "no_copy": 1,
+   "oldfieldname": "posting_date",
+   "oldfieldtype": "Date",
+   "permlevel": 0,
+   "print_hide": 0,
+   "print_width": "100px",
+   "read_only": 0,
+   "reqd": 1,
+   "search_index": 1,
    "width": "100px"
-  }, 
+  },
   {
-   "fieldname": "po_no", 
-   "fieldtype": "Data", 
-   "hidden": 1, 
-   "label": "Customer's Purchase Order No", 
-   "no_copy": 0, 
-   "oldfieldname": "po_no", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "100px", 
-   "read_only": 1, 
+   "fieldname": "po_no",
+   "fieldtype": "Data",
+   "hidden": 0,
+   "label": "Customer's Purchase Order No",
+   "no_copy": 0,
+   "oldfieldname": "po_no",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "100px",
+   "read_only": 1,
    "width": "100px"
-  }, 
+  },
   {
-   "depends_on": "eval:doc.po_no", 
-   "fieldname": "po_date", 
-   "fieldtype": "Date", 
-   "hidden": 0, 
-   "label": "Customer's Purchase Order Date", 
-   "no_copy": 0, 
-   "oldfieldname": "po_date", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "100px", 
-   "read_only": 1, 
+   "depends_on": "eval:doc.po_no",
+   "fieldname": "po_date",
+   "fieldtype": "Date",
+   "hidden": 0,
+   "label": "Customer's Purchase Order Date",
+   "no_copy": 0,
+   "oldfieldname": "po_date",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "100px",
+   "read_only": 1,
    "width": "100px"
-  }, 
+  },
   {
-   "fieldname": "sec_break25", 
-   "fieldtype": "Section Break", 
-   "label": "Currency and Price List", 
-   "options": "icon-tag", 
-   "permlevel": 0, 
+   "fieldname": "sec_break25",
+   "fieldtype": "Section Break",
+   "label": "Currency and Price List",
+   "options": "icon-tag",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "currency", 
-   "fieldtype": "Link", 
-   "label": "Currency", 
-   "oldfieldname": "currency", 
-   "oldfieldtype": "Select", 
-   "options": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "oldfieldname": "currency",
+   "oldfieldtype": "Select",
+   "options": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "description": "Rate at which customer's currency is converted to company's base currency", 
-   "fieldname": "conversion_rate", 
-   "fieldtype": "Float", 
-   "label": "Exchange Rate", 
-   "no_copy": 0, 
-   "oldfieldname": "conversion_rate", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "description": "Rate at which customer's currency is converted to company's base currency",
+   "fieldname": "conversion_rate",
+   "fieldtype": "Float",
+   "label": "Exchange Rate",
+   "no_copy": 0,
+   "oldfieldname": "conversion_rate",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "col_break23", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "col_break23",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "selling_price_list", 
-   "fieldtype": "Link", 
-   "label": "Price List", 
-   "oldfieldname": "price_list_name", 
-   "oldfieldtype": "Select", 
-   "options": "Price List", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "fieldname": "selling_price_list",
+   "fieldtype": "Link",
+   "label": "Price List",
+   "oldfieldname": "price_list_name",
+   "oldfieldtype": "Select",
+   "options": "Price List",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "price_list_currency", 
-   "fieldtype": "Link", 
-   "label": "Price List Currency", 
-   "options": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "price_list_currency",
+   "fieldtype": "Link",
+   "label": "Price List Currency",
+   "options": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "reqd": 1
-  }, 
+  },
   {
-   "description": "Rate at which Price list currency is converted to company's base currency", 
-   "fieldname": "plc_conversion_rate", 
-   "fieldtype": "Float", 
-   "label": "Price List Exchange Rate", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "description": "Rate at which Price list currency is converted to company's base currency",
+   "fieldname": "plc_conversion_rate",
+   "fieldtype": "Float",
+   "label": "Price List Exchange Rate",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "ignore_pricing_rule", 
-   "fieldtype": "Check", 
-   "label": "Ignore Pricing Rule", 
-   "no_copy": 1, 
-   "permlevel": 1, 
+   "fieldname": "ignore_pricing_rule",
+   "fieldtype": "Check",
+   "label": "Ignore Pricing Rule",
+   "no_copy": 1,
+   "permlevel": 1,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "items", 
-   "fieldtype": "Section Break", 
-   "label": "Items", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-shopping-cart", 
-   "permlevel": 0, 
+   "fieldname": "items_section",
+   "fieldtype": "Section Break",
+   "label": "Items",
+   "oldfieldtype": "Section Break",
+   "options": "icon-shopping-cart",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "delivery_note_details", 
-   "fieldtype": "Table", 
-   "label": "Delivery Note Items", 
-   "no_copy": 0, 
-   "oldfieldname": "delivery_note_details", 
-   "oldfieldtype": "Table", 
-   "options": "Delivery Note Item", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
+   "allow_on_submit": 1,
+   "fieldname": "items",
+   "fieldtype": "Table",
+   "label": "Items",
+   "no_copy": 0,
+   "oldfieldname": "delivery_note_details",
+   "oldfieldtype": "Table",
+   "options": "Delivery Note Item",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "packing_list", 
-   "fieldtype": "Section Break", 
-   "label": "Packing List", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-suitcase", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "packing_list",
+   "fieldtype": "Section Break",
+   "label": "Packing List",
+   "oldfieldtype": "Section Break",
+   "options": "icon-suitcase",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "packing_details", 
-   "fieldtype": "Table", 
-   "label": "Packing Details", 
-   "oldfieldname": "packing_details", 
-   "oldfieldtype": "Table", 
-   "options": "Packed Item", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "packed_items",
+   "fieldtype": "Table",
+   "label": "Packed Items",
+   "oldfieldname": "packing_details",
+   "oldfieldtype": "Table",
+   "options": "Packed Item",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "sales_bom_help", 
-   "fieldtype": "HTML", 
-   "label": "Sales BOM Help", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "sales_bom_help",
+   "fieldtype": "HTML",
+   "label": "Sales BOM Help",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "section_break_31", 
-   "fieldtype": "Section Break", 
+   "fieldname": "section_break_31",
+   "fieldtype": "Section Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "net_total", 
-   "fieldtype": "Currency", 
-   "label": "Net Total (Company Currency)", 
-   "no_copy": 0, 
-   "oldfieldname": "net_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "150px", 
-   "read_only": 1, 
-   "reqd": 0, 
+   "fieldname": "net_total",
+   "fieldtype": "Currency",
+   "label": "Net Total (Company Currency)",
+   "no_copy": 0,
+   "oldfieldname": "net_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "150px",
+   "read_only": 1,
+   "reqd": 0,
    "width": "150px"
-  }, 
+  },
   {
-   "fieldname": "column_break_33", 
-   "fieldtype": "Column Break", 
+   "fieldname": "column_break_33",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "net_total_export", 
-   "fieldtype": "Currency", 
-   "label": "Net Total", 
-   "options": "currency", 
-   "permlevel": 0, 
+   "fieldname": "net_total_export",
+   "fieldtype": "Currency",
+   "label": "Net Total",
+   "options": "currency",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "taxes", 
-   "fieldtype": "Section Break", 
-   "label": "Taxes and Charges", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-money", 
-   "permlevel": 0, 
+   "fieldname": "taxes_section",
+   "fieldtype": "Section Break",
+   "label": "Taxes and Charges",
+   "oldfieldtype": "Section Break",
+   "options": "icon-money",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "description": "If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.", 
-   "fieldname": "taxes_and_charges", 
-   "fieldtype": "Link", 
-   "label": "Taxes and Charges", 
-   "oldfieldname": "charge", 
-   "oldfieldtype": "Link", 
-   "options": "Sales Taxes and Charges Master", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "description": "If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.",
+   "fieldname": "taxes_and_charges",
+   "fieldtype": "Link",
+   "label": "Taxes and Charges",
+   "oldfieldname": "charge",
+   "oldfieldtype": "Link",
+   "options": "Sales Taxes and Charges Master",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "column_break_39", 
-   "fieldtype": "Column Break", 
+   "fieldname": "column_break_39",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "shipping_rule", 
-   "fieldtype": "Link", 
-   "label": "Shipping Rule", 
-   "oldfieldtype": "Button", 
-   "options": "Shipping Rule", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "shipping_rule",
+   "fieldtype": "Link",
+   "label": "Shipping Rule",
+   "oldfieldtype": "Button",
+   "options": "Shipping Rule",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "section_break_41", 
-   "fieldtype": "Section Break", 
+   "fieldname": "section_break_41",
+   "fieldtype": "Section Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges", 
-   "fieldtype": "Table", 
-   "label": "Sales Taxes and Charges", 
-   "no_copy": 0, 
-   "oldfieldname": "other_charges", 
-   "oldfieldtype": "Table", 
-   "options": "Sales Taxes and Charges", 
-   "permlevel": 0, 
+   "fieldname": "taxes",
+   "fieldtype": "Table",
+   "label": "Sales Taxes and Charges",
+   "no_copy": 0,
+   "oldfieldname": "other_charges",
+   "oldfieldtype": "Table",
+   "options": "Sales Taxes and Charges",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_calculation", 
-   "fieldtype": "HTML", 
-   "label": "Taxes and Charges Calculation", 
-   "oldfieldtype": "HTML", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "other_charges_calculation",
+   "fieldtype": "HTML",
+   "label": "Taxes and Charges Calculation",
+   "oldfieldtype": "HTML",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "section_break_44", 
-   "fieldtype": "Section Break", 
+   "fieldname": "section_break_44",
+   "fieldtype": "Section Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_total", 
-   "fieldtype": "Currency", 
-   "label": "Taxes and Charges Total (Company Currency)", 
-   "oldfieldname": "other_charges_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "150px", 
-   "read_only": 1, 
+   "fieldname": "other_charges_total",
+   "fieldtype": "Currency",
+   "label": "Taxes and Charges Total (Company Currency)",
+   "oldfieldname": "other_charges_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "150px",
+   "read_only": 1,
    "width": "150px"
-  }, 
+  },
   {
-   "fieldname": "column_break_47", 
-   "fieldtype": "Column Break", 
+   "fieldname": "column_break_47",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_total_export", 
-   "fieldtype": "Currency", 
-   "label": "Taxes and Charges Total", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "other_charges_total_export",
+   "fieldtype": "Currency",
+   "label": "Taxes and Charges Total",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "discount_amount", 
-   "fieldtype": "Currency", 
-   "label": "Discount Amount", 
-   "options": "Company:company:default_currency", 
+   "fieldname": "discount_amount",
+   "fieldtype": "Currency",
+   "label": "Discount Amount",
+   "options": "Company:company:default_currency",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "totals", 
-   "fieldtype": "Section Break", 
-   "label": "Totals", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-money", 
-   "permlevel": 0, 
-   "print_hide": 0, 
+   "fieldname": "totals",
+   "fieldtype": "Section Break",
+   "label": "Totals",
+   "oldfieldtype": "Section Break",
+   "options": "icon-money",
+   "permlevel": 0,
+   "print_hide": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "grand_total", 
-   "fieldtype": "Currency", 
-   "label": "Grand Total (Company Currency)", 
-   "no_copy": 0, 
-   "oldfieldname": "grand_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "150px", 
-   "read_only": 1, 
-   "reqd": 0, 
+   "fieldname": "grand_total",
+   "fieldtype": "Currency",
+   "label": "Grand Total (Company Currency)",
+   "no_copy": 0,
+   "oldfieldname": "grand_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "150px",
+   "read_only": 1,
+   "reqd": 0,
    "width": "150px"
-  }, 
+  },
   {
-   "fieldname": "rounded_total", 
-   "fieldtype": "Currency", 
-   "label": "Rounded Total (Company Currency)", 
-   "no_copy": 0, 
-   "oldfieldname": "rounded_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "150px", 
-   "read_only": 1, 
+   "fieldname": "rounded_total",
+   "fieldtype": "Currency",
+   "label": "Rounded Total (Company Currency)",
+   "no_copy": 0,
+   "oldfieldname": "rounded_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "150px",
+   "read_only": 1,
    "width": "150px"
-  }, 
+  },
   {
-   "description": "In Words will be visible once you save the Delivery Note.", 
-   "fieldname": "in_words", 
-   "fieldtype": "Data", 
-   "label": "In Words (Company Currency)", 
-   "no_copy": 0, 
-   "oldfieldname": "in_words", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "200px", 
-   "read_only": 1, 
+   "description": "In Words will be visible once you save the Delivery Note.",
+   "fieldname": "in_words",
+   "fieldtype": "Data",
+   "label": "In Words (Company Currency)",
+   "no_copy": 0,
+   "oldfieldname": "in_words",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "200px",
+   "read_only": 1,
    "width": "200px"
-  }, 
+  },
   {
-   "fieldname": "column_break3", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break3",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "grand_total_export", 
-   "fieldtype": "Currency", 
-   "label": "Grand Total", 
-   "no_copy": 0, 
-   "oldfieldname": "grand_total_export", 
-   "oldfieldtype": "Currency", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_width": "150px", 
-   "read_only": 1, 
-   "reqd": 0, 
+   "fieldname": "grand_total_export",
+   "fieldtype": "Currency",
+   "label": "Grand Total",
+   "no_copy": 0,
+   "oldfieldname": "grand_total_export",
+   "oldfieldtype": "Currency",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 0,
+   "print_width": "150px",
+   "read_only": 1,
+   "reqd": 0,
    "width": "150px"
-  }, 
+  },
   {
-   "fieldname": "rounded_total_export", 
-   "fieldtype": "Currency", 
-   "label": "Rounded Total", 
-   "no_copy": 0, 
-   "oldfieldname": "rounded_total_export", 
-   "oldfieldtype": "Currency", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_width": "150px", 
-   "read_only": 1, 
+   "fieldname": "rounded_total_export",
+   "fieldtype": "Currency",
+   "label": "Rounded Total",
+   "no_copy": 0,
+   "oldfieldname": "rounded_total_export",
+   "oldfieldtype": "Currency",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 0,
+   "print_width": "150px",
+   "read_only": 1,
    "width": "150px"
-  }, 
+  },
   {
-   "description": "In Words (Export) will be visible once you save the Delivery Note.", 
-   "fieldname": "in_words_export", 
-   "fieldtype": "Data", 
-   "label": "In Words", 
-   "no_copy": 0, 
-   "oldfieldname": "in_words_export", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_width": "150px", 
-   "read_only": 1, 
+   "description": "In Words (Export) will be visible once you save the Delivery Note.",
+   "fieldname": "in_words_export",
+   "fieldtype": "Data",
+   "label": "In Words",
+   "no_copy": 0,
+   "oldfieldname": "in_words_export",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 0,
+   "print_width": "150px",
+   "read_only": 1,
    "width": "150px"
-  }, 
+  },
   {
-   "fieldname": "fold", 
-   "fieldtype": "Fold", 
+   "fieldname": "fold",
+   "fieldtype": "Fold",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "terms_section_break", 
-   "fieldtype": "Section Break", 
-   "label": "Terms and Conditions", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-legal", 
-   "permlevel": 0, 
+   "fieldname": "terms_section_break",
+   "fieldtype": "Section Break",
+   "label": "Terms and Conditions",
+   "oldfieldtype": "Section Break",
+   "options": "icon-legal",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "tc_name", 
-   "fieldtype": "Link", 
-   "label": "Terms", 
-   "oldfieldname": "tc_name", 
-   "oldfieldtype": "Link", 
-   "options": "Terms and Conditions", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "tc_name",
+   "fieldtype": "Link",
+   "label": "Terms",
+   "oldfieldname": "tc_name",
+   "oldfieldtype": "Link",
+   "options": "Terms and Conditions",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "terms", 
-   "fieldtype": "Text Editor", 
-   "label": "Terms and Conditions Details", 
-   "oldfieldname": "terms", 
-   "oldfieldtype": "Text Editor", 
-   "permlevel": 0, 
+   "fieldname": "terms",
+   "fieldtype": "Text Editor",
+   "label": "Terms and Conditions Details",
+   "oldfieldname": "terms",
+   "oldfieldtype": "Text Editor",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "transporter_info", 
-   "fieldtype": "Section Break", 
-   "label": "Transporter Info", 
-   "options": "icon-truck", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "transporter_info",
+   "fieldtype": "Section Break",
+   "label": "Transporter Info",
+   "options": "icon-truck",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "transporter_name", 
-   "fieldtype": "Data", 
-   "label": "Transporter Name", 
-   "no_copy": 0, 
-   "oldfieldname": "transporter_name", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "150px", 
-   "read_only": 0, 
-   "reqd": 0, 
+   "fieldname": "transporter_name",
+   "fieldtype": "Data",
+   "label": "Transporter Name",
+   "no_copy": 0,
+   "oldfieldname": "transporter_name",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "150px",
+   "read_only": 0,
+   "reqd": 0,
    "width": "150px"
-  }, 
+  },
   {
-   "fieldname": "col_break34", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
-   "print_width": "50%", 
-   "read_only": 0, 
+   "fieldname": "col_break34",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
+   "print_width": "50%",
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "description": "Transporter lorry number", 
-   "fieldname": "lr_no", 
-   "fieldtype": "Data", 
-   "label": "Vehicle No", 
-   "no_copy": 0, 
-   "oldfieldname": "lr_no", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "100px", 
-   "read_only": 0, 
-   "reqd": 0, 
+   "description": "Transporter lorry number",
+   "fieldname": "lr_no",
+   "fieldtype": "Data",
+   "label": "Vehicle No",
+   "no_copy": 0,
+   "oldfieldname": "lr_no",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "100px",
+   "read_only": 0,
+   "reqd": 0,
    "width": "100px"
-  }, 
+  },
   {
-   "default": "Today", 
-   "description": "Date on which lorry started from your warehouse", 
-   "fieldname": "lr_date", 
-   "fieldtype": "Date", 
-   "label": "Vehicle Dispatch Date", 
-   "no_copy": 0, 
-   "oldfieldname": "lr_date", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "100px", 
-   "read_only": 0, 
+   "default": "Today",
+   "description": "Date on which lorry started from your warehouse",
+   "fieldname": "lr_date",
+   "fieldtype": "Date",
+   "label": "Vehicle Dispatch Date",
+   "no_copy": 0,
+   "oldfieldname": "lr_date",
+   "oldfieldtype": "Date",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "100px",
+   "read_only": 0,
    "width": "100px"
-  }, 
+  },
   {
-   "depends_on": "customer", 
-   "fieldname": "contact_info", 
-   "fieldtype": "Section Break", 
-   "label": "Contact Info", 
-   "options": "icon-bullhorn", 
-   "permlevel": 0, 
+   "depends_on": "customer",
+   "fieldname": "contact_info",
+   "fieldtype": "Section Break",
+   "label": "Contact Info",
+   "options": "icon-bullhorn",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>", 
-   "fieldname": "territory", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "label": "Territory", 
-   "options": "Territory", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 1, 
+   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>",
+   "fieldname": "territory",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "in_filter": 1,
+   "label": "Territory",
+   "options": "Territory",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>", 
-   "fieldname": "customer_group", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Customer Group", 
-   "options": "Customer Group", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>",
+   "fieldname": "customer_group",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Customer Group",
+   "options": "Customer Group",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "col_break21", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
-   "print_width": "50%", 
-   "read_only": 0, 
+   "fieldname": "col_break21",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
+   "print_width": "50%",
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "contact_person", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Contact Person", 
-   "options": "Contact", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "contact_person",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Contact Person",
+   "options": "Contact",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "more_info", 
-   "fieldtype": "Section Break", 
-   "label": "More Info", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-file-text", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "more_info",
+   "fieldtype": "Section Break",
+   "label": "More Info",
+   "oldfieldtype": "Section Break",
+   "options": "icon-file-text",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "description": "Track this Delivery Note against any Project", 
-   "fieldname": "project_name", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Project Name", 
-   "oldfieldname": "project_name", 
-   "oldfieldtype": "Link", 
-   "options": "Project", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "description": "Track this Delivery Note against any Project",
+   "fieldname": "project_name",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Project Name",
+   "oldfieldname": "project_name",
+   "oldfieldtype": "Link",
+   "options": "Project",
+   "permlevel": 0,
+   "read_only": 0,
    "search_index": 1
-  }, 
+  },
   {
-   "depends_on": "eval:doc.source == 'Campaign'", 
-   "fieldname": "campaign", 
-   "fieldtype": "Link", 
-   "label": "Campaign", 
-   "oldfieldname": "campaign", 
-   "oldfieldtype": "Link", 
-   "options": "Campaign", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "depends_on": "eval:doc.source == 'Campaign'",
+   "fieldname": "campaign",
+   "fieldtype": "Link",
+   "label": "Campaign",
+   "oldfieldname": "campaign",
+   "oldfieldtype": "Link",
+   "options": "Campaign",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "source", 
-   "fieldtype": "Select", 
-   "label": "Source", 
-   "oldfieldname": "source", 
-   "oldfieldtype": "Select", 
-   "options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "source",
+   "fieldtype": "Select",
+   "label": "Source",
+   "oldfieldname": "source",
+   "oldfieldtype": "Select",
+   "options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "column_break5", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "50%", 
-   "read_only": 0, 
+   "fieldname": "column_break5",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "50%",
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "description": "Time at which items were delivered from warehouse", 
-   "fieldname": "posting_time", 
-   "fieldtype": "Time", 
-   "in_filter": 0, 
-   "label": "Posting Time", 
-   "oldfieldname": "posting_time", 
-   "oldfieldtype": "Time", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "100px", 
-   "read_only": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
+   "description": "Time at which items were delivered from warehouse",
+   "fieldname": "posting_time",
+   "fieldtype": "Time",
+   "in_filter": 0,
+   "label": "Posting Time",
+   "oldfieldname": "posting_time",
+   "oldfieldtype": "Time",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "100px",
+   "read_only": 0,
+   "reqd": 1,
+   "search_index": 0,
    "width": "100px"
-  }, 
+  },
   {
-   "fieldname": "fiscal_year", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Fiscal Year", 
-   "oldfieldname": "fiscal_year", 
-   "oldfieldtype": "Select", 
-   "options": "Fiscal Year", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "150px", 
-   "read_only": 0, 
-   "reqd": 1, 
-   "search_index": 1, 
+   "fieldname": "fiscal_year",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Fiscal Year",
+   "oldfieldname": "fiscal_year",
+   "oldfieldtype": "Select",
+   "options": "Fiscal Year",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "150px",
+   "read_only": 0,
+   "reqd": 1,
+   "search_index": 1,
    "width": "150px"
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "letter_head", 
-   "fieldtype": "Link", 
-   "label": "Letter Head", 
-   "oldfieldname": "letter_head", 
-   "oldfieldtype": "Link", 
-   "options": "Letter Head", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "allow_on_submit": 1,
+   "fieldname": "letter_head",
+   "fieldtype": "Link",
+   "label": "Letter Head",
+   "oldfieldname": "letter_head",
+   "oldfieldtype": "Link",
+   "options": "Letter Head",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "select_print_heading", 
-   "fieldtype": "Link", 
-   "label": "Print Heading", 
-   "no_copy": 1, 
-   "oldfieldname": "select_print_heading", 
-   "oldfieldtype": "Link", 
-   "options": "Print Heading", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "allow_on_submit": 1,
+   "fieldname": "select_print_heading",
+   "fieldtype": "Link",
+   "label": "Print Heading",
+   "no_copy": 1,
+   "oldfieldname": "select_print_heading",
+   "oldfieldtype": "Link",
+   "options": "Print Heading",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "report_hide": 1
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "print_without_amount", 
-   "fieldtype": "Check", 
-   "label": "Print Without Amount", 
-   "oldfieldname": "print_without_amount", 
-   "oldfieldtype": "Check", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "allow_on_submit": 1,
+   "fieldname": "print_without_amount",
+   "fieldtype": "Check",
+   "label": "Print Without Amount",
+   "oldfieldname": "print_without_amount",
+   "oldfieldtype": "Check",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "section_break_83", 
-   "fieldtype": "Section Break", 
+   "fieldname": "section_break_83",
+   "fieldtype": "Section Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "default": "Draft", 
-   "fieldname": "status", 
-   "fieldtype": "Select", 
-   "in_filter": 1, 
-   "label": "Status", 
-   "no_copy": 1, 
-   "oldfieldname": "status", 
-   "oldfieldtype": "Select", 
-   "options": "\nDraft\nSubmitted\nCancelled", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "150px", 
-   "read_only": 1, 
-   "reqd": 1, 
-   "search_index": 1, 
+   "default": "Draft",
+   "fieldname": "status",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "label": "Status",
+   "no_copy": 1,
+   "oldfieldname": "status",
+   "oldfieldtype": "Select",
+   "options": "\nDraft\nSubmitted\nCancelled",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "150px",
+   "read_only": 1,
+   "reqd": 1,
+   "search_index": 1,
    "width": "150px"
-  }, 
+  },
   {
-   "depends_on": "eval:!doc.__islocal", 
-   "description": "% of materials delivered against this Delivery Note", 
-   "fieldname": "per_installed", 
-   "fieldtype": "Percent", 
-   "in_filter": 1, 
-   "in_list_view": 1, 
-   "label": "% Installed", 
-   "no_copy": 1, 
-   "oldfieldname": "per_installed", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "depends_on": "eval:!doc.__islocal",
+   "description": "% of materials delivered against this Delivery Note",
+   "fieldname": "per_installed",
+   "fieldtype": "Percent",
+   "in_filter": 1,
+   "in_list_view": 1,
+   "label": "% Installed",
+   "no_copy": 1,
+   "oldfieldname": "per_installed",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "installation_status", 
-   "fieldtype": "Select", 
-   "hidden": 1, 
-   "label": "Installation Status", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "installation_status",
+   "fieldtype": "Select",
+   "hidden": 1,
+   "label": "Installation Status",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "column_break_89", 
-   "fieldtype": "Column Break", 
+   "fieldname": "column_break_89",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "description": "Required only for sample item.", 
-   "fieldname": "to_warehouse", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "label": "To Warehouse", 
-   "no_copy": 1, 
-   "oldfieldname": "to_warehouse", 
-   "oldfieldtype": "Link", 
-   "options": "Warehouse", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "description": "Required only for sample item.",
+   "fieldname": "to_warehouse",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "label": "To Warehouse",
+   "no_copy": 1,
+   "oldfieldname": "to_warehouse",
+   "oldfieldtype": "Link",
+   "options": "Warehouse",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "excise_page", 
-   "fieldtype": "Data", 
-   "hidden": 1, 
-   "label": "Excise Page Number", 
-   "oldfieldname": "excise_page", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "excise_page",
+   "fieldtype": "Data",
+   "hidden": 1,
+   "label": "Excise Page Number",
+   "oldfieldname": "excise_page",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "instructions", 
-   "fieldtype": "Text", 
-   "label": "Instructions", 
-   "oldfieldname": "instructions", 
-   "oldfieldtype": "Text", 
-   "permlevel": 0, 
+   "fieldname": "instructions",
+   "fieldtype": "Text",
+   "label": "Instructions",
+   "oldfieldname": "instructions",
+   "oldfieldtype": "Text",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "sales_team_section_break", 
-   "fieldtype": "Section Break", 
-   "label": "Sales Team", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-group", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "sales_team_section_break",
+   "fieldtype": "Section Break",
+   "label": "Sales Team",
+   "oldfieldtype": "Section Break",
+   "options": "icon-group",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "sales_partner", 
-   "fieldtype": "Link", 
-   "label": "Sales Partner", 
-   "no_copy": 0, 
-   "oldfieldname": "sales_partner", 
-   "oldfieldtype": "Link", 
-   "options": "Sales Partner", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "150px", 
-   "read_only": 0, 
+   "fieldname": "sales_partner",
+   "fieldtype": "Link",
+   "label": "Sales Partner",
+   "no_copy": 0,
+   "oldfieldname": "sales_partner",
+   "oldfieldtype": "Link",
+   "options": "Sales Partner",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "150px",
+   "read_only": 0,
    "width": "150px"
-  }, 
+  },
   {
-   "fieldname": "column_break7", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "50%", 
-   "read_only": 0, 
+   "fieldname": "column_break7",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "50%",
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "commission_rate", 
-   "fieldtype": "Float", 
-   "label": "Commission Rate (%)", 
-   "no_copy": 0, 
-   "oldfieldname": "commission_rate", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_width": "100px", 
-   "read_only": 0, 
+   "fieldname": "commission_rate",
+   "fieldtype": "Float",
+   "label": "Commission Rate (%)",
+   "no_copy": 0,
+   "oldfieldname": "commission_rate",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "print_width": "100px",
+   "read_only": 0,
    "width": "100px"
-  }, 
+  },
   {
-   "fieldname": "total_commission", 
-   "fieldtype": "Currency", 
-   "label": "Total Commission", 
-   "no_copy": 0, 
-   "oldfieldname": "total_commission", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "total_commission",
+   "fieldtype": "Currency",
+   "label": "Total Commission",
+   "no_copy": 0,
+   "oldfieldname": "total_commission",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "section_break1", 
-   "fieldtype": "Section Break", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "section_break1",
+   "fieldtype": "Section Break",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "sales_team", 
-   "fieldtype": "Table", 
-   "label": "Sales Team1", 
-   "oldfieldname": "sales_team", 
-   "oldfieldtype": "Table", 
-   "options": "Sales Team", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "sales_team",
+   "fieldtype": "Table",
+   "label": "Sales Team1",
+   "oldfieldname": "sales_team",
+   "oldfieldtype": "Table",
+   "options": "Sales Team",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
   }
- ], 
- "hide_toolbar": 0, 
- "icon": "icon-truck", 
- "idx": 1, 
- "in_create": 0, 
- "is_submittable": 1, 
- "modified": "2014-09-09 05:35:30.700911", 
- "modified_by": "Administrator", 
- "module": "Stock", 
- "name": "Delivery Note", 
- "owner": "Administrator", 
+ ],
+ "hide_toolbar": 0,
+ "icon": "icon-truck",
+ "idx": 1,
+ "in_create": 0,
+ "is_submittable": 1,
+ "modified": "2014-12-24 14:26:18.627591",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Delivery Note",
+ "owner": "Administrator",
  "permissions": [
   {
-   "amend": 1, 
-   "apply_user_permissions": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Material User", 
-   "submit": 1, 
+   "amend": 1,
+   "apply_user_permissions": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Material User",
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "amend": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Material Manager", 
-   "submit": 1, 
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Material Manager",
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "amend": 1, 
-   "apply_user_permissions": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales User", 
-   "submit": 1, 
+   "amend": 1,
+   "apply_user_permissions": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales User",
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "apply_user_permissions": 1, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 0, 
-   "permlevel": 0, 
-   "print": 0, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Accounts User", 
-   "submit": 0, 
+   "apply_user_permissions": 1,
+   "cancel": 0,
+   "create": 0,
+   "delete": 0,
+   "email": 0,
+   "permlevel": 0,
+   "print": 0,
+   "read": 1,
+   "report": 1,
+   "role": "Accounts User",
+   "submit": 0,
    "write": 0
-  }, 
+  },
   {
-   "apply_user_permissions": 1, 
-   "cancel": 0, 
-   "delete": 0, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
+   "apply_user_permissions": 1,
+   "cancel": 0,
+   "delete": 0,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
    "role": "Customer"
-  }, 
+  },
   {
-   "permlevel": 1, 
-   "read": 1, 
-   "role": "Material Manager", 
+   "permlevel": 1,
+   "read": 1,
+   "role": "Material Manager",
    "write": 1
   }
- ], 
- "read_only_onload": 1, 
- "search_fields": "status,customer,customer_name, territory,grand_total", 
- "sort_field": "modified", 
+ ],
+ "read_only_onload": 1,
+ "search_fields": "status,customer,customer_name, territory,grand_total",
+ "sort_field": "modified",
  "sort_order": "DESC"
-}
\ No newline at end of file
+}
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index 5d868d0..4c73b3b 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -13,13 +13,10 @@
 from erpnext.controllers.selling_controller import SellingController
 
 form_grid_templates = {
-	"delivery_note_details": "templates/form_grid/item_grid.html"
+	"items": "templates/form_grid/item_grid.html"
 }
 
 class DeliveryNote(SellingController):
-	tname = 'Delivery Note Item'
-	fname = 'delivery_note_details'
-
 	def __init__(self, arg1, arg2=None):
 		super(DeliveryNote, self).__init__(arg1, arg2)
 		self.status_updater = [{
@@ -38,7 +35,7 @@
 			'second_source_field': 'qty',
 			'second_join_field': 'so_detail',
 			'overflow_type': 'delivery',
-			'second_source_extra_cond': """ and exists(select name from `tabSales Invoice` 
+			'second_source_extra_cond': """ and exists(select name from `tabSales Invoice`
 				where name=`tabSales Invoice Item`.parent and ifnull(update_stock, 0) = 1)"""
 		},
 		{
@@ -57,7 +54,7 @@
 		billed_qty = frappe.db.sql("""select sum(ifnull(qty, 0)) from `tabSales Invoice Item`
 			where docstatus=1 and delivery_note=%s""", self.name)
 		if billed_qty:
-			total_qty = sum((item.qty for item in self.get("delivery_note_details")))
+			total_qty = sum((item.qty for item in self.get("items")))
 			self.get("__onload").billing_complete = (billed_qty[0][0] == total_qty)
 
 	def before_print(self):
@@ -82,7 +79,7 @@
 		return "shipment" if self.docstatus==1 else None
 
 	def set_actual_qty(self):
-		for d in self.get('delivery_note_details'):
+		for d in self.get('items'):
 			if d.item_code and d.warehouse:
 				actual_qty = frappe.db.sql("""select actual_qty from `tabBin`
 					where item_code = %s and warehouse = %s""", (d.item_code, d.warehouse))
@@ -91,7 +88,7 @@
 	def so_required(self):
 		"""check in manage account if sales order required or not"""
 		if frappe.db.get_value("Selling Settings", None, 'so_required') == 'Yes':
-			 for d in self.get('delivery_note_details'):
+			 for d in self.get('items'):
 				 if not d.against_sales_order:
 					 frappe.throw(_("Sales Order required for Item {0}").format(d.item_code))
 
@@ -110,7 +107,7 @@
 		self.validate_with_previous_doc()
 
 		from erpnext.stock.doctype.packed_item.packed_item import make_packing_list
-		make_packing_list(self, 'delivery_note_details')
+		make_packing_list(self, 'items')
 
 		self.update_current_stock()
 
@@ -118,11 +115,11 @@
 		if not self.installation_status: self.installation_status = 'Not Installed'
 
 	def validate_with_previous_doc(self):
-		items = self.get("delivery_note_details")
+		items = self.get("items")
 
 		for fn in (("Sales Order", "against_sales_order"), ("Sales Invoice", "against_sales_invoice")):
 			if filter(None, [getattr(d, fn[1], None) for d in items]):
-				super(DeliveryNote, self).validate_with_previous_doc(self.tname, {
+				super(DeliveryNote, self).validate_with_previous_doc({
 					fn[0]: {
 						"ref_dn_field": fn[1],
 						"compare_fields": [["customer", "="], ["company", "="], ["project_name", "="],
@@ -131,7 +128,7 @@
 				})
 
 				if cint(frappe.defaults.get_global_default('maintain_same_sales_rate')):
-					super(DeliveryNote, self).validate_with_previous_doc(self.tname, {
+					super(DeliveryNote, self).validate_with_previous_doc({
 						fn[0] + " Item": {
 							"ref_dn_field": "so_detail",
 							"compare_fields": [["rate", "="]],
@@ -150,7 +147,7 @@
 
 	def validate_for_items(self):
 		check_list, chk_dupl_itm = [], []
-		for d in self.get('delivery_note_details'):
+		for d in self.get('items'):
 			e = [d.item_code, d.description, d.warehouse, d.against_sales_order or d.against_sales_invoice, d.batch_no or '']
 			f = [d.item_code, d.description, d.against_sales_order or d.against_sales_invoice]
 
@@ -174,11 +171,11 @@
 
 	def update_current_stock(self):
 		if self.get("_action") and self._action != "update_after_submit":
-			for d in self.get('delivery_note_details'):
+			for d in self.get('items'):
 				d.actual_qty = frappe.db.get_value("Bin", {"item_code": d.item_code,
 					"warehouse": d.warehouse}, "actual_qty")
 
-			for d in self.get('packing_details'):
+			for d in self.get('packed_items'):
 				bin_qty = frappe.db.get_value("Bin", {"item_code": d.item_code,
 					"warehouse": d.warehouse}, ["actual_qty", "projected_qty"], as_dict=True)
 				if bin_qty:
@@ -222,10 +219,10 @@
 		"""
 			Validate that if packed qty exists, it should be equal to qty
 		"""
-		if not any([flt(d.get('packed_qty')) for d in self.get(self.fname)]):
+		if not any([flt(d.get('packed_qty')) for d in self.get("items")]):
 			return
 		has_error = False
-		for d in self.get(self.fname):
+		for d in self.get("items"):
 			if flt(d.get('qty')) != flt(d.get('packed_qty')):
 				frappe.msgprint(_("Packed quantity must equal quantity for Item {0} in row {1}").format(d.item_code, d.idx))
 				has_error = True
@@ -312,7 +309,7 @@
 		target.ignore_pricing_rule = 1
 		target.run_method("set_missing_values")
 
-		if len(target.get("entries")) == 0:
+		if len(target.get("items")) == 0:
 			frappe.throw(_("All these items have already been invoiced"))
 
 		target.run_method("calculate_taxes_and_totals")
diff --git a/erpnext/stock/doctype/delivery_note/test_delivery_note.py b/erpnext/stock/doctype/delivery_note/test_delivery_note.py
index d9ade7a..793dcc2 100644
--- a/erpnext/stock/doctype/delivery_note/test_delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/test_delivery_note.py
@@ -11,10 +11,10 @@
 
 def _insert_purchase_receipt(item_code=None):
 	if not item_code:
-		item_code = pr_test_records[0]["purchase_receipt_details"][0]["item_code"]
+		item_code = pr_test_records[0]["items"][0]["item_code"]
 
 	pr = frappe.copy_doc(pr_test_records[0])
-	pr.get("purchase_receipt_details")[0].item_code = item_code
+	pr.get("items")[0].item_code = item_code
 	pr.insert()
 	pr.submit()
 
@@ -34,10 +34,10 @@
 		dn.submit()
 		si = make_sales_invoice(dn.name)
 
-		self.assertEquals(len(si.get("entries")), len(dn.get("delivery_note_details")))
+		self.assertEquals(len(si.get("items")), len(dn.get("items")))
 
 		# modify amount
-		si.get("entries")[0].rate = 200
+		si.get("items")[0].rate = 200
 		self.assertRaises(frappe.ValidationError, frappe.get_doc(si).insert)
 
 
@@ -69,11 +69,11 @@
 		_insert_purchase_receipt()
 
 		dn = frappe.copy_doc(test_records[0])
-		dn.get("delivery_note_details")[0].expense_account = "Cost of Goods Sold - _TC"
-		dn.get("delivery_note_details")[0].cost_center = "Main - _TC"
+		dn.get("items")[0].expense_account = "Cost of Goods Sold - _TC"
+		dn.get("items")[0].cost_center = "Main - _TC"
 
 		stock_in_hand_account = frappe.db.get_value("Account",
-			{"warehouse": dn.get("delivery_note_details")[0].warehouse})
+			{"warehouse": dn.get("items")[0].warehouse})
 
 		from erpnext.accounts.utils import get_balance_on
 		prev_bal = get_balance_on(stock_in_hand_account, dn.posting_date)
@@ -97,8 +97,8 @@
 		# back dated purchase receipt
 		pr = frappe.copy_doc(pr_test_records[0])
 		pr.posting_date = "2013-01-01"
-		pr.get("purchase_receipt_details")[0].rate = 100
-		pr.get("purchase_receipt_details")[0].base_amount = 100
+		pr.get("items")[0].rate = 100
+		pr.get("items")[0].base_amount = 100
 
 		pr.insert()
 		pr.submit()
@@ -124,11 +124,11 @@
 		_insert_purchase_receipt("_Test Item Home Desktop 100")
 
 		dn = frappe.copy_doc(test_records[0])
-		dn.get("delivery_note_details")[0].item_code = "_Test Sales BOM Item"
-		dn.get("delivery_note_details")[0].qty = 1
+		dn.get("items")[0].item_code = "_Test Sales BOM Item"
+		dn.get("items")[0].qty = 1
 
 		stock_in_hand_account = frappe.db.get_value("Account",
-			{"warehouse": dn.get("delivery_note_details")[0].warehouse})
+			{"warehouse": dn.get("items")[0].warehouse})
 
 		from erpnext.accounts.utils import get_balance_on
 		prev_bal = get_balance_on(stock_in_hand_account, dn.posting_date)
@@ -160,12 +160,12 @@
 		from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
 
 		se = make_serialized_item()
-		serial_nos = get_serial_nos(se.get("mtn_details")[0].serial_no)
+		serial_nos = get_serial_nos(se.get("items")[0].serial_no)
 
 		dn = frappe.copy_doc(test_records[0])
-		dn.get("delivery_note_details")[0].item_code = "_Test Serialized Item With Series"
-		dn.get("delivery_note_details")[0].qty = 1
-		dn.get("delivery_note_details")[0].serial_no = serial_nos[0]
+		dn.get("items")[0].item_code = "_Test Serialized Item With Series"
+		dn.get("items")[0].qty = 1
+		dn.get("items")[0].serial_no = serial_nos[0]
 		dn.insert()
 		dn.submit()
 
@@ -181,7 +181,7 @@
 		dn = self.test_serialized()
 		dn.cancel()
 
-		serial_nos = get_serial_nos(dn.get("delivery_note_details")[0].serial_no)
+		serial_nos = get_serial_nos(dn.get("items")[0].serial_no)
 
 		self.assertEquals(frappe.db.get_value("Serial No", serial_nos[0], "status"), "Available")
 		self.assertEquals(frappe.db.get_value("Serial No", serial_nos[0], "warehouse"), "_Test Warehouse - _TC")
@@ -193,16 +193,16 @@
 		from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
 
 		se = make_serialized_item()
-		serial_nos = get_serial_nos(se.get("mtn_details")[0].serial_no)
+		serial_nos = get_serial_nos(se.get("items")[0].serial_no)
 
 		sr = frappe.get_doc("Serial No", serial_nos[0])
 		sr.status = "Not Available"
 		sr.save()
 
 		dn = frappe.copy_doc(test_records[0])
-		dn.get("delivery_note_details")[0].item_code = "_Test Serialized Item With Series"
-		dn.get("delivery_note_details")[0].qty = 1
-		dn.get("delivery_note_details")[0].serial_no = serial_nos[0]
+		dn.get("items")[0].item_code = "_Test Serialized Item With Series"
+		dn.get("items")[0].qty = 1
+		dn.get("items")[0].serial_no = serial_nos[0]
 		dn.insert()
 
 		self.assertRaises(SerialNoStatusError, dn.submit)
diff --git a/erpnext/stock/doctype/delivery_note/test_records.json b/erpnext/stock/doctype/delivery_note/test_records.json
index 3127a08..803e864 100644
--- a/erpnext/stock/doctype/delivery_note/test_records.json
+++ b/erpnext/stock/doctype/delivery_note/test_records.json
@@ -5,7 +5,7 @@
   "currency": "INR", 
   "customer": "_Test Customer", 
   "customer_name": "_Test Customer", 
-  "delivery_note_details": [
+  "items": [
    {
     "base_amount": 500.0, 
     "base_rate": 100.0, 
@@ -15,7 +15,7 @@
     "expense_account": "Cost of Goods Sold - _TC", 
     "item_code": "_Test Item", 
     "item_name": "_Test Item", 
-    "parentfield": "delivery_note_details", 
+    "parentfield": "items", 
     "qty": 5.0, 
     "rate": 100.0, 
     "stock_uom": "_Test UOM", 
diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js
index 096c1e8..4e82c55 100644
--- a/erpnext/stock/doctype/item/item.js
+++ b/erpnext/stock/doctype/item/item.js
@@ -127,7 +127,7 @@
 }
 
 
-cur_frm.fields_dict['item_tax'].grid.get_field("tax_type").get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['taxes'].grid.get_field("tax_type").get_query = function(doc, cdt, cdn) {
 	return {
 		filters: [
 			['Account', 'account_type', 'in',
@@ -139,7 +139,7 @@
 
 cur_frm.cscript.tax_type = function(doc, cdt, cdn){
 	var d = locals[cdt][cdn];
-	return get_server_fields('get_tax_rate', d.tax_type, 'item_tax', doc, cdt, cdn, 1);
+	return get_server_fields('get_tax_rate', d.tax_type, 'taxes', doc, cdt, cdn, 1);
 }
 
 cur_frm.fields_dict['item_group'].get_query = function(doc,cdt,cdn) {
@@ -178,11 +178,11 @@
 	cur_frm.cscript.weight_to_validate(doc, cdt, cdn);
 }
 
-cur_frm.fields_dict.item_customer_details.grid.get_field("customer_name").get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict.customer_items.grid.get_field("customer_name").get_query = function(doc, cdt, cdn) {
 	return { query: "erpnext.controllers.queries.customer_query" }
 }
 
-cur_frm.fields_dict.item_supplier_details.grid.get_field("supplier").get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict.supplier_items.grid.get_field("supplier").get_query = function(doc, cdt, cdn) {
 	return { query: "erpnext.controllers.queries.supplier_query" }
 }
 
diff --git a/erpnext/stock/doctype/item/item.json b/erpnext/stock/doctype/item/item.json
index 5145f48..2100885 100644
--- a/erpnext/stock/doctype/item/item.json
+++ b/erpnext/stock/doctype/item/item.json
@@ -1,957 +1,957 @@
 {
- "allow_import": 1, 
- "allow_rename": 1, 
- "autoname": "field:item_code", 
- "creation": "2013-05-03 10:45:46", 
- "default_print_format": "Standard", 
- "description": "A Product or a Service that is bought, sold or kept in stock.", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Master", 
+ "allow_import": 1,
+ "allow_rename": 1,
+ "autoname": "field:item_code",
+ "creation": "2013-05-03 10:45:46",
+ "default_print_format": "Standard",
+ "description": "A Product or a Service that is bought, sold or kept in stock.",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Master",
  "fields": [
   {
-   "fieldname": "name_and_description_section", 
-   "fieldtype": "Section Break", 
-   "label": "Name and Description", 
-   "no_copy": 0, 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-flag", 
-   "permlevel": 0, 
+   "fieldname": "name_and_description_section",
+   "fieldtype": "Section Break",
+   "label": "Name and Description",
+   "no_copy": 0,
+   "oldfieldtype": "Section Break",
+   "options": "icon-flag",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "naming_series", 
-   "fieldtype": "Select", 
-   "label": "Series", 
-   "options": "ITEM-", 
-   "permlevel": 0, 
+   "fieldname": "naming_series",
+   "fieldtype": "Select",
+   "label": "Series",
+   "options": "ITEM-",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "description": "Item will be saved by this name in the data base.", 
-   "fieldname": "item_code", 
-   "fieldtype": "Data", 
-   "in_filter": 0, 
-   "label": "Item Code", 
-   "no_copy": 1, 
-   "oldfieldname": "item_code", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "read_only": 0, 
-   "reqd": 0, 
+   "description": "Item will be saved by this name in the data base.",
+   "fieldname": "item_code",
+   "fieldtype": "Data",
+   "in_filter": 0,
+   "label": "Item Code",
+   "no_copy": 1,
+   "oldfieldname": "item_code",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "read_only": 0,
+   "reqd": 0,
    "search_index": 0
-  }, 
+  },
   {
-   "depends_on": "variant_of", 
-   "description": "If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified", 
-   "fieldname": "variant_of", 
-   "fieldtype": "Link", 
-   "label": "Variant Of", 
-   "options": "Item", 
-   "permlevel": 0, 
-   "precision": "", 
+   "depends_on": "variant_of",
+   "description": "If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified",
+   "fieldname": "variant_of",
+   "fieldtype": "Link",
+   "label": "Variant Of",
+   "options": "Item",
+   "permlevel": 0,
+   "precision": "",
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "item_name", 
-   "fieldtype": "Data", 
-   "in_filter": 1, 
-   "in_list_view": 1, 
-   "label": "Item Name", 
-   "oldfieldname": "item_name", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "read_only": 0, 
-   "reqd": 1, 
+   "fieldname": "item_name",
+   "fieldtype": "Data",
+   "in_filter": 1,
+   "in_list_view": 1,
+   "label": "Item Name",
+   "oldfieldname": "item_name",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "read_only": 0,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "description": "<a href=\"#Sales Browser/Item Group\">Add / Edit</a>", 
-   "fieldname": "item_group", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Item Group", 
-   "oldfieldname": "item_group", 
-   "oldfieldtype": "Link", 
-   "options": "Item Group", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "description": "<a href=\"#Sales Browser/Item Group\">Add / Edit</a>",
+   "fieldname": "item_group",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Item Group",
+   "oldfieldname": "item_group",
+   "oldfieldtype": "Link",
+   "options": "Item Group",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "description": "Unit of measurement of this item (e.g. Kg, Unit, No, Pair).", 
-   "fieldname": "stock_uom", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Default Unit of Measure", 
-   "oldfieldname": "stock_uom", 
-   "oldfieldtype": "Link", 
-   "options": "UOM", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "description": "Unit of measurement of this item (e.g. Kg, Unit, No, Pair).",
+   "fieldname": "stock_uom",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Default Unit of Measure",
+   "oldfieldname": "stock_uom",
+   "oldfieldtype": "Link",
+   "options": "UOM",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "brand", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "label": "Brand", 
-   "oldfieldname": "brand", 
-   "oldfieldtype": "Link", 
-   "options": "Brand", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "fieldname": "brand",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "label": "Brand",
+   "oldfieldname": "brand",
+   "oldfieldtype": "Link",
+   "options": "Brand",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "reqd": 0
-  }, 
+  },
   {
-   "fieldname": "barcode", 
-   "fieldtype": "Data", 
-   "label": "Barcode", 
-   "permlevel": 0, 
+   "fieldname": "barcode",
+   "fieldtype": "Data",
+   "label": "Barcode",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "description", 
-   "fieldtype": "Small Text", 
-   "in_filter": 0, 
-   "in_list_view": 1, 
-   "label": "Description", 
-   "oldfieldname": "description", 
-   "oldfieldtype": "Text", 
-   "permlevel": 0, 
-   "read_only": 0, 
-   "reqd": 1, 
+   "fieldname": "description",
+   "fieldtype": "Small Text",
+   "in_filter": 0,
+   "in_list_view": 1,
+   "label": "Description",
+   "oldfieldname": "description",
+   "oldfieldtype": "Text",
+   "permlevel": 0,
+   "read_only": 0,
+   "reqd": 1,
    "search_index": 0
-  }, 
+  },
   {
-   "fieldname": "column_break0", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break0",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "image", 
-   "fieldtype": "Attach", 
-   "label": "Image", 
-   "options": "", 
-   "permlevel": 0, 
+   "fieldname": "image",
+   "fieldtype": "Attach",
+   "label": "Image",
+   "options": "",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "image_view", 
-   "fieldtype": "Image", 
-   "in_list_view": 1, 
-   "label": "Image View", 
-   "options": "image", 
-   "permlevel": 0, 
+   "fieldname": "image_view",
+   "fieldtype": "Image",
+   "in_list_view": 1,
+   "label": "Image View",
+   "options": "image",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "description_html", 
-   "fieldtype": "Small Text", 
-   "label": "Description HTML", 
-   "permlevel": 0, 
+   "fieldname": "description_html",
+   "fieldtype": "Small Text",
+   "label": "Description HTML",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "description": "Generates HTML to include selected image in the description", 
-   "fieldname": "add_image", 
-   "fieldtype": "Button", 
-   "label": "Generate Description HTML", 
-   "permlevel": 0, 
+   "description": "Generates HTML to include selected image in the description",
+   "fieldname": "add_image",
+   "fieldtype": "Button",
+   "label": "Generate Description HTML",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "variants", 
-   "fieldtype": "Section Break", 
-   "label": "Variants", 
-   "permlevel": 0, 
+   "fieldname": "variants_section",
+   "fieldtype": "Section Break",
+   "label": "Variants",
+   "permlevel": 0,
    "precision": ""
-  }, 
+  },
   {
-   "description": "Automatically set. If this item has variants, then it cannot be selected in sales orders etc.", 
-   "fieldname": "has_variants", 
-   "fieldtype": "Check", 
-   "label": "Has Variants", 
-   "options": "", 
-   "permlevel": 0, 
-   "precision": "", 
+   "description": "Automatically set. If this item has variants, then it cannot be selected in sales orders etc.",
+   "fieldname": "has_variants",
+   "fieldtype": "Check",
+   "label": "Has Variants",
+   "options": "",
+   "permlevel": 0,
+   "precision": "",
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "has_variants", 
-   "description": "A new variant (Item) will be created for each attribute value combination", 
-   "fieldname": "item_variants", 
-   "fieldtype": "Table", 
-   "label": "Item Variants", 
-   "options": "Item Variant", 
-   "permlevel": 0, 
+   "depends_on": "has_variants",
+   "description": "A new variant (Item) will be created for each attribute value combination",
+   "fieldname": "variants",
+   "fieldtype": "Table",
+   "label": "Variants",
+   "options": "Item Variant",
+   "permlevel": 0,
    "precision": ""
-  }, 
+  },
   {
-   "fieldname": "inventory", 
-   "fieldtype": "Section Break", 
-   "label": "Inventory", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-truck", 
-   "permlevel": 0, 
+   "fieldname": "inventory",
+   "fieldtype": "Section Break",
+   "label": "Inventory",
+   "oldfieldtype": "Section Break",
+   "options": "icon-truck",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "default": "Yes", 
-   "description": "Select \"Yes\" if you are maintaining stock of this item in your Inventory.", 
-   "fieldname": "is_stock_item", 
-   "fieldtype": "Select", 
-   "label": "Is Stock Item", 
-   "oldfieldname": "is_stock_item", 
-   "oldfieldtype": "Select", 
-   "options": "Yes\nNo", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "default": "Yes",
+   "description": "Select \"Yes\" if you are maintaining stock of this item in your Inventory.",
+   "fieldname": "is_stock_item",
+   "fieldtype": "Select",
+   "label": "Is Stock Item",
+   "oldfieldname": "is_stock_item",
+   "oldfieldtype": "Select",
+   "options": "Yes\nNo",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "depends_on": "", 
-   "description": "Mandatory if Stock Item is \"Yes\". Also the default warehouse where reserved quantity is set from Sales Order.", 
-   "fieldname": "default_warehouse", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Default Warehouse", 
-   "oldfieldname": "default_warehouse", 
-   "oldfieldtype": "Link", 
-   "options": "Warehouse", 
-   "permlevel": 0, 
+   "depends_on": "",
+   "description": "Mandatory if Stock Item is \"Yes\". Also the default warehouse where reserved quantity is set from Sales Order.",
+   "fieldname": "default_warehouse",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Default Warehouse",
+   "oldfieldname": "default_warehouse",
+   "oldfieldtype": "Link",
+   "options": "Warehouse",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "description": "Percentage variation in quantity to be allowed while receiving or delivering this item.", 
-   "fieldname": "tolerance", 
-   "fieldtype": "Float", 
-   "label": "Allowance Percent", 
-   "oldfieldname": "tolerance", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "description": "Percentage variation in quantity to be allowed while receiving or delivering this item.",
+   "fieldname": "tolerance",
+   "fieldtype": "Float",
+   "label": "Allowance Percent",
+   "oldfieldname": "tolerance",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "fieldname": "valuation_method", 
-   "fieldtype": "Select", 
-   "label": "Valuation Method", 
-   "options": "\nFIFO\nMoving Average", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "fieldname": "valuation_method",
+   "fieldtype": "Select",
+   "label": "Valuation Method",
+   "options": "\nFIFO\nMoving Average",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "default": "0.00", 
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "description": "You can enter the minimum quantity of this item to be ordered.", 
-   "fieldname": "min_order_qty", 
-   "fieldtype": "Float", 
-   "hidden": 0, 
-   "label": "Minimum Order Qty", 
-   "oldfieldname": "min_order_qty", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
+   "default": "0.00",
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "description": "You can enter the minimum quantity of this item to be ordered.",
+   "fieldname": "min_order_qty",
+   "fieldtype": "Float",
+   "hidden": 0,
+   "label": "Minimum Order Qty",
+   "oldfieldname": "min_order_qty",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "fieldname": "column_break1", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "fieldname": "column_break1",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "default": "No", 
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "description": "Select \"Yes\" if this item is used for some internal purpose in your company.", 
-   "fieldname": "is_asset_item", 
-   "fieldtype": "Select", 
-   "label": "Is Fixed Asset Item", 
-   "oldfieldname": "is_asset_item", 
-   "oldfieldtype": "Select", 
-   "options": "Yes\nNo", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "default": "No",
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "description": "Select \"Yes\" if this item is used for some internal purpose in your company.",
+   "fieldname": "is_asset_item",
+   "fieldtype": "Select",
+   "label": "Is Fixed Asset Item",
+   "oldfieldname": "is_asset_item",
+   "oldfieldtype": "Select",
+   "options": "Yes\nNo",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "default": "No", 
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "fieldname": "has_batch_no", 
-   "fieldtype": "Select", 
-   "label": "Has Batch No", 
-   "oldfieldname": "has_batch_no", 
-   "oldfieldtype": "Select", 
-   "options": "Yes\nNo", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "default": "No",
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "fieldname": "has_batch_no",
+   "fieldtype": "Select",
+   "label": "Has Batch No",
+   "oldfieldname": "has_batch_no",
+   "oldfieldtype": "Select",
+   "options": "Yes\nNo",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "default": "No", 
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "description": "Selecting \"Yes\" will give a unique identity to each entity of this item which can be viewed in the Serial No master.", 
-   "fieldname": "has_serial_no", 
-   "fieldtype": "Select", 
-   "in_filter": 1, 
-   "label": "Has Serial No", 
-   "oldfieldname": "has_serial_no", 
-   "oldfieldtype": "Select", 
-   "options": "Yes\nNo", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "default": "No",
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "description": "Selecting \"Yes\" will give a unique identity to each entity of this item which can be viewed in the Serial No master.",
+   "fieldname": "has_serial_no",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "label": "Has Serial No",
+   "oldfieldname": "has_serial_no",
+   "oldfieldtype": "Select",
+   "options": "Yes\nNo",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "depends_on": "eval: doc.has_serial_no===\"Yes\"", 
-   "description": "Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.", 
-   "fieldname": "serial_no_series", 
-   "fieldtype": "Data", 
-   "label": "Serial Number Series", 
-   "no_copy": 0, 
+   "depends_on": "eval: doc.has_serial_no===\"Yes\"",
+   "description": "Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.",
+   "fieldname": "serial_no_series",
+   "fieldtype": "Data",
+   "label": "Serial Number Series",
+   "no_copy": 0,
    "permlevel": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "fieldname": "warranty_period", 
-   "fieldtype": "Data", 
-   "label": "Warranty Period (in days)", 
-   "oldfieldname": "warranty_period", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "fieldname": "warranty_period",
+   "fieldtype": "Data",
+   "label": "Warranty Period (in days)",
+   "oldfieldname": "warranty_period",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "fieldname": "end_of_life", 
-   "fieldtype": "Date", 
-   "label": "End of Life", 
-   "oldfieldname": "end_of_life", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "fieldname": "end_of_life",
+   "fieldtype": "Date",
+   "label": "End of Life",
+   "oldfieldname": "end_of_life",
+   "oldfieldtype": "Date",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "description": "Net Weight of each Item", 
-   "fieldname": "net_weight", 
-   "fieldtype": "Float", 
-   "label": "Net Weight", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "description": "Net Weight of each Item",
+   "fieldname": "net_weight",
+   "fieldtype": "Float",
+   "label": "Net Weight",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "fieldname": "weight_uom", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Weight UOM", 
-   "options": "UOM", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "fieldname": "weight_uom",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Weight UOM",
+   "options": "UOM",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "description": "Auto-raise Material Request if quantity goes below re-order level in default warehouse", 
-   "fieldname": "reorder_section", 
-   "fieldtype": "Section Break", 
-   "label": "Re-order", 
-   "options": "icon-rss", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "description": "Auto-raise Material Request if quantity goes below re-order level in default warehouse",
+   "fieldname": "reorder_section",
+   "fieldtype": "Section Break",
+   "label": "Re-order",
+   "options": "icon-rss",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:(doc.is_stock_item==\"Yes\" && !doc.apply_warehouse_wise_reorder_level)", 
-   "fieldname": "re_order_level", 
-   "fieldtype": "Float", 
-   "label": "Re-Order Level", 
-   "oldfieldname": "re_order_level", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
+   "depends_on": "eval:(doc.is_stock_item==\"Yes\" && !doc.apply_warehouse_wise_reorder_level)",
+   "fieldname": "re_order_level",
+   "fieldtype": "Float",
+   "label": "Re-Order Level",
+   "oldfieldname": "re_order_level",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:(doc.is_stock_item==\"Yes\" && !doc.apply_warehouse_wise_reorder_level)", 
-   "fieldname": "re_order_qty", 
-   "fieldtype": "Float", 
-   "label": "Re-Order Qty", 
-   "permlevel": 0, 
+   "depends_on": "eval:(doc.is_stock_item==\"Yes\" && !doc.apply_warehouse_wise_reorder_level)",
+   "fieldname": "re_order_qty",
+   "fieldtype": "Float",
+   "label": "Re-Order Qty",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_stock_item==\"Yes\"", 
-   "fieldname": "apply_warehouse_wise_reorder_level", 
-   "fieldtype": "Check", 
-   "label": "Apply Warehouse-wise Reorder Level", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+   "fieldname": "apply_warehouse_wise_reorder_level",
+   "fieldtype": "Check",
+   "label": "Apply Warehouse-wise Reorder Level",
+   "permlevel": 0,
    "precision": ""
-  }, 
+  },
   {
-   "depends_on": "eval:(doc.is_stock_item==\"Yes\" && doc.apply_warehouse_wise_reorder_level)", 
-   "fieldname": "section_break_31", 
-   "fieldtype": "Section Break", 
-   "permlevel": 0, 
+   "depends_on": "eval:(doc.is_stock_item==\"Yes\" && doc.apply_warehouse_wise_reorder_level)",
+   "fieldname": "section_break_31",
+   "fieldtype": "Section Break",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:(doc.is_stock_item==\"Yes\" && doc.apply_warehouse_wise_reorder_level)", 
-   "description": "Will also apply for variants unless overrridden", 
-   "fieldname": "item_reorder", 
-   "fieldtype": "Table", 
-   "label": "Warehouse-wise Item Reorder", 
-   "options": "Item Reorder", 
-   "permlevel": 0, 
+   "depends_on": "eval:(doc.is_stock_item==\"Yes\" && doc.apply_warehouse_wise_reorder_level)",
+   "description": "Will also apply for variants unless overrridden",
+   "fieldname": "reorder_levels",
+   "fieldtype": "Table",
+   "label": "Warehouse-wise Reorder Levels",
+   "options": "Item Reorder",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "purchase_details", 
-   "fieldtype": "Section Break", 
-   "label": "Purchase Details", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-shopping-cart", 
-   "permlevel": 0, 
+   "fieldname": "purchase_details",
+   "fieldtype": "Section Break",
+   "label": "Purchase Details",
+   "oldfieldtype": "Section Break",
+   "options": "icon-shopping-cart",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "default": "Yes", 
-   "description": "Selecting \"Yes\" will allow this item to appear in Purchase Order , Purchase Receipt.", 
-   "fieldname": "is_purchase_item", 
-   "fieldtype": "Select", 
-   "label": "Is Purchase Item", 
-   "oldfieldname": "is_purchase_item", 
-   "oldfieldtype": "Select", 
-   "options": "Yes\nNo", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "default": "Yes",
+   "description": "Selecting \"Yes\" will allow this item to appear in Purchase Order , Purchase Receipt.",
+   "fieldname": "is_purchase_item",
+   "fieldtype": "Select",
+   "label": "Is Purchase Item",
+   "oldfieldname": "is_purchase_item",
+   "oldfieldtype": "Select",
+   "options": "Yes\nNo",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "default_supplier", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Default Supplier", 
-   "options": "Supplier", 
+   "fieldname": "default_supplier",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Default Supplier",
+   "options": "Supplier",
    "permlevel": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_purchase_item==\"Yes\"", 
-   "description": "Lead Time days is number of days by which this item is expected in your warehouse. This days is fetched in Material Request when you select this item.", 
-   "fieldname": "lead_time_days", 
-   "fieldtype": "Int", 
-   "label": "Lead Time Days", 
-   "no_copy": 0, 
-   "oldfieldname": "lead_time_days", 
-   "oldfieldtype": "Int", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+   "description": "Lead Time days is number of days by which this item is expected in your warehouse. This days is fetched in Material Request when you select this item.",
+   "fieldname": "lead_time_days",
+   "fieldtype": "Int",
+   "label": "Lead Time Days",
+   "no_copy": 0,
+   "oldfieldname": "lead_time_days",
+   "oldfieldtype": "Int",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_purchase_item==\"Yes\"", 
-   "description": "Default Purchase Account in which cost of the item will be debited.", 
-   "fieldname": "expense_account", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Default Expense Account", 
-   "oldfieldname": "purchase_account", 
-   "oldfieldtype": "Link", 
-   "options": "Account", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+   "description": "Default Purchase Account in which cost of the item will be debited.",
+   "fieldname": "expense_account",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Default Expense Account",
+   "oldfieldname": "purchase_account",
+   "oldfieldtype": "Link",
+   "options": "Account",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_purchase_item==\"Yes\"", 
-   "description": "", 
-   "fieldname": "buying_cost_center", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Default Buying Cost Center", 
-   "oldfieldname": "cost_center", 
-   "oldfieldtype": "Link", 
-   "options": "Cost Center", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+   "description": "",
+   "fieldname": "buying_cost_center",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Default Buying Cost Center",
+   "oldfieldname": "cost_center",
+   "oldfieldtype": "Link",
+   "options": "Cost Center",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_purchase_item==\"Yes\"", 
-   "fieldname": "last_purchase_rate", 
-   "fieldtype": "Float", 
-   "label": "Last Purchase Rate", 
-   "no_copy": 1, 
-   "oldfieldname": "last_purchase_rate", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+   "fieldname": "last_purchase_rate",
+   "fieldtype": "Float",
+   "label": "Last Purchase Rate",
+   "no_copy": 1,
+   "oldfieldname": "last_purchase_rate",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_purchase_item==\"Yes\"", 
-   "fieldname": "column_break2", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+   "fieldname": "column_break2",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_purchase_item==\"Yes\"", 
-   "description": "Will also apply for variants", 
-   "fieldname": "uom_conversion_details", 
-   "fieldtype": "Table", 
-   "label": "UOM Conversion Details", 
-   "no_copy": 1, 
-   "oldfieldname": "uom_conversion_details", 
-   "oldfieldtype": "Table", 
-   "options": "UOM Conversion Detail", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+   "description": "Will also apply for variants",
+   "fieldname": "uoms",
+   "fieldtype": "Table",
+   "label": "UOMs",
+   "no_copy": 1,
+   "oldfieldname": "uom_conversion_details",
+   "oldfieldtype": "Table",
+   "options": "UOM Conversion Detail",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_purchase_item==\"Yes\"", 
-   "fieldname": "manufacturer", 
-   "fieldtype": "Data", 
-   "label": "Manufacturer", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+   "fieldname": "manufacturer",
+   "fieldtype": "Data",
+   "label": "Manufacturer",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_purchase_item==\"Yes\"", 
-   "fieldname": "manufacturer_part_no", 
-   "fieldtype": "Data", 
-   "label": "Manufacturer Part Number", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+   "fieldname": "manufacturer_part_no",
+   "fieldtype": "Data",
+   "label": "Manufacturer Part Number",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_purchase_item==\"Yes\"", 
-   "fieldname": "item_supplier_details", 
-   "fieldtype": "Table", 
-   "label": "Item Supplier Details", 
-   "options": "Item Supplier", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+   "fieldname": "supplier_items",
+   "fieldtype": "Table",
+   "label": "Supplier Items",
+   "options": "Item Supplier",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "sales_details", 
-   "fieldtype": "Section Break", 
-   "label": "Sales Details", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-tag", 
-   "permlevel": 0, 
+   "fieldname": "sales_details",
+   "fieldtype": "Section Break",
+   "label": "Sales Details",
+   "oldfieldtype": "Section Break",
+   "options": "icon-tag",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "default": "Yes", 
-   "description": "Selecting \"Yes\" will allow this item to figure in Sales Order, Delivery Note", 
-   "fieldname": "is_sales_item", 
-   "fieldtype": "Select", 
-   "in_filter": 1, 
-   "label": "Is Sales Item", 
-   "oldfieldname": "is_sales_item", 
-   "oldfieldtype": "Select", 
-   "options": "Yes\nNo", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "default": "Yes",
+   "description": "Selecting \"Yes\" will allow this item to figure in Sales Order, Delivery Note",
+   "fieldname": "is_sales_item",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "label": "Is Sales Item",
+   "oldfieldname": "is_sales_item",
+   "oldfieldtype": "Select",
+   "options": "Yes\nNo",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "default": "No", 
-   "depends_on": "eval:doc.is_sales_item==\"Yes\"", 
-   "description": "Select \"Yes\" if this item represents some work like training, designing, consulting etc.", 
-   "fieldname": "is_service_item", 
-   "fieldtype": "Select", 
-   "in_filter": 1, 
-   "label": "Is Service Item", 
-   "oldfieldname": "is_service_item", 
-   "oldfieldtype": "Select", 
-   "options": "Yes\nNo", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "default": "No",
+   "depends_on": "eval:doc.is_sales_item==\"Yes\"",
+   "description": "Select \"Yes\" if this item represents some work like training, designing, consulting etc.",
+   "fieldname": "is_service_item",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "label": "Is Service Item",
+   "oldfieldname": "is_service_item",
+   "oldfieldtype": "Select",
+   "options": "Yes\nNo",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_sales_item==\"Yes\"", 
-   "fieldname": "max_discount", 
-   "fieldtype": "Float", 
-   "label": "Max Discount (%)", 
-   "oldfieldname": "max_discount", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_sales_item==\"Yes\"",
+   "fieldname": "max_discount",
+   "fieldtype": "Float",
+   "label": "Max Discount (%)",
+   "oldfieldname": "max_discount",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_sales_item==\"Yes\"", 
-   "fieldname": "income_account", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Default Income Account", 
-   "options": "Account", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_sales_item==\"Yes\"",
+   "fieldname": "income_account",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Default Income Account",
+   "options": "Account",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_sales_item==\"Yes\"", 
-   "fieldname": "selling_cost_center", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Default Selling Cost Center", 
-   "options": "Cost Center", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_sales_item==\"Yes\"",
+   "fieldname": "selling_cost_center",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Default Selling Cost Center",
+   "options": "Cost Center",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_sales_item==\"Yes\"", 
-   "fieldname": "column_break3", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "depends_on": "eval:doc.is_sales_item==\"Yes\"",
+   "fieldname": "column_break3",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_sales_item==\"Yes\"", 
-   "description": "For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes", 
-   "fieldname": "item_customer_details", 
-   "fieldtype": "Table", 
-   "label": "Customer Codes", 
-   "options": "Item Customer Detail", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_sales_item==\"Yes\"",
+   "description": "For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes",
+   "fieldname": "customer_items",
+   "fieldtype": "Table",
+   "label": "Customer Items",
+   "options": "Item Customer Detail",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "item_tax_section_break", 
-   "fieldtype": "Section Break", 
-   "label": "Item Tax", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-money", 
-   "permlevel": 0, 
+   "fieldname": "item_tax_section_break",
+   "fieldtype": "Section Break",
+   "label": "Item Tax",
+   "oldfieldtype": "Section Break",
+   "options": "icon-money",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "description": "Will also apply for variants", 
-   "fieldname": "item_tax", 
-   "fieldtype": "Table", 
-   "label": "Item Tax1", 
-   "oldfieldname": "item_tax", 
-   "oldfieldtype": "Table", 
-   "options": "Item Tax", 
-   "permlevel": 0, 
+   "description": "Will also apply for variants",
+   "fieldname": "taxes",
+   "fieldtype": "Table",
+   "label": "Taxes",
+   "oldfieldname": "item_tax",
+   "oldfieldtype": "Table",
+   "options": "Item Tax",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "inspection_criteria", 
-   "fieldtype": "Section Break", 
-   "label": "Inspection Criteria", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-search", 
-   "permlevel": 0, 
+   "fieldname": "inspection_criteria",
+   "fieldtype": "Section Break",
+   "label": "Inspection Criteria",
+   "oldfieldtype": "Section Break",
+   "options": "icon-search",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "default": "No", 
-   "fieldname": "inspection_required", 
-   "fieldtype": "Select", 
-   "label": "Inspection Required", 
-   "no_copy": 0, 
-   "oldfieldname": "inspection_required", 
-   "oldfieldtype": "Select", 
-   "options": "\nYes\nNo", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "default": "No",
+   "fieldname": "inspection_required",
+   "fieldtype": "Select",
+   "label": "Inspection Required",
+   "no_copy": 0,
+   "oldfieldname": "inspection_required",
+   "oldfieldtype": "Select",
+   "options": "\nYes\nNo",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "depends_on": "eval:doc.inspection_required==\"Yes\"", 
-   "description": "Will also apply to variants", 
-   "fieldname": "item_specification_details", 
-   "fieldtype": "Table", 
-   "label": "Item Quality Inspection Parameter", 
-   "oldfieldname": "item_specification_details", 
-   "oldfieldtype": "Table", 
-   "options": "Item Quality Inspection Parameter", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.inspection_required==\"Yes\"",
+   "description": "Will also apply to variants",
+   "fieldname": "quality_parameters",
+   "fieldtype": "Table",
+   "label": "Quality Parameters",
+   "oldfieldname": "item_specification_details",
+   "oldfieldtype": "Table",
+   "options": "Item Quality Inspection Parameter",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "manufacturing", 
-   "fieldtype": "Section Break", 
-   "label": "Manufacturing", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-cogs", 
-   "permlevel": 0, 
+   "fieldname": "manufacturing",
+   "fieldtype": "Section Break",
+   "label": "Manufacturing",
+   "oldfieldtype": "Section Break",
+   "options": "icon-cogs",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "default": "No", 
-   "description": "Selecting \"Yes\" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.", 
-   "fieldname": "is_manufactured_item", 
-   "fieldtype": "Select", 
-   "label": "Allow Bill of Materials", 
-   "oldfieldname": "is_manufactured_item", 
-   "oldfieldtype": "Select", 
-   "options": "Yes\nNo", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "default": "No",
+   "description": "Selecting \"Yes\" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.",
+   "fieldname": "is_manufactured_item",
+   "fieldtype": "Select",
+   "label": "Allow Bill of Materials",
+   "oldfieldname": "is_manufactured_item",
+   "oldfieldtype": "Select",
+   "options": "Yes\nNo",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "depends_on": "eval:doc.is_manufactured_item==\"Yes\"", 
-   "fieldname": "default_bom", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Default BOM", 
-   "no_copy": 1, 
-   "oldfieldname": "default_bom", 
-   "oldfieldtype": "Link", 
-   "options": "BOM", 
-   "permlevel": 0, 
+   "depends_on": "eval:doc.is_manufactured_item==\"Yes\"",
+   "fieldname": "default_bom",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Default BOM",
+   "no_copy": 1,
+   "oldfieldname": "default_bom",
+   "oldfieldtype": "Link",
+   "options": "BOM",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "default": "No", 
-   "depends_on": "eval:doc.is_manufactured_item==\"Yes\"", 
-   "description": "Selecting \"Yes\" will allow you to make a Production Order for this item.", 
-   "fieldname": "is_pro_applicable", 
-   "fieldtype": "Select", 
-   "label": "Allow Production Order", 
-   "oldfieldname": "is_pro_applicable", 
-   "oldfieldtype": "Select", 
-   "options": "Yes\nNo", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "default": "No",
+   "depends_on": "eval:doc.is_manufactured_item==\"Yes\"",
+   "description": "Selecting \"Yes\" will allow you to make a Production Order for this item.",
+   "fieldname": "is_pro_applicable",
+   "fieldtype": "Select",
+   "label": "Allow Production Order",
+   "oldfieldname": "is_pro_applicable",
+   "oldfieldtype": "Select",
+   "options": "Yes\nNo",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "default": "No", 
-   "description": "Select \"Yes\" if you supply raw materials to your supplier to manufacture this item.", 
-   "fieldname": "is_sub_contracted_item", 
-   "fieldtype": "Select", 
-   "label": "Is Sub Contracted Item", 
-   "oldfieldname": "is_sub_contracted_item", 
-   "oldfieldtype": "Select", 
-   "options": "Yes\nNo", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "default": "No",
+   "description": "Select \"Yes\" if you supply raw materials to your supplier to manufacture this item.",
+   "fieldname": "is_sub_contracted_item",
+   "fieldtype": "Select",
+   "label": "Is Sub Contracted Item",
+   "oldfieldname": "is_sub_contracted_item",
+   "oldfieldtype": "Select",
+   "options": "Yes\nNo",
+   "permlevel": 0,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "customer_code", 
-   "fieldtype": "Data", 
-   "hidden": 1, 
-   "in_filter": 1, 
-   "label": "Customer Code", 
-   "no_copy": 1, 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "customer_code",
+   "fieldtype": "Data",
+   "hidden": 1,
+   "in_filter": 1,
+   "label": "Customer Code",
+   "no_copy": 1,
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "website_section", 
-   "fieldtype": "Section Break", 
-   "label": "Website", 
-   "options": "icon-globe", 
-   "permlevel": 0, 
+   "fieldname": "website_section",
+   "fieldtype": "Section Break",
+   "label": "Website",
+   "options": "icon-globe",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "show_in_website", 
-   "fieldtype": "Check", 
-   "label": "Show in Website", 
-   "permlevel": 0, 
+   "fieldname": "show_in_website",
+   "fieldtype": "Check",
+   "label": "Show in Website",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "show_in_website", 
-   "description": "website page link", 
-   "fieldname": "page_name", 
-   "fieldtype": "Data", 
-   "label": "Page Name", 
-   "no_copy": 1, 
-   "permlevel": 0, 
+   "depends_on": "show_in_website",
+   "description": "website page link",
+   "fieldname": "page_name",
+   "fieldtype": "Data",
+   "label": "Page Name",
+   "no_copy": 1,
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "depends_on": "show_in_website", 
-   "description": "Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list.", 
-   "fieldname": "weightage", 
-   "fieldtype": "Int", 
-   "label": "Weightage", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "depends_on": "show_in_website",
+   "description": "Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list.",
+   "fieldname": "weightage",
+   "fieldtype": "Int",
+   "label": "Weightage",
+   "permlevel": 0,
+   "read_only": 0,
    "search_index": 1
-  }, 
+  },
   {
-   "depends_on": "show_in_website", 
-   "description": "Show a slideshow at the top of the page", 
-   "fieldname": "slideshow", 
-   "fieldtype": "Link", 
-   "label": "Slideshow", 
-   "options": "Website Slideshow", 
-   "permlevel": 0, 
+   "depends_on": "show_in_website",
+   "description": "Show a slideshow at the top of the page",
+   "fieldname": "slideshow",
+   "fieldtype": "Link",
+   "label": "Slideshow",
+   "options": "Website Slideshow",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "show_in_website", 
-   "description": "Item Image (if not slideshow)", 
-   "fieldname": "website_image", 
-   "fieldtype": "Select", 
-   "label": "Image", 
-   "options": "attach_files:", 
-   "permlevel": 0, 
+   "depends_on": "show_in_website",
+   "description": "Item Image (if not slideshow)",
+   "fieldname": "website_image",
+   "fieldtype": "Select",
+   "label": "Image",
+   "options": "attach_files:",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "cb72", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "cb72",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "show_in_website", 
-   "description": "Show \"In Stock\" or \"Not in Stock\" based on stock available in this warehouse.", 
-   "fieldname": "website_warehouse", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Website Warehouse", 
-   "options": "Warehouse", 
-   "permlevel": 0, 
+   "depends_on": "show_in_website",
+   "description": "Show \"In Stock\" or \"Not in Stock\" based on stock available in this warehouse.",
+   "fieldname": "website_warehouse",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Website Warehouse",
+   "options": "Warehouse",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "show_in_website", 
-   "description": "List this Item in multiple groups on the website.", 
-   "fieldname": "website_item_groups", 
-   "fieldtype": "Table", 
-   "label": "Website Item Groups", 
-   "options": "Website Item Group", 
-   "permlevel": 0, 
+   "depends_on": "show_in_website",
+   "description": "List this Item in multiple groups on the website.",
+   "fieldname": "website_item_groups",
+   "fieldtype": "Table",
+   "label": "Website Item Groups",
+   "options": "Website Item Group",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "show_in_website", 
-   "fieldname": "sb72", 
-   "fieldtype": "Section Break", 
-   "permlevel": 0, 
+   "depends_on": "show_in_website",
+   "fieldname": "sb72",
+   "fieldtype": "Section Break",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "show_in_website", 
-   "fieldname": "copy_from_item_group", 
-   "fieldtype": "Button", 
-   "label": "Copy From Item Group", 
-   "permlevel": 0, 
+   "depends_on": "show_in_website",
+   "fieldname": "copy_from_item_group",
+   "fieldtype": "Button",
+   "label": "Copy From Item Group",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "show_in_website", 
-   "fieldname": "item_website_specifications", 
-   "fieldtype": "Table", 
-   "label": "Item Website Specifications", 
-   "options": "Item Website Specification", 
-   "permlevel": 0, 
+   "depends_on": "show_in_website",
+   "fieldname": "website_specifications",
+   "fieldtype": "Table",
+   "label": "Website Specifications",
+   "options": "Item Website Specification",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "show_in_website", 
-   "fieldname": "web_long_description", 
-   "fieldtype": "Text Editor", 
-   "label": "Website Description", 
-   "permlevel": 0, 
+   "depends_on": "show_in_website",
+   "fieldname": "web_long_description",
+   "fieldtype": "Text Editor",
+   "label": "Website Description",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "parent_website_route", 
-   "fieldtype": "Read Only", 
-   "ignore_user_permissions": 1, 
-   "label": "Parent Website Route", 
-   "no_copy": 1, 
-   "options": "", 
+   "fieldname": "parent_website_route",
+   "fieldtype": "Read Only",
+   "ignore_user_permissions": 1,
+   "label": "Parent Website Route",
+   "no_copy": 1,
+   "options": "",
    "permlevel": 0
   }
- ], 
- "icon": "icon-tag", 
- "idx": 1, 
- "max_attachments": 1, 
- "modified": "2014-11-26 15:05:38.116026", 
- "modified_by": "Administrator", 
- "module": "Stock", 
- "name": "Item", 
- "owner": "Administrator", 
+ ],
+ "icon": "icon-tag",
+ "idx": 1,
+ "max_attachments": 1,
+ "modified": "2014-12-26 11:17:46.327235",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Item",
+ "owner": "Administrator",
  "permissions": [
   {
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "import": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Material Master Manager", 
-   "submit": 0, 
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "import": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Material Master Manager",
+   "submit": 0,
    "write": 1
-  }, 
+  },
   {
-   "amend": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Material Manager", 
-   "submit": 0, 
+   "amend": 0,
+   "create": 0,
+   "delete": 0,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Material Manager",
+   "submit": 0,
    "write": 0
-  }, 
+  },
   {
-   "amend": 0, 
-   "apply_user_permissions": 1, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Material User", 
-   "submit": 0, 
+   "amend": 0,
+   "apply_user_permissions": 1,
+   "create": 0,
+   "delete": 0,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Material User",
+   "submit": 0,
    "write": 0
-  }, 
+  },
   {
-   "apply_user_permissions": 1, 
-   "permlevel": 0, 
-   "read": 1, 
+   "apply_user_permissions": 1,
+   "permlevel": 0,
+   "read": 1,
    "role": "Sales User"
-  }, 
+  },
   {
-   "apply_user_permissions": 1, 
-   "permlevel": 0, 
-   "read": 1, 
+   "apply_user_permissions": 1,
+   "permlevel": 0,
+   "read": 1,
    "role": "Purchase User"
-  }, 
+  },
   {
-   "apply_user_permissions": 1, 
-   "permlevel": 0, 
-   "read": 1, 
+   "apply_user_permissions": 1,
+   "permlevel": 0,
+   "read": 1,
    "role": "Maintenance User"
-  }, 
+  },
   {
-   "apply_user_permissions": 1, 
-   "permlevel": 0, 
-   "read": 1, 
+   "apply_user_permissions": 1,
+   "permlevel": 0,
+   "read": 1,
    "role": "Accounts User"
-  }, 
+  },
   {
-   "apply_user_permissions": 1, 
-   "permlevel": 0, 
-   "read": 1, 
+   "apply_user_permissions": 1,
+   "permlevel": 0,
+   "read": 1,
    "role": "Manufacturing User"
   }
- ], 
+ ],
  "search_fields": "item_name,description,item_group,customer_code"
-}
\ No newline at end of file
+}
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index 34d5428..97fabc8 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -84,14 +84,14 @@
 				raise_exception=WarehouseNotSet)
 
 	def add_default_uom_in_conversion_factor_table(self):
-		uom_conv_list = [d.uom for d in self.get("uom_conversion_details")]
+		uom_conv_list = [d.uom for d in self.get("uoms")]
 		if self.stock_uom not in uom_conv_list:
-			ch = self.append('uom_conversion_details', {})
+			ch = self.append('uoms', {})
 			ch.uom = self.stock_uom
 			ch.conversion_factor = 1
 
 		to_remove = []
-		for d in self.get("uom_conversion_details"):
+		for d in self.get("uoms"):
 			if d.conversion_factor == 1 and d.uom != self.stock_uom:
 				to_remove.append(d)
 
@@ -136,13 +136,13 @@
 
 	def validate_variants_are_unique(self):
 		if not self.has_variants:
-			self.item_variants = []
+			self.variants = []
 
-		if self.item_variants and self.variant_of:
+		if self.variants and self.variant_of:
 			frappe.throw(_("Item cannot be a variant of a variant"))
 
 		variants = []
-		for d in self.item_variants:
+		for d in self.variants:
 			key = (d.item_attribute, d.item_attribute_value)
 			if key in variants:
 				frappe.throw(_("{0} {1} is entered more than once in Item Variants table").format(d.item_attribute,
@@ -181,14 +181,14 @@
 			frappe.msgprint(_("Item Variants {0} deleted").format(", ".join(deleted)))
 
 	def get_variant_item_codes(self):
-		if not self.item_variants:
+		if not self.variants:
 			return []
 
 		self.variant_attributes = {}
 		variant_dict = {}
 		variant_item_codes = []
 
-		for d in self.item_variants:
+		for d in self.variants:
 			variant_dict.setdefault(d.item_attribute, []).append(d.item_attribute_value)
 
 		all_attributes = [d.name for d in frappe.get_all("Item Attribute", order_by = "priority asc")]
@@ -250,21 +250,21 @@
 		template = frappe.get_doc("Item", self.variant_of)
 
 		# add item taxes from template
-		for d in template.get("item_tax"):
-			self.append("item_tax", {"tax_type": d.tax_type, "tax_rate": d.tax_rate})
+		for d in template.get("taxes"):
+			self.append("taxes", {"tax_type": d.tax_type, "tax_rate": d.tax_rate})
 
 		# copy re-order table if empty
-		if not self.get("item_reorder"):
-			for d in template.get("item_reorder"):
+		if not self.get("reorder_levels"):
+			for d in template.get("reorder_levels"):
 				n = {}
 				for k in ("warehouse", "warehouse_reorder_level",
 					"warehouse_reorder_qty", "material_request_type"):
 					n[k] = d.get(k)
-				self.append("item_reorder", n)
+				self.append("reorder_levels", n)
 
 	def validate_conversion_factor(self):
 		check_list = []
-		for d in self.get('uom_conversion_details'):
+		for d in self.get('uoms'):
 			if cstr(d.uom) in check_list:
 				frappe.throw(_("Unit of Measure {0} has been entered more than once in Conversion Factor Table").format(d.uom))
 			else:
@@ -302,14 +302,14 @@
 	def fill_customer_code(self):
 		""" Append all the customer codes and insert into "customer_code" field of item table """
 		cust_code=[]
-		for d in self.get('item_customer_details'):
+		for d in self.get('customer_items'):
 			cust_code.append(d.ref_code)
 		self.customer_code=','.join(cust_code)
 
 	def check_item_tax(self):
 		"""Check whether Tax Rate is not entered twice for same Tax Type"""
 		check_list=[]
-		for d in self.get('item_tax'):
+		for d in self.get('taxes'):
 			if d.tax_type:
 				account_type = frappe.db.get_value("Account", d.tax_type, "account_type")
 
@@ -344,15 +344,15 @@
 		if cint(self.apply_warehouse_wise_reorder_level):
 			self.re_order_level, self.re_order_qty = 0, 0
 		else:
-			self.set("item_reorder", [])
+			self.set("reorder_levels", [])
 
-		if self.re_order_level or len(self.get("item_reorder", {"material_request_type": "Purchase"})):
+		if self.re_order_level or len(self.get("reorder_levels", {"material_request_type": "Purchase"})):
 			if not self.is_purchase_item:
 				frappe.throw(_("""To set reorder level, item must be a Purchase Item"""))
 
 	def validate_warehouse_for_reorder(self):
 		warehouse = []
-		for i in self.get("item_reorder"):
+		for i in self.get("reorder_levels"):
 			if i.get("warehouse") and i.get("warehouse") not in warehouse:
 				warehouse += [i.get("warehouse")]
 			else:
@@ -426,11 +426,11 @@
 		frappe.db.auto_commit_on_many_writes = 0
 
 	def copy_specification_from_item_group(self):
-		self.set("item_website_specifications", [])
+		self.set("website_specifications", [])
 		if self.item_group:
 			for label, desc in frappe.db.get_values("Item Website Specification",
 				{"parent": self.item_group}, ["label", "description"]):
-					row = self.append("item_website_specifications")
+					row = self.append("website_specifications")
 					row.label = label
 					row.description = desc
 
diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py
index 55cd12f..2d8bdd4 100644
--- a/erpnext/stock/doctype/item/test_item.py
+++ b/erpnext/stock/doctype/item/test_item.py
@@ -24,7 +24,7 @@
 
 	def test_duplicate_variant(self):
 		item = frappe.copy_doc(test_records[11])
-		item.append("item_variants", {"item_attribute": "Test Size", "item_attribute_value": "Small"})
+		item.append("variants", {"item_attribute": "Test Size", "item_attribute_value": "Small"})
 		self.assertRaises(DuplicateVariant, item.insert)
 
 	def test_template_cannot_have_stock(self):
@@ -32,7 +32,7 @@
 
 		se = frappe.new_doc("Stock Entry")
 		se.purpose = "Material Receipt"
-		se.append("mtn_details", {
+		se.append("items", {
 			"item_code": item.name,
 			"t_warehouse": "Stores - _TC",
 			"qty": 1,
@@ -52,9 +52,9 @@
 		for v in variants:
 			self.assertTrue(frappe.db.get_value("Item", {"variant_of": item.name, "name": v}))
 
-		item.append("item_variants", {"item_attribute": "Test Colour", "item_attribute_value": "Red"})
-		item.append("item_variants", {"item_attribute": "Test Colour", "item_attribute_value": "Blue"})
-		item.append("item_variants", {"item_attribute": "Test Colour", "item_attribute_value": "Green"})
+		item.append("variants", {"item_attribute": "Test Colour", "item_attribute_value": "Red"})
+		item.append("variants", {"item_attribute": "Test Colour", "item_attribute_value": "Blue"})
+		item.append("variants", {"item_attribute": "Test Colour", "item_attribute_value": "Green"})
 
 		self.assertEqual(item.get_variant_item_codes(), ['_Test Variant Item-S-R',
 			'_Test Variant Item-S-G', '_Test Variant Item-S-B',
@@ -71,7 +71,7 @@
 
 		se = frappe.new_doc("Stock Entry")
 		se.purpose = "Material Receipt"
-		se.append("mtn_details", {
+		se.append("items", {
 			"item_code": item.name,
 			"t_warehouse": "Stores - _TC",
 			"qty": 1,
diff --git a/erpnext/stock/doctype/item/test_records.json b/erpnext/stock/doctype/item/test_records.json
index 7b6130c..7d0f4b0 100644
--- a/erpnext/stock/doctype/item/test_records.json
+++ b/erpnext/stock/doctype/item/test_records.json
@@ -19,7 +19,7 @@
   "item_group": "_Test Item Group",
   "item_name": "_Test Item",
   "apply_warehouse_wise_reorder_level": 1,
-  "item_reorder": [
+  "reorder_levels": [
    {
     "material_request_type": "Purchase",
     "warehouse": "_Test Warehouse - _TC",
@@ -74,10 +74,10 @@
   "item_code": "_Test Item Home Desktop 100",
   "item_group": "_Test Item Group Desktops",
   "item_name": "_Test Item Home Desktop 100",
-  "item_tax": [
+  "taxes": [
    {
     "doctype": "Item Tax",
-    "parentfield": "item_tax",
+    "parentfield": "taxes",
     "tax_rate": 10,
     "tax_type": "_Test Account Excise Duty - _TC"
    }
@@ -270,13 +270,13 @@
   "item_name": "_Test Variant Item",
   "stock_uom": "_Test UOM",
   "has_variants": 1,
-  "item_variants": [
+  "variants": [
 	  {"item_attribute": "Test Size", "item_attribute_value": "Small"},
 	  {"item_attribute": "Test Size", "item_attribute_value": "Medium"},
 	  {"item_attribute": "Test Size", "item_attribute_value": "Large"}
   ],
   "apply_warehouse_wise_reorder_level": 1,
-  "item_reorder": [
+  "reorder_levels": [
       {
        "material_request_type": "Purchase",
        "warehouse": "_Test Warehouse - _TC",
diff --git a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js
index 042011a..c1847c5 100644
--- a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js
+++ b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js
@@ -8,7 +8,7 @@
 erpnext.stock.LandedCostVoucher = erpnext.stock.StockController.extend({		
 	setup: function() {
 		var me = this;
-		this.frm.fields_dict.landed_cost_purchase_receipts.grid.get_field('purchase_receipt').get_query = 
+		this.frm.fields_dict.purchase_receipts.grid.get_field('purchase_receipt').get_query = 
 			function() {
 				if(!me.frm.doc.company) msgprint(__("Please enter company first"));
 				return {
@@ -19,7 +19,7 @@
 				}
 		};
 	
-		this.frm.fields_dict.landed_cost_taxes_and_charges.grid.get_field('account').get_query = function() {
+		this.frm.fields_dict.taxes.grid.get_field('account').get_query = function() {
 				if(!me.frm.doc.company) msgprint(__("Please enter company first"));
 				return {
 					filters:[
@@ -67,7 +67,7 @@
 	
 	get_items_from_purchase_receipts: function() {
 		var me = this;
-		if(!this.frm.doc.landed_cost_purchase_receipts.length) {
+		if(!this.frm.doc.purchase_receipts.length) {
 			msgprint(__("Please enter Purchase Receipt first"));
 		} else {
 			return this.frm.call({
@@ -84,7 +84,7 @@
 	
 	set_total_taxes_and_charges: function() {
 		total_taxes_and_charges = 0.0;
-		$.each(this.frm.doc.landed_cost_taxes_and_charges, function(i, d) {
+		$.each(this.frm.doc.taxes, function(i, d) {
 			total_taxes_and_charges += flt(d.amount)
 		});
 		cur_frm.set_value("total_taxes_and_charges", total_taxes_and_charges);
@@ -92,16 +92,16 @@
 	
 	set_applicable_charges_for_item: function() {
 		var me = this;
-		if(this.frm.doc.landed_cost_taxes_and_charges.length) {
+		if(this.frm.doc.taxes.length) {
 			var total_item_cost = 0.0;
-			$.each(this.frm.doc.landed_cost_items, function(i, d) {
+			$.each(this.frm.doc.items, function(i, d) {
 				total_item_cost += flt(d.amount)
 			});
 			
-			$.each(this.frm.doc.landed_cost_items, function(i, item) {
+			$.each(this.frm.doc.items, function(i, item) {
 				item.applicable_charges = flt(item.amount) *  flt(me.frm.doc.total_taxes_and_charges) / flt(total_item_cost)
 			});
-			refresh_field("landed_cost_items");
+			refresh_field("items");
 		}
 	}
 	
diff --git a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.json b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.json
index 682a16b..aafc0df 100644
--- a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.json
+++ b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.json
@@ -16,7 +16,7 @@
    "reqd": 1
   }, 
   {
-   "fieldname": "landed_cost_purchase_receipts", 
+   "fieldname": "purchase_receipts", 
    "fieldtype": "Table", 
    "label": "Purchase Receipts", 
    "options": "Landed Cost Purchase Receipt", 
@@ -29,7 +29,7 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "landed_cost_items", 
+   "fieldname": "items", 
    "fieldtype": "Table", 
    "label": "Purchase Receipt Items", 
    "no_copy": 1, 
@@ -38,7 +38,7 @@
    "read_only": 0
   }, 
   {
-   "fieldname": "landed_cost_taxes_and_charges", 
+   "fieldname": "taxes", 
    "fieldtype": "Table", 
    "label": "Taxes and Charges", 
    "options": "Landed Cost Taxes and Charges", 
@@ -73,7 +73,7 @@
  ], 
  "icon": "icon-usd", 
  "is_submittable": 1, 
- "modified": "2014-09-01 12:05:46.834513", 
+ "modified": "2014-12-25 12:36:24.982094", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Landed Cost Voucher", 
diff --git a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py
index 3046c5e..f5b8b5f 100644
--- a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py
+++ b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py
@@ -12,8 +12,8 @@
 
 class LandedCostVoucher(Document):
 	def get_items_from_purchase_receipts(self):
-		self.set("landed_cost_items", [])
-		for pr in self.get("landed_cost_purchase_receipts"):
+		self.set("items", [])
+		for pr in self.get("purchase_receipts"):
 			pr_items = frappe.db.sql("""select pr_item.item_code, pr_item.description,
 				pr_item.qty, pr_item.base_rate, pr_item.base_amount, pr_item.name
 				from `tabPurchase Receipt Item` pr_item where parent = %s
@@ -21,7 +21,7 @@
 				pr.purchase_receipt, as_dict=True)
 
 			for d in pr_items:
-				item = self.append("landed_cost_items")
+				item = self.append("items")
 				item.item_code = d.item_code
 				item.description = d.description
 				item.qty = d.qty
@@ -30,7 +30,7 @@
 				item.purchase_receipt = pr.purchase_receipt
 				item.purchase_receipt_item = d.name
 
-		if self.get("landed_cost_taxes_and_charges"):
+		if self.get("taxes"):
 			self.set_applicable_charges_for_item()
 
 
@@ -38,27 +38,27 @@
 		self.check_mandatory()
 		self.validate_purchase_receipts()
 		self.set_total_taxes_and_charges()
-		if not self.get("landed_cost_items"):
+		if not self.get("items"):
 			self.get_items_from_purchase_receipts()
 		else:
 			self.set_applicable_charges_for_item()
 
 	def check_mandatory(self):
-		if not self.get("landed_cost_purchase_receipts"):
+		if not self.get("purchase_receipts"):
 			frappe.throw(_("Please enter Purchase Receipts"))
 
-		if not self.get("landed_cost_taxes_and_charges"):
+		if not self.get("taxes"):
 			frappe.throw(_("Please enter Taxes and Charges"))
 
 	def validate_purchase_receipts(self):
 		purchase_receipts = []
-		for d in self.get("landed_cost_purchase_receipts"):
+		for d in self.get("purchase_receipts"):
 			if frappe.db.get_value("Purchase Receipt", d.purchase_receipt, "docstatus") != 1:
 				frappe.throw(_("Purchase Receipt must be submitted"))
 			else:
 				purchase_receipts.append(d.purchase_receipt)
 
-		for item in self.get("landed_cost_items"):
+		for item in self.get("items"):
 			if not item.purchase_receipt:
 				frappe.throw(_("Item must be added using 'Get Items from Purchase Receipts' button"))
 			elif item.purchase_receipt not in purchase_receipts:
@@ -66,12 +66,12 @@
 					.format(item.idx, item.purchase_receipt))
 
 	def set_total_taxes_and_charges(self):
-		self.total_taxes_and_charges = sum([flt(d.amount) for d in self.get("landed_cost_taxes_and_charges")])
+		self.total_taxes_and_charges = sum([flt(d.amount) for d in self.get("taxes")])
 
 	def set_applicable_charges_for_item(self):
-		total_item_cost = sum([flt(d.amount) for d in self.get("landed_cost_items")])
+		total_item_cost = sum([flt(d.amount) for d in self.get("items")])
 
-		for item in self.get("landed_cost_items"):
+		for item in self.get("items"):
 			item.applicable_charges = flt(item.amount) *  flt(self.total_taxes_and_charges) / flt(total_item_cost)
 
 	def on_submit(self):
@@ -81,7 +81,7 @@
 		self.update_landed_cost()
 
 	def update_landed_cost(self):
-		purchase_receipts = list(set([d.purchase_receipt for d in self.get("landed_cost_items")]))
+		purchase_receipts = list(set([d.purchase_receipt for d in self.get("items")]))
 		for purchase_receipt in purchase_receipts:
 			pr = frappe.get_doc("Purchase Receipt", purchase_receipt)
 
@@ -89,7 +89,7 @@
 			pr.set_landed_cost_voucher_amount()
 
 			# set valuation amount in pr item
-			pr.update_valuation_rate("purchase_receipt_details")
+			pr.update_valuation_rate("items")
 
 			# save will update landed_cost_voucher_amount and voucher_amount in PR,
 			# as those fields are ellowed to edit after submit
diff --git a/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py b/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py
index d84d63c..4b0e23c 100644
--- a/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py
+++ b/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py
@@ -34,8 +34,8 @@
 
 		self.assertTrue(gl_entries)
 
-		stock_in_hand_account = pr.get("purchase_receipt_details")[0].warehouse
-		fixed_asset_account = pr.get("purchase_receipt_details")[1].warehouse
+		stock_in_hand_account = pr.get("items")[0].warehouse
+		fixed_asset_account = pr.get("items")[1].warehouse
 
 
 		expected_values = {
@@ -56,8 +56,8 @@
 		frappe.db.sql("delete from `tabSerial No` where name in ('SN001', 'SN002', 'SN003', 'SN004', 'SN005')")
 
 		pr = frappe.copy_doc(pr_test_records[0])
-		pr.purchase_receipt_details[0].item_code = "_Test Serialized Item"
-		pr.purchase_receipt_details[0].serial_no = "SN001\nSN002\nSN003\nSN004\nSN005"
+		pr.items[0].item_code = "_Test Serialized Item"
+		pr.items[0].serial_no = "SN001\nSN002\nSN003\nSN004\nSN005"
 		pr.submit()
 
 		serial_no_rate = frappe.db.get_value("Serial No", "SN001", "purchase_rate")
@@ -76,13 +76,13 @@
 	def submit_landed_cost_voucher(self, pr):
 		lcv = frappe.new_doc("Landed Cost Voucher")
 		lcv.company = "_Test Company"
-		lcv.set("landed_cost_purchase_receipts", [{
+		lcv.set("purchase_receipts", [{
 			"purchase_receipt": pr.name,
 			"supplier": pr.supplier,
 			"posting_date": pr.posting_date,
 			"grand_total": pr.grand_total
 		}])
-		lcv.set("landed_cost_taxes_and_charges", [{
+		lcv.set("taxes", [{
 			"description": "Insurance Charges",
 			"account": "_Test Account Insurance Charges - _TC",
 			"amount": 50.0
diff --git a/erpnext/stock/doctype/landed_cost_voucher/test_records.json b/erpnext/stock/doctype/landed_cost_voucher/test_records.json
new file mode 100644
index 0000000..4fc0017
--- /dev/null
+++ b/erpnext/stock/doctype/landed_cost_voucher/test_records.json
@@ -0,0 +1,6 @@
+[
+	{
+		"doctype": "Landed Cost Voucher",
+		"name": "_Test Landed Cost Voucher 1"
+	}
+]
diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js
index 54c1d8f..f83c50f 100644
--- a/erpnext/stock/doctype/material_request/material_request.js
+++ b/erpnext/stock/doctype/material_request/material_request.js
@@ -1,9 +1,6 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-cur_frm.cscript.tname = "Material Request Item";
-cur_frm.cscript.fname = "indent_details";
-
 {% include 'buying/doctype/purchase_common/purchase_common.js' %};
 
 frappe.require("assets/erpnext/js/utils.js");
@@ -11,7 +8,7 @@
 erpnext.buying.MaterialRequestController = erpnext.buying.BuyingController.extend({
 	onload: function(doc) {
 		this._super();
-		this.frm.set_query("item_code", this.frm.cscript.fname, function() {
+		this.frm.set_query("item_code", "items", function() {
 			return {
 				query: "erpnext.controllers.queries.item_query"
 			}
@@ -45,7 +42,7 @@
 			if(doc.material_request_type === "Material Transfer" && doc.status === "Submitted")
 				cur_frm.add_custom_button(__("Transfer Material"), this.make_stock_entry,
 					frappe.boot.doctype_icons["Stock Entry"]);
-		
+
 			if(doc.material_request_type === "Material Issue" && doc.status === "Submitted")
 				cur_frm.add_custom_button(__("Issue Material"), this.make_stock_entry,
 					frappe.boot.doctype_icons["Stock Entry"]);
@@ -88,12 +85,12 @@
 	schedule_date: function(doc, cdt, cdn) {
 		var val = locals[cdt][cdn].schedule_date;
 		if(val) {
-			$.each((doc.indent_details || []), function(i, d) {
+			$.each((doc.items || []), function(i, d) {
 				if(!d.schedule_date) {
 					d.schedule_date = val;
 				}
 			});
-			refresh_field("indent_details");
+			refresh_field("items");
 		}
 	},
 
@@ -117,7 +114,7 @@
 				args: values,
 				callback: function(r) {
 					$.each(r.message, function(i, item) {
-						var d = frappe.model.add_child(cur_frm.doc, "Material Request Item", "indent_details");
+						var d = frappe.model.add_child(cur_frm.doc, "Material Request Item", "items");
 						d.item_code = item.item_code;
 						d.description = item.description;
 						d.warehouse = item.default_warehouse;
@@ -125,7 +122,7 @@
 						d.qty = item.qty;
 					});
 					d.hide();
-					refresh_field("indent_details");
+					refresh_field("items");
 				}
 			});
 		});
@@ -200,4 +197,4 @@
 cur_frm.cscript.send_sms = function() {
 	frappe.require("assets/erpnext/js/sms_manager.js");
 	var sms_man = new SMSManager(cur_frm.doc);
-}
\ No newline at end of file
+}
diff --git a/erpnext/stock/doctype/material_request/material_request.json b/erpnext/stock/doctype/material_request/material_request.json
index 6107778..f7da8b0 100644
--- a/erpnext/stock/doctype/material_request/material_request.json
+++ b/erpnext/stock/doctype/material_request/material_request.json
@@ -70,7 +70,7 @@
    "width": "150px"
   }, 
   {
-   "fieldname": "items", 
+   "fieldname": "items_section", 
    "fieldtype": "Section Break", 
    "label": "Items", 
    "oldfieldtype": "Section Break", 
@@ -79,9 +79,9 @@
   }, 
   {
    "allow_on_submit": 0, 
-   "fieldname": "indent_details", 
+   "fieldname": "items", 
    "fieldtype": "Table", 
-   "label": "Material Request Items", 
+   "label": "Items", 
    "no_copy": 0, 
    "oldfieldname": "indent_details", 
    "oldfieldtype": "Table", 
@@ -235,7 +235,7 @@
  "icon": "icon-ticket", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-10-27 12:16:38.833386", 
+ "modified": "2014-12-24 14:28:14.548275", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Material Request", 
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index d43d027..ae93037 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -14,22 +14,19 @@
 from erpnext.controllers.buying_controller import BuyingController
 
 form_grid_templates = {
-	"indent_details": "templates/form_grid/material_request_grid.html"
+	"items": "templates/form_grid/material_request_grid.html"
 }
 
 class MaterialRequest(BuyingController):
-	tname = 'Material Request Item'
-	fname = 'indent_details'
-
 	def get_feed(self):
 		return _("{0}: {1}").format(self.status, self.material_request_type)
 
 	def check_if_already_pulled(self):
-		pass#if self.[d.sales_order_no for d in self.get('indent_details')]
+		pass#if self.[d.sales_order_no for d in self.get('items')]
 
 	def validate_qty_against_so(self):
 		so_items = {} # Format --> {'SO/00001': {'Item/001': 120, 'Item/002': 24}}
-		for d in self.get('indent_details'):
+		for d in self.get('items'):
 			if d.sales_order_no:
 				if not so_items.has_key(d.sales_order_no):
 					so_items[d.sales_order_no] = {d.item_code: flt(d.qty)}
@@ -55,7 +52,7 @@
 					frappe.throw(_("Material Request of maximum {0} can be made for Item {1} against Sales Order {2}").format(actual_so_qty - already_indented, item, so_no))
 
 	def validate_schedule_date(self):
-		for d in self.get('indent_details'):
+		for d in self.get('items'):
 			if d.schedule_date and d.schedule_date < self.transaction_date:
 				frappe.throw(_("Expected Date cannot be before Material Request Date"))
 
@@ -115,13 +112,11 @@
 		if self.material_request_type == "Purchase":
 			return
 
-		item_doclist = self.get("indent_details")
-
 		if not mr_items:
-			mr_items = [d.name for d in item_doclist]
+			mr_items = [d.name for d in self.get("items")]
 
 		per_ordered = 0.0
-		for d in item_doclist:
+		for d in self.get("items"):
 			if d.name in mr_items:
 				d.ordered_qty =  flt(frappe.db.sql("""select sum(transfer_qty)
 					from `tabStock Entry Detail` where material_request = %s
@@ -129,14 +124,14 @@
 					(self.name, d.name))[0][0])
 				frappe.db.set_value(d.doctype, d.name, "ordered_qty", d.ordered_qty)
 
-			# note: if qty is 0, its row is still counted in len(item_doclist)
+			# note: if qty is 0, its row is still counted in len(self.get("items"))
 			# hence adding 1 to per_ordered
 			if (d.ordered_qty > d.qty) or not d.qty:
 				per_ordered += 1.0
 			elif d.qty > 0:
 				per_ordered += flt(d.ordered_qty / flt(d.qty))
 
-		self.per_ordered = flt((per_ordered / flt(len(item_doclist))) * 100.0, 2)
+		self.per_ordered = flt((per_ordered / flt(len(self.get("items")))) * 100.0, 2)
 		frappe.db.set_value(self.doctype, self.name, "per_ordered", self.per_ordered)
 
 	def update_requested_qty(self, mr_item_rows=None):
@@ -155,7 +150,7 @@
 			bin_doc.save()
 
 		item_wh_list = []
-		for d in self.get("indent_details"):
+		for d in self.get("items"):
 			if (not mr_item_rows or d.name in mr_item_rows) and [d.item_code, d.warehouse] not in item_wh_list \
 					and frappe.db.get_value("Item", d.item_code, "is_stock_item") == "Yes" and d.warehouse:
 				item_wh_list.append([d.item_code, d.warehouse])
@@ -167,7 +162,7 @@
 	if stock_entry.doctype == "Stock Entry":
 		material_request_map = {}
 
-		for d in stock_entry.get("mtn_details"):
+		for d in stock_entry.get("items"):
 			if d.material_request:
 				material_request_map.setdefault(d.material_request, []).append(d.material_request_item)
 
@@ -221,14 +216,14 @@
 		if isinstance(target_doc, basestring):
 			import json
 			target_doc = frappe.get_doc(json.loads(target_doc))
-		target_doc.set("po_details", [])
+		target_doc.set("items", [])
 
 	material_requests, supplier_items = get_material_requests_based_on_supplier(source_name)
 
 	def postprocess(source, target_doc):
 		target_doc.supplier = source_name
 		set_missing_values(source, target_doc)
-		target_doc.set("po_details", [d for d in target_doc.get("po_details")
+		target_doc.set("items", [d for d in target_doc.get("items")
 			if d.get("item_code") in supplier_items and d.get("qty") > 0])
 
 		return target_doc
@@ -301,7 +296,7 @@
 		target.qty = qty
 		target.transfer_qty = qty
 		target.conversion_factor = 1
-		
+
 		if source_parent.material_request_type == "Material Transfer":
 			target.t_warehouse = obj.warehouse
 		else:
diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py
index 48eed27..6fe73fc 100644
--- a/erpnext/stock/doctype/material_request/test_material_request.py
+++ b/erpnext/stock/doctype/material_request/test_material_request.py
@@ -25,7 +25,7 @@
 		po = make_purchase_order(mr.name)
 
 		self.assertEquals(po.doctype, "Purchase Order")
-		self.assertEquals(len(po.get("po_details")), len(mr.get("indent_details")))
+		self.assertEquals(len(po.get("items")), len(mr.get("items")))
 
 	def test_make_supplier_quotation(self):
 		from erpnext.stock.doctype.material_request.material_request import make_supplier_quotation
@@ -39,7 +39,7 @@
 		sq = make_supplier_quotation(mr.name)
 
 		self.assertEquals(sq.doctype, "Supplier Quotation")
-		self.assertEquals(len(sq.get("quotation_items")), len(mr.get("indent_details")))
+		self.assertEquals(len(sq.get("items")), len(mr.get("items")))
 
 
 	def test_make_stock_entry(self):
@@ -56,7 +56,7 @@
 		se = make_stock_entry(mr.name)
 
 		self.assertEquals(se.doctype, "Stock Entry")
-		self.assertEquals(len(se.get("mtn_details")), len(mr.get("indent_details")))
+		self.assertEquals(len(se.get("items")), len(mr.get("items")))
 
 	def _insert_stock_entry(self, qty1, qty2, warehouse = None ):
 		se = frappe.get_doc({
@@ -66,12 +66,12 @@
 				"posting_time": "00:00:00",
 				"purpose": "Material Receipt",
 				"fiscal_year": "_Test Fiscal Year 2013",
-				"mtn_details": [
+				"items": [
 					{
 						"conversion_factor": 1.0,
 						"doctype": "Stock Entry Detail",
 						"item_code": "_Test Item Home Desktop 100",
-						"parentfield": "mtn_details",
+						"parentfield": "items",
 						"incoming_rate": 100,
 						"qty": qty1,
 						"stock_uom": "_Test UOM 1",
@@ -83,7 +83,7 @@
 						"conversion_factor": 1.0,
 						"doctype": "Stock Entry Detail",
 						"item_code": "_Test Item Home Desktop 200",
-						"parentfield": "mtn_details",
+						"parentfield": "items",
 						"incoming_rate": 100,
 						"qty": qty2,
 						"stock_uom": "_Test UOM 1",
@@ -107,18 +107,18 @@
 
 		# check if per complete is None
 		self.assertEquals(mr.per_ordered, None)
-		self.assertEquals(mr.get("indent_details")[0].ordered_qty, 0)
-		self.assertEquals(mr.get("indent_details")[1].ordered_qty, 0)
+		self.assertEquals(mr.get("items")[0].ordered_qty, 0)
+		self.assertEquals(mr.get("items")[1].ordered_qty, 0)
 
 		# map a purchase order
 		from erpnext.stock.doctype.material_request.material_request import make_purchase_order
 		po_doc = make_purchase_order(mr.name)
 		po_doc.supplier = "_Test Supplier"
 		po_doc.transaction_date = "2013-07-07"
-		po_doc.get("po_details")[0].qty = 27.0
-		po_doc.get("po_details")[1].qty = 1.5
-		po_doc.get("po_details")[0].schedule_date = "2013-07-09"
-		po_doc.get("po_details")[1].schedule_date = "2013-07-09"
+		po_doc.get("items")[0].qty = 27.0
+		po_doc.get("items")[1].qty = 1.5
+		po_doc.get("items")[0].schedule_date = "2013-07-09"
+		po_doc.get("items")[1].schedule_date = "2013-07-09"
 
 
 		# check for stopped status of Material Request
@@ -140,8 +140,8 @@
 		# check if per complete is as expected
 		mr.load_from_db()
 		self.assertEquals(mr.per_ordered, 50)
-		self.assertEquals(mr.get("indent_details")[0].ordered_qty, 27.0)
-		self.assertEquals(mr.get("indent_details")[1].ordered_qty, 1.5)
+		self.assertEquals(mr.get("items")[0].ordered_qty, 27.0)
+		self.assertEquals(mr.get("items")[1].ordered_qty, 1.5)
 
 		current_requested_qty_item1 = self._get_requested_qty("_Test Item Home Desktop 100", "_Test Warehouse - _TC")
 		current_requested_qty_item2 = self._get_requested_qty("_Test Item Home Desktop 200", "_Test Warehouse - _TC")
@@ -153,8 +153,8 @@
 		# check if per complete is as expected
 		mr.load_from_db()
 		self.assertEquals(mr.per_ordered, None)
-		self.assertEquals(mr.get("indent_details")[0].ordered_qty, None)
-		self.assertEquals(mr.get("indent_details")[1].ordered_qty, None)
+		self.assertEquals(mr.get("items")[0].ordered_qty, None)
+		self.assertEquals(mr.get("items")[1].ordered_qty, None)
 
 		current_requested_qty_item1 = self._get_requested_qty("_Test Item Home Desktop 100", "_Test Warehouse - _TC")
 		current_requested_qty_item2 = self._get_requested_qty("_Test Item Home Desktop 200", "_Test Warehouse - _TC")
@@ -174,8 +174,8 @@
 
 		# check if per complete is None
 		self.assertEquals(mr.per_ordered, None)
-		self.assertEquals(mr.get("indent_details")[0].ordered_qty, 0)
-		self.assertEquals(mr.get("indent_details")[1].ordered_qty, 0)
+		self.assertEquals(mr.get("items")[0].ordered_qty, 0)
+		self.assertEquals(mr.get("items")[1].ordered_qty, 0)
 
 		current_requested_qty_item1 = self._get_requested_qty("_Test Item Home Desktop 100", "_Test Warehouse - _TC")
 		current_requested_qty_item2 = self._get_requested_qty("_Test Item Home Desktop 200", "_Test Warehouse - _TC")
@@ -192,13 +192,13 @@
 			"posting_time": "01:00",
 			"fiscal_year": "_Test Fiscal Year 2013",
 		})
-		se_doc.get("mtn_details")[0].update({
+		se_doc.get("items")[0].update({
 			"qty": 27.0,
 			"transfer_qty": 27.0,
 			"s_warehouse": "_Test Warehouse 1 - _TC",
 			"incoming_rate": 1.0
 		})
-		se_doc.get("mtn_details")[1].update({
+		se_doc.get("items")[1].update({
 			"qty": 1.5,
 			"transfer_qty": 1.5,
 			"s_warehouse": "_Test Warehouse 1 - _TC",
@@ -229,8 +229,8 @@
 		# check if per complete is as expected
 		mr.load_from_db()
 		self.assertEquals(mr.per_ordered, 50)
-		self.assertEquals(mr.get("indent_details")[0].ordered_qty, 27.0)
-		self.assertEquals(mr.get("indent_details")[1].ordered_qty, 1.5)
+		self.assertEquals(mr.get("items")[0].ordered_qty, 27.0)
+		self.assertEquals(mr.get("items")[1].ordered_qty, 1.5)
 
 		current_requested_qty_item1 = self._get_requested_qty("_Test Item Home Desktop 100", "_Test Warehouse - _TC")
 		current_requested_qty_item2 = self._get_requested_qty("_Test Item Home Desktop 200", "_Test Warehouse - _TC")
@@ -242,8 +242,8 @@
 		se.cancel()
 		mr.load_from_db()
 		self.assertEquals(mr.per_ordered, 0)
-		self.assertEquals(mr.get("indent_details")[0].ordered_qty, 0)
-		self.assertEquals(mr.get("indent_details")[1].ordered_qty, 0)
+		self.assertEquals(mr.get("items")[0].ordered_qty, 0)
+		self.assertEquals(mr.get("items")[1].ordered_qty, 0)
 
 		current_requested_qty_item1 = self._get_requested_qty("_Test Item Home Desktop 100", "_Test Warehouse - _TC")
 		current_requested_qty_item2 = self._get_requested_qty("_Test Item Home Desktop 200", "_Test Warehouse - _TC")
@@ -263,8 +263,8 @@
 
 		# check if per complete is None
 		self.assertEquals(mr.per_ordered, None)
-		self.assertEquals(mr.get("indent_details")[0].ordered_qty, 0)
-		self.assertEquals(mr.get("indent_details")[1].ordered_qty, 0)
+		self.assertEquals(mr.get("items")[0].ordered_qty, 0)
+		self.assertEquals(mr.get("items")[1].ordered_qty, 0)
 
 		# map a stock entry
 		from erpnext.stock.doctype.material_request.material_request import make_stock_entry
@@ -275,13 +275,13 @@
 			"posting_time": "00:00",
 			"fiscal_year": "_Test Fiscal Year 2013",
 		})
-		se_doc.get("mtn_details")[0].update({
+		se_doc.get("items")[0].update({
 			"qty": 60.0,
 			"transfer_qty": 60.0,
 			"s_warehouse": "_Test Warehouse 1 - _TC",
 			"incoming_rate": 1.0
 		})
-		se_doc.get("mtn_details")[1].update({
+		se_doc.get("items")[1].update({
 			"qty": 3.0,
 			"transfer_qty": 3.0,
 			"s_warehouse": "_Test Warehouse 1 - _TC",
@@ -307,8 +307,8 @@
 		mr.load_from_db()
 
 		self.assertEquals(mr.per_ordered, 100)
-		self.assertEquals(mr.get("indent_details")[0].ordered_qty, 60.0)
-		self.assertEquals(mr.get("indent_details")[1].ordered_qty, 3.0)
+		self.assertEquals(mr.get("items")[0].ordered_qty, 60.0)
+		self.assertEquals(mr.get("items")[1].ordered_qty, 3.0)
 
 		current_requested_qty_item1 = self._get_requested_qty("_Test Item Home Desktop 100", "_Test Warehouse - _TC")
 		current_requested_qty_item2 = self._get_requested_qty("_Test Item Home Desktop 200", "_Test Warehouse - _TC")
@@ -320,8 +320,8 @@
 		se.cancel()
 		mr.load_from_db()
 		self.assertEquals(mr.per_ordered, 0)
-		self.assertEquals(mr.get("indent_details")[0].ordered_qty, 0)
-		self.assertEquals(mr.get("indent_details")[1].ordered_qty, 0)
+		self.assertEquals(mr.get("items")[0].ordered_qty, 0)
+		self.assertEquals(mr.get("items")[1].ordered_qty, 0)
 
 		current_requested_qty_item1 = self._get_requested_qty("_Test Item Home Desktop 100", "_Test Warehouse - _TC")
 		current_requested_qty_item2 = self._get_requested_qty("_Test Item Home Desktop 200", "_Test Warehouse - _TC")
@@ -345,14 +345,14 @@
 			"posting_time": "00:00",
 			"fiscal_year": "_Test Fiscal Year 2013",
 		})
-		se_doc.get("mtn_details")[0].update({
+		se_doc.get("items")[0].update({
 			"qty": 60.0,
 			"transfer_qty": 60.0,
 			"s_warehouse": "_Test Warehouse - _TC",
 			"t_warehouse": "_Test Warehouse 1 - _TC",
 			"incoming_rate": 1.0
 		})
-		se_doc.get("mtn_details")[1].update({
+		se_doc.get("items")[1].update({
 			"qty": 3.0,
 			"transfer_qty": 3.0,
 			"s_warehouse": "_Test Warehouse 1 - _TC",
@@ -372,7 +372,7 @@
 		# map a stock entry
 		from erpnext.stock.doctype.material_request.material_request import make_stock_entry
 		se_doc = make_stock_entry(mr.name)
-		self.assertEquals(se_doc.get("mtn_details")[0].s_warehouse, "_Test Warehouse - _TC")
+		self.assertEquals(se_doc.get("items")[0].s_warehouse, "_Test Warehouse - _TC")
 
 	def test_warehouse_company_validation(self):
 		from erpnext.stock.utils import InvalidWarehouseCompany
@@ -397,7 +397,7 @@
 		se = make_stock_entry(mr.name)
 
 		self.assertEquals(se.doctype, "Stock Entry")
-		self.assertEquals(len(se.get("mtn_details")), len(mr.get("indent_details")))
+		self.assertEquals(len(se.get("items")), len(mr.get("items")))
 
 	def test_completed_qty_for_issue(self):
 		def _get_requested_qty():
@@ -422,14 +422,14 @@
 
 		se_doc = make_stock_entry(mr.name)
 		se_doc.fiscal_year = "_Test Fiscal Year 2014"
-		se_doc.get("mtn_details")[0].qty = 60.0
+		se_doc.get("items")[0].qty = 60.0
 		se_doc.insert()
 		se_doc.submit()
 
 		# check if per complete is as expected
 		mr.load_from_db()
-		self.assertEquals(mr.get("indent_details")[0].ordered_qty, 60.0)
-		self.assertEquals(mr.get("indent_details")[1].ordered_qty, 3.0)
+		self.assertEquals(mr.get("items")[0].ordered_qty, 60.0)
+		self.assertEquals(mr.get("items")[1].ordered_qty, 3.0)
 
 		#testing bin requested qty after issuing stock against material request
 		self.assertEquals(_get_requested_qty(), existing_requested_qty)
diff --git a/erpnext/stock/doctype/material_request/test_records.json b/erpnext/stock/doctype/material_request/test_records.json
index 0337ac2..152d144 100644
--- a/erpnext/stock/doctype/material_request/test_records.json
+++ b/erpnext/stock/doctype/material_request/test_records.json
@@ -3,13 +3,13 @@
   "company": "_Test Company", 
   "doctype": "Material Request", 
   "fiscal_year": "_Test Fiscal Year 2013", 
-  "indent_details": [
+  "items": [
    {
     "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", 
+    "parentfield": "items", 
     "qty": 54.0, 
     "schedule_date": "2013-02-18", 
     "uom": "_Test UOM 1", 
@@ -20,7 +20,7 @@
     "doctype": "Material Request Item", 
     "item_code": "_Test Item Home Desktop 200", 
     "item_name": "_Test Item Home Desktop 200", 
-    "parentfield": "indent_details", 
+    "parentfield": "items", 
     "qty": 3.0, 
     "schedule_date": "2013-02-19", 
     "uom": "_Test UOM 1", 
diff --git a/erpnext/stock/doctype/packed_item/packed_item.py b/erpnext/stock/doctype/packed_item/packed_item.py
index 9263907..5c6d820 100644
--- a/erpnext/stock/doctype/packed_item/packed_item.py
+++ b/erpnext/stock/doctype/packed_item/packed_item.py
@@ -27,19 +27,19 @@
 		where item_code = %s and warehouse = %s""", (item, warehouse), as_dict = 1)
 	return det and det[0] or ''
 
-def update_packing_list_item(obj, packing_item_code, qty, warehouse, line, packing_list_idx):
+def update_packing_list_item(obj, packing_item_code, qty, warehouse, line):
 	bin = get_bin_qty(packing_item_code, warehouse)
 	item = get_packing_item_details(packing_item_code)
 
 	# check if exists
 	exists = 0
-	for d in obj.get("packing_details"):
+	for d in obj.get("packed_items"):
 		if d.parent_item == line.item_code and d.item_code == packing_item_code and d.parent_detail_docname == line.name:
 			pi, exists = d, 1
 			break
 
 	if not exists:
-		pi = obj.append('packing_details', {})
+		pi = obj.append('packed_items', {})
 
 	pi.parent_item = line.item_code
 	pi.item_code = packing_item_code
@@ -54,9 +54,7 @@
 		pi.warehouse = warehouse
 	if not pi.batch_no:
 		pi.batch_no = cstr(line.get("batch_no"))
-	pi.idx = packing_list_idx
 
-	packing_list_idx += 1
 
 
 def make_packing_list(obj, item_table_fieldname):
@@ -64,13 +62,11 @@
 
 	if obj.get("_action") and obj._action == "update_after_submit": return
 
-	packing_list_idx = 0
 	parent_items = []
 	for d in obj.get(item_table_fieldname):
 		if frappe.db.get_value("Sales BOM", {"new_item_code": d.item_code}):
 			for i in get_sales_bom_items(d.item_code):
-				update_packing_list_item(obj, i['item_code'], flt(i['qty'])*flt(d.qty),
-					d.warehouse, d, packing_list_idx)
+				update_packing_list_item(obj, i['item_code'], flt(i['qty'])*flt(d.qty), d.warehouse, d)
 
 			if [d.item_code, d.name] not in parent_items:
 				parent_items.append([d.item_code, d.name])
@@ -80,7 +76,7 @@
 def cleanup_packing_list(obj, parent_items):
 	"""Remove all those child items which are no longer present in main item table"""
 	delete_list = []
-	for d in obj.get("packing_details"):
+	for d in obj.get("packed_items"):
 		if [d.parent_item, d.parent_detail_docname] not in parent_items:
 			# mark for deletion from doclist
 			delete_list.append(d)
@@ -88,8 +84,8 @@
 	if not delete_list:
 		return obj
 
-	packing_details = obj.get("packing_details")
-	obj.set("packing_details", [])
-	for d in packing_details:
+	packed_items = obj.get("packed_items")
+	obj.set("packed_items", [])
+	for d in packed_items:
 		if d not in delete_list:
-			obj.append("packing_details", d)
+			obj.append("packed_items", d)
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.js b/erpnext/stock/doctype/packing_slip/packing_slip.js
index 9788290..ff02e84 100644
--- a/erpnext/stock/doctype/packing_slip/packing_slip.js
+++ b/erpnext/stock/doctype/packing_slip/packing_slip.js
@@ -8,7 +8,7 @@
 }
 
 
-cur_frm.fields_dict['item_details'].grid.get_field('item_code').get_query =
+cur_frm.fields_dict['items'].grid.get_field('item_code').get_query =
 		function(doc, cdt, cdn) {
 			return {
 				query: "erpnext.stock.doctype.packing_slip.packing_slip.item_details",
@@ -59,7 +59,7 @@
 
 cur_frm.cscript.validate_calculate_item_details = function(doc) {
 	doc = locals[doc.doctype][doc.name];
-	var ps_detail = doc.item_details || [];
+	var ps_detail = doc.items || [];
 
 	cur_frm.cscript.validate_duplicate_items(doc, ps_detail);
 	cur_frm.cscript.calc_net_total_pkg(doc, ps_detail);
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.json b/erpnext/stock/doctype/packing_slip/packing_slip.json
index 27247e8..1fa0e49 100644
--- a/erpnext/stock/doctype/packing_slip/packing_slip.json
+++ b/erpnext/stock/doctype/packing_slip/packing_slip.json
@@ -102,7 +102,7 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "item_details", 
+   "fieldname": "items", 
    "fieldtype": "Table", 
    "label": "Items", 
    "options": "Packing Slip Item", 
@@ -197,7 +197,7 @@
  "icon": "icon-suitcase", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-11-13 16:50:50.423299", 
+ "modified": "2014-12-24 16:22:16.446193", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Packing Slip", 
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.py b/erpnext/stock/doctype/packing_slip/packing_slip.py
index bd79835..c304bc5 100644
--- a/erpnext/stock/doctype/packing_slip/packing_slip.py
+++ b/erpnext/stock/doctype/packing_slip/packing_slip.py
@@ -35,7 +35,7 @@
 			frappe.throw(_("Delivery Note {0} must not be submitted").format(self.delivery_note))
 
 	def validate_items_mandatory(self):
-		rows = [d.item_code for d in self.get("item_details")]
+		rows = [d.item_code for d in self.get("items")]
 		if not rows:
 			frappe.msgprint(_("No Items to pack"), raise_exception=1)
 
@@ -86,7 +86,7 @@
 			* No. of Cases of this packing slip
 		"""
 
-		rows = [d.item_code for d in self.get("item_details")]
+		rows = [d.item_code for d in self.get("items")]
 
 		condition = ""
 		if rows:
@@ -104,7 +104,7 @@
 			group by item_code""" % ("%s", condition),
 			tuple([self.delivery_note] + rows), as_dict=1)
 
-		ps_item_qty = dict([[d.item_code, d.qty] for d in self.get("item_details")])
+		ps_item_qty = dict([[d.item_code, d.qty] for d in self.get("items")])
 		no_of_cases = cint(self.to_case_no) - cint(self.from_case_no) + 1
 
 		return res, ps_item_qty, no_of_cases
@@ -127,7 +127,7 @@
 		if not self.from_case_no:
 			self.from_case_no = self.get_recommended_case_no()
 
-		for d in self.get("item_details"):
+		for d in self.get("items"):
 			res = frappe.db.get_value("Item", d.item_code,
 				["net_weight", "weight_uom"], as_dict=True)
 
@@ -146,12 +146,12 @@
 		return cint(recommended_case_no[0][0]) + 1
 
 	def get_items(self):
-		self.set("item_details", [])
+		self.set("items", [])
 
 		dn_details = self.get_details_for_packing()[0]
 		for item in dn_details:
 			if flt(item.qty) > flt(item.packed_qty):
-				ch = self.append('item_details', {})
+				ch = self.append('items', {})
 				ch.item_code = item.item_code
 				ch.item_name = item.item_name
 				ch.stock_uom = item.stock_uom
diff --git a/erpnext/stock/doctype/packing_slip/test_packing_slip.py b/erpnext/stock/doctype/packing_slip/test_packing_slip.py
new file mode 100644
index 0000000..1cb1fe0
--- /dev/null
+++ b/erpnext/stock/doctype/packing_slip/test_packing_slip.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and Contributors
+# See license.txt
+
+import frappe
+import unittest
+
+test_records = frappe.get_test_records('Packing Slip')
+
+class TestPackingSlip(unittest.TestCase):
+	pass
diff --git a/erpnext/stock/doctype/packing_slip/test_records.json b/erpnext/stock/doctype/packing_slip/test_records.json
new file mode 100644
index 0000000..9837e8b
--- /dev/null
+++ b/erpnext/stock/doctype/packing_slip/test_records.json
@@ -0,0 +1,6 @@
+[
+	{
+		"doctype": "Packing Slip",
+		"name": "_Test Packing Slip 1"
+	}
+]
diff --git a/erpnext/stock/doctype/price_list/price_list.json b/erpnext/stock/doctype/price_list/price_list.json
index 574bb67..1a645c3 100644
--- a/erpnext/stock/doctype/price_list/price_list.json
+++ b/erpnext/stock/doctype/price_list/price_list.json
@@ -1,5 +1,5 @@
 {
-  "allow_copy": 0, 
+ "allow_copy": 0, 
  "allow_email": 1, 
  "allow_import": 1, 
  "allow_print": 1, 
@@ -63,7 +63,7 @@
   }, 
   {
    "description": "Specify a list of Territories, for which, this Price List is valid", 
-   "fieldname": "valid_for_territories", 
+   "fieldname": "territories", 
    "fieldtype": "Table", 
    "label": "Valid for Territories", 
    "options": "Applicable Territory", 
@@ -74,7 +74,7 @@
  "icon": "icon-tags", 
  "idx": 1, 
  "max_attachments": 1, 
- "modified": "2014-05-27 03:49:14.866933", 
+ "modified": "2014-12-24 14:59:23.413738", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Price List", 
diff --git a/erpnext/stock/doctype/price_list/price_list.py b/erpnext/stock/doctype/price_list/price_list.py
index a4ff250..5f46869 100644
--- a/erpnext/stock/doctype/price_list/price_list.py
+++ b/erpnext/stock/doctype/price_list/price_list.py
@@ -15,11 +15,11 @@
 
 		try:
 			# at least one territory
-			self.validate_table_has_rows("valid_for_territories")
+			self.validate_table_has_rows("territories")
 		except frappe.EmptyTableError:
 			# if no territory, set default territory
 			if frappe.defaults.get_user_default("territory"):
-				self.append("valid_for_territories", {
+				self.append("territories", {
 					"doctype": "Applicable Territory",
 					"territory": frappe.defaults.get_user_default("territory")
 				})
diff --git a/erpnext/stock/doctype/price_list/test_records.json b/erpnext/stock/doctype/price_list/test_records.json
index 86d650c..d91f887 100644
--- a/erpnext/stock/doctype/price_list/test_records.json
+++ b/erpnext/stock/doctype/price_list/test_records.json
@@ -6,10 +6,10 @@
   "enabled": 1, 
   "price_list_name": "_Test Price List", 
   "selling": 1, 
-  "valid_for_territories": [
+  "territories": [
    {
     "doctype": "Applicable Territory", 
-    "parentfield": "valid_for_territories", 
+    "parentfield": "territories", 
     "territory": "All Territories"
    }
   ]
@@ -21,10 +21,10 @@
   "enabled": 1, 
   "price_list_name": "_Test Price List 2", 
   "selling": 1, 
-  "valid_for_territories": [
+  "territories": [
    {
     "doctype": "Applicable Territory", 
-    "parentfield": "valid_for_territories", 
+    "parentfield": "territories", 
     "territory": "_Test Territory Rest Of The World"
    }
   ]
@@ -36,10 +36,10 @@
   "enabled": 1, 
   "price_list_name": "_Test Price List India", 
   "selling": 1, 
-  "valid_for_territories": [
+  "territories": [
    {
     "doctype": "Applicable Territory", 
-    "parentfield": "valid_for_territories", 
+    "parentfield": "territories", 
     "territory": "_Test Territory India"
    }
   ]
@@ -51,15 +51,15 @@
   "enabled": 1, 
   "price_list_name": "_Test Price List Rest of the World", 
   "selling": 1, 
-  "valid_for_territories": [
+  "territories": [
    {
     "doctype": "Applicable Territory", 
-    "parentfield": "valid_for_territories", 
+    "parentfield": "territories", 
     "territory": "_Test Territory Rest Of The World"
    }, 
    {
     "doctype": "Applicable Territory", 
-    "parentfield": "valid_for_territories", 
+    "parentfield": "territories", 
     "territory": "_Test Territory United States"
    }
   ]
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
index de2d0de..c89dab1 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
@@ -1,10 +1,6 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-cur_frm.cscript.tname = "Purchase Receipt Item";
-cur_frm.cscript.fname = "purchase_receipt_details";
-cur_frm.cscript.other_fname = "other_charges";
-
 {% include 'buying/doctype/purchase_common/purchase_common.js' %};
 {% include 'accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js' %}
 
@@ -118,7 +114,7 @@
 	loaddoc('Contact', tn);
 }
 
-cur_frm.fields_dict['purchase_receipt_details'].grid.get_field('project_name').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['items'].grid.get_field('project_name').get_query = function(doc, cdt, cdn) {
 	return {
 		filters: [
 			['Project', 'status', 'not in', 'Completed, Cancelled']
@@ -126,7 +122,7 @@
 	}
 }
 
-cur_frm.fields_dict['purchase_receipt_details'].grid.get_field('batch_no').get_query= function(doc, cdt, cdn) {
+cur_frm.fields_dict['items'].grid.get_field('batch_no').get_query= function(doc, cdt, cdn) {
 	var d = locals[cdt][cdn];
 	if(d.item_code) {
 		return {
@@ -152,7 +148,7 @@
 	}
 }
 
-cur_frm.fields_dict.purchase_receipt_details.grid.get_field("qa_no").get_query = function(doc) {
+cur_frm.fields_dict.items.grid.get_field("qa_no").get_query = function(doc) {
 	return {
 		filters: {
 			'docstatus': 1
@@ -160,7 +156,7 @@
 	}
 }
 
-cur_frm.fields_dict['purchase_receipt_details'].grid.get_field('bom').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['items'].grid.get_field('bom').get_query = function(doc, cdt, cdn) {
 	var d = locals[cdt][cdn]
 	return {
 		filters: [
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
index 4b2fc3b..9ffed67 100755
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
@@ -203,7 +203,7 @@
    "print_hide": 1
   }, 
   {
-   "fieldname": "items", 
+   "fieldname": "items_section", 
    "fieldtype": "Section Break", 
    "label": "Items", 
    "oldfieldtype": "Section Break", 
@@ -212,9 +212,9 @@
   }, 
   {
    "allow_on_submit": 1, 
-   "fieldname": "purchase_receipt_details", 
+   "fieldname": "items", 
    "fieldtype": "Table", 
-   "label": "Purchase Receipt Items", 
+   "label": "Items", 
    "oldfieldname": "purchase_receipt_details", 
    "oldfieldtype": "Table", 
    "options": "Purchase Receipt Item", 
@@ -269,7 +269,7 @@
   }, 
   {
    "description": "Add / Edit Taxes and Charges", 
-   "fieldname": "taxes", 
+   "fieldname": "taxes_section", 
    "fieldtype": "Section Break", 
    "label": "Taxes and Charges", 
    "oldfieldtype": "Section Break", 
@@ -288,7 +288,7 @@
    "print_hide": 1
   }, 
   {
-   "fieldname": "other_charges", 
+   "fieldname": "taxes", 
    "fieldtype": "Table", 
    "label": "Purchase Taxes and Charges", 
    "oldfieldname": "purchase_tax_details", 
@@ -751,9 +751,9 @@
    "read_only": 1
   }, 
   {
-   "fieldname": "pr_raw_material_details", 
+   "fieldname": "supplied_items", 
    "fieldtype": "Table", 
-   "label": "Purchase Receipt Item Supplieds", 
+   "label": "Supplied Items", 
    "no_copy": 1, 
    "oldfieldname": "pr_raw_material_details", 
    "oldfieldtype": "Table", 
@@ -766,7 +766,7 @@
  "icon": "icon-truck", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-09-09 05:35:32.971576", 
+ "modified": "2014-12-24 14:31:25.348050", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Purchase Receipt", 
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index f38ee5d..bfb2eaf 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -12,13 +12,10 @@
 from erpnext.controllers.buying_controller import BuyingController
 
 form_grid_templates = {
-	"purchase_receipt_details": "templates/form_grid/item_grid.html"
+	"items": "templates/form_grid/item_grid.html"
 }
 
 class PurchaseReceipt(BuyingController):
-	tname = 'Purchase Receipt Item'
-	fname = 'purchase_receipt_details'
-
 	def __init__(self, arg1, arg2=None):
 		super(PurchaseReceipt, self).__init__(arg1, arg2)
 		self.status_updater = [{
@@ -38,7 +35,7 @@
 		billed_qty = frappe.db.sql("""select sum(ifnull(qty, 0)) from `tabPurchase Invoice Item`
 			where purchase_receipt=%s and docstatus=1""", self.name)
 		if billed_qty:
-			total_qty = sum((item.qty for item in self.get("purchase_receipt_details")))
+			total_qty = sum((item.qty for item in self.get("items")))
 			self.get("__onload").billing_complete = (billed_qty[0][0] == total_qty)
 
 	def validate(self):
@@ -65,19 +62,19 @@
 
 		# sub-contracting
 		self.validate_for_subcontracting()
-		self.create_raw_materials_supplied("pr_raw_material_details")
+		self.create_raw_materials_supplied("supplied_items")
 		self.set_landed_cost_voucher_amount()
-		self.update_valuation_rate("purchase_receipt_details")
+		self.update_valuation_rate("items")
 
 	def set_landed_cost_voucher_amount(self):
-		for d in self.get("purchase_receipt_details"):
+		for d in self.get("items"):
 			lc_voucher_amount = frappe.db.sql("""select sum(ifnull(applicable_charges, 0))
 				from `tabLanded Cost Item`
 				where docstatus = 1 and purchase_receipt_item = %s""", d.name)
 			d.landed_cost_voucher_amount = lc_voucher_amount[0][0] if lc_voucher_amount else 0.0
 
 	def validate_rejected_warehouse(self):
-		for d in self.get("purchase_receipt_details"):
+		for d in self.get("items"):
 			if flt(d.rejected_qty) and not d.rejected_warehouse:
 				d.rejected_warehouse = self.rejected_warehouse
 				if not d.rejected_warehouse:
@@ -85,7 +82,7 @@
 
 	# validate accepted and rejected qty
 	def validate_accepted_rejected_qty(self):
-		for d in self.get("purchase_receipt_details"):
+		for d in self.get("items"):
 			if not flt(d.received_qty) and flt(d.qty):
 				d.received_qty = flt(d.qty) - flt(d.rejected_qty)
 
@@ -101,7 +98,7 @@
 
 
 	def validate_with_previous_doc(self):
-		super(PurchaseReceipt, self).validate_with_previous_doc(self.tname, {
+		super(PurchaseReceipt, self).validate_with_previous_doc({
 			"Purchase Order": {
 				"ref_dn_field": "prevdoc_docname",
 				"compare_fields": [["supplier", "="], ["company", "="],	["currency", "="]],
@@ -114,7 +111,7 @@
 		})
 
 		if cint(frappe.defaults.get_global_default('maintain_same_rate')):
-			super(PurchaseReceipt, self).validate_with_previous_doc(self.tname, {
+			super(PurchaseReceipt, self).validate_with_previous_doc({
 				"Purchase Order Item": {
 					"ref_dn_field": "prevdoc_detail_docname",
 					"compare_fields": [["rate", "="]],
@@ -125,7 +122,7 @@
 
 	def po_required(self):
 		if frappe.db.get_value("Buying Settings", None, "po_required") == 'Yes':
-			 for d in self.get('purchase_receipt_details'):
+			 for d in self.get('items'):
 				 if not d.prevdoc_docname:
 					 frappe.throw(_("Purchase Order number required for Item {0}").format(d.item_code))
 
@@ -133,7 +130,7 @@
 		sl_entries = []
 		stock_items = self.get_stock_items()
 
-		for d in self.get('purchase_receipt_details'):
+		for d in self.get('items'):
 			if d.item_code in stock_items and d.warehouse:
 				pr_qty = flt(d.qty) * flt(d.conversion_factor)
 
@@ -157,7 +154,7 @@
 
 	def update_ordered_qty(self):
 		po_map = {}
-		for d in self.get("purchase_receipt_details"):
+		for d in self.get("items"):
 			if d.prevdoc_doctype and d.prevdoc_doctype == "Purchase Order" and d.prevdoc_detail_docname:
 				po_map.setdefault(d.prevdoc_docname, []).append(d.prevdoc_detail_docname)
 
@@ -183,7 +180,7 @@
 		return po_qty, po_warehouse
 
 	def bk_flush_supp_wh(self, sl_entries):
-		for d in self.get('pr_raw_material_details'):
+		for d in self.get('supplied_items'):
 			# negative quantity is passed as raw material qty has to be decreased
 			# when PR is submitted and it has to be increased when PR is cancelled
 			sl_entries.append(self.get_sl_entries(d, {
@@ -194,7 +191,7 @@
 			}))
 
 	def validate_inspection(self):
-		for d in self.get('purchase_receipt_details'):		 #Enter inspection date for all items that require inspection
+		for d in self.get('items'):		 #Enter inspection date for all items that require inspection
 			ins_reqd = frappe.db.sql("select inspection_required from `tabItem` where name = %s",
 				(d.item_code,), as_dict = 1)
 			ins_reqd = ins_reqd and ins_reqd[0]['inspection_required'] or 'No'
@@ -204,7 +201,7 @@
 	# Check for Stopped status
 	def check_for_stopped_status(self, pc_obj):
 		check_list =[]
-		for d in self.get('purchase_receipt_details'):
+		for d in self.get('items'):
 			if d.meta.get_field('prevdoc_docname') and d.prevdoc_docname and d.prevdoc_docname not in check_list:
 				check_list.append(d.prevdoc_docname)
 				pc_obj.check_for_stopped_status( d.prevdoc_doctype, d.prevdoc_docname)
@@ -226,7 +223,7 @@
 		self.update_stock_ledger()
 
 		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
-		update_serial_nos_after_submit(self, "purchase_receipt_details")
+		update_serial_nos_after_submit(self, "items")
 
 		purchase_controller.update_last_purchase_rate(self, 1)
 
@@ -266,7 +263,7 @@
 		self.make_gl_entries_on_cancel()
 
 	def get_current_stock(self):
-		for d in self.get('pr_raw_material_details'):
+		for d in self.get('supplied_items'):
 			if self.supplier_warehouse:
 				bin = frappe.db.sql("select actual_qty from `tabBin` where item_code = %s and warehouse = %s", (d.rm_item_code, self.supplier_warehouse), as_dict = 1)
 				d.current_stock = bin and flt(bin[0]['actual_qty']) or 0
@@ -284,7 +281,7 @@
 		warehouse_with_no_account = []
 		negative_expense_to_be_booked = 0.0
 		stock_items = self.get_stock_items()
-		for d in self.get("purchase_receipt_details"):
+		for d in self.get("items"):
 			if d.item_code in stock_items and flt(d.valuation_rate) and flt(d.qty):
 				if warehouse_account.get(d.warehouse):
 
@@ -335,7 +332,7 @@
 
 		# Cost center-wise amount breakup for other charges included for valuation
 		valuation_tax = {}
-		for tax in self.get("other_charges"):
+		for tax in self.get("taxes"):
 			if tax.category in ("Valuation", "Valuation and Total") and flt(tax.tax_amount):
 				if not tax.cost_center:
 					frappe.throw(_("Cost Center is required in row {0} in Taxes table for type {1}").format(tax.idx, _(tax.category)))
@@ -393,7 +390,7 @@
 	invoiced_qty_map = get_invoiced_qty_map(source_name)
 
 	def set_missing_values(source, target):
-		if len(target.get("entries")) == 0:
+		if len(target.get("items")) == 0:
 			frappe.throw(_("All items have already been invoiced"))
 
 		doc = frappe.get_doc(target)
diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
index 1a6a375..5868edf 100644
--- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
@@ -24,10 +24,10 @@
 		pi = make_purchase_invoice(pr.name)
 
 		self.assertEquals(pi.doctype, "Purchase Invoice")
-		self.assertEquals(len(pi.get("entries")), len(pr.get("purchase_receipt_details")))
+		self.assertEquals(len(pi.get("items")), len(pr.get("items")))
 
 		# modify rate
-		pi.get("entries")[0].rate = 200
+		pi.get("items")[0].rate = 200
 		self.assertRaises(frappe.ValidationError, frappe.get_doc(pi).submit)
 
 	def test_purchase_receipt_no_gl_entry(self):
@@ -64,9 +64,9 @@
 		self.assertTrue(gl_entries)
 
 		stock_in_hand_account = frappe.db.get_value("Account",
-			{"warehouse": pr.get("purchase_receipt_details")[0].warehouse})
+			{"warehouse": pr.get("items")[0].warehouse})
 		fixed_asset_account = frappe.db.get_value("Account",
-			{"warehouse": pr.get("purchase_receipt_details")[1].warehouse})
+			{"warehouse": pr.get("items")[1].warehouse})
 
 		expected_values = {
 			stock_in_hand_account: [375.0, 0.0],
@@ -94,19 +94,19 @@
 		pr.run_method("calculate_taxes_and_totals")
 		pr.insert()
 
-		self.assertEquals(len(pr.get("pr_raw_material_details")), 2)
-		self.assertEquals(pr.get("purchase_receipt_details")[0].rm_supp_cost, 20750.0)
+		self.assertEquals(len(pr.get("supplied_items")), 2)
+		self.assertEquals(pr.get("items")[0].rm_supp_cost, 20750.0)
 
 
 	def test_serial_no_supplier(self):
 		pr = frappe.copy_doc(test_records[0])
-		pr.get("purchase_receipt_details")[0].item_code = "_Test Serialized Item With Series"
-		pr.get("purchase_receipt_details")[0].qty = 1
-		pr.get("purchase_receipt_details")[0].received_qty = 1
+		pr.get("items")[0].item_code = "_Test Serialized Item With Series"
+		pr.get("items")[0].qty = 1
+		pr.get("items")[0].received_qty = 1
 		pr.insert()
 		pr.submit()
 
-		self.assertEquals(frappe.db.get_value("Serial No", pr.get("purchase_receipt_details")[0].serial_no,
+		self.assertEquals(frappe.db.get_value("Serial No", pr.get("items")[0].serial_no,
 			"supplier"), pr.supplier)
 
 		return pr
@@ -115,30 +115,30 @@
 		pr = self.test_serial_no_supplier()
 		pr.cancel()
 
-		self.assertFalse(frappe.db.get_value("Serial No", pr.get("purchase_receipt_details")[0].serial_no,
+		self.assertFalse(frappe.db.get_value("Serial No", pr.get("items")[0].serial_no,
 			"warehouse"))
 
 	def test_rejected_serial_no(self):
 		pr = frappe.copy_doc(test_records[0])
-		pr.get("purchase_receipt_details")[0].item_code = "_Test Serialized Item With Series"
-		pr.get("purchase_receipt_details")[0].qty = 3
-		pr.get("purchase_receipt_details")[0].rejected_qty = 2
-		pr.get("purchase_receipt_details")[0].received_qty = 5
-		pr.get("purchase_receipt_details")[0].rejected_warehouse = "_Test Rejected Warehouse - _TC"
+		pr.get("items")[0].item_code = "_Test Serialized Item With Series"
+		pr.get("items")[0].qty = 3
+		pr.get("items")[0].rejected_qty = 2
+		pr.get("items")[0].received_qty = 5
+		pr.get("items")[0].rejected_warehouse = "_Test Rejected Warehouse - _TC"
 		pr.insert()
 		pr.submit()
 
-		accepted_serial_nos = pr.get("purchase_receipt_details")[0].serial_no.split("\n")
+		accepted_serial_nos = pr.get("items")[0].serial_no.split("\n")
 		self.assertEquals(len(accepted_serial_nos), 3)
 		for serial_no in accepted_serial_nos:
 			self.assertEquals(frappe.db.get_value("Serial No", serial_no, "warehouse"),
-				pr.get("purchase_receipt_details")[0].warehouse)
+				pr.get("items")[0].warehouse)
 
-		rejected_serial_nos = pr.get("purchase_receipt_details")[0].rejected_serial_no.split("\n")
+		rejected_serial_nos = pr.get("items")[0].rejected_serial_no.split("\n")
 		self.assertEquals(len(rejected_serial_nos), 2)
 		for serial_no in rejected_serial_nos:
 			self.assertEquals(frappe.db.get_value("Serial No", serial_no, "warehouse"),
-				pr.get("purchase_receipt_details")[0].rejected_warehouse)
+				pr.get("items")[0].rejected_warehouse)
 
 def get_gl_entries(voucher_type, voucher_no):
 	return frappe.db.sql("""select account, debit, credit
diff --git a/erpnext/stock/doctype/purchase_receipt/test_records.json b/erpnext/stock/doctype/purchase_receipt/test_records.json
index 4b9b3ae..47253ad 100644
--- a/erpnext/stock/doctype/purchase_receipt/test_records.json
+++ b/erpnext/stock/doctype/purchase_receipt/test_records.json
@@ -9,7 +9,7 @@
   "grand_total": 720.0, 
   "naming_series": "_T-Purchase Receipt-", 
   "net_total": 500.0, 
-  "other_charges": [
+  "taxes": [
    {
     "account_head": "_Test Account Shipping Charges - _TC", 
     "add_deduct_tax": "Add", 
@@ -17,7 +17,7 @@
     "charge_type": "Actual", 
     "description": "Shipping Charges", 
     "doctype": "Purchase Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 100.0, 
     "tax_amount": 100.0,
 	"cost_center": "Main - _TC"
@@ -29,7 +29,7 @@
     "charge_type": "Actual", 
     "description": "VAT", 
     "doctype": "Purchase Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 120.0, 
     "tax_amount": 120.0,
 	"cost_center": "Main - _TC"
@@ -41,7 +41,7 @@
     "charge_type": "Actual", 
     "description": "Customs Duty", 
     "doctype": "Purchase Taxes and Charges", 
-    "parentfield": "other_charges", 
+    "parentfield": "taxes", 
     "rate": 150.0, 
     "tax_amount": 150.0,
 	"cost_center": "Main - _TC"
@@ -49,7 +49,7 @@
   ], 
   "posting_date": "2013-02-12", 
   "posting_time": "15:33:30", 
-  "purchase_receipt_details": [
+  "items": [
    {
     "base_amount": 250.0, 
     "conversion_factor": 1.0, 
@@ -57,7 +57,7 @@
     "doctype": "Purchase Receipt Item", 
     "item_code": "_Test Item", 
     "item_name": "_Test Item", 
-    "parentfield": "purchase_receipt_details", 
+    "parentfield": "items", 
     "qty": 5.0, 
     "rate": 50.0, 
     "received_qty": 5.0, 
@@ -74,7 +74,7 @@
     "doctype": "Purchase Receipt Item", 
     "item_code": "_Test Item", 
     "item_name": "_Test Item", 
-    "parentfield": "purchase_receipt_details", 
+    "parentfield": "items", 
     "qty": 5.0, 
     "rate": 50.0, 
     "received_qty": 5.0, 
@@ -99,7 +99,7 @@
   "net_total": 5000.0, 
   "posting_date": "2013-02-12", 
   "posting_time": "15:33:30", 
-  "purchase_receipt_details": [
+  "items": [
    {
     "base_amount": 5000.0, 
     "conversion_factor": 1.0, 
@@ -107,7 +107,7 @@
     "doctype": "Purchase Receipt Item", 
     "item_code": "_Test FG Item", 
     "item_name": "_Test FG Item", 
-    "parentfield": "purchase_receipt_details", 
+    "parentfield": "items", 
     "qty": 10.0, 
     "rate": 500.0, 
     "received_qty": 10.0, 
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index b5bd455..66256da 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -1,8 +1,5 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors // License: GNU General Public License v3. See license.txt
 
-cur_frm.cscript.tname = "Stock Entry Detail";
-cur_frm.cscript.fname = "mtn_details";
-
 frappe.require("assets/erpnext/js/controllers/stock_controller.js");
 frappe.require("assets/erpnext/js/utils.js");
 frappe.provide("erpnext.stock");
@@ -24,7 +21,7 @@
 			};
 		};
 
-		this.frm.fields_dict.mtn_details.grid.get_field('item_code').get_query = function() {
+		this.frm.fields_dict.items.grid.get_field('item_code').get_query = function() {
 			if(in_list(["Sales Return", "Purchase Return"], me.frm.doc.purpose) &&
 				me.get_doctype_docname()) {
 					return {
@@ -43,7 +40,7 @@
 
 		if(cint(frappe.defaults.get_default("auto_accounting_for_stock"))) {
 			this.frm.add_fetch("company", "stock_adjustment_account", "expense_account");
-			this.frm.fields_dict.mtn_details.grid.get_field('expense_account').get_query =
+			this.frm.fields_dict.items.grid.get_field('expense_account').get_query =
 					function() {
 				return {
 					filters: {
@@ -56,7 +53,7 @@
 	},
 
 	onload_post_render: function() {
-		cur_frm.get_field(this.fname).grid.set_multiple_add("item_code", "qty");
+		cur_frm.get_field("items").grid.set_multiple_add("item_code", "qty");
 		this.set_default_account();
 	},
 
@@ -69,14 +66,14 @@
 		this.show_general_ledger();
 
 		if(this.frm.doc.docstatus === 1 &&
-				frappe.boot.user.can_create.indexOf("Journal Voucher")!==-1) {
+				frappe.boot.user.can_create.indexOf("Journal Entry")!==-1) {
 			if(this.frm.doc.purpose === "Sales Return") {
 				this.frm.add_custom_button(__("Make Credit Note"),
-					function() { me.make_return_jv(); }, frappe.boot.doctype_icons["Journal Voucher"]);
+					function() { me.make_return_jv(); }, frappe.boot.doctype_icons["Journal Entry"]);
 				this.add_excise_button();
 			} else if(this.frm.doc.purpose === "Purchase Return") {
 				this.frm.add_custom_button(__("Make Debit Note"),
-					function() { me.make_return_jv(); }, frappe.boot.doctype_icons["Journal Voucher"]);
+					function() { me.make_return_jv(); }, frappe.boot.doctype_icons["Journal Entry"]);
 				this.add_excise_button();
 			}
 		}
@@ -108,7 +105,7 @@
 				},
 				callback: function(r) {
 					if (!r.exc) {
-						$.each(me.frm.doc.mtn_details || [], function(i, d) {
+						$.each(me.frm.doc.items || [], function(i, d) {
 							if(!d.expense_account) d.expense_account = r.message;
 						});
 					}
@@ -133,7 +130,7 @@
 				doc: this.frm.doc,
 				method: "get_items",
 				callback: function(r) {
-					if(!r.exc) refresh_field("mtn_details");
+					if(!r.exc) refresh_field("items");
 				}
 			});
 		}
@@ -142,7 +139,7 @@
 	qty: function(doc, cdt, cdn) {
 		var d = locals[cdt][cdn];
 		d.transfer_qty = flt(d.qty) * flt(d.conversion_factor);
-		refresh_field('mtn_details');
+		refresh_field('items');
 	},
 
 	production_order: function() {
@@ -197,11 +194,11 @@
 	add_excise_button: function() {
 		if(frappe.boot.sysdefaults.country === "India")
 			this.frm.add_custom_button(__("Make Excise Invoice"), function() {
-				var excise = frappe.model.make_new_doc_and_get_name('Journal Voucher');
-				excise = locals['Journal Voucher'][excise];
-				excise.voucher_type = 'Excise Voucher';
-				loaddoc('Journal Voucher', excise.name);
-			}, frappe.boot.doctype_icons["Journal Voucher"], "btn-default");
+				var excise = frappe.model.make_new_doc_and_get_name('Journal Entry');
+				excise = locals['Journal Entry'][excise];
+				excise.voucher_type = 'Excise Entry';
+				loaddoc('Journal Entry', excise.name);
+			}, frappe.boot.doctype_icons["Journal Entry"], "btn-default");
 	},
 
 	make_return_jv: function() {
@@ -222,9 +219,9 @@
 		}
 	},
 
-	mtn_details_add: function(doc, cdt, cdn) {
+	items_add: function(doc, cdt, cdn) {
 		var row = frappe.get_doc(cdt, cdn);
-		this.frm.script_manager.copy_from_first_row("mtn_details", row,
+		this.frm.script_manager.copy_from_first_row("items", row,
 			["expense_account", "cost_center"]);
 
 		if(!row.s_warehouse) row.s_warehouse = this.frm.doc.from_warehouse;
@@ -249,8 +246,8 @@
 	},
 
 	set_warehouse_if_missing: function(fieldname, value, condition) {
-		for (var i=0, l=(this.frm.doc.mtn_details || []).length; i<l; i++) {
-			var row = this.frm.doc.mtn_details[i];
+		for (var i=0, l=(this.frm.doc.items || []).length; i<l; i++) {
+			var row = this.frm.doc.items[i];
 			if (!row[fieldname]) {
 				if (condition && !condition(row)) {
 					continue;
@@ -261,7 +258,7 @@
 		}
 	},
 
-	mtn_details_on_form_rendered: function(doc, grid_row) {
+	items_on_form_rendered: function(doc, grid_row) {
 		erpnext.setup_serial_no(grid_row)
 	},
 
@@ -336,8 +333,8 @@
 	cur_frm.toggle_enable("from_warehouse", !disable_from_warehouse);
 	cur_frm.toggle_enable("to_warehouse", !disable_to_warehouse);
 
-	cur_frm.fields_dict["mtn_details"].grid.set_column_disp("s_warehouse", !disable_from_warehouse);
-	cur_frm.fields_dict["mtn_details"].grid.set_column_disp("t_warehouse", !disable_to_warehouse);
+	cur_frm.fields_dict["items"].grid.set_column_disp("s_warehouse", !disable_from_warehouse);
+	cur_frm.fields_dict["items"].grid.set_column_disp("t_warehouse", !disable_to_warehouse);
 
 	cur_frm.cscript.toggle_enable_bom();
 
@@ -371,7 +368,7 @@
 }
 
 // Overloaded query for link batch_no
-cur_frm.fields_dict['mtn_details'].grid.get_field('batch_no').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['items'].grid.get_field('batch_no').get_query = function(doc, cdt, cdn) {
 	var d = locals[cdt][cdn];
 	if(d.item_code) {
 		return{
@@ -401,7 +398,7 @@
 			'company'		: cur_frm.doc.company
 		};
 		return get_server_fields('get_item_details', JSON.stringify(args),
-			'mtn_details', doc, cdt, cdn, 1);
+			'items', doc, cdt, cdn, 1);
 	}
 
 }
@@ -417,7 +414,7 @@
 			'qty'			: d.s_warehouse ? -1* d.qty : d.qty
 		}
 		return get_server_fields('get_warehouse_details', JSON.stringify(args),
-			'mtn_details', doc, cdt, cdn, 1);
+			'items', doc, cdt, cdn, 1);
 	}
 }
 
@@ -428,7 +425,7 @@
 	if(d.uom && d.item_code){
 		var arg = {'item_code':d.item_code, 'uom':d.uom, 'qty':d.qty}
 		return get_server_fields('get_uom_details', JSON.stringify(arg),
-			'mtn_details', doc, cdt, cdn, 1);
+			'items', doc, cdt, cdn, 1);
 	}
 }
 
@@ -439,7 +436,7 @@
 }
 
 cur_frm.cscript.validate_items = function(doc) {
-	cl = doc.mtn_details || [];
+	cl = doc.items || [];
 	if (!cl.length) {
 		msgprint(__("Item table can not be blank"));
 		validated = false;
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.json b/erpnext/stock/doctype/stock_entry/stock_entry.json
index 8630d03..af443ae 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.json
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -210,11 +210,11 @@
   }, 
   {
    "allow_on_submit": 0, 
-   "fieldname": "mtn_details", 
+   "fieldname": "items", 
    "fieldtype": "Table", 
    "hidden": 0, 
    "in_filter": 0, 
-   "label": "MTN Details", 
+   "label": "Items", 
    "no_copy": 0, 
    "oldfieldname": "mtn_details", 
    "oldfieldtype": "Table", 
@@ -587,7 +587,7 @@
  "is_submittable": 1, 
  "issingle": 0, 
  "max_attachments": 0, 
- "modified": "2014-12-23 15:03:42.963697", 
+ "modified": "2014-12-24 16:43:51.886121", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Stock Entry", 
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index cb21867..2f7ca42 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -22,18 +22,16 @@
 from erpnext.controllers.stock_controller import StockController
 
 form_grid_templates = {
-	"mtn_details": "templates/form_grid/stock_entry_grid.html"
+	"items": "templates/form_grid/stock_entry_grid.html"
 }
 
 class StockEntry(StockController):
-	fname = 'mtn_details'
-
 	def get_feed(self):
 		return _("From {0} to {1}").format(self.from_warehouse, self.to_warehouse)
 
 	def onload(self):
 		if self.docstatus==1:
-			for item in self.get(self.fname):
+			for item in self.get("items"):
 				item.update(get_available_qty(item.item_code,
 					item.s_warehouse))
 
@@ -64,7 +62,7 @@
 		self.update_stock_ledger()
 
 		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
-		update_serial_nos_after_submit(self, "mtn_details")
+		update_serial_nos_after_submit(self, "items")
 		self.update_production_order()
 		self.make_gl_entries()
 
@@ -85,7 +83,7 @@
 			frappe.throw(_("Purpose must be one of {0}").format(comma_or(valid_purposes)))
 
 	def set_transfer_qty(self):
-		for item in self.get("mtn_details"):
+		for item in self.get("items"):
 			if not flt(item.qty):
 				frappe.throw(_("Row {0}: Qty is mandatory").format(item.idx))
 
@@ -94,7 +92,7 @@
 	def validate_item(self):
 		stock_items = self.get_stock_items()
 		serialized_items = self.get_serialized_items()
-		for item in self.get("mtn_details"):
+		for item in self.get("items"):
 			if item.item_code not in stock_items:
 				frappe.throw(_("{0} is not a stock Item").format(item.item_code))
 
@@ -121,18 +119,18 @@
 		source_mandatory = ["Material Issue", "Material Transfer", "Purchase Return"]
 		target_mandatory = ["Material Receipt", "Material Transfer", "Sales Return"]
 
-		validate_for_manufacture_repack = any([d.bom_no for d in self.get("mtn_details")])
+		validate_for_manufacture_repack = any([d.bom_no for d in self.get("items")])
 
 		if self.purpose in source_mandatory and self.purpose not in target_mandatory:
 			self.to_warehouse = None
-			for d in self.get('mtn_details'):
+			for d in self.get('items'):
 				d.t_warehouse = None
 		elif self.purpose in target_mandatory and self.purpose not in source_mandatory:
 			self.from_warehouse = None
-			for d in self.get('mtn_details'):
+			for d in self.get('items'):
 				d.s_warehouse = None
 
-		for d in self.get('mtn_details'):
+		for d in self.get('items'):
 			if not d.s_warehouse and not d.t_warehouse:
 				d.s_warehouse = self.from_warehouse
 				d.t_warehouse = self.to_warehouse
@@ -179,7 +177,7 @@
 	def check_if_operations_completed(self):
 		prod_order = frappe.get_doc("Production Order", self.production_order)
 		if prod_order.actual_operating_cost:
-			for d in prod_order.get("production_order_operations"):
+			for d in prod_order.get("operations"):
 				total_completed_qty = flt(self.fg_completed_qty) + flt(prod_order.produced_qty)
 				if total_completed_qty > flt(d.completed_qty):
 					frappe.throw(_("Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Production Order # {3}. Please update operation status via Time Logs")
@@ -210,7 +208,7 @@
 	def validate_valuation_rate(self):
 		if self.purpose in ["Manufacture", "Repack"]:
 			valuation_at_source, valuation_at_target = 0, 0
-			for d in self.get("mtn_details"):
+			for d in self.get("items"):
 				if d.s_warehouse and not d.t_warehouse:
 					valuation_at_source += flt(d.amount)
 				if d.t_warehouse and not d.s_warehouse:
@@ -220,7 +218,7 @@
 				frappe.throw(_("Total valuation for manufactured or repacked item(s) can not be less than total valuation of raw materials"))
 
 	def set_total_amount(self):
-		self.total_amount = sum([flt(item.amount) for item in self.get("mtn_details")])
+		self.total_amount = sum([flt(item.amount) for item in self.get("items")])
 
 	def get_stock_and_rate(self, force=False):
 		"""get stock and incoming rate on posting date"""
@@ -232,7 +230,7 @@
 
 		allow_negative_stock = cint(frappe.db.get_value("Stock Settings", None, "allow_negative_stock"))
 
-		for d in self.get('mtn_details'):
+		for d in self.get('items'):
 			d.transfer_qty = flt(d.transfer_qty)
 
 			args = frappe._dict({
@@ -264,8 +262,8 @@
 
 		# set incoming rate for fg item
 		if self.purpose in ("Manufacture", "Repack"):
-			number_of_fg_items = len([t.t_warehouse for t in self.get("mtn_details") if t.t_warehouse])
-			for d in self.get("mtn_details"):
+			number_of_fg_items = len([t.t_warehouse for t in self.get("items") if t.t_warehouse])
+			for d in self.get("items"):
 				if d.bom_no or (d.t_warehouse and number_of_fg_items == 1):
 					if not flt(d.incoming_rate) or force:
 						operation_cost_per_unit = self.get_operation_cost_per_unit(d.bom_no, d.qty)
@@ -278,7 +276,7 @@
 
 		if self.production_order:
 			pro_order = frappe.get_doc("Production Order", self.production_order)
-			for d in pro_order.get("production_order_operations"):
+			for d in pro_order.get("operations"):
 				if flt(d.completed_qty):
 					operation_cost_per_unit += flt(d.actual_operating_cost) / flt(d.completed_qty)
 				else:
@@ -312,18 +310,18 @@
 		return incoming_rate
 
 	def validate_incoming_rate(self):
-		for d in self.get('mtn_details'):
+		for d in self.get('items'):
 			if d.t_warehouse:
 				self.validate_value("incoming_rate", ">", 0, d, raise_exception=IncorrectValuationRateError)
 
 	def validate_bom(self):
-		for d in self.get('mtn_details'):
+		for d in self.get('items'):
 			if d.bom_no:
 				validate_bom_no(d.item_code, d.bom_no)
 
 	def validate_finished_goods(self):
 		"""validation: finished good quantity should be same as manufacturing quantity"""
-		for d in self.get('mtn_details'):
+		for d in self.get('items'):
 			if d.bom_no and flt(d.transfer_qty) != flt(self.fg_completed_qty):
 				frappe.throw(_("Quantity in row {0} ({1}) must be same as manufactured quantity {2}").format(d.idx, d.transfer_qty, self.fg_completed_qty))
 
@@ -353,7 +351,7 @@
 			stock_items = get_stock_items_for_return(ref.doc, ref.parentfields)
 			already_returned_item_qty = self.get_already_returned_item_qty(ref.fieldname)
 
-			for item in self.get("mtn_details"):
+			for item in self.get("items"):
 				# validate if item exists in the ref doc and that it is a stock item
 				if item.item_code not in stock_items:
 					frappe.throw(_("Item {0} does not exist in {1} {2}").format(item.item_code, ref.doc.doctype, ref.doc.name),
@@ -379,7 +377,7 @@
 
 	def update_stock_ledger(self):
 		sl_entries = []
-		for d in self.get('mtn_details'):
+		for d in self.get('items'):
 			if cstr(d.s_warehouse) and self.docstatus == 1:
 				sl_entries.append(self.get_sl_entries(d, {
 					"warehouse": cstr(d.s_warehouse),
@@ -489,7 +487,7 @@
 		return ret
 
 	def get_items(self):
-		self.set('mtn_details', [])
+		self.set('items', [])
 		self.validate_production_order()
 
 		pro_obj = None
@@ -620,7 +618,7 @@
 			["default_expense_account", "cost_center"])[0]
 
 		for d in item_dict:
-			se_child = self.append('mtn_details')
+			se_child = self.append('items')
 			se_child.s_warehouse = item_dict[d].get("from_warehouse")
 			se_child.t_warehouse = item_dict[d].get("to_warehouse")
 			se_child.item_code = cstr(d)
@@ -645,7 +643,7 @@
 			se_child.bom_no = bom_no
 
 	def validate_with_material_request(self):
-		for item in self.get("mtn_details"):
+		for item in self.get("items"):
 			if item.material_request:
 				mreq_item = frappe.db.get_value("Material Request Item",
 					{"name": item.material_request_item, "parent": item.material_request},
@@ -798,11 +796,11 @@
 return_map = {
 	"Sales Return": {
 		# [Ref DocType, [Item tables' parentfields]]
-		"delivery_note_no": ["Delivery Note", ["delivery_note_details", "packing_details"]],
-		"sales_invoice_no": ["Sales Invoice", ["entries", "packing_details"]]
+		"delivery_note_no": ["Delivery Note", ["items", "packed_items"]],
+		"sales_invoice_no": ["Sales Invoice", ["items", "packed_items"]]
 	},
 	"Purchase Return": {
-		"purchase_receipt_no": ["Purchase Receipt", ["purchase_receipt_details"]]
+		"purchase_receipt_no": ["Purchase Receipt", ["items"]]
 	}
 }
 
@@ -822,7 +820,7 @@
 		result = make_return_jv_from_purchase_receipt(se, ref)
 
 	# create jv doc and fetch balance for each unique row item
-	jv = frappe.new_doc("Journal Voucher")
+	jv = frappe.new_doc("Journal Entry")
 	jv.update({
 		"posting_date": se.posting_date,
 		"voucher_type": se.purpose == "Sales Return" and "Credit Note" or "Debit Note",
@@ -832,7 +830,7 @@
 
 	from erpnext.accounts.utils import get_balance_on
 	for r in result:
-		jv.append("entries", {
+		jv.append("accounts", {
 			"account": r.get("account"),
 			"party_type": r.get("party_type"),
 			"party": r.get("party"),
@@ -854,7 +852,7 @@
 
 	# income account entries
 	children = []
-	for se_item in se.get("mtn_details"):
+	for se_item in se.get("items"):
 		# find item in ref.doc
 		ref_item = ref.doc.get({"item_code": se_item.item_code})[0]
 
@@ -869,7 +867,7 @@
 	account = None
 	if not getattr(ref_item, "income_account", None):
 		if ref_item.parent_item:
-			parent_item = doc.get(doc.fname, {"item_code": ref_item.parent_item})[0]
+			parent_item = doc.get("items", {"item_code": ref_item.parent_item})[0]
 			account = parent_item.income_account
 	else:
 		account = ref_item.income_account
@@ -895,7 +893,7 @@
 	parent = {}
 	children = []
 
-	for se_item in se.get("mtn_details"):
+	for se_item in se.get("items"):
 		for sales_invoice in invoices_against_delivery:
 			si = frappe.get_doc("Sales Invoice", sales_invoice)
 
@@ -944,7 +942,7 @@
 
 	if not invoice_against_receipt:
 		purchase_orders_against_receipt = [d.prevdoc_docname for d in
-			ref.doc.get(ref.doc.fname, {"prevdoc_doctype": "Purchase Order"})
+			ref.doc.get("items", {"prevdoc_doctype": "Purchase Order"})
 			if getattr(d, "prevdoc_docname", None)]
 
 		if purchase_orders_against_receipt:
@@ -957,7 +955,7 @@
 	parent = {}
 	children = []
 
-	for se_item in se.get("mtn_details"):
+	for se_item in se.get("items"):
 		for purchase_invoice in invoice_against_receipt:
 			pi = frappe.get_doc("Purchase Invoice", purchase_invoice)
 			ref_item = pi.get({"item_code": se_item.item_code})
diff --git a/erpnext/stock/doctype/stock_entry/test_records.json b/erpnext/stock/doctype/stock_entry/test_records.json
index f743991..10df737 100644
--- a/erpnext/stock/doctype/stock_entry/test_records.json
+++ b/erpnext/stock/doctype/stock_entry/test_records.json
@@ -3,7 +3,7 @@
   "company": "_Test Company", 
   "doctype": "Stock Entry", 
   "fiscal_year": "_Test Fiscal Year 2013", 
-  "mtn_details": [
+  "items": [
    {
     "conversion_factor": 1.0, 
     "cost_center": "_Test Cost Center - _TC", 
@@ -11,7 +11,7 @@
     "expense_account": "Stock Adjustment - _TC", 
     "incoming_rate": 100,
     "item_code": "_Test Item", 
-    "parentfield": "mtn_details", 
+    "parentfield": "items", 
     "qty": 50.0, 
     "stock_uom": "_Test UOM", 
     "t_warehouse": "_Test Warehouse - _TC", 
@@ -27,7 +27,7 @@
   "company": "_Test Company", 
   "doctype": "Stock Entry", 
   "fiscal_year": "_Test Fiscal Year 2013", 
-  "mtn_details": [
+  "items": [
    {
     "conversion_factor": 1.0, 
     "cost_center": "_Test Cost Center - _TC", 
@@ -35,7 +35,7 @@
     "expense_account": "Stock Adjustment - _TC", 
     "incoming_rate": 100, 
     "item_code": "_Test Item", 
-    "parentfield": "mtn_details", 
+    "parentfield": "items", 
     "qty": 40.0, 
     "s_warehouse": "_Test Warehouse - _TC", 
     "stock_uom": "_Test UOM", 
@@ -51,7 +51,7 @@
   "company": "_Test Company", 
   "doctype": "Stock Entry", 
   "fiscal_year": "_Test Fiscal Year 2013", 
-  "mtn_details": [
+  "items": [
    {
     "conversion_factor": 1.0, 
     "cost_center": "_Test Cost Center - _TC", 
@@ -59,7 +59,7 @@
     "expense_account": "Stock Adjustment - _TC", 
     "incoming_rate": 100, 
     "item_code": "_Test Item", 
-    "parentfield": "mtn_details", 
+    "parentfield": "items", 
     "qty": 45.0, 
     "s_warehouse": "_Test Warehouse - _TC", 
     "stock_uom": "_Test UOM", 
@@ -76,7 +76,7 @@
   "company": "_Test Company", 
   "doctype": "Stock Entry", 
   "fiscal_year": "_Test Fiscal Year 2013", 
-  "mtn_details": [
+  "items": [
    {
     "conversion_factor": 1.0, 
     "cost_center": "_Test Cost Center - _TC", 
@@ -84,7 +84,7 @@
     "expense_account": "Stock Adjustment - _TC", 
     "incoming_rate": 100, 
     "item_code": "_Test Item", 
-    "parentfield": "mtn_details", 
+    "parentfield": "items", 
     "qty": 50.0, 
     "s_warehouse": "_Test Warehouse - _TC", 
     "stock_uom": "_Test UOM", 
@@ -98,7 +98,7 @@
     "expense_account": "Stock Adjustment - _TC", 
     "incoming_rate": 5000, 
     "item_code": "_Test Item Home Desktop 100", 
-    "parentfield": "mtn_details", 
+    "parentfield": "items", 
     "qty": 1, 
     "stock_uom": "_Test UOM", 
     "t_warehouse": "_Test Warehouse - _TC", 
diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
index cc539f6..32de53d 100644
--- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
@@ -91,8 +91,8 @@
 			"warehouse": warehouse}, "projected_qty") or 0
 
 		# update re-level qty so that it is more than projected_qty
-		if projected_qty > template.item_reorder[0].warehouse_reorder_level:
-			template.item_reorder[0].warehouse_reorder_level += projected_qty
+		if projected_qty > template.reorder_levels[0].warehouse_reorder_level:
+			template.reorder_levels[0].warehouse_reorder_level += projected_qty
 			template.save()
 
 		from erpnext.stock.reorder_item import reorder_item
@@ -102,7 +102,7 @@
 
 		items = []
 		for mr in mr_list:
-			for d in mr.indent_details:
+			for d in mr.items:
 				items.append(d.item_code)
 
 		self.assertTrue(item_code in items)
@@ -116,7 +116,7 @@
 		mr.submit()
 
 		stock_in_hand_account = frappe.db.get_value("Account", {"account_type": "Warehouse",
-			"warehouse": mr.get("mtn_details")[0].t_warehouse})
+			"warehouse": mr.get("items")[0].t_warehouse})
 
 		self.check_stock_ledger_entries("Stock Entry", mr.name,
 			[["_Test Item", "_Test Warehouse - _TC", 50.0]])
@@ -151,7 +151,7 @@
 			[["_Test Item", "_Test Warehouse - _TC", -40.0]])
 
 		stock_in_hand_account = frappe.db.get_value("Account", {"account_type": "Warehouse",
-			"warehouse": mi.get("mtn_details")[0].s_warehouse})
+			"warehouse": mi.get("items")[0].s_warehouse})
 
 		self.check_gl_entries("Stock Entry", mi.name,
 			sorted([
@@ -167,11 +167,11 @@
 		self.assertFalse(frappe.db.sql("""select * from `tabGL Entry`
 			where voucher_type='Stock Entry' and voucher_no=%s""", mi.name))
 
-		self.assertEquals(frappe.db.get_value("Bin", {"warehouse": mi.get("mtn_details")[0].s_warehouse,
-			"item_code": mi.get("mtn_details")[0].item_code}, "actual_qty"), 50)
+		self.assertEquals(frappe.db.get_value("Bin", {"warehouse": mi.get("items")[0].s_warehouse,
+			"item_code": mi.get("items")[0].item_code}, "actual_qty"), 50)
 
-		self.assertEquals(frappe.db.get_value("Bin", {"warehouse": mi.get("mtn_details")[0].s_warehouse,
-			"item_code": mi.get("mtn_details")[0].item_code}, "stock_value"), 5000)
+		self.assertEquals(frappe.db.get_value("Bin", {"warehouse": mi.get("items")[0].s_warehouse,
+			"item_code": mi.get("items")[0].item_code}, "stock_value"), 5000)
 
 	def test_material_transfer_gl_entry(self):
 		self._clear_stock_account_balance()
@@ -187,10 +187,10 @@
 			[["_Test Item", "_Test Warehouse - _TC", -45.0], ["_Test Item", "_Test Warehouse 1 - _TC", 45.0]])
 
 		stock_in_hand_account = frappe.db.get_value("Account", {"account_type": "Warehouse",
-			"warehouse": mtn.get("mtn_details")[0].s_warehouse})
+			"warehouse": mtn.get("items")[0].s_warehouse})
 
 		fixed_asset_account = frappe.db.get_value("Account", {"account_type": "Warehouse",
-			"warehouse": mtn.get("mtn_details")[0].t_warehouse})
+			"warehouse": mtn.get("items")[0].t_warehouse})
 
 
 		self.check_gl_entries("Stock Entry", mtn.name,
@@ -237,12 +237,12 @@
 		self._insert_material_receipt()
 
 		repack = frappe.copy_doc(test_records[3])
-		repack.get("mtn_details")[1].incoming_rate = 6000
+		repack.get("items")[1].incoming_rate = 6000
 		repack.insert()
 		repack.submit()
 
 		stock_in_hand_account = frappe.db.get_value("Account", {"account_type": "Warehouse",
-			"warehouse": repack.get("mtn_details")[1].t_warehouse})
+			"warehouse": repack.get("items")[1].t_warehouse})
 
 		self.check_gl_entries("Stock Entry", repack.name,
 			sorted([
@@ -289,7 +289,7 @@
 		se1.submit()
 
 		se2 = frappe.copy_doc(test_records[0])
-		se2.get("mtn_details")[0].item_code = "_Test Item Home Desktop 100"
+		se2.get("items")[0].item_code = "_Test Item Home Desktop 100"
 		se2.insert()
 		se2.submit()
 
@@ -313,8 +313,8 @@
 		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Sales Return"
 		se.sales_invoice_no = si.name
-		se.get("mtn_details")[0].qty = returned_qty
-		se.get("mtn_details")[0].transfer_qty = returned_qty
+		se.get("items")[0].qty = returned_qty
+		se.get("items")[0].transfer_qty = returned_qty
 		self.assertRaises(NotUpdateStockError, se.insert)
 
 		self._insert_material_receipt()
@@ -325,9 +325,9 @@
 		# insert a pos invoice with update stock
 		si = frappe.copy_doc(sales_invoice_test_records[1])
 		si.update_stock = 1
-		si.get("entries")[0].warehouse = "_Test Warehouse - _TC"
-		si.get("entries")[0].item_code = item_code
-		si.get("entries")[0].qty = 5.0
+		si.get("items")[0].warehouse = "_Test Warehouse - _TC"
+		si.get("items")[0].item_code = item_code
+		si.get("items")[0].qty = 5.0
 		si.insert()
 		si.submit()
 
@@ -342,9 +342,9 @@
 		se.sales_invoice_no = si.name
 		se.posting_date = "2013-03-10"
 		se.fiscal_year = "_Test Fiscal Year 2013"
-		se.get("mtn_details")[0].item_code = "_Test Item Home Desktop 200"
-		se.get("mtn_details")[0].qty = returned_qty
-		se.get("mtn_details")[0].transfer_qty = returned_qty
+		se.get("items")[0].item_code = "_Test Item Home Desktop 200"
+		se.get("items")[0].qty = returned_qty
+		se.get("items")[0].transfer_qty = returned_qty
 
 		# check if stock entry gets submitted
 		self.assertRaises(frappe.DoesNotExistError, se.insert)
@@ -355,8 +355,8 @@
 		se.posting_date = "2013-03-10"
 		se.fiscal_year = "_Test Fiscal Year 2013"
 		se.sales_invoice_no = si.name
-		se.get("mtn_details")[0].qty = returned_qty
-		se.get("mtn_details")[0].transfer_qty = returned_qty
+		se.get("items")[0].qty = returned_qty
+		se.get("items")[0].transfer_qty = returned_qty
 		# in both cases item code remains _Test Item when returning
 		se.insert()
 
@@ -388,7 +388,7 @@
 		actual_qty_0 = self._get_actual_qty()
 		# make a delivery note based on this invoice
 		dn = frappe.copy_doc(delivery_note_test_records[0])
-		dn.get("delivery_note_details")[0].item_code = item_code
+		dn.get("items")[0].item_code = item_code
 		dn.insert()
 		dn.submit()
 
@@ -401,7 +401,7 @@
 		si = frappe.get_doc(si_doc)
 		si.posting_date = dn.posting_date
 		si.debit_to = "_Test Receivable - _TC"
-		for d in si.get("entries"):
+		for d in si.get("items"):
 			d.income_account = "Sales - _TC"
 			d.cost_center = "_Test Cost Center - _TC"
 		si.insert()
@@ -413,7 +413,7 @@
 		se.delivery_note_no = dn.name
 		se.posting_date = "2013-03-10"
 		se.fiscal_year = "_Test Fiscal Year 2013"
-		se.get("mtn_details")[0].qty = se.get("mtn_details")[0].transfer_qty = returned_qty
+		se.get("items")[0].qty = se.get("items")[0].transfer_qty = returned_qty
 
 		se.insert()
 		se.submit()
@@ -435,14 +435,14 @@
 		from erpnext.stock.doctype.stock_entry.stock_entry import make_return_jv
 		jv = make_return_jv(se.name)
 
-		self.assertEqual(len(jv.get("entries")), 2)
+		self.assertEqual(len(jv.get("accounts")), 2)
 		self.assertEqual(jv.get("voucher_type"), "Credit Note")
 		self.assertEqual(jv.get("posting_date"), se.posting_date)
-		self.assertEqual(jv.get("entries")[0].get("account"), "_Test Receivable - _TC")
-		self.assertEqual(jv.get("entries")[0].get("party_type"), "Customer")
-		self.assertEqual(jv.get("entries")[0].get("party"), "_Test Customer")
-		self.assertTrue(jv.get("entries")[0].get("against_invoice"))
-		self.assertEqual(jv.get("entries")[1].get("account"), "Sales - _TC")
+		self.assertEqual(jv.get("accounts")[0].get("account"), "_Test Receivable - _TC")
+		self.assertEqual(jv.get("accounts")[0].get("party_type"), "Customer")
+		self.assertEqual(jv.get("accounts")[0].get("party"), "_Test Customer")
+		self.assertTrue(jv.get("accounts")[0].get("against_invoice"))
+		self.assertEqual(jv.get("accounts")[1].get("account"), "Sales - _TC")
 
 	def test_make_return_jv_for_sales_invoice_non_packing_item(self):
 		self._clear_stock_account_balance()
@@ -479,8 +479,8 @@
 		actual_qty_0 = self._get_actual_qty()
 
 		so = frappe.copy_doc(sales_order_test_records[0])
-		so.get("sales_order_details")[0].item_code = item_code
-		so.get("sales_order_details")[0].qty = 5.0
+		so.get("items")[0].item_code = item_code
+		so.get("items")[0].qty = 5.0
 		so.insert()
 		so.submit()
 
@@ -496,7 +496,7 @@
 		si = make_sales_invoice(so.name)
 		si.posting_date = dn.posting_date
 		si.debit_to = "_Test Receivable - _TC"
-		for d in si.get("entries"):
+		for d in si.get("items"):
 			d.income_account = "Sales - _TC"
 			d.cost_center = "_Test Cost Center - _TC"
 		si.insert()
@@ -508,7 +508,7 @@
 		se.delivery_note_no = dn.name
 		se.posting_date = "2013-03-10"
 		se.fiscal_year = "_Test Fiscal Year 2013"
-		se.get("mtn_details")[0].qty = se.get("mtn_details")[0].transfer_qty = returned_qty
+		se.get("items")[0].qty = se.get("items")[0].transfer_qty = returned_qty
 
 		se.insert()
 		se.submit()
@@ -542,11 +542,11 @@
 		pi = frappe.get_doc(pi_doc)
 		pi.posting_date = pr.posting_date
 		pi.credit_to = "_Test Payable - _TC"
-		for d in pi.get("entries"):
+		for d in pi.get("items"):
 			d.expense_account = "_Test Account Cost for Goods Sold - _TC"
 			d.cost_center = "_Test Cost Center - _TC"
 
-		for d in pi.get("other_charges"):
+		for d in pi.get("taxes"):
 			d.cost_center = "_Test Cost Center - _TC"
 
 		pi.run_method("calculate_taxes_and_totals")
@@ -560,8 +560,8 @@
 		se.purchase_receipt_no = pr.name
 		se.posting_date = "2013-03-01"
 		se.fiscal_year = "_Test Fiscal Year 2013"
-		se.get("mtn_details")[0].qty = se.get("mtn_details")[0].transfer_qty = 5
-		se.get("mtn_details")[0].s_warehouse = "_Test Warehouse - _TC"
+		se.get("items")[0].qty = se.get("items")[0].transfer_qty = 5
+		se.get("items")[0].s_warehouse = "_Test Warehouse - _TC"
 		se.insert()
 		se.submit()
 
@@ -586,8 +586,8 @@
 		se.purchase_receipt_no = pr_docname
 		se.posting_date = "2013-03-01"
 		se.fiscal_year = "_Test Fiscal Year 2013"
-		se.get("mtn_details")[0].qty = se.get("mtn_details")[0].transfer_qty = 6
-		se.get("mtn_details")[0].s_warehouse = "_Test Warehouse - _TC"
+		se.get("items")[0].qty = se.get("items")[0].transfer_qty = 6
+		se.get("items")[0].s_warehouse = "_Test Warehouse - _TC"
 
 		self.assertRaises(StockOverReturnError, se.insert)
 
@@ -595,13 +595,13 @@
 		from erpnext.stock.doctype.stock_entry.stock_entry import make_return_jv
 		jv = make_return_jv(se.name)
 
-		self.assertEqual(len(jv.get("entries")), 2)
+		self.assertEqual(len(jv.get("accounts")), 2)
 		self.assertEqual(jv.get("voucher_type"), "Debit Note")
 		self.assertEqual(jv.get("posting_date"), se.posting_date)
-		self.assertEqual(jv.get("entries")[0].get("account"), "_Test Payable - _TC")
-		self.assertEqual(jv.get("entries")[0].get("party"), "_Test Supplier")
-		self.assertEqual(jv.get("entries")[1].get("account"), "_Test Account Cost for Goods Sold - _TC")
-		self.assertTrue(jv.get("entries")[0].get("against_voucher"))
+		self.assertEqual(jv.get("accounts")[0].get("account"), "_Test Payable - _TC")
+		self.assertEqual(jv.get("accounts")[0].get("party"), "_Test Supplier")
+		self.assertEqual(jv.get("accounts")[1].get("account"), "_Test Account Cost for Goods Sold - _TC")
+		self.assertTrue(jv.get("accounts")[0].get("against_voucher"))
 
 	def test_make_return_jv_for_purchase_receipt(self):
 		self._clear_stock_account_balance()
@@ -625,8 +625,8 @@
 		# submit purchase receipt
 		po = frappe.copy_doc(purchase_order_test_records[0])
 		po.is_subcontracted = None
-		po.get("po_details")[0].item_code = "_Test Item"
-		po.get("po_details")[0].rate = 50
+		po.get("items")[0].item_code = "_Test Item"
+		po.get("items")[0].rate = 50
 		po.insert()
 		po.submit()
 
@@ -646,10 +646,10 @@
 		pi = frappe.get_doc(pi_doc)
 		pi.posting_date = pr.posting_date
 		pi.credit_to = "_Test Payable - _TC"
-		for d in pi.get("entries"):
+		for d in pi.get("items"):
 			d.expense_account = "_Test Account Cost for Goods Sold - _TC"
 			d.cost_center = "_Test Cost Center - _TC"
-		for d in pi.get("other_charges"):
+		for d in pi.get("taxes"):
 			d.cost_center = "_Test Cost Center - _TC"
 
 		pi.run_method("calculate_taxes_and_totals")
@@ -663,8 +663,8 @@
 		se.purchase_receipt_no = pr.name
 		se.posting_date = "2013-03-01"
 		se.fiscal_year = "_Test Fiscal Year 2013"
-		se.get("mtn_details")[0].qty = se.get("mtn_details")[0].transfer_qty = 5
-		se.get("mtn_details")[0].s_warehouse = "_Test Warehouse - _TC"
+		se.get("items")[0].qty = se.get("items")[0].transfer_qty = 5
+		se.get("items")[0].s_warehouse = "_Test Warehouse - _TC"
 		se.insert()
 		se.submit()
 
@@ -686,43 +686,43 @@
 
 	def test_serial_no_not_reqd(self):
 		se = frappe.copy_doc(test_records[0])
-		se.get("mtn_details")[0].serial_no = "ABCD"
+		se.get("items")[0].serial_no = "ABCD"
 		se.insert()
 		self.assertRaises(SerialNoNotRequiredError, se.submit)
 
 	def test_serial_no_reqd(self):
 		se = frappe.copy_doc(test_records[0])
-		se.get("mtn_details")[0].item_code = "_Test Serialized Item"
-		se.get("mtn_details")[0].qty = 2
-		se.get("mtn_details")[0].transfer_qty = 2
+		se.get("items")[0].item_code = "_Test Serialized Item"
+		se.get("items")[0].qty = 2
+		se.get("items")[0].transfer_qty = 2
 		se.insert()
 		self.assertRaises(SerialNoRequiredError, se.submit)
 
 	def test_serial_no_qty_more(self):
 		se = frappe.copy_doc(test_records[0])
-		se.get("mtn_details")[0].item_code = "_Test Serialized Item"
-		se.get("mtn_details")[0].qty = 2
-		se.get("mtn_details")[0].serial_no = "ABCD\nEFGH\nXYZ"
-		se.get("mtn_details")[0].transfer_qty = 2
+		se.get("items")[0].item_code = "_Test Serialized Item"
+		se.get("items")[0].qty = 2
+		se.get("items")[0].serial_no = "ABCD\nEFGH\nXYZ"
+		se.get("items")[0].transfer_qty = 2
 		se.insert()
 		self.assertRaises(SerialNoQtyError, se.submit)
 
 	def test_serial_no_qty_less(self):
 		se = frappe.copy_doc(test_records[0])
-		se.get("mtn_details")[0].item_code = "_Test Serialized Item"
-		se.get("mtn_details")[0].qty = 2
-		se.get("mtn_details")[0].serial_no = "ABCD"
-		se.get("mtn_details")[0].transfer_qty = 2
+		se.get("items")[0].item_code = "_Test Serialized Item"
+		se.get("items")[0].qty = 2
+		se.get("items")[0].serial_no = "ABCD"
+		se.get("items")[0].transfer_qty = 2
 		se.insert()
 		self.assertRaises(SerialNoQtyError, se.submit)
 
 	def test_serial_no_transfer_in(self):
 		self._clear_stock_account_balance()
 		se = frappe.copy_doc(test_records[0])
-		se.get("mtn_details")[0].item_code = "_Test Serialized Item"
-		se.get("mtn_details")[0].qty = 2
-		se.get("mtn_details")[0].serial_no = "ABCD\nEFGH"
-		se.get("mtn_details")[0].transfer_qty = 2
+		se.get("items")[0].item_code = "_Test Serialized Item"
+		se.get("items")[0].qty = 2
+		se.get("items")[0].serial_no = "ABCD\nEFGH"
+		se.get("items")[0].transfer_qty = 2
 		se.insert()
 		se.submit()
 
@@ -738,12 +738,12 @@
 		make_serialized_item(target_warehouse="_Test Warehouse 1 - _TC")
 		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Material Issue"
-		se.get("mtn_details")[0].item_code = "_Test Serialized Item With Series"
-		se.get("mtn_details")[0].qty = 2
-		se.get("mtn_details")[0].s_warehouse = "_Test Warehouse 1 - _TC"
-		se.get("mtn_details")[0].t_warehouse = None
-		se.get("mtn_details")[0].serial_no = "ABCD\nEFGH"
-		se.get("mtn_details")[0].transfer_qty = 2
+		se.get("items")[0].item_code = "_Test Serialized Item With Series"
+		se.get("items")[0].qty = 2
+		se.get("items")[0].s_warehouse = "_Test Warehouse 1 - _TC"
+		se.get("items")[0].t_warehouse = None
+		se.get("items")[0].serial_no = "ABCD\nEFGH"
+		se.get("items")[0].transfer_qty = 2
 		se.insert()
 
 		self.assertRaises(SerialNoNotExistsError, se.submit)
@@ -753,10 +753,10 @@
 		se, serial_nos = self.test_serial_by_series()
 
 		se = frappe.copy_doc(test_records[0])
-		se.get("mtn_details")[0].item_code = "_Test Serialized Item With Series"
-		se.get("mtn_details")[0].qty = 1
-		se.get("mtn_details")[0].serial_no = serial_nos[0]
-		se.get("mtn_details")[0].transfer_qty = 1
+		se.get("items")[0].item_code = "_Test Serialized Item With Series"
+		se.get("items")[0].qty = 1
+		se.get("items")[0].serial_no = serial_nos[0]
+		se.get("items")[0].transfer_qty = 1
 		se.insert()
 		self.assertRaises(SerialNoDuplicateError, se.submit)
 
@@ -764,7 +764,7 @@
 		self._clear_stock_account_balance()
 		se = make_serialized_item()
 
-		serial_nos = get_serial_nos(se.get("mtn_details")[0].serial_no)
+		serial_nos = get_serial_nos(se.get("items")[0].serial_no)
 
 		self.assertTrue(frappe.db.exists("Serial No", serial_nos[0]))
 		self.assertTrue(frappe.db.exists("Serial No", serial_nos[1]))
@@ -777,28 +777,28 @@
 
 		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Material Transfer"
-		se.get("mtn_details")[0].item_code = "_Test Serialized Item"
-		se.get("mtn_details")[0].qty = 1
-		se.get("mtn_details")[0].transfer_qty = 1
-		se.get("mtn_details")[0].serial_no = serial_nos[0]
-		se.get("mtn_details")[0].s_warehouse = "_Test Warehouse - _TC"
-		se.get("mtn_details")[0].t_warehouse = "_Test Warehouse 1 - _TC"
+		se.get("items")[0].item_code = "_Test Serialized Item"
+		se.get("items")[0].qty = 1
+		se.get("items")[0].transfer_qty = 1
+		se.get("items")[0].serial_no = serial_nos[0]
+		se.get("items")[0].s_warehouse = "_Test Warehouse - _TC"
+		se.get("items")[0].t_warehouse = "_Test Warehouse 1 - _TC"
 		se.insert()
 		self.assertRaises(SerialNoItemError, se.submit)
 
 	def test_serial_move(self):
 		self._clear_stock_account_balance()
 		se = make_serialized_item()
-		serial_no = get_serial_nos(se.get("mtn_details")[0].serial_no)[0]
+		serial_no = get_serial_nos(se.get("items")[0].serial_no)[0]
 
 		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Material Transfer"
-		se.get("mtn_details")[0].item_code = "_Test Serialized Item With Series"
-		se.get("mtn_details")[0].qty = 1
-		se.get("mtn_details")[0].transfer_qty = 1
-		se.get("mtn_details")[0].serial_no = serial_no
-		se.get("mtn_details")[0].s_warehouse = "_Test Warehouse - _TC"
-		se.get("mtn_details")[0].t_warehouse = "_Test Warehouse 1 - _TC"
+		se.get("items")[0].item_code = "_Test Serialized Item With Series"
+		se.get("items")[0].qty = 1
+		se.get("items")[0].transfer_qty = 1
+		se.get("items")[0].serial_no = serial_no
+		se.get("items")[0].s_warehouse = "_Test Warehouse - _TC"
+		se.get("items")[0].t_warehouse = "_Test Warehouse 1 - _TC"
 		se.insert()
 		se.submit()
 		self.assertTrue(frappe.db.get_value("Serial No", serial_no, "warehouse"), "_Test Warehouse 1 - _TC")
@@ -811,16 +811,16 @@
 		make_serialized_item(target_warehouse="_Test Warehouse 1 - _TC")
 
 		t = make_serialized_item()
-		serial_nos = get_serial_nos(t.get("mtn_details")[0].serial_no)
+		serial_nos = get_serial_nos(t.get("items")[0].serial_no)
 
 		se = frappe.copy_doc(test_records[0])
 		se.purpose = "Material Transfer"
-		se.get("mtn_details")[0].item_code = "_Test Serialized Item With Series"
-		se.get("mtn_details")[0].qty = 1
-		se.get("mtn_details")[0].transfer_qty = 1
-		se.get("mtn_details")[0].serial_no = serial_nos[0]
-		se.get("mtn_details")[0].s_warehouse = "_Test Warehouse 1 - _TC"
-		se.get("mtn_details")[0].t_warehouse = "_Test Warehouse - _TC"
+		se.get("items")[0].item_code = "_Test Serialized Item With Series"
+		se.get("items")[0].qty = 1
+		se.get("items")[0].transfer_qty = 1
+		se.get("items")[0].serial_no = serial_nos[0]
+		se.get("items")[0].s_warehouse = "_Test Warehouse 1 - _TC"
+		se.get("items")[0].t_warehouse = "_Test Warehouse - _TC"
 		se.insert()
 		self.assertRaises(SerialNoWarehouseError, se.submit)
 
@@ -829,7 +829,7 @@
 		se, serial_nos = self.test_serial_by_series()
 		se.cancel()
 
-		serial_no = get_serial_nos(se.get("mtn_details")[0].serial_no)[0]
+		serial_no = get_serial_nos(se.get("items")[0].serial_no)[0]
 		self.assertFalse(frappe.db.get_value("Serial No", serial_no, "warehouse"))
 
 	def test_warehouse_company_validation(self):
@@ -841,7 +841,7 @@
 
 		from erpnext.stock.utils import InvalidWarehouseCompany
 		st1 = frappe.copy_doc(test_records[0])
-		st1.get("mtn_details")[0].t_warehouse="_Test Warehouse 2 - _TC1"
+		st1.get("items")[0].t_warehouse="_Test Warehouse 2 - _TC1"
 		st1.insert()
 		self.assertRaises(InvalidWarehouseCompany, st1.submit)
 
@@ -861,13 +861,13 @@
 		frappe.set_user("test@example.com")
 		st1 = frappe.copy_doc(test_records[0])
 		st1.company = "_Test Company 1"
-		st1.get("mtn_details")[0].t_warehouse="_Test Warehouse 2 - _TC1"
+		st1.get("items")[0].t_warehouse="_Test Warehouse 2 - _TC1"
 		self.assertRaises(frappe.PermissionError, st1.insert)
 
 		frappe.set_user("test2@example.com")
 		st1 = frappe.copy_doc(test_records[0])
 		st1.company = "_Test Company 1"
-		st1.get("mtn_details")[0].t_warehouse="_Test Warehouse 2 - _TC1"
+		st1.get("items")[0].t_warehouse="_Test Warehouse 2 - _TC1"
 		st1.insert()
 		st1.submit()
 
@@ -922,9 +922,9 @@
 		})
 		stock_entry.get_items()
 
-		fg_rate = [d.amount for d in stock_entry.get("mtn_details") if d.item_code=="_Test FG Item 2"][0]
+		fg_rate = [d.amount for d in stock_entry.get("items") if d.item_code=="_Test FG Item 2"][0]
 		self.assertEqual(fg_rate, 1200.00)
-		fg_rate = [d.amount for d in stock_entry.get("mtn_details") if d.item_code=="_Test Item"][0]
+		fg_rate = [d.amount for d in stock_entry.get("items") if d.item_code=="_Test Item"][0]
 		self.assertEqual(fg_rate, 100.00)
 
 	def test_variant_production_order(self):
@@ -948,17 +948,17 @@
 
 		stock_entry = frappe.get_doc(make_stock_entry(production_order.name, "Manufacture", 1))
 		stock_entry.insert()
-		self.assertTrue("_Test Variant Item-S" in [d.item_code for d in stock_entry.mtn_details])
+		self.assertTrue("_Test Variant Item-S" in [d.item_code for d in stock_entry.items])
 
 def make_serialized_item(item_code=None, serial_no=None, target_warehouse=None):
 	se = frappe.copy_doc(test_records[0])
-	se.get("mtn_details")[0].item_code = item_code or "_Test Serialized Item With Series"
-	se.get("mtn_details")[0].serial_no = serial_no
-	se.get("mtn_details")[0].qty = 2
-	se.get("mtn_details")[0].transfer_qty = 2
+	se.get("items")[0].item_code = item_code or "_Test Serialized Item With Series"
+	se.get("items")[0].serial_no = serial_no
+	se.get("items")[0].qty = 2
+	se.get("items")[0].transfer_qty = 2
 
 	if target_warehouse:
-		se.get("mtn_details")[0].t_warehouse = target_warehouse
+		se.get("items")[0].t_warehouse = target_warehouse
 
 	se.insert()
 	se.submit()
@@ -979,7 +979,7 @@
 		else:
 			s.purpose = "Material Receipt"
 	s.company = args.company or "_Test Company"
-	s.append("mtn_details", {
+	s.append("items", {
 		"item_code": args.item or args.item_code,
 		"s_warehouse": args.from_warehouse or args.source,
 		"t_warehouse": args.to_warehouse or args.target,
diff --git a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
index a47878a..7b65a67 100644
--- a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
+++ b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
@@ -40,8 +40,8 @@
 				(self.warehouse, self.item_code, self.batch_no))[0][0])
 
 			if batch_bal_after_transaction < 0:
-				frappe.throw(_("Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4}").format(\
-					batch_bal_after_transaction - self.actual_qty, self.item_code, self.warehouse,
+				frappe.throw(_("Negative balance {0} in Batch {1} for Item {2} at Warehouse {3} on {4} {5}")
+					.format(batch_bal_after_transaction - self.actual_qty, self.batch_no, self.item_code, self.warehouse,
 						formatdate(self.posting_date), self.posting_time))
 
 	def validate_mandatory(self):
diff --git a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
index ed62d2f..d36d756 100644
--- a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
@@ -204,12 +204,12 @@
 			"posting_time": "01:00",
 			"purpose": "Material Receipt",
 			"fiscal_year": "_Test Fiscal Year 2012",
-			"mtn_details": [
+			"items": [
 				{
 					"conversion_factor": 1.0,
 					"doctype": "Stock Entry Detail",
 					"item_code": "_Test Item",
-					"parentfield": "mtn_details",
+					"parentfield": "items",
 					"incoming_rate": 1000,
 					"qty": 20.0,
 					"stock_uom": "_Test UOM",
@@ -229,9 +229,9 @@
 		pr1 = frappe.copy_doc(stock_entry)
 		pr1.posting_date = "2012-12-15"
 		pr1.posting_time = "02:00"
-		pr1.get("mtn_details")[0].qty = 10
-		pr1.get("mtn_details")[0].transfer_qty = 10
-		pr1.get("mtn_details")[0].incoming_rate = 700
+		pr1.get("items")[0].qty = 10
+		pr1.get("items")[0].transfer_qty = 10
+		pr1.get("items")[0].incoming_rate = 700
 		pr1.insert()
 		pr1.submit()
 
@@ -239,11 +239,11 @@
 		pr2.posting_date = "2012-12-25"
 		pr2.posting_time = "03:00"
 		pr2.purpose = "Material Issue"
-		pr2.get("mtn_details")[0].s_warehouse = "_Test Warehouse - _TC"
-		pr2.get("mtn_details")[0].t_warehouse = None
-		pr2.get("mtn_details")[0].qty = 15
-		pr2.get("mtn_details")[0].transfer_qty = 15
-		pr2.get("mtn_details")[0].incoming_rate = 0
+		pr2.get("items")[0].s_warehouse = "_Test Warehouse - _TC"
+		pr2.get("items")[0].t_warehouse = None
+		pr2.get("items")[0].qty = 15
+		pr2.get("items")[0].transfer_qty = 15
+		pr2.get("items")[0].incoming_rate = 0
 		pr2.insert()
 		pr2.submit()
 
@@ -251,11 +251,11 @@
 		pr3.posting_date = "2012-12-31"
 		pr3.posting_time = "08:00"
 		pr3.purpose = "Material Issue"
-		pr3.get("mtn_details")[0].s_warehouse = "_Test Warehouse - _TC"
-		pr3.get("mtn_details")[0].t_warehouse = None
-		pr3.get("mtn_details")[0].qty = 20
-		pr3.get("mtn_details")[0].transfer_qty = 20
-		pr3.get("mtn_details")[0].incoming_rate = 0
+		pr3.get("items")[0].s_warehouse = "_Test Warehouse - _TC"
+		pr3.get("items")[0].t_warehouse = None
+		pr3.get("items")[0].qty = 20
+		pr3.get("items")[0].transfer_qty = 20
+		pr3.get("items")[0].incoming_rate = 0
 		pr3.insert()
 		pr3.submit()
 
@@ -264,9 +264,9 @@
 		pr4.posting_date = "2013-01-05"
 		pr4.fiscal_year = "_Test Fiscal Year 2013"
 		pr4.posting_time = "07:00"
-		pr4.get("mtn_details")[0].qty = 15
-		pr4.get("mtn_details")[0].transfer_qty = 15
-		pr4.get("mtn_details")[0].incoming_rate = 1200
+		pr4.get("items")[0].qty = 15
+		pr4.get("items")[0].transfer_qty = 15
+		pr4.get("items")[0].incoming_rate = 1200
 		pr4.insert()
 		pr4.submit()
 
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 5fe8b14..e139c9f 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -154,7 +154,7 @@
 		"cost_center": get_default_cost_center(args, item),
 		"batch_no": None,
 		"item_tax_rate": json.dumps(dict(([d.tax_type, d.tax_rate] for d in
-			item.get("item_tax")))),
+			item.get("taxes")))),
 		"uom": item.stock_uom,
 		"min_order_qty": flt(item.min_order_qty) if args.parenttype == "Material Request" else "",
 		"conversion_factor": 1.0,
@@ -251,10 +251,10 @@
 
 def get_party_item_code(args, item_doc, out):
 	if args.transaction_type == "selling":
-		customer_item_code = item_doc.get("item_customer_details", {"customer_name": args.customer})
+		customer_item_code = item_doc.get("customer_items", {"customer_name": args.customer})
 		out.customer_item_code = customer_item_code[0].ref_code if customer_item_code else None
 	else:
-		item_supplier = item_doc.get("item_supplier_details", {"supplier": args.supplier})
+		item_supplier = item_doc.get("supplier_items", {"supplier": args.supplier})
 		out.supplier_part_no = item_supplier[0].supplier_part_no if item_supplier else None
 
 def get_pos_settings_item_details(company, args, pos_settings=None):
diff --git a/erpnext/stock/reorder_item.py b/erpnext/stock/reorder_item.py
index e9294f8..9f29f1f 100644
--- a/erpnext/stock/reorder_item.py
+++ b/erpnext/stock/reorder_item.py
@@ -51,11 +51,11 @@
 	for item_code in item_warehouse_projected_qty:
 		item = frappe.get_doc("Item", item_code)
 
-		if item.variant_of and not item.get("item_reorder"):
+		if item.variant_of and not item.get("reorder_levels"):
 			item.update_template_tables()
 
-		if item.get("item_reorder"):
-			for d in item.get("item_reorder"):
+		if item.get("reorder_levels"):
+			for d in item.get("reorder_levels"):
 				add_to_material_request(item_code, d.warehouse, d.warehouse_reorder_level,
 					d.warehouse_reorder_qty, d.material_request_type)
 
@@ -122,7 +122,7 @@
 				for d in items:
 					d = frappe._dict(d)
 					item = frappe.get_doc("Item", d.item_code)
-					mr.append("indent_details", {
+					mr.append("items", {
 						"doctype": "Material Request Item",
 						"item_code": d.item_code,
 						"schedule_date": add_days(nowdate(),cint(item.lead_time_days)),
@@ -169,7 +169,7 @@
 	for mr in mr_list:
 		msg += "<p><b><u>" + mr.name + """</u></b></p><table class='table table-bordered'><tr>
 			<th>Item Code</th><th>Warehouse</th><th>Qty</th><th>UOM</th></tr>"""
-		for item in mr.get("indent_details"):
+		for item in mr.get("items"):
 			msg += "<tr><td>" + item.item_code + "</td><td>" + item.warehouse + "</td><td>" + \
 				cstr(item.qty) + "</td><td>" + cstr(item.uom) + "</td></tr>"
 		msg += "</table>"
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
index a31dfa6..cbcc796 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
@@ -100,17 +100,16 @@
 }
 
 
-cur_frm.fields_dict['item_maintenance_detail'].grid.get_field('item_code').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['items'].grid.get_field('item_code').get_query = function(doc, cdt, cdn) {
 	return {
 		filters:{ 'is_service_item': "Yes" }
 	}
 }
 
 cur_frm.cscript.item_code = function(doc, cdt, cdn) {
-	var fname = cur_frm.cscript.fname;
 	var d = locals[cdt][cdn];
 	if (d.item_code) {
-		return get_server_fields('get_item_details', d.item_code, 'item_maintenance_detail',
+		return get_server_fields('get_item_details', d.item_code, 'items',
 			doc, cdt, cdn, 1);
 	}
 }
@@ -119,7 +118,7 @@
 	if (!doc.__islocal) {
 		return $c('runserverobj', args={'method':'generate_schedule', 'docs':doc},
 			function(r, rt) {
-				refresh_field('maintenance_schedule_detail');
+				refresh_field('schedules');
 			});
 	} else {
 		msgprint(__("Please save the document before generating maintenance schedule"));
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.json b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.json
index 56344b1..870912b 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.json
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.json
@@ -59,7 +59,7 @@
    "search_index": 0
   }, 
   {
-   "fieldname": "items", 
+   "fieldname": "items_section", 
    "fieldtype": "Section Break", 
    "label": "Items", 
    "oldfieldtype": "Section Break", 
@@ -67,9 +67,9 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "item_maintenance_detail", 
+   "fieldname": "items", 
    "fieldtype": "Table", 
-   "label": "Maintenance Schedule Item", 
+   "label": "Items", 
    "oldfieldname": "item_maintenance_detail", 
    "oldfieldtype": "Table", 
    "options": "Maintenance Schedule Item", 
@@ -91,10 +91,10 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "maintenance_schedule_detail", 
+   "fieldname": "schedules", 
    "fieldtype": "Table", 
-   "label": "Maintenance Schedule Detail", 
-   "oldfieldname": "maintenance_schedule_detail", 
+   "label": "Schedules", 
+   "oldfieldname": "schedules", 
    "oldfieldtype": "Table", 
    "options": "Maintenance Schedule Detail", 
    "permlevel": 0, 
@@ -220,6 +220,7 @@
    "label": "Amended From", 
    "no_copy": 1, 
    "options": "Maintenance Schedule", 
+   "permlevel": 0, 
    "print_hide": 1, 
    "read_only": 1
   }
@@ -227,7 +228,7 @@
  "icon": "icon-calendar", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-08-28 11:39:17.152817", 
+ "modified": "2014-12-24 15:51:42.595081", 
  "modified_by": "Administrator", 
  "module": "Support", 
  "name": "Maintenance Schedule", 
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
index a739651..349ff4b 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
@@ -22,16 +22,16 @@
 		return ret
 
 	def generate_schedule(self):
-		self.set('maintenance_schedule_detail', [])
+		self.set('schedules', [])
 		frappe.db.sql("""delete from `tabMaintenance Schedule Detail`
 			where parent=%s""", (self.name))
 		count = 1
-		for d in self.get('item_maintenance_detail'):
+		for d in self.get('items'):
 			self.validate_maintenance_detail()
 			s_list = []
 			s_list = self.create_schedule_list(d.start_date, d.end_date, d.no_of_visits, d.sales_person)
 			for i in range(d.no_of_visits):
-				child = self.append('maintenance_schedule_detail')
+				child = self.append('schedules')
 				child.item_code = d.item_code
 				child.item_name = d.item_name
 				child.scheduled_date = s_list[i].strftime('%Y-%m-%d')
@@ -44,13 +44,13 @@
 		self.save()
 
 	def on_submit(self):
-		if not self.get('maintenance_schedule_detail'):
+		if not self.get('schedules'):
 			throw(_("Please click on 'Generate Schedule' to get schedule"))
 		self.check_serial_no_added()
 		self.validate_schedule()
 
 		email_map = {}
-		for d in self.get('item_maintenance_detail'):
+		for d in self.get('items'):
 			if d.serial_no:
 				serial_nos = get_valid_serial_nos(d.serial_no)
 				self.validate_serial_no(serial_nos, d.start_date)
@@ -133,7 +133,7 @@
 		return schedule_date
 
 	def validate_dates_with_periodicity(self):
-		for d in self.get("item_maintenance_detail"):
+		for d in self.get("items"):
 			if d.start_date and d.end_date and d.periodicity and d.periodicity!="Random":
 				date_diff = (getdate(d.end_date) - getdate(d.start_date)).days + 1
 				days_in_period = {
@@ -150,10 +150,10 @@
 						.format(d.idx, d.periodicity, days_in_period[d.periodicity]))
 
 	def validate_maintenance_detail(self):
-		if not self.get('item_maintenance_detail'):
+		if not self.get('items'):
 			throw(_("Please enter Maintaince Details first"))
 
-		for d in self.get('item_maintenance_detail'):
+		for d in self.get('items'):
 			if not d.item_code:
 				throw(_("Please select item code"))
 			elif not d.start_date or not d.end_date:
@@ -167,7 +167,7 @@
 				throw(_("Start date should be less than end date for Item {0}").format(d.item_code))
 
 	def validate_sales_order(self):
-		for d in self.get('item_maintenance_detail'):
+		for d in self.get('items'):
 			if d.prevdoc_docname:
 				chk = frappe.db.sql("""select ms.name from `tabMaintenance Schedule` ms,
 					`tabMaintenance Schedule Item` msi where msi.parent=ms.name and
@@ -210,11 +210,11 @@
 	def validate_schedule(self):
 		item_lst1 =[]
 		item_lst2 =[]
-		for d in self.get('item_maintenance_detail'):
+		for d in self.get('items'):
 			if d.item_code not in item_lst1:
 				item_lst1.append(d.item_code)
 
-		for m in self.get('maintenance_schedule_detail'):
+		for m in self.get('schedules'):
 			if m.item_code not in item_lst2:
 				item_lst2.append(m.item_code)
 
@@ -227,17 +227,17 @@
 
 	def check_serial_no_added(self):
 		serial_present =[]
-		for d in self.get('item_maintenance_detail'):
+		for d in self.get('items'):
 			if d.serial_no:
 				serial_present.append(d.item_code)
 
-		for m in self.get('maintenance_schedule_detail'):
+		for m in self.get('schedules'):
 			if serial_present:
 				if m.item_code in serial_present and not m.serial_no:
 					throw(_("Please click on 'Generate Schedule' to fetch Serial No added for Item {0}").format(m.item_code))
 
 	def on_cancel(self):
-		for d in self.get('item_maintenance_detail'):
+		for d in self.get('items'):
 			if d.serial_no:
 				serial_nos = get_valid_serial_nos(d.serial_no)
 				self.update_amc_date(serial_nos)
diff --git a/erpnext/support/doctype/maintenance_schedule/test_maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/test_maintenance_schedule.py
new file mode 100644
index 0000000..c2c6e01
--- /dev/null
+++ b/erpnext/support/doctype/maintenance_schedule/test_maintenance_schedule.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and Contributors
+# See license.txt
+
+import frappe
+import unittest
+
+test_records = frappe.get_test_records('Maintenance Schedule')
+
+class TestMaintenanceSchedule(unittest.TestCase):
+	pass
diff --git a/erpnext/support/doctype/maintenance_schedule/test_records.json b/erpnext/support/doctype/maintenance_schedule/test_records.json
new file mode 100644
index 0000000..8c2a059
--- /dev/null
+++ b/erpnext/support/doctype/maintenance_schedule/test_records.json
@@ -0,0 +1,6 @@
+[
+	{
+		"doctype": "Maintenance Schedule",
+		"name": "_Test Maintenance Schedule 1"
+	}
+]
diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.js b/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
index ffdcb3e..c58b2ee 100644
--- a/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
+++ b/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
@@ -75,17 +75,16 @@
   	}
 }
 
-cur_frm.fields_dict['maintenance_visit_details'].grid.get_field('item_code').get_query = function(doc, cdt, cdn) {
+cur_frm.fields_dict['purposes'].grid.get_field('item_code').get_query = function(doc, cdt, cdn) {
 	return{
     	filters:{ 'is_service_item': "Yes"}
   	}
 }
 
 cur_frm.cscript.item_code = function(doc, cdt, cdn) {
-	var fname = cur_frm.cscript.fname;
 	var d = locals[cdt][cdn];
 	if (d.item_code) {
-		return get_server_fields('get_item_details',d.item_code, 'maintenance_visit_details',doc,cdt,cdn,1);
+		return get_server_fields('get_item_details',d.item_code, 'purposes',doc,cdt,cdn,1);
 	}
 }
 
@@ -100,4 +99,4 @@
 
 cur_frm.cscript.mntc_date = function(doc, cdt, cdn){
 	erpnext.get_fiscal_year(doc.company, doc.mntc_date);
-}
\ No newline at end of file
+}
diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.json b/erpnext/support/doctype/maintenance_visit/maintenance_visit.json
index 2612776..43c0b97 100644
--- a/erpnext/support/doctype/maintenance_visit/maintenance_visit.json
+++ b/erpnext/support/doctype/maintenance_visit/maintenance_visit.json
@@ -145,9 +145,9 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "maintenance_visit_details", 
+   "fieldname": "purposes", 
    "fieldtype": "Table", 
-   "label": "Maintenance Visit Purpose", 
+   "label": "Purposes", 
    "oldfieldname": "maintenance_visit_details", 
    "oldfieldtype": "Table", 
    "options": "Maintenance Visit Purpose", 
@@ -279,7 +279,7 @@
  "icon": "icon-file-text", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-09-26 11:37:41.026433", 
+ "modified": "2014-12-24 16:20:49.640483", 
  "modified_by": "Administrator", 
  "module": "Support", 
  "name": "Maintenance Visit", 
diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.py b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
index ef2fb41..fb42548 100644
--- a/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
+++ b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
@@ -15,7 +15,7 @@
 		return frappe.db.get_value("Item", item_code, ["item_name", "description"], as_dict=1)
 
 	def validate_serial_no(self):
-		for d in self.get('maintenance_visit_details'):
+		for d in self.get('purposes'):
 			if d.serial_no and not frappe.db.exists("Serial No", d.serial_no):
 				frappe.throw(_("Serial No {0} does not exist").format(d.serial_no))
 
@@ -23,7 +23,7 @@
 		self.validate_serial_no()
 
 	def update_customer_issue(self, flag):
-		for d in self.get('maintenance_visit_details'):
+		for d in self.get('purposes'):
 			if d.prevdoc_docname and d.prevdoc_doctype == 'Customer Issue' :
 				if flag==1:
 					mntc_date = self.mntc_date
@@ -53,7 +53,7 @@
 	def check_if_last_visit(self):
 		"""check if last maintenance visit against same sales order/ customer issue"""
 		check_for_docname = None
-		for d in self.get('maintenance_visit_details'):
+		for d in self.get('purposes'):
 			if d.prevdoc_docname:
 				check_for_docname = d.prevdoc_docname
 				#check_for_doctype = d.prevdoc_doctype
diff --git a/erpnext/support/doctype/maintenance_visit/test_maintenance_visit.py b/erpnext/support/doctype/maintenance_visit/test_maintenance_visit.py
new file mode 100644
index 0000000..71e5d64
--- /dev/null
+++ b/erpnext/support/doctype/maintenance_visit/test_maintenance_visit.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and Contributors
+# See license.txt
+
+import frappe
+import unittest
+
+test_records = frappe.get_test_records('Maintenance Visit')
+
+class TestMaintenanceVisit(unittest.TestCase):
+	pass
diff --git a/erpnext/support/doctype/maintenance_visit/test_records.json b/erpnext/support/doctype/maintenance_visit/test_records.json
new file mode 100644
index 0000000..2ff5578
--- /dev/null
+++ b/erpnext/support/doctype/maintenance_visit/test_records.json
@@ -0,0 +1,6 @@
+[
+	{
+		"doctype": "Maintenance Visit",
+		"name": "_Test Maintenance Visit 1"
+	}
+]
diff --git a/erpnext/templates/includes/cart.js b/erpnext/templates/includes/cart.js
index 20b86ba..c0b2f46 100644
--- a/erpnext/templates/includes/cart.js
+++ b/erpnext/templates/includes/cart.js
@@ -53,7 +53,7 @@
 		var $cart_billing_address = $("#cart-billing-address").empty();
 		var $cart_shipping_address = $("#cart-shipping-address").empty();
 
-		var no_items = $.map(doc.quotation_details || [],
+		var no_items = $.map(doc.items || [],
 			function(d) { return d.item_code || null;}).length===0;
 		if(no_items) {
 			shopping_cart.show_error("Empty :-(", frappe._("Go ahead and add something to your cart."));
@@ -65,11 +65,11 @@
 		var taxes_exist = false;
 		var shipping_rule_labels = $.map(out.shipping_rules || [], function(rule) { return rule[1]; });
 
-		$.each(doc.quotation_details || [], function(i, d) {
+		$.each(doc.items || [], function(i, d) {
 			shopping_cart.render_item_row($cart_items, d);
 		});
 
-		$.each(doc.other_charges || [], function(i, d) {
+		$.each(doc.taxes || [], function(i, d) {
 			if(out.shipping_rules && out.shipping_rules.length &&
 				shipping_rule_labels.indexOf(d.description)!==-1) {
 					shipping_rule_added = true;
diff --git a/erpnext/templates/print_formats/includes/taxes.html b/erpnext/templates/print_formats/includes/taxes.html
index bd1e709..61a78a3 100644
--- a/erpnext/templates/print_formats/includes/taxes.html
+++ b/erpnext/templates/print_formats/includes/taxes.html
@@ -7,7 +7,7 @@
 				<div class="col-xs-5 text-right">
 					<label>{{ charge.get_formatted("description") }}</label></div>
 				<div class="col-xs-7 text-right">
-					{{ frappe.format_value(charge.tax_amount / doc.conversion_rate,
+					{{ frappe.format_value(frappe.utils.flt(charge.tax_amount) / doc.conversion_rate,
 						table_meta.get_field("tax_amount"), doc, currency=doc.currency) }}
 				</div>
 			</div>
diff --git a/erpnext/translations/ar.csv b/erpnext/translations/ar.csv
index 0090f9f..24ea3ca 100644
--- a/erpnext/translations/ar.csv
+++ b/erpnext/translations/ar.csv
@@ -85,7 +85,7 @@
 "Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.",قيد محاسبي المجمدة تصل إلى هذا التاريخ، لا أحد يمكن أن تفعل / تعديل إدخال باستثناء دور المحددة أدناه.

 Accounting journal entries.,المحاسبة إدخالات دفتر اليومية.

 Accounts,حسابات

-Accounts Browser,متصفح الحسابات 

+Accounts Browser,متصفح الحسابات

 Accounts Frozen Upto,حسابات مجمدة حتي

 Accounts Payable,ذمم دائنة

 Accounts Receivable,حسابات القبض

@@ -151,8 +151,8 @@
 Against Document No,ضد الوثيقة رقم

 Against Expense Account,ضد حساب المصاريف

 Against Income Account,ضد حساب الدخل

-Against Journal Voucher,ضد مجلة قسيمة

-Against Journal Voucher {0} does not have any unmatched {1} entry,ضد مجلة قسيمة {0} لا يملك أي لا مثيل له {1} دخول

+Against Journal Entry,ضد مجلة قسيمة

+Against Journal Entry {0} does not have any unmatched {1} entry,ضد مجلة قسيمة {0} لا يملك أي لا مثيل له {1} دخول

 Against Purchase Invoice,ضد فاتورة الشراء

 Against Sales Invoice,ضد فاتورة المبيعات

 Against Sales Order,ضد ترتيب المبيعات

@@ -253,8 +253,8 @@
 Approving Role cannot be same as role the rule is Applicable To,الموافقة دور لا يمكن أن يكون نفس دور القاعدة تنطبق على

 Approving User,الموافقة العضو

 Approving User cannot be same as user the rule is Applicable To,الموافقة العضو لا يمكن أن يكون نفس المستخدم القاعدة تنطبق على

-Are you sure you want to STOP ,Are you sure you want to STOP 

-Are you sure you want to UNSTOP ,Are you sure you want to UNSTOP 

+Are you sure you want to STOP ,Are you sure you want to STOP

+Are you sure you want to UNSTOP ,Are you sure you want to UNSTOP

 Arrear Amount,متأخرات المبلغ

 "As Production Order can be made for this item, it must be a stock item.",كما يمكن أن يتم ترتيب الإنتاج لهذا البند، يجب أن يكون بند الأوراق المالية .

 As per Stock UOM,وفقا للأوراق UOM

@@ -283,7 +283,7 @@
 Auto Material Request,السيارات مادة طلب

 Auto-raise Material Request if quantity goes below re-order level in a warehouse,لصناعة السيارات في رفع طلب المواد إذا كمية يذهب دون مستوى إعادة الطلب في مستودع

 Automatically compose message on submission of transactions.,يؤلف تلقائيا رسالة على تقديم المعاملات.

-Automatically extract Job Applicants from a mail box ,Automatically extract Job Applicants from a mail box 

+Automatically extract Job Applicants from a mail box ,Automatically extract Job Applicants from a mail box

 Automatically extract Leads from a mail box e.g.,استخراج الشراء تلقائيا من صندوق البريد على سبيل المثال

 Automatically updated via Stock Entry of type Manufacture/Repack,تحديثها تلقائيا عن طريق إدخال الأسهم الصنع نوع / أعد حزم

 Automotive,السيارات

@@ -334,7 +334,7 @@
 Bank Reconciliation,تسوية البنك

 Bank Reconciliation Detail,تفاصيل تسوية البنك

 Bank Reconciliation Statement,بيان تسوية البنك

-Bank Voucher,البنك قسيمة

+Bank Entry,البنك قسيمة

 Bank/Cash Balance,بنك / النقد وما في حكمه

 Banking,مصرفي

 Barcode,الباركود

@@ -410,8 +410,8 @@
 "Buying must be checked, if Applicable For is selected as {0}",يجب أن يتم التحقق الشراء، إذا تم تحديد مطبق للك {0}

 C-Form,نموذج C-

 C-Form Applicable,C-نموذج قابل للتطبيق

-C-Form Invoice Detail, تفاصيل الفاتورة نموذج - س 

-C-Form No,رقم النموذج - س 

+C-Form Invoice Detail, تفاصيل الفاتورة نموذج - س

+C-Form No,رقم النموذج - س

 C-Form records,سجلات النموذج - س

 CENVAT Capital Goods,CENVAT السلع الرأسمالية

 CENVAT Edu Cess,CENVAT ايدو سيس

@@ -469,7 +469,7 @@
 Case No. cannot be 0,القضية رقم لا يمكن أن يكون 0

 Cash,نقد

 Cash In Hand,نقد في الصندوق

-Cash Voucher,قسيمة نقدية

+Cash Entry,قسيمة نقدية

 Cash or Bank Account is mandatory for making payment entry,نقدا أو الحساب المصرفي إلزامي لجعل الدخول الدفع

 Cash/Bank Account,النقد / البنك حساب

 Casual Leave,عارضة اترك

@@ -510,8 +510,8 @@
 Clearance Date not mentioned,إزالة التاريخ لم يرد ذكرها

 Clearance date cannot be before check date in row {0},تاريخ التخليص لا يمكن أن يكون قبل تاريخ الاختيار في الصف {0}

 Click on 'Make Sales Invoice' button to create a new Sales Invoice.,انقر على &#39;جعل مبيعات الفاتورة &quot;الزر لإنشاء فاتورة مبيعات جديدة.

-Click on a link to get options to expand get options ,Click on a link to get options to expand get options 

-Client,عميل	

+Click on a link to get options to expand get options ,Click on a link to get options to expand get options

+Client,عميل

 Close Balance Sheet and book Profit or Loss.,وثيقة الميزانية العمومية و كتاب الربح أو الخسارة .

 Closed,مغلق

 Closing (Cr),إغلاق (الكروم)

@@ -593,7 +593,7 @@
 Contacts,اتصالات

 Content,محتوى

 Content Type,نوع المحتوى

-Contra Voucher,كونترا قسيمة

+Contra Entry,كونترا قسيمة

 Contract,عقد

 Contract End Date,تاريخ نهاية العقد

 Contract End Date must be greater than Date of Joining,يجب أن يكون تاريخ الانتهاء العقد أكبر من تاريخ الالتحاق بالعمل

@@ -624,7 +624,7 @@
 Country Name,الاسم الدولة

 Country wise default Address Templates,قوالب بلد الحكمة العنوان الافتراضي

 "Country, Timezone and Currency",البلد، المنطقة الزمنية و العملة

-Create Bank Voucher for the total salary paid for the above selected criteria,إنشاء بنك للقسيمة الراتب الإجمالي المدفوع للاختيار المعايير المذكورة أعلاه

+Create Bank Entry for the total salary paid for the above selected criteria,إنشاء بنك للقسيمة الراتب الإجمالي المدفوع للاختيار المعايير المذكورة أعلاه

 Create Customer,خلق العملاء

 Create Material Requests,إنشاء طلبات المواد

 Create New,خلق جديد

@@ -646,7 +646,7 @@
 Credit,ائتمان

 Credit Amt,الائتمان AMT

 Credit Card,بطاقة إئتمان

-Credit Card Voucher,بطاقة الائتمان قسيمة

+Credit Card Entry,بطاقة الائتمان قسيمة

 Credit Controller,المراقب الائتمان

 Credit Days,الائتمان أيام

 Credit Limit,الحد الائتماني

@@ -840,13 +840,13 @@
 Divorced,المطلقات

 Do Not Contact,عدم الاتصال

 Do not show any symbol like $ etc next to currencies.,لا تظهر أي رمز مثل $ الخ بجانب العملات.

-Do really want to unstop production order: ,Do really want to unstop production order: 

-Do you really want to STOP ,Do you really want to STOP 

+Do really want to unstop production order: ,Do really want to unstop production order:

+Do you really want to STOP ,Do you really want to STOP

 Do you really want to STOP this Material Request?,هل تريد حقا لوقف هذا طلب المواد ؟

 Do you really want to Submit all Salary Slip for month {0} and year {1},هل تريد حقا لتقديم كل زلة الرواتب ل شهر {0} و السنة {1}

-Do you really want to UNSTOP ,Do you really want to UNSTOP 

+Do you really want to UNSTOP ,Do you really want to UNSTOP

 Do you really want to UNSTOP this Material Request?,هل تريد حقا أن نزع السدادة هذا طلب المواد ؟

-Do you really want to stop production order: ,Do you really want to stop production order: 

+Do you really want to stop production order: ,Do you really want to stop production order:

 Doc Name,اسم الوثيقة

 Doc Type,نوع الوثيقة

 Document Description,وصف الوثيقة

@@ -898,7 +898,7 @@
 Email,البريد الإلكتروني

 Email Digest,البريد الإلكتروني دايجست

 Email Digest Settings,البريد الإلكتروني إعدادات دايجست

-Email Digest: ,Email Digest: 

+Email Digest: ,Email Digest:

 Email Id,البريد الإلكتروني معرف

 "Email Id where a job applicant will email e.g. ""jobs@example.com""",معرف البريد الإلكتروني حيث طالب العمل سوف البريد الإلكتروني على سبيل المثال &quot;jobs@example.com&quot;

 Email Notifications,إشعارات البريد الإلكتروني

@@ -958,7 +958,7 @@
 Entertainment & Leisure,الترفيه وترفيهية

 Entertainment Expenses,مصاريف الترفيه

 Entries,مقالات

-Entries against ,Entries against 

+Entries against ,Entries against

 Entries are not allowed against this Fiscal Year if the year is closed.,لا يسمح مقالات ضد السنة المالية الحالية إذا تم إغلاق السنة.

 Equity,إنصاف

 Error: {0} > {1},الخطأ: {0} > {1}

@@ -978,7 +978,7 @@
 Excise Duty Edu Cess 2,المكوس واجب ايدو سيس 2

 Excise Duty SHE Cess 1,المكوس واجب SHE سيس 1

 Excise Page Number,المكوس رقم الصفحة

-Excise Voucher,المكوس قسيمة

+Excise Entry,المكوس قسيمة

 Execution,إعدام

 Executive Search,البحث التنفيذي

 Exemption Limit,إعفاء الحد

@@ -1326,7 +1326,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,الفترة من الفاتورة و الفاتورة ل فترة مواعيد إلزامية ل فاتورة المتكررة

 Invoice Period To,فترة الفاتورة ل

 Invoice Type,نوع الفاتورة

-Invoice/Journal Voucher Details,فاتورة / مجلة قسيمة تفاصيل

+Invoice/Journal Entry Details,فاتورة / مجلة قسيمة تفاصيل

 Invoiced Amount (Exculsive Tax),المبلغ فواتير ( Exculsive الضرائب )

 Is Active,نشط

 Is Advance,هو المقدمة

@@ -1456,11 +1456,11 @@
 Jobs Email Settings,إعدادات البريد الإلكتروني وظائف

 Journal Entries,مجلة مقالات

 Journal Entry,إدخال دفتر اليومية

-Journal Voucher,مجلة قسيمة

-Journal Voucher Detail,مجلة قسيمة التفاصيل

-Journal Voucher Detail No,مجلة التفاصيل قسيمة لا

-Journal Voucher {0} does not have account {1} or already matched,مجلة قسيمة {0} لا يملك حساب {1} أو بالفعل المتطابقة

-Journal Vouchers {0} are un-linked,مجلة قسائم {0} ترتبط الامم المتحدة و

+Journal Entry,مجلة قسيمة

+Journal Entry Account,مجلة قسيمة التفاصيل

+Journal Entry Account No,مجلة التفاصيل قسيمة لا

+Journal Entry {0} does not have account {1} or already matched,مجلة قسيمة {0} لا يملك حساب {1} أو بالفعل المتطابقة

+Journal Entries {0} are un-linked,مجلة قسائم {0} ترتبط الامم المتحدة و

 Keep a track of communication related to this enquiry which will help for future reference.,الحفاظ على مسار الاتصالات المتعلقة بهذا التحقيق والتي سوف تساعد للرجوع إليها مستقبلا.

 Keep it web friendly 900px (w) by 100px (h),يبقيه على شبكة الإنترنت 900px دية ( ث ) من قبل 100px (ح )

 Key Performance Area,مفتاح الأداء المنطقة

@@ -1573,9 +1573,9 @@
 Maintenance Visit {0} must be cancelled before cancelling this Sales Order,صيانة زيارة {0} يجب أن يتم إلغاء هذا الأمر قبل إلغاء المبيعات

 Maintenance start date can not be before delivery date for Serial No {0},صيانة تاريخ بداية لا يمكن أن يكون قبل تاريخ التسليم لل رقم المسلسل {0}

 Major/Optional Subjects,الرئيسية / اختياري الموضوعات

-Make ,Make 

+Make ,Make

 Make Accounting Entry For Every Stock Movement,جعل الدخول المحاسبة للحصول على كل حركة الأسهم

-Make Bank Voucher,جعل قسيمة البنك

+Make Bank Entry,جعل قسيمة البنك

 Make Credit Note,جعل الائتمان ملاحظة

 Make Debit Note,ملاحظة جعل الخصم

 Make Delivery,جعل التسليم

@@ -1722,7 +1722,7 @@
 Net Weight of each Item,الوزن الصافي لكل بند

 Net pay cannot be negative,صافي الأجور لا يمكن أن تكون سلبية

 Never,أبدا

-New ,New 

+New ,New

 New Account,حساب جديد

 New Account Name,اسم الحساب الجديد

 New BOM,BOM جديدة

@@ -2448,7 +2448,7 @@
 Rounded Total,تقريب إجمالي

 Rounded Total (Company Currency),المشاركات تقريب (العملة الشركة)

 Row # ,الصف #

-Row # {0}: ,Row # {0}: 

+Row # {0}: ,Row # {0}:

 Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,الصف # {0}: الكمية المطلوبة لا يمكن أن أقل من الحد الأدنى الكمية النظام القطعة (المحددة في البند الرئيسي).

 Row #{0}: Please specify Serial No for Item {1},الصف # {0}: يرجى تحديد رقم التسلسلي للتاريخ {1}

 Row {0}: Account does not match with \						Purchase Invoice Credit To account,الصف {0}: الحساب لا يتطابق مع \ شراء فاتورة الائتمان لحساب

@@ -2750,7 +2750,7 @@
 Stock Analytics,الأسهم تحليلات

 Stock Assets,الموجودات الأسهم

 Stock Balance,الأسهم الرصيد

-Stock Entries already created for Production Order ,Stock Entries already created for Production Order 

+Stock Entries already created for Production Order ,Stock Entries already created for Production Order

 Stock Entry,الأسهم الدخول

 Stock Entry Detail,الأسهم إدخال التفاصيل

 Stock Expenses,مصاريف الأسهم

@@ -3095,7 +3095,7 @@
 Update Series Number,تحديث سلسلة رقم

 Update Stock,تحديث الأسهم

 Update bank payment dates with journals.,تحديث البنك دفع التواريخ مع المجلات.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',تاريخ التخليص تحديث إدخالات دفتر اليومية وضعت ' قسائم البنك

+Update clearance date of Journal Entries marked as 'Bank Entry',تاريخ التخليص تحديث إدخالات دفتر اليومية وضعت ' قسائم البنك

 Updated,تحديث

 Updated Birthday Reminders,تحديث ميلاد تذكير

 Upload Attendance,تحميل الحضور

@@ -3233,7 +3233,7 @@
 Write Off Based On,شطب بناء على

 Write Off Cost Center,شطب مركز التكلفة

 Write Off Outstanding Amount,شطب المبلغ المستحق

-Write Off Voucher,شطب قسيمة

+Write Off Entry,شطب قسيمة

 Wrong Template: Unable to find head row.,قالب الخطأ: تعذر العثور على صف الرأس.

 Year,عام

 Year Closed,مغلق العام

@@ -3251,7 +3251,7 @@
 You can enter the minimum quantity of this item to be ordered.,يمكنك إدخال كمية الحد الأدنى في هذا البند إلى أن يؤمر.

 You can not change rate if BOM mentioned agianst any item,لا يمكنك تغيير معدل إذا ذكر BOM agianst أي بند

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,لا يمكنك إدخال كل من التسليم ملاحظة لا و الفاتورة رقم المبيع الرجاء إدخال أي واحد .

-You can not enter current voucher in 'Against Journal Voucher' column,لا يمكنك إدخال قسيمة الحالي في ' ضد مجلة قسيمة ' العمود

+You can not enter current voucher in 'Against Journal Entry' column,لا يمكنك إدخال قسيمة الحالي في ' ضد مجلة قسيمة ' العمود

 You can set Default Bank Account in Company master,يمكنك تعيين الافتراضي الحساب المصرفي الرئيسي في الشركة

 You can start by selecting backup frequency and granting access for sync,يمكنك أن تبدأ من خلال تحديد تردد النسخ الاحتياطي و منح الوصول لمزامنة

 You can submit this Stock Reconciliation.,يمكنك تقديم هذه الأسهم المصالحة .

@@ -3300,24 +3300,24 @@
 {0} budget for Account {1} against Cost Center {2} will exceed by {3},{0} ميزانية الحساب {1} ضد مركز التكلفة {2} سيتجاوز التي كتبها {3}

 {0} can not be negative,{0} لا يمكن أن تكون سلبية

 {0} created,{0} خلق

-{0} does not belong to Company {1},{0} لا تنتمي إلى شركة {1}

+{0} does not belong to Company {1},{0} {لا تنتمي إلى شركة {1

 {0} entered twice in Item Tax,{0} دخلت مرتين في ضريبة المدينة

 {0} is an invalid email address in 'Notification Email Address',"{0} هو عنوان بريد إلكتروني غير صالح في ' عنوان البريد الإلكتروني إعلام """

 {0} is mandatory,{0} إلزامي

-{0} is mandatory for Item {1},{0} إلزامي القطعة ل {1}

+{0} is mandatory for Item {1},{0} {إلزامي القطعة ل {1

 {0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} إلزامي. ربما لا يتم إنشاء سجل سعر صرف العملة ل{1} إلى {2}.

 {0} is not a stock Item,{0} ليس الأسهم الإغلاق

 {0} is not a valid Batch Number for Item {1},{0} ليس رقم الدفعة صالحة لل تفاصيل {1}

-{0} is not a valid Leave Approver. Removing row #{1}.,{0} ليس صحيحا اترك الموافق. إزالة الصف # {1}.

+{0} is not a valid Leave Approver. Removing row #{1}.,{0} {ليس صحيحا اترك الموافق. إزالة الصف # {1.

 {0} is not a valid email id,{0} ليس معرف بريد إلكتروني صحيح

 {0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} الآن الافتراضي السنة المالية. يرجى تحديث المتصفح ل التغيير نافذ المفعول .

 {0} is required,{0} مطلوب

 {0} must be a Purchased or Sub-Contracted Item in row {1},{0} يجب أن يكون البند شراؤها أو التعاقد الفرعي في الصف {1}

 {0} must be reduced by {1} or you should increase overflow tolerance,{0} يجب تخفيض كتبها {1} أو يجب زيادة الفائض التسامح

 {0} must have role 'Leave Approver',{0} يجب أن يكون دور ' اترك الموافق '

-{0} valid serial nos for Item {1},{0} غ المسلسل صالحة لل تفاصيل {1}

-{0} {1} against Bill {2} dated {3},{0} {1} ضد بيل {2} بتاريخ {3}

-{0} {1} against Invoice {2},{0} {1} ضد الفاتورة {2}

+{0} valid serial nos for Item {1},{0} {غ المسلسل صالحة لل تفاصيل {1

+{0} {1} against Bill {2} dated {3},{0} {1} {ضد بيل {2} بتاريخ {3

+{0} {1} against Invoice {2},{0} {1} {ضد الفاتورة {2

 {0} {1} has already been submitted,{0} {1} وقد تم بالفعل قدمت

 {0} {1} has been modified. Please refresh.,{0} {1} تم تعديل . يرجى تحديث.

 {0} {1} is not submitted,{0} {1} لا تقدم

diff --git a/erpnext/translations/de.csv b/erpnext/translations/de.csv
index 3cf0a6a..af96de7 100644
--- a/erpnext/translations/de.csv
+++ b/erpnext/translations/de.csv
@@ -166,8 +166,8 @@
 Against Document No,Gegen Dokument Nr.

 Against Expense Account,Gegen Aufwandskonto

 Against Income Account,Gegen Einkommenskonto

-Against Journal Voucher,Gegen Journalgutschein

-Against Journal Voucher {0} does not have any unmatched {1} entry,Vor Blatt Gutschein {0} keine unerreichte {1} Eintrag haben

+Against Journal Entry,Gegen Journalgutschein

+Against Journal Entry {0} does not have any unmatched {1} entry,Vor Blatt Gutschein {0} keine unerreichte {1} Eintrag haben

 Against Purchase Invoice,Gegen Einkaufsrechnung

 Against Sales Invoice,Gegen Verkaufsrechnung

 Against Sales Order,Vor Sales Order

@@ -357,7 +357,7 @@
 Bank Reconciliation,Kontenabstimmung

 Bank Reconciliation Detail,Kontenabstimmungsdetail

 Bank Reconciliation Statement,Kontenabstimmungsauszug

-Bank Voucher,Bankbeleg

+Bank Entry,Bankbeleg

 Bank/Cash Balance,Bank-/Bargeldsaldo

 Banking,Bankwesen

 Barcode,Barcode

@@ -495,7 +495,7 @@
 Case No. cannot be 0,Fall Nr. kann nicht 0 sein

 Cash,Bargeld

 Cash In Hand,Bargeld in der Hand

-Cash Voucher,Kassenbeleg

+Cash Entry,Kassenbeleg

 Cash or Bank Account is mandatory for making payment entry,Barzahlung oder Bankkonto ist für die Zahlung Eintrag

 Cash/Bank Account,Kassen-/Bankkonto

 Casual Leave,Lässige Leave

@@ -624,7 +624,7 @@
 Contacts,Impressum

 Content,Inhalt

 Content Type,Inhaltstyp

-Contra Voucher,Gegen Gutschein

+Contra Entry,Gegen Gutschein

 Contract,Vertrag

 Contract End Date,Vertragsende

 Contract End Date must be greater than Date of Joining,Vertragsende muss größer sein als Datum für Füge sein

@@ -656,7 +656,7 @@
 Country wise default Address Templates,Land weise Standardadressvorlagen

 "Country, Timezone and Currency","Land , Zeitzone und Währung"

 Cr,Cr

-Create Bank Voucher for the total salary paid for the above selected criteria,Bankgutschein für das Gesamtgehalt nach den oben ausgewählten Kriterien erstellen

+Create Bank Entry for the total salary paid for the above selected criteria,Bankgutschein für das Gesamtgehalt nach den oben ausgewählten Kriterien erstellen

 Create Customer,Neues Kunden

 Create Material Requests,Materialanfragen erstellen

 Create New,Neu erstellen

@@ -679,7 +679,7 @@
 Credit,Guthaben

 Credit Amt,Guthabenbetrag

 Credit Card,Kreditkarte

-Credit Card Voucher,Kreditkarten-Gutschein

+Credit Card Entry,Kreditkarten-Gutschein

 Credit Controller,Kredit-Controller

 Credit Days,Kredittage

 Credit Limit,Kreditlimit

@@ -1021,7 +1021,7 @@
 Excise Duty Edu Cess 2,Verbrauchsteuer Edu Cess 2

 Excise Duty SHE Cess 1,Verbrauchsteuer SHE Cess 1

 Excise Page Number,Seitenzahl ausschneiden

-Excise Voucher,Gutschein ausschneiden

+Excise Entry,Gutschein ausschneiden

 Execution,Ausführung

 Executive Search,Executive Search

 Exhibition,Ausstellung

@@ -1376,7 +1376,7 @@
 Invoice No,Rechnungs-Nr.

 Invoice Number,Rechnungsnummer

 Invoice Type,Rechnungstyp

-Invoice/Journal Voucher Details,Rechnung / Journal Gutschein-Details

+Invoice/Journal Entry Details,Rechnung / Journal Gutschein-Details

 Invoiced Amount (Exculsive Tax),Rechnungsbetrag ( Exculsive MwSt.)

 Is Active,Ist aktiv

 Is Advance,Ist Voraus

@@ -1512,11 +1512,11 @@
 Jobs Email Settings,Stellen-E-Mail-Einstellungen

 Journal Entries,Journaleinträge

 Journal Entry,Journaleintrag

-Journal Voucher,Journal

-Journal Voucher Detail,Detailansicht Beleg

-Journal Voucher Detail No,Journalnummer

-Journal Voucher {0} does not have account {1} or already matched,Blatt Gutschein {0} ist nicht Konto haben {1} oder bereits abgestimmt

-Journal Vouchers {0} are un-linked,Blatt Gutscheine {0} sind un -linked

+Journal Entry,Journal

+Journal Entry Account,Detailansicht Beleg

+Journal Entry Account No,Journalnummer

+Journal Entry {0} does not have account {1} or already matched,Blatt Gutschein {0} ist nicht Konto haben {1} oder bereits abgestimmt

+Journal Entries {0} are un-linked,Blatt Gutscheine {0} sind un -linked

 "Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. "

 Keep a track of communication related to this enquiry which will help for future reference.,Kommunikation bezüglich dieser Anfrage für zukünftige Zwecke aufbewahren.

 Keep it web friendly 900px (w) by 100px (h),"Bitte passende Größe für Webdarstellung wählen:
@@ -1638,7 +1638,7 @@
 Major/Optional Subjects,Wichtiger/optionaler Betreff

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,Machen Accounting Eintrag für jede Lagerbewegung

-Make Bank Voucher,Bankbeleg erstellen

+Make Bank Entry,Bankbeleg erstellen

 Make Credit Note,Gutschrift erstellen

 Make Debit Note,Lastschrift erstellen

 Make Delivery,Lieferung erstellen

@@ -3222,7 +3222,7 @@
 Update Stock,Lagerbestand aktualisieren

 Update additional costs to calculate landed cost of items,Aktualisieren Sie Zusatzkosten um die Einstandskosten des Artikels zu kalkulieren

 Update bank payment dates with journals.,Aktualisierung der Konten mit Hilfe der Journaleinträge

-Update clearance date of Journal Entries marked as 'Bank Vouchers',"Update- Clearance Datum der Journaleinträge als ""Bank Gutscheine 'gekennzeichnet"

+Update clearance date of Journal Entries marked as 'Bank Entry',"Update- Clearance Datum der Journaleinträge als ""Bank Gutscheine 'gekennzeichnet"

 Updated,Aktualisiert

 Updated Birthday Reminders,Geburtstagserinnerungen aktualisiert

 Upload Attendance,Teilnahme hochladen

@@ -3362,7 +3362,7 @@
 Write Off Based On,Abschreiben basiert auf

 Write Off Cost Center,"Abschreiben, Kostenstelle"

 Write Off Outstanding Amount,"Abschreiben, ausstehender Betrag"

-Write Off Voucher,"Abschreiben, Gutschein"

+Write Off Entry,"Abschreiben, Gutschein"

 Wrong Template: Unable to find head row.,Falsche Vorlage: Kopfzeile nicht gefunden

 Year,Jahr

 Year Closed,Jahr geschlossen

@@ -3380,7 +3380,7 @@
 You can enter the minimum quantity of this item to be ordered.,"Sie können die Mindestmenge des Artikels eingeben, der bestellt werden soll."

 You can not change rate if BOM mentioned agianst any item,"Sie können Rate nicht ändern, wenn BOM agianst jeden Artikel erwähnt"

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Sie können nicht sowohl Lieferschein Nein und Sales Invoice Nr. Bitte geben Sie eine beliebige .

-You can not enter current voucher in 'Against Journal Voucher' column,"Sie können keine aktuellen Gutschein in ""Gegen Blatt Gutschein -Spalte"

+You can not enter current voucher in 'Against Journal Entry' column,"Sie können keine aktuellen Gutschein in ""Gegen Blatt Gutschein -Spalte"

 You can set Default Bank Account in Company master,Sie können Standard- Bank-Konto in Firmen Master eingestellt

 You can start by selecting backup frequency and granting access for sync,Sie können durch Auswahl Backup- Frequenz und den Zugang für die Gewährung Sync starten

 You can submit this Stock Reconciliation.,Sie können diese Vektor Versöhnung vorzulegen.

diff --git a/erpnext/translations/el.csv b/erpnext/translations/el.csv
index 1fa2d15..cf8af0b 100644
--- a/erpnext/translations/el.csv
+++ b/erpnext/translations/el.csv
@@ -152,8 +152,8 @@
 Against Document No,Ενάντια έγγραφο αριθ.

 Against Expense Account,Ενάντια Λογαριασμός Εξόδων

 Against Income Account,Έναντι του λογαριασμού εισοδήματος

-Against Journal Voucher,Ενάντια Voucher Εφημερίδα

-Against Journal Voucher {0} does not have any unmatched {1} entry,Ενάντια Εφημερίδα Voucher {0} δεν έχει ταίρι {1} εισόδου

+Against Journal Entry,Ενάντια Voucher Εφημερίδα

+Against Journal Entry {0} does not have any unmatched {1} entry,Ενάντια Εφημερίδα Voucher {0} δεν έχει ταίρι {1} εισόδου

 Against Purchase Invoice,Έναντι τιμολογίου αγοράς

 Against Sales Invoice,Ενάντια Πωλήσεις Τιμολόγιο

 Against Sales Order,Ενάντια Πωλήσεις Τάξης

@@ -255,7 +255,7 @@
 Approving User,Έγκριση χρήστη

 Approving User cannot be same as user the rule is Applicable To,Την έγκριση του χρήστη δεν μπορεί να είναι ίδιο με το χρήστη ο κανόνας ισχύει για

 Are you sure you want to STOP ,Είσαστε σίγουροι πως θέλετε να σταματήσετε

-Are you sure you want to UNSTOP ,Are you sure you want to UNSTOP 

+Are you sure you want to UNSTOP ,Are you sure you want to UNSTOP

 Arrear Amount,Καθυστερήσεις Ποσό

 "As Production Order can be made for this item, it must be a stock item.","Όπως μπορεί να γίνει Παραγωγής παραγγελίας για το συγκεκριμένο προϊόν , θα πρέπει να είναι ένα στοιχείο υλικού."

 As per Stock UOM,Όπως ανά Διαθέσιμο UOM

@@ -284,7 +284,7 @@
 Auto Material Request,Αυτόματη Αίτηση Υλικό

 Auto-raise Material Request if quantity goes below re-order level in a warehouse,Auto-raise Αίτηση Υλικό εάν η ποσότητα πέσει κάτω εκ νέου για το επίπεδο σε μια αποθήκη

 Automatically compose message on submission of transactions.,Αυτόματη συνθέτουν το μήνυμα για την υποβολή των συναλλαγών .

-Automatically extract Job Applicants from a mail box ,Automatically extract Job Applicants from a mail box 

+Automatically extract Job Applicants from a mail box ,Automatically extract Job Applicants from a mail box

 Automatically extract Leads from a mail box e.g.,"Αυτόματη εξαγωγή οδηγεί από ένα κουτί αλληλογραφίας , π.χ."

 Automatically updated via Stock Entry of type Manufacture/Repack,Αυτόματη ενημέρωση μέσω είσοδο στα αποθέματα Κατασκευή Τύπος / Repack

 Automotive,Αυτοκίνητο

@@ -335,7 +335,7 @@
 Bank Reconciliation,Τράπεζα Συμφιλίωση

 Bank Reconciliation Detail,Τράπεζα Λεπτομέρεια Συμφιλίωση

 Bank Reconciliation Statement,Τράπεζα Δήλωση Συμφιλίωση

-Bank Voucher,Voucher Bank

+Bank Entry,Voucher Bank

 Bank/Cash Balance,Τράπεζα / Cash Balance

 Banking,Banking

 Barcode,Barcode

@@ -470,7 +470,7 @@
 Case No. cannot be 0,Υπόθεση αριθ. δεν μπορεί να είναι 0

 Cash,Μετρητά

 Cash In Hand,Μετρητά στο χέρι

-Cash Voucher,Ταμειακό παραστατικό

+Cash Entry,Ταμειακό παραστατικό

 Cash or Bank Account is mandatory for making payment entry,Μετρητά ή τραπεζικός λογαριασμός είναι υποχρεωτική για την κατασκευή εισόδου πληρωμής

 Cash/Bank Account,Μετρητά / Τραπεζικό Λογαριασμό

 Casual Leave,Casual Αφήστε

@@ -511,7 +511,7 @@
 Clearance Date not mentioned,Εκκαθάριση Ημερομηνία που δεν αναφέρονται

 Clearance date cannot be before check date in row {0},Ημερομηνία εκκαθάρισης δεν μπορεί να είναι πριν από την ημερομηνία άφιξης στη γραμμή {0}

 Click on 'Make Sales Invoice' button to create a new Sales Invoice.,Κάντε κλικ στο «Κάνε Πωλήσεις Τιμολόγιο» για να δημιουργηθεί μια νέα τιμολογίου πώλησης.

-Click on a link to get options to expand get options ,Click on a link to get options to expand get options 

+Click on a link to get options to expand get options ,Click on a link to get options to expand get options

 Client,Πελάτης

 Close Balance Sheet and book Profit or Loss.,Κλείσιμο Ισολογισμού και των Αποτελεσμάτων βιβλίο ή απώλεια .

 Closed,Κλειστό

@@ -594,7 +594,7 @@
 Contacts,Επαφές

 Content,Περιεχόμενο

 Content Type,Τύπος περιεχομένου

-Contra Voucher,Contra Voucher

+Contra Entry,Contra Entry

 Contract,σύμβαση

 Contract End Date,Σύμβαση Ημερομηνία Λήξης

 Contract End Date must be greater than Date of Joining,"Ημερομηνία λήξης της σύμβασης πρέπει να είναι μεγαλύτερη από ό, τι Ημερομηνία Ενώνουμε"

@@ -625,7 +625,7 @@
 Country Name,Όνομα Χώρα

 Country wise default Address Templates,Χώρα σοφός default Διεύθυνση Πρότυπα

 "Country, Timezone and Currency","Χώρα , Χρονική ζώνη και Συνάλλαγμα"

-Create Bank Voucher for the total salary paid for the above selected criteria,Δημιουργία Voucher Τράπεζας για το σύνολο του μισθού που καταβάλλεται για τις επιλεγμένες παραπάνω κριτήρια

+Create Bank Entry for the total salary paid for the above selected criteria,Δημιουργία Voucher Τράπεζας για το σύνολο του μισθού που καταβάλλεται για τις επιλεγμένες παραπάνω κριτήρια

 Create Customer,Δημιουργία Πελάτη

 Create Material Requests,Δημιουργία Αιτήσεις Υλικό

 Create New,Δημιουργία νέου

@@ -647,7 +647,7 @@
 Credit,Πίστωση

 Credit Amt,Credit Amt

 Credit Card,Πιστωτική Κάρτα

-Credit Card Voucher,Πιστωτική Κάρτα Voucher

+Credit Card Entry,Πιστωτική Κάρτα Voucher

 Credit Controller,Credit Controller

 Credit Days,Ημέρες Credit

 Credit Limit,Όριο Πίστωσης

@@ -841,13 +841,13 @@
 Divorced,Διαζευγμένος

 Do Not Contact,Μην Επικοινωνία

 Do not show any symbol like $ etc next to currencies.,Να μην εμφανίζεται κανένα σύμβολο όπως $ κλπ δίπλα σε νομίσματα.

-Do really want to unstop production order: ,Do really want to unstop production order: 

-Do you really want to STOP ,Do you really want to STOP 

+Do really want to unstop production order: ,Do really want to unstop production order:

+Do you really want to STOP ,Do you really want to STOP

 Do you really want to STOP this Material Request?,Θέλετε πραγματικά να σταματήσει αυτό το υλικό την Αίτηση Συμμετοχής;

 Do you really want to Submit all Salary Slip for month {0} and year {1},Θέλετε πραγματικά να υποβληθούν όλα τα Slip Μισθός για το μήνα {0} και {1 χρόνο }

-Do you really want to UNSTOP ,Do you really want to UNSTOP 

+Do you really want to UNSTOP ,Do you really want to UNSTOP

 Do you really want to UNSTOP this Material Request?,Θέλετε πραγματικά να ξεβουλώνω αυτό Υλικό Αίτηση Συμμετοχής;

-Do you really want to stop production order: ,Do you really want to stop production order: 

+Do you really want to stop production order: ,Do you really want to stop production order:

 Doc Name,Doc Name

 Doc Type,Doc Τύπος

 Document Description,Περιγραφή εγγράφου

@@ -899,7 +899,7 @@
 Email,Email

 Email Digest,Email Digest

 Email Digest Settings,Email Digest Ρυθμίσεις

-Email Digest: ,Email Digest: 

+Email Digest: ,Email Digest:

 Email Id,Id Email

 "Email Id where a job applicant will email e.g. ""jobs@example.com""","Email Id, όπου ένας υποψήφιος θα e-mail π.χ. &quot;jobs@example.com&quot;"

 Email Notifications,Ειδοποιήσεις μέσω ηλεκτρονικού ταχυδρομείου

@@ -959,7 +959,7 @@
 Entertainment & Leisure,Διασκέδαση & Leisure

 Entertainment Expenses,Έξοδα Ψυχαγωγία

 Entries,Καταχωρήσεις

-Entries against ,Entries against 

+Entries against ,Entries against

 Entries are not allowed against this Fiscal Year if the year is closed.,"Οι συμμετοχές δεν επιτρέπεται κατά το τρέχον οικονομικό έτος, εάν το έτος είναι κλειστή."

 Equity,δικαιοσύνη

 Error: {0} > {1},Σφάλμα : {0} > {1}

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,Excise Duty Edu Cess 2

 Excise Duty SHE Cess 1,Excise Duty SHE Cess 1

 Excise Page Number,Excise Αριθμός σελίδας

-Excise Voucher,Excise Voucher

+Excise Entry,Excise Entry

 Execution,εκτέλεση

 Executive Search,Executive Search

 Exemption Limit,Όριο απαλλαγής

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Τιμολόγιο Περίοδος Από και Τιμολόγιο Περίοδος Προς ημερομηνίες υποχρεωτική για επαναλαμβανόμενες τιμολόγιο

 Invoice Period To,Τιμολόγιο Περίοδος να

 Invoice Type,Τιμολόγιο Τύπος

-Invoice/Journal Voucher Details,Τιμολόγιο / Εφημερίδα Voucher Λεπτομέρειες

+Invoice/Journal Entry Details,Τιμολόγιο / Εφημερίδα Voucher Λεπτομέρειες

 Invoiced Amount (Exculsive Tax),Ποσό τιμολόγησης ( exculsive ΦΠΑ)

 Is Active,Είναι ενεργός

 Is Advance,Είναι Advance

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,Εργασία Ρυθμίσεις Email

 Journal Entries,Εφημερίδα Καταχωρήσεις

 Journal Entry,Journal Entry

-Journal Voucher,Εφημερίδα Voucher

-Journal Voucher Detail,Εφημερίδα Λεπτομέρεια Voucher

-Journal Voucher Detail No,Εφημερίδα Λεπτομέρεια φύλλου αριθ.

-Journal Voucher {0} does not have account {1} or already matched,Εφημερίδα Voucher {0} δεν έχει λογαριασμό {1} ή έχουν ήδη συμφωνημένα

-Journal Vouchers {0} are un-linked,Εφημερίδα Κουπόνια {0} είναι μη συνδεδεμένο

+Journal Entry,Εφημερίδα Voucher

+Journal Entry Account,Εφημερίδα Λεπτομέρεια Voucher

+Journal Entry Account No,Εφημερίδα Λεπτομέρεια φύλλου αριθ.

+Journal Entry {0} does not have account {1} or already matched,Εφημερίδα Voucher {0} δεν έχει λογαριασμό {1} ή έχουν ήδη συμφωνημένα

+Journal Entries {0} are un-linked,Εφημερίδα Κουπόνια {0} είναι μη συνδεδεμένο

 Keep a track of communication related to this enquiry which will help for future reference.,Κρατήστε ένα κομμάτι της επικοινωνίας που σχετίζονται με την έρευνα αυτή που θα βοηθήσει για μελλοντική αναφορά.

 Keep it web friendly 900px (w) by 100px (h),Φροντίστε να είναι φιλικό web 900px ( w ) από 100px ( h )

 Key Performance Area,Βασικά Επιδόσεων

@@ -1574,9 +1574,9 @@
 Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Συντήρηση Επίσκεψη {0} πρέπει να ακυρωθεί πριν από την ακύρωση αυτής της παραγγελίας πώλησης

 Maintenance start date can not be before delivery date for Serial No {0},Ημερομηνία έναρξης συντήρησης δεν μπορεί να είναι πριν από την ημερομηνία παράδοσης Αύξων αριθμός {0}

 Major/Optional Subjects,Σημαντικές / προαιρετικά μαθήματα

-Make ,Make 

+Make ,Make

 Make Accounting Entry For Every Stock Movement,Κάντε Λογιστική καταχώρηση για κάθε Κίνημα Χρηματιστήριο

-Make Bank Voucher,Κάντε Voucher Bank

+Make Bank Entry,Κάντε Voucher Bank

 Make Credit Note,Κάντε Πιστωτικό Σημείωμα

 Make Debit Note,Κάντε χρεωστικό σημείωμα

 Make Delivery,Κάντε Παράδοση

@@ -1723,7 +1723,7 @@
 Net Weight of each Item,Καθαρό βάρος κάθε είδους

 Net pay cannot be negative,Καθαρή αμοιβή δεν μπορεί να είναι αρνητική

 Never,Ποτέ

-New ,New 

+New ,New

 New Account,Νέος λογαριασμός

 New Account Name,Νέο Όνομα λογαριασμού

 New BOM,Νέα BOM

@@ -2449,7 +2449,7 @@
 Rounded Total,Στρογγυλεμένες Σύνολο

 Rounded Total (Company Currency),Στρογγυλεμένες Σύνολο (νόμισμα της Εταιρείας)

 Row # ,Row #

-Row # {0}: ,Row # {0}: 

+Row # {0}: ,Row # {0}:

 Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,Σειρά # {0}: Διέταξε ποσότητα δεν μπορεί να μικρότερη από την ελάχιστη ποσότητα σειρά στοιχείου (όπως ορίζεται στο σημείο master).

 Row #{0}: Please specify Serial No for Item {1},Σειρά # {0}: Παρακαλείστε να προσδιορίσετε Αύξων αριθμός για τη θέση {1}

 Row {0}: Account does not match with \						Purchase Invoice Credit To account,Σειρά {0}: Ο λογαριασμός δεν ταιριάζει με \ τιμολογίου αγοράς πίστωση του λογαριασμού

@@ -3096,7 +3096,7 @@
 Update Series Number,Ενημέρωση Αριθμός Σειράς

 Update Stock,Ενημέρωση Χρηματιστήριο

 Update bank payment dates with journals.,Ενημέρωση τράπεζα ημερομηνίες πληρωμής με περιοδικά.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',Ενημέρωση ημερομηνία εκκαθάρισης της Εφημερίδας των εγγραφών που χαρακτηρίζονται ως « Τράπεζα Κουπόνια »

+Update clearance date of Journal Entries marked as 'Bank Entry',Ενημέρωση ημερομηνία εκκαθάρισης της Εφημερίδας των εγγραφών που χαρακτηρίζονται ως « Τράπεζα Κουπόνια »

 Updated,Ενημέρωση

 Updated Birthday Reminders,Ενημερώθηκε Υπενθυμίσεις γενεθλίων

 Upload Attendance,Ανεβάστε Συμμετοχή

@@ -3234,7 +3234,7 @@
 Write Off Based On,Γράψτε Off βάση την

 Write Off Cost Center,Γράψτε Off Κέντρο Κόστους

 Write Off Outstanding Amount,Γράψτε Off οφειλόμενο ποσό

-Write Off Voucher,Γράψτε Off Voucher

+Write Off Entry,Γράψτε Off Voucher

 Wrong Template: Unable to find head row.,Λάθος Πρότυπο: Ανίκανος να βρει γραμμή κεφάλι.

 Year,Έτος

 Year Closed,Έτους που έκλεισε

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,Μπορείτε να εισάγετε την ελάχιστη ποσότητα αυτού του στοιχείου που πρέπει να καταδικαστεί.

 You can not change rate if BOM mentioned agianst any item,"Δεν μπορείτε να αλλάξετε ρυθμό , αν BOM αναφέρεται agianst οποιοδήποτε στοιχείο"

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Δεν μπορείτε να εισάγετε δύο Παράδοση Σημείωση Όχι και Τιμολόγιο Πώλησης Νο Παρακαλώ εισάγετε κάθε μία .

-You can not enter current voucher in 'Against Journal Voucher' column,Δεν μπορείτε να εισάγετε την τρέχουσα κουπόνι σε « Ενάντια Εφημερίδα Voucher της στήλης

+You can not enter current voucher in 'Against Journal Entry' column,Δεν μπορείτε να εισάγετε την τρέχουσα κουπόνι σε « Ενάντια Εφημερίδα Voucher της στήλης

 You can set Default Bank Account in Company master,Μπορείτε να ρυθμίσετε Προεπιλογή Τραπεζικού Λογαριασμού στην Εταιρεία πλοίαρχος

 You can start by selecting backup frequency and granting access for sync,Μπορείτε να ξεκινήσετε επιλέγοντας τη συχνότητα δημιουργίας αντιγράφων ασφαλείας και την παροχή πρόσβασης για συγχρονισμό

 You can submit this Stock Reconciliation.,Μπορείτε να υποβάλετε αυτό το Χρηματιστήριο Συμφιλίωση .

@@ -3317,7 +3317,7 @@
 {0} must be reduced by {1} or you should increase overflow tolerance,{0} πρέπει να μειωθεί κατά {1} ή θα πρέπει να αυξήσει την ανοχή υπερχείλισης

 {0} must have role 'Leave Approver',{0} πρέπει να έχει ρόλο « Αφήστε Έγκρισης »

 {0} valid serial nos for Item {1},{0} έγκυρο σειριακό nos για τη θέση {1}

-{0} {1} against Bill {2} dated {3},{0} {1} εναντίον Bill {2} { 3 με ημερομηνία }

+{0} {1} against Bill {2} dated {3},{0} {1} εναντίον Bill {2} {3} με ημερομηνία

 {0} {1} against Invoice {2},{0} {1} κατά Τιμολόγιο {2}

 {0} {1} has already been submitted,{0} {1} έχει ήδη υποβληθεί

 {0} {1} has been modified. Please refresh.,{0} {1} έχει τροποποιηθεί . Παρακαλώ ανανεώσετε .

diff --git a/erpnext/translations/es.csv b/erpnext/translations/es.csv
index 452a643..1528ffa 100644
--- a/erpnext/translations/es.csv
+++ b/erpnext/translations/es.csv
@@ -31,7 +31,7 @@
 1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,"1 moneda = [?] Fracción  Por ejemplo, 1 USD = 100 Cent"

 1. To maintain the customer wise item code and to make them searchable based on their code use this option,1 . Para mantener el código del artículo sabia cliente y para efectuar búsquedas en ellos en función de su uso de código de esta opción

 "<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer grupo""> Añadir / Editar < / a>"

-"<a href=""#Sales Browser/Item Group"">Add / Edit</a>","<a href=""#Sales Browser/Item grupo""> Añadir / Editar < / a>"

+"<a href=""#Sales Browser/Item Group"">Add / Edit</a>","<a href=""#Sales Browser/Item Group""> Añadir / Editar < / a>"

 "<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory""> Añadir / Editar < / a>"

 "<h4>Default Template</h4><p>Uses <a href=""http://jinja.pocoo.org/docs/templates/"">Jinja Templating</a> and all the fields of Address (including Custom Fields if any) will be available</p><pre><code>{{ address_line1 }}&lt;br&gt;{% if address_line2 %}{{ address_line2 }}&lt;br&gt;{% endif -%}{{ city }}&lt;br&gt;{% if state %}{{ state }}&lt;br&gt;{% endif -%}{% if pincode %} PIN:  {{ pincode }}&lt;br&gt;{% endif -%}{{ country }}&lt;br&gt;{% if phone %}Phone: {{ phone }}&lt;br&gt;{% endif -%}{% if fax %}Fax: {{ fax }}&lt;br&gt;{% endif -%}{% if email_id %}Email: {{ email_id }}&lt;br&gt;{% endif -%}</code></pre>","<h4> defecto plantilla </ h4>  <p> Usos <a href=""http://jinja.pocoo.org/docs/templates/""> Jinja plantillas </ a> y todos los campos de la Dirección ( incluyendo campos personalizados en su caso) estará disponible </ p>  <pre> <code> {{}} address_line1 <br>  {% if address_line2%} {{}} address_line2 <br> { endif% -%}  {{city}} <br>  {% if estado%} {{Estado}} {% endif <br> -%}  {% if%} pincode PIN: {{pincode}} {% endif <br> -%}  {{país}} <br>  {% if%} de teléfono Teléfono: {{phone}} {<br> endif% -%}  {% if%} fax Fax: {{fax}} {% endif <br> -%}  {% if%} email_ID Email: {{}} email_ID <br> ; {% endif -%}  </ code> </ pre>"

 A Customer Group exists with same name please change the Customer name or rename the Customer Group,"Existe un Grupo de Clientes con el mismo nombre, por favor cambie el nombre del Cliente o cambie el nombre del Grupo de Clientes"

@@ -152,8 +152,8 @@
 Against Document No,Contra el Documento No

 Against Expense Account,Contra la Cuenta de Gastos

 Against Income Account,Contra la Cuenta de Utilidad

-Against Journal Voucher,Contra Comprobante de Diario

-Against Journal Voucher {0} does not have any unmatched {1} entry,Contra Comprobante de Diario {0} aún no tiene {1} entrada asignada

+Against Journal Entry,Contra Comprobante de Diario

+Against Journal Entry {0} does not have any unmatched {1} entry,Contra Comprobante de Diario {0} aún no tiene {1} entrada asignada

 Against Purchase Invoice,Contra la Factura de Compra

 Against Sales Invoice,Contra la Factura de Venta

 Against Sales Order,Contra la Orden de Venta

@@ -335,7 +335,7 @@
 Bank Reconciliation,Conciliación Bancaria

 Bank Reconciliation Detail,Detalle de Conciliación Bancaria

 Bank Reconciliation Statement,Declaración de Conciliación Bancaria

-Bank Voucher,Banco de Vales

+Bank Entry,Banco de Vales

 Bank/Cash Balance,Banco / Balance de Caja

 Banking,Banca

 Barcode,Código de Barras

@@ -470,7 +470,7 @@
 Case No. cannot be 0,Nº de Caso no puede ser 0

 Cash,Efectivo

 Cash In Hand,Efectivo Disponible

-Cash Voucher,Comprobante de Efectivo

+Cash Entry,Comprobante de Efectivo

 Cash or Bank Account is mandatory for making payment entry,Cuenta de Efectivo o Cuenta Bancaria es obligatoria para hacer una entrada de pago

 Cash/Bank Account,Cuenta de Caja / Banco

 Casual Leave,Permiso Temporal

@@ -597,7 +597,7 @@
 Contacts,Contactos

 Content,Contenido

 Content Type,Tipo de Contenido

-Contra Voucher,Contra Voucher

+Contra Entry,Contra Entry

 Contract,Contrato

 Contract End Date,Fecha Fin de Contrato

 Contract End Date must be greater than Date of Joining,La Fecha de Finalización de Contrato debe ser mayor que la Fecha de la Firma

@@ -628,7 +628,7 @@
 Country Name,Nombre del país

 Country wise default Address Templates,Plantillas País sabia dirección predeterminada

 "Country, Timezone and Currency","País , Zona Horaria y Moneda"

-Create Bank Voucher for the total salary paid for the above selected criteria,Cree Banco Vale para el salario total pagado por los criterios seleccionados anteriormente

+Create Bank Entry for the total salary paid for the above selected criteria,Cree Banco Vale para el salario total pagado por los criterios seleccionados anteriormente

 Create Customer,Crear cliente

 Create Material Requests,Crear Solicitudes de Material

 Create New,Crear Nuevo

@@ -650,7 +650,7 @@
 Credit,Crédito

 Credit Amt,crédito Amt

 Credit Card,Tarjeta de Crédito

-Credit Card Voucher,Vale la tarjeta de crédito

+Credit Card Entry,Vale la tarjeta de crédito

 Credit Controller,Credit Controller

 Credit Days,Días de Crédito

 Credit Limit,Límite de Crédito

@@ -982,7 +982,7 @@
 Excise Duty Edu Cess 2,Impuestos Especiales Edu Cess 2

 Excise Duty SHE Cess 1,Impuestos Especiales SHE Cess 1

 Excise Page Number,Número Impuestos Especiales Página

-Excise Voucher,vale de Impuestos Especiales

+Excise Entry,vale de Impuestos Especiales

 Execution,ejecución

 Executive Search,Búsqueda de Ejecutivos

 Exemption Limit,Límite de Exención

@@ -1330,7 +1330,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Factura Periodo Del Período y Factura Para las fechas obligatorias para la factura recurrente

 Invoice Period To,Período Factura Para

 Invoice Type,Tipo de Factura

-Invoice/Journal Voucher Details,Detalles de Factura / Comprobante de Diario

+Invoice/Journal Entry Details,Detalles de Factura / Comprobante de Diario

 Invoiced Amount (Exculsive Tax),Cantidad facturada ( Impuesto exclusive )

 Is Active,Está Activo

 Is Advance,Es Avance

@@ -1460,11 +1460,11 @@
 Jobs Email Settings,Trabajos Email

 Journal Entries,entradas de diario

 Journal Entry,Entrada de diario

-Journal Voucher,Comprobante de Diario

-Journal Voucher Detail,Detalle del Asiento de Diario

-Journal Voucher Detail No,Detalle del Asiento de Diario No

-Journal Voucher {0} does not have account {1} or already matched,Comprobante de Diario {0} no tiene cuenta {1} o ya emparejado

-Journal Vouchers {0} are un-linked,Asientos de Diario {0} no están vinculados.

+Journal Entry,Comprobante de Diario

+Journal Entry Account,Detalle del Asiento de Diario

+Journal Entry Account No,Detalle del Asiento de Diario No

+Journal Entry {0} does not have account {1} or already matched,Comprobante de Diario {0} no tiene cuenta {1} o ya emparejado

+Journal Entries {0} are un-linked,Asientos de Diario {0} no están vinculados.

 Keep a track of communication related to this enquiry which will help for future reference.,Mantenga un registro de la comunicación en relación con esta consulta que ayudará para futuras consultas.

 Keep it web friendly 900px (w) by 100px (h),Manténgalo  adecuado para la web 900px ( w ) por 100px ( h )

 Key Performance Area,Área Clave de Rendimiento

@@ -1579,7 +1579,7 @@
 Major/Optional Subjects,Principales / Asignaturas optativas

 Make ,Hacer

 Make Accounting Entry For Every Stock Movement,Hacer asiento contable para cada movimiento de acciones

-Make Bank Voucher,Hacer Banco Voucher

+Make Bank Entry,Hacer Banco Voucher

 Make Credit Note,Hacer Nota de Crédito

 Make Debit Note,Haga Nota de Débito

 Make Delivery,Hacer Entrega

@@ -2745,7 +2745,7 @@
 Static Parameters,Parámetros estáticos

 Status,estado

 Status must be one of {0},Estado debe ser uno de {0}

-Status of {0} {1} is now {2},Situación de {0} {1} { 2 es ahora }

+Status of {0} {1} is now {2},Situación de {0} {1} {2} es ahora

 Status updated to {0},Estado actualizado a {0}

 Statutory info and other general information about your Supplier,Información legal y otra información general acerca de su proveedor

 Stay Updated,Manténgase actualizado

@@ -3101,7 +3101,7 @@
 Update Series Number,Actualización de los números de serie

 Update Stock,Actualización de Stock

 Update bank payment dates with journals.,Actualización de las fechas de pago del banco con las revistas .

-Update clearance date of Journal Entries marked as 'Bank Vouchers',Fecha de despacho de actualización de entradas de diario marcado como ' Banco vales '

+Update clearance date of Journal Entries marked as 'Bank Entry',Fecha de despacho de actualización de entradas de diario marcado como ' Banco vales '

 Updated,actualizado

 Updated Birthday Reminders,Actualizado Birthday Reminders

 Upload Attendance,Subir Asistencia

@@ -3239,7 +3239,7 @@
 Write Off Based On,Escribe apagado basado en

 Write Off Cost Center,Escribe Off Center Costo

 Write Off Outstanding Amount,Escribe Off Monto Pendiente

-Write Off Voucher,Escribe Off Voucher

+Write Off Entry,Escribe Off Voucher

 Wrong Template: Unable to find head row.,Plantilla incorrecto : no se puede encontrar la fila cabeza.

 Year,Año

 Year Closed,Año Cerrado

@@ -3257,7 +3257,7 @@
 You can enter the minimum quantity of this item to be ordered.,Puede introducir la cantidad mínima que se puede pedir de este artículo.

 You can not change rate if BOM mentioned agianst any item,No se puede cambiar la tasa si BOM mencionó agianst cualquier artículo

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,No se puede introducir tanto Entrega Nota No y Factura No. Por favor ingrese cualquiera .

-You can not enter current voucher in 'Against Journal Voucher' column,Usted no puede entrar bono actual en ' Contra Diario Vale ' columna

+You can not enter current voucher in 'Against Journal Entry' column,Usted no puede entrar bono actual en ' Contra Diario Vale ' columna

 You can set Default Bank Account in Company master,Puede configurar cuenta bancaria por defecto en el maestro de la empresa

 You can start by selecting backup frequency and granting access for sync,Puedes empezar por seleccionar la frecuencia de copia de seguridad y la concesión de acceso para la sincronización

 You can submit this Stock Reconciliation.,Puede enviar este Stock Reconciliación.

@@ -3322,7 +3322,7 @@
 {0} must be reduced by {1} or you should increase overflow tolerance,{0} debe reducirse en {1} o se debe aumentar la tolerancia de desbordamiento

 {0} must have role 'Leave Approver',{0} debe tener rol ' Dejar aprobador '

 {0} valid serial nos for Item {1},{0} nn serie válidos para el elemento {1}

-{0} {1} against Bill {2} dated {3},{0} {1} { 2 contra Bill } {3} de fecha

+{0} {1} against Bill {2} dated {3},{0} {1} {2} contra Bill {3} de fecha

 {0} {1} against Invoice {2},{0} {1} contra Factura {2}

 {0} {1} has already been submitted,{0} {1} ya ha sido presentado

 {0} {1} has been modified. Please refresh.,{0} {1} ha sido modificado. Por favor regenere .

diff --git a/erpnext/translations/fr.csv b/erpnext/translations/fr.csv
index 6ec6513..a5d065f 100644
--- a/erpnext/translations/fr.csv
+++ b/erpnext/translations/fr.csv
@@ -153,8 +153,8 @@
 Against Document No,Contre le document n °

 Against Expense Account,Contre compte de dépenses

 Against Income Account,Contre compte le revenu

-Against Journal Voucher,Contre Bon Journal

-Against Journal Voucher {0} does not have any unmatched {1} entry,Contre Journal Bon {0} n'a pas encore inégalée {1} entrée

+Against Journal Entry,Contre Bon Journal

+Against Journal Entry {0} does not have any unmatched {1} entry,Contre Journal Bon {0} n'a pas encore inégalée {1} entrée

 Against Purchase Invoice,Contre facture d&#39;achat

 Against Sales Invoice,Contre facture de vente

 Against Sales Order,Contre Commande

@@ -336,7 +336,7 @@
 Bank Reconciliation,Rapprochement bancaire

 Bank Reconciliation Detail,Détail du rapprochement bancaire

 Bank Reconciliation Statement,Énoncé de rapprochement bancaire

-Bank Voucher,Coupon de la banque

+Bank Entry,Coupon de la banque

 Bank/Cash Balance,Solde de la banque / trésorerie

 Banking,Bancaire

 Barcode,Barcode

@@ -471,7 +471,7 @@
 Case No. cannot be 0,Cas n ° ne peut pas être 0

 Cash,Espèces

 Cash In Hand,Votre exercice social commence le

-Cash Voucher,Bon trésorerie

+Cash Entry,Bon trésorerie

 Cash or Bank Account is mandatory for making payment entry,N ° de série {0} a déjà été reçu

 Cash/Bank Account,Trésorerie / Compte bancaire

 Casual Leave,Règles d'application des prix et de ristournes .

@@ -595,7 +595,7 @@
 Contacts,S'il vous plaît entrer la quantité pour l'article {0}

 Content,Teneur

 Content Type,Type de contenu

-Contra Voucher,Bon Contra

+Contra Entry,Bon Contra

 Contract,contrat

 Contract End Date,Date de fin du contrat

 Contract End Date must be greater than Date of Joining,Fin du contrat La date doit être supérieure à date d'adhésion

@@ -626,7 +626,7 @@
 Country Name,Nom Pays

 Country wise default Address Templates,Modèles pays sage d'adresses par défaut

 "Country, Timezone and Currency","Pays , Fuseau horaire et devise"

-Create Bank Voucher for the total salary paid for the above selected criteria,Créer Chèques de la Banque pour le salaire total payé pour les critères ci-dessus sélectionnées

+Create Bank Entry for the total salary paid for the above selected criteria,Créer Chèques de la Banque pour le salaire total payé pour les critères ci-dessus sélectionnées

 Create Customer,créer clientèle

 Create Material Requests,Créer des demandes de matériel

 Create New,créer un nouveau

@@ -648,7 +648,7 @@
 Credit,Crédit

 Credit Amt,Crédit Amt

 Credit Card,Carte de crédit

-Credit Card Voucher,Bon de carte de crédit

+Credit Card Entry,Bon de carte de crédit

 Credit Controller,Credit Controller

 Credit Days,Jours de crédit

 Credit Limit,Limite de crédit

@@ -980,7 +980,7 @@
 Excise Duty Edu Cess 2,Droits d'accise Edu Cess 2

 Excise Duty SHE Cess 1,Droits d'accise ELLE Cess 1

 Excise Page Number,Numéro de page d&#39;accise

-Excise Voucher,Bon d&#39;accise

+Excise Entry,Bon d&#39;accise

 Execution,exécution

 Executive Search,Executive Search

 Exemption Limit,Limite d&#39;exemption

@@ -1076,7 +1076,7 @@
 Fraction,Fraction

 Fraction Units,Unités fraction

 Freeze Stock Entries,Congeler entrées en stocks

-Freeze Stocks Older Than [Days],Vous ne pouvez pas entrer bon actuelle dans «Contre Journal Voucher ' colonne

+Freeze Stocks Older Than [Days],Vous ne pouvez pas entrer bon actuelle dans «Contre Journal Entry ' colonne

 Freight and Forwarding Charges,Fret et d'envoi en sus

 Friday,Vendredi

 From,À partir de

@@ -1328,7 +1328,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Période facture et la période de facturation Pour les dates obligatoires pour la facture récurrente

 Invoice Period To,Période facture Pour

 Invoice Type,Type de facture

-Invoice/Journal Voucher Details,Facture / Journal Chèques Détails

+Invoice/Journal Entry Details,Facture / Journal Chèques Détails

 Invoiced Amount (Exculsive Tax),Montant facturé ( impôt Exculsive )

 Is Active,Est active

 Is Advance,Est-Advance

@@ -1458,11 +1458,11 @@
 Jobs Email Settings,Paramètres de messagerie Emploi

 Journal Entries,Journal Entries

 Journal Entry,Journal Entry

-Journal Voucher,Bon Journal

-Journal Voucher Detail,Détail pièce de journal

-Journal Voucher Detail No,Détail Bon Journal No

-Journal Voucher {0} does not have account {1} or already matched,Journal Bon {0} n'a pas encore compte {1} ou déjà identifié

-Journal Vouchers {0} are un-linked,Date de livraison prévue ne peut pas être avant ventes Date de commande

+Journal Entry,Bon Journal

+Journal Entry Account,Détail pièce de journal

+Journal Entry Account No,Détail Bon Journal No

+Journal Entry {0} does not have account {1} or already matched,Journal Bon {0} n'a pas encore compte {1} ou déjà identifié

+Journal Entries {0} are un-linked,Date de livraison prévue ne peut pas être avant ventes Date de commande

 Keep a track of communication related to this enquiry which will help for future reference.,Gardez une trace de la communication liée à cette enquête qui aidera pour référence future.

 Keep it web friendly 900px (w) by 100px (h),Gardez web 900px amical ( w) par 100px ( h )

 Key Performance Area,Section de performance clé

@@ -1577,7 +1577,7 @@
 Major/Optional Subjects,Sujets principaux / en option

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,Faites Entrée Comptabilité Pour chaque mouvement Stock

-Make Bank Voucher,Assurez-Bon Banque

+Make Bank Entry,Assurez-Bon Banque

 Make Credit Note,Assurez Note de crédit

 Make Debit Note,Assurez- notes de débit

 Make Delivery,Assurez- livraison

@@ -3097,7 +3097,7 @@
 Update Series Number,Numéro de série mise à jour

 Update Stock,Mise à jour Stock

 Update bank payment dates with journals.,Mise à jour bancaire dates de paiement des revues.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',Date d'autorisation de mise à jour des entrées de journal marqué comme « Banque Bons »

+Update clearance date of Journal Entries marked as 'Bank Entry',Date d'autorisation de mise à jour des entrées de journal marqué comme « Banque Bons »

 Updated,Mise à jour

 Updated Birthday Reminders,Mise à jour anniversaire rappels

 Upload Attendance,Téléchargez Participation

@@ -3235,7 +3235,7 @@
 Write Off Based On,Ecrire Off Basé sur

 Write Off Cost Center,Ecrire Off Centre de coûts

 Write Off Outstanding Amount,Ecrire Off Encours

-Write Off Voucher,Ecrire Off Bon

+Write Off Entry,Ecrire Off Bon

 Wrong Template: Unable to find head row.,Modèle tort: ​​Impossible de trouver la ligne de tête.

 Year,Année

 Year Closed,L'année est fermée

@@ -3253,7 +3253,7 @@
 You can enter the minimum quantity of this item to be ordered.,Vous pouvez entrer la quantité minimale de cet élément à commander.

 You can not change rate if BOM mentioned agianst any item,Vous ne pouvez pas modifier le taux si BOM mentionné agianst un article

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Vous ne pouvez pas entrer à la fois bon de livraison et la facture de vente n ° n ° S'il vous plaît entrer personne.

-You can not enter current voucher in 'Against Journal Voucher' column,"D'autres comptes peuvent être faites dans les groupes , mais les entrées peuvent être faites contre Ledger"

+You can not enter current voucher in 'Against Journal Entry' column,"D'autres comptes peuvent être faites dans les groupes , mais les entrées peuvent être faites contre Ledger"

 You can set Default Bank Account in Company master,Articles en attente {0} mise à jour

 You can start by selecting backup frequency and granting access for sync,Vous pouvez commencer par sélectionner la fréquence de sauvegarde et d'accorder l'accès pour la synchronisation

 You can submit this Stock Reconciliation.,Vous pouvez soumettre cette Stock réconciliation .

@@ -3318,7 +3318,7 @@
 {0} must be reduced by {1} or you should increase overflow tolerance,{0} doit être réduite par {1} ou vous devez augmenter la tolérance de dépassement

 {0} must have role 'Leave Approver',Nouveau Stock UDM est nécessaire

 {0} valid serial nos for Item {1},BOM {0} pour objet {1} à la ligne {2} est inactif ou non soumis

-{0} {1} against Bill {2} dated {3},S'il vous plaît entrer le titre !

+{0} {1} against Bill {2} dated {3},{0} {1} contre le projet de loi en date du {2} {3}

 {0} {1} against Invoice {2},investissements

 {0} {1} has already been submitted,"S'il vous plaît entrer » est sous-traitée "" comme Oui ou Non"

 {0} {1} has been modified. Please refresh.,Point ou Entrepôt à la ligne {0} ne correspond pas à la Demande de Matériel

diff --git a/erpnext/translations/hi.csv b/erpnext/translations/hi.csv
index 68be3cd..2693e46 100644
--- a/erpnext/translations/hi.csv
+++ b/erpnext/translations/hi.csv
@@ -152,8 +152,8 @@
 Against Document No,दस्तावेज़ के खिलाफ कोई

 Against Expense Account,व्यय खाते के खिलाफ

 Against Income Account,आय खाता के खिलाफ

-Against Journal Voucher,जर्नल वाउचर के खिलाफ

-Against Journal Voucher {0} does not have any unmatched {1} entry,जर्नल वाउचर के खिलाफ {0} किसी भी बेजोड़ {1} प्रविष्टि नहीं है

+Against Journal Entry,जर्नल वाउचर के खिलाफ

+Against Journal Entry {0} does not have any unmatched {1} entry,जर्नल वाउचर के खिलाफ {0} किसी भी बेजोड़ {1} प्रविष्टि नहीं है

 Against Purchase Invoice,खरीद चालान के खिलाफ

 Against Sales Invoice,बिक्री चालान के खिलाफ

 Against Sales Order,बिक्री के आदेश के खिलाफ

@@ -335,7 +335,7 @@
 Bank Reconciliation,बैंक समाधान

 Bank Reconciliation Detail,बैंक सुलह विस्तार

 Bank Reconciliation Statement,बैंक समाधान विवरण

-Bank Voucher,बैंक वाउचर

+Bank Entry,बैंक वाउचर

 Bank/Cash Balance,बैंक / नकद शेष

 Banking,बैंकिंग

 Barcode,बारकोड

@@ -470,7 +470,7 @@
 Case No. cannot be 0,मुकदमा संख्या 0 नहीं हो सकता

 Cash,नकद

 Cash In Hand,रोकड़ शेष

-Cash Voucher,कैश वाउचर

+Cash Entry,कैश वाउचर

 Cash or Bank Account is mandatory for making payment entry,नकद या बैंक खाते को भुगतान के प्रवेश करने के लिए अनिवार्य है

 Cash/Bank Account,नकद / बैंक खाता

 Casual Leave,आकस्मिक छुट्टी

@@ -594,7 +594,7 @@
 Contacts,संपर्क

 Content,सामग्री

 Content Type,सामग्री प्रकार

-Contra Voucher,कॉन्ट्रा वाउचर

+Contra Entry,कॉन्ट्रा वाउचर

 Contract,अनुबंध

 Contract End Date,अनुबंध समाप्ति तिथि

 Contract End Date must be greater than Date of Joining,अनुबंध समाप्ति तिथि शामिल होने की तिथि से अधिक होना चाहिए

@@ -625,7 +625,7 @@
 Country Name,देश का नाम

 Country wise default Address Templates,देश बुद्धिमान डिफ़ॉल्ट पता टेम्पलेट्स

 "Country, Timezone and Currency","देश , समय क्षेत्र और मुद्रा"

-Create Bank Voucher for the total salary paid for the above selected criteria,कुल ऊपर चयनित मानदंड के लिए वेतन भुगतान के लिए बैंक वाउचर बनाएँ

+Create Bank Entry for the total salary paid for the above selected criteria,कुल ऊपर चयनित मानदंड के लिए वेतन भुगतान के लिए बैंक वाउचर बनाएँ

 Create Customer,ग्राहक बनाएँ

 Create Material Requests,सामग्री अनुरोध बनाएँ

 Create New,नई बनाएँ

@@ -647,7 +647,7 @@
 Credit,श्रेय

 Credit Amt,क्रेडिट राशि

 Credit Card,क्रेडिट कार्ड

-Credit Card Voucher,क्रेडिट कार्ड वाउचर

+Credit Card Entry,क्रेडिट कार्ड वाउचर

 Credit Controller,क्रेडिट नियंत्रक

 Credit Days,क्रेडिट दिन

 Credit Limit,साख सीमा

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,उत्पाद शुल्क शिक्षा उपकर 2

 Excise Duty SHE Cess 1,एक्साइज ड्यूटी वह उपकर 1

 Excise Page Number,आबकारी पृष्ठ संख्या

-Excise Voucher,आबकारी वाउचर

+Excise Entry,आबकारी वाउचर

 Execution,निष्पादन

 Executive Search,कार्यकारी खोज

 Exemption Limit,छूट की सीमा

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,चालान आवर्ती के लिए अनिवार्य तिथियों के लिए और चालान काल से चालान अवधि

 Invoice Period To,के लिए चालान अवधि

 Invoice Type,चालान का प्रकार

-Invoice/Journal Voucher Details,चालान / जर्नल वाउचर विवरण

+Invoice/Journal Entry Details,चालान / जर्नल वाउचर विवरण

 Invoiced Amount (Exculsive Tax),चालान राशि ( Exculsive टैक्स )

 Is Active,सक्रिय है

 Is Advance,अग्रिम है

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,नौकरियां ईमेल सेटिंग

 Journal Entries,जर्नल प्रविष्टियां

 Journal Entry,जर्नल प्रविष्टि

-Journal Voucher,जर्नल वाउचर

-Journal Voucher Detail,जर्नल वाउचर विस्तार

-Journal Voucher Detail No,जर्नल वाउचर विस्तार नहीं

-Journal Voucher {0} does not have account {1} or already matched,जर्नल वाउचर {0} खाता नहीं है {1} या पहले से ही मेल नहीं खाते

-Journal Vouchers {0} are un-linked,जर्नल वाउचर {0} संयुक्त राष्ट्र से जुड़े हुए हैं

+Journal Entry,जर्नल वाउचर

+Journal Entry Account,जर्नल वाउचर विस्तार

+Journal Entry Account No,जर्नल वाउचर विस्तार नहीं

+Journal Entry {0} does not have account {1} or already matched,जर्नल वाउचर {0} खाता नहीं है {1} या पहले से ही मेल नहीं खाते

+Journal Entries {0} are un-linked,जर्नल वाउचर {0} संयुक्त राष्ट्र से जुड़े हुए हैं

 Keep a track of communication related to this enquiry which will help for future reference.,जांच है जो भविष्य में संदर्भ के लिए मदद करने के लिए संबंधित संचार का ट्रैक रखें.

 Keep it web friendly 900px (w) by 100px (h),100px द्वारा वेब अनुकूल 900px (डब्ल्यू) रखो यह ( ज)

 Key Performance Area,परफ़ॉर्मेंस क्षेत्र

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,मेजर / वैकल्पिक विषय

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,हर शेयर आंदोलन के लिए लेखा प्रविष्टि बनाओ

-Make Bank Voucher,बैंक वाउचर

+Make Bank Entry,बैंक वाउचर

 Make Credit Note,क्रेडिट नोट बनाने

 Make Debit Note,डेबिट नोट बनाने

 Make Delivery,वितरण करना

@@ -3096,7 +3096,7 @@
 Update Series Number,अद्यतन सीरीज नंबर

 Update Stock,स्टॉक अद्यतन

 Update bank payment dates with journals.,अद्यतन बैंक भुगतान पत्रिकाओं के साथ तिथियाँ.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',जर्नल प्रविष्टियों का अद्यतन निकासी की तारीख ' बैंक वाउचर ' के रूप में चिह्नित

+Update clearance date of Journal Entries marked as 'Bank Entry',जर्नल प्रविष्टियों का अद्यतन निकासी की तारीख ' बैंक वाउचर ' के रूप में चिह्नित

 Updated,अद्यतित

 Updated Birthday Reminders,नवीनीकृत जन्मदिन अनुस्मारक

 Upload Attendance,उपस्थिति अपलोड

@@ -3234,7 +3234,7 @@
 Write Off Based On,के आधार पर बंद लिखने के लिए

 Write Off Cost Center,ऑफ लागत केंद्र लिखें

 Write Off Outstanding Amount,ऑफ बकाया राशि लिखें

-Write Off Voucher,ऑफ वाउचर लिखें

+Write Off Entry,ऑफ वाउचर लिखें

 Wrong Template: Unable to find head row.,गलत साँचा: सिर पंक्ति पाने में असमर्थ.

 Year,वर्ष

 Year Closed,साल बंद कर दिया

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,आप इस मद की न्यूनतम मात्रा में करने के लिए आदेश दिया जा में प्रवेश कर सकते हैं.

 You can not change rate if BOM mentioned agianst any item,बीओएम किसी भी आइटम agianst उल्लेख अगर आप दर में परिवर्तन नहीं कर सकते

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,आप नहीं दोनों डिलिवरी नोट में प्रवेश नहीं कर सकते हैं और बिक्री चालान नहीं किसी भी एक दर्ज करें.

-You can not enter current voucher in 'Against Journal Voucher' column,आप स्तंभ ' जर्नल वाउचर के खिलाफ' में मौजूदा वाउचर प्रवेश नहीं कर सकते

+You can not enter current voucher in 'Against Journal Entry' column,आप स्तंभ ' जर्नल वाउचर के खिलाफ' में मौजूदा वाउचर प्रवेश नहीं कर सकते

 You can set Default Bank Account in Company master,आप कंपनी मास्टर में डिफ़ॉल्ट बैंक खाता सेट कर सकते हैं

 You can start by selecting backup frequency and granting access for sync,आप बैकअप आवृत्ति का चयन और सिंक के लिए पहुँच प्रदान कर शुरू कर सकते हैं

 You can submit this Stock Reconciliation.,आप इस स्टॉक सुलह प्रस्तुत कर सकते हैं .

diff --git a/erpnext/translations/hr.csv b/erpnext/translations/hr.csv
index a52d4f9..58ac6b2 100644
--- a/erpnext/translations/hr.csv
+++ b/erpnext/translations/hr.csv
@@ -152,8 +152,8 @@
 Against Document No,Protiv dokumentu nema

 Against Expense Account,Protiv Rashodi račun

 Against Income Account,Protiv računu dohotka

-Against Journal Voucher,Protiv Journal Voucheru

-Against Journal Voucher {0} does not have any unmatched {1} entry,Protiv Journal vaučer {0} nema premca {1} unos

+Against Journal Entry,Protiv Journal Entryu

+Against Journal Entry {0} does not have any unmatched {1} entry,Protiv Journal vaučer {0} nema premca {1} unos

 Against Purchase Invoice,Protiv Kupnja fakture

 Against Sales Invoice,Protiv prodaje fakture

 Against Sales Order,Protiv prodajnog naloga

@@ -335,7 +335,7 @@
 Bank Reconciliation,Banka pomirenje

 Bank Reconciliation Detail,Banka Pomirenje Detalj

 Bank Reconciliation Statement,Izjava banka pomirenja

-Bank Voucher,Banka bon

+Bank Entry,Banka bon

 Bank/Cash Balance,Banka / saldo

 Banking,bankarstvo

 Barcode,Barkod

@@ -470,7 +470,7 @@
 Case No. cannot be 0,Slučaj broj ne može biti 0

 Cash,Gotovina

 Cash In Hand,Novac u blagajni

-Cash Voucher,Novac bon

+Cash Entry,Novac bon

 Cash or Bank Account is mandatory for making payment entry,Novac ili bankovni račun je obvezna za izradu ulazak plaćanje

 Cash/Bank Account,Novac / bankovni račun

 Casual Leave,Casual dopust

@@ -594,7 +594,7 @@
 Contacts,Kontakti

 Content,Sadržaj

 Content Type,Vrsta sadržaja

-Contra Voucher,Contra bon

+Contra Entry,Contra bon

 Contract,ugovor

 Contract End Date,Ugovor Datum završetka

 Contract End Date must be greater than Date of Joining,Ugovor Datum završetka mora biti veći od dana ulaska u

@@ -625,7 +625,7 @@
 Country Name,Država Ime

 Country wise default Address Templates,Država mudar zadana adresa predlošci

 "Country, Timezone and Currency","Država , vremenske zone i valute"

-Create Bank Voucher for the total salary paid for the above selected criteria,Stvaranje Bank bon za ukupne plaće isplaćene za gore odabranih kriterija

+Create Bank Entry for the total salary paid for the above selected criteria,Stvaranje Bank bon za ukupne plaće isplaćene za gore odabranih kriterija

 Create Customer,izraditi korisnika

 Create Material Requests,Stvaranje materijalni zahtijevi

 Create New,Stvori novo

@@ -647,7 +647,7 @@
 Credit,Kredit

 Credit Amt,Kreditne Amt

 Credit Card,kreditna kartica

-Credit Card Voucher,Kreditne kartice bon

+Credit Card Entry,Kreditne kartice bon

 Credit Controller,Kreditne kontroler

 Credit Days,Kreditne Dani

 Credit Limit,Kreditni limit

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,Trošarina Edu Posebni porez 2

 Excise Duty SHE Cess 1,Trošarina ONA Posebni porez na 1

 Excise Page Number,Trošarina Broj stranice

-Excise Voucher,Trošarina bon

+Excise Entry,Trošarina bon

 Execution,izvršenje

 Executive Search,Executive Search

 Exemption Limit,Izuzeće granica

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Račun razdoblju od računa i period za datume obveznih za ponavljajuće fakture

 Invoice Period To,Račun Razdoblje Da

 Invoice Type,Tip fakture

-Invoice/Journal Voucher Details,Račun / Časopis bon Detalji

+Invoice/Journal Entry Details,Račun / Časopis bon Detalji

 Invoiced Amount (Exculsive Tax),Dostavljeni iznos ( Exculsive poreza )

 Is Active,Je aktivna

 Is Advance,Je Predujam

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,Poslovi Postavke e-pošte

 Journal Entries,Časopis upisi

 Journal Entry,Časopis Stupanje

-Journal Voucher,Časopis bon

-Journal Voucher Detail,Časopis bon Detalj

-Journal Voucher Detail No,Časopis bon Detalj Ne

-Journal Voucher {0} does not have account {1} or already matched,Časopis bon {0} nema račun {1} ili već usklađeni

-Journal Vouchers {0} are un-linked,Časopis bon {0} su UN -linked

+Journal Entry,Časopis bon

+Journal Entry Account,Časopis bon Detalj

+Journal Entry Account No,Časopis bon Detalj Ne

+Journal Entry {0} does not have account {1} or already matched,Časopis bon {0} nema račun {1} ili već usklađeni

+Journal Entries {0} are un-linked,Časopis bon {0} su UN -linked

 Keep a track of communication related to this enquiry which will help for future reference.,Držite pratiti komunikacije vezane uz ovaj upit koji će vam pomoći za buduću referencu.

 Keep it web friendly 900px (w) by 100px (h),Držite ga prijateljski web 900px ( w ) by 100px ( h )

 Key Performance Area,Key Performance Area

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,Glavni / Izborni predmeti

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,Provjerite knjiženje za svaki burzi pokreta

-Make Bank Voucher,Napravite Bank bon

+Make Bank Entry,Napravite Bank bon

 Make Credit Note,Provjerite Credit Note

 Make Debit Note,Provjerite terećenju

 Make Delivery,bi isporuka

@@ -3096,7 +3096,7 @@
 Update Series Number,Update serije Broj

 Update Stock,Ažurirajte Stock

 Update bank payment dates with journals.,Update banka datum plaćanja s časopisima.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',"Datum Update klirens navoda označene kao ""Banka bon '"

+Update clearance date of Journal Entries marked as 'Bank Entry',"Datum Update klirens navoda označene kao ""Banka bon '"

 Updated,Obnovljeno

 Updated Birthday Reminders,Obnovljeno Rođendan Podsjetnici

 Upload Attendance,Upload Attendance

@@ -3234,7 +3234,7 @@
 Write Off Based On,Otpis na temelju

 Write Off Cost Center,Otpis troška

 Write Off Outstanding Amount,Otpisati preostali iznos

-Write Off Voucher,Napišite Off bon

+Write Off Entry,Napišite Off bon

 Wrong Template: Unable to find head row.,Pogrešna Predložak: Nije moguće pronaći glave red.

 Year,Godina

 Year Closed,Godina Zatvoreno

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,Možete unijeti minimalnu količinu ove točke biti naređeno.

 You can not change rate if BOM mentioned agianst any item,Ne možete promijeniti brzinu ako BOM spomenuo agianst bilo predmet

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Vi ne možete unositi oba isporuke Napomena Ne i prodaje Račun br Unesite bilo jedno .

-You can not enter current voucher in 'Against Journal Voucher' column,Ne možete unijeti trenutni voucher u ' Protiv Journal vaučer ' kolonu

+You can not enter current voucher in 'Against Journal Entry' column,Ne možete unijeti trenutni voucher u ' Protiv Journal vaučer ' kolonu

 You can set Default Bank Account in Company master,Možete postaviti Default bankovni račun u gospodara tvrtke

 You can start by selecting backup frequency and granting access for sync,Možete početi odabirom sigurnosnu frekvenciju i davanje pristupa za sinkronizaciju

 You can submit this Stock Reconciliation.,Možete poslati ovu zaliha pomirenja .

diff --git a/erpnext/translations/id.csv b/erpnext/translations/id.csv
index eaf6e19..a346a63 100644
--- a/erpnext/translations/id.csv
+++ b/erpnext/translations/id.csv
@@ -152,8 +152,8 @@
 Against Document No,Melawan Dokumen Tidak

 Against Expense Account,Terhadap Beban Akun

 Against Income Account,Terhadap Akun Penghasilan

-Against Journal Voucher,Melawan Journal Voucher

-Against Journal Voucher {0} does not have any unmatched {1} entry,Terhadap Journal Voucher {0} tidak memiliki tertandingi {1} entri

+Against Journal Entry,Melawan Journal Entry

+Against Journal Entry {0} does not have any unmatched {1} entry,Terhadap Journal Entry {0} tidak memiliki tertandingi {1} entri

 Against Purchase Invoice,Terhadap Purchase Invoice

 Against Sales Invoice,Terhadap Faktur Penjualan

 Against Sales Order,Terhadap Sales Order

@@ -335,7 +335,7 @@
 Bank Reconciliation,5. Bank Reconciliation (Rekonsiliasi Bank)

 Bank Reconciliation Detail,Rekonsiliasi Bank Detil

 Bank Reconciliation Statement,Pernyataan Bank Rekonsiliasi

-Bank Voucher,Bank Voucher

+Bank Entry,Bank Entry

 Bank/Cash Balance,Bank / Cash Balance

 Banking,Perbankan

 Barcode,barcode

@@ -470,7 +470,7 @@
 Case No. cannot be 0,Kasus No tidak bisa 0

 Cash,kas

 Cash In Hand,Cash In Hand

-Cash Voucher,Voucher Cash

+Cash Entry,Voucher Cash

 Cash or Bank Account is mandatory for making payment entry,Kas atau Rekening Bank wajib untuk membuat entri pembayaran

 Cash/Bank Account,Rekening Kas / Bank

 Casual Leave,Santai Cuti

@@ -594,7 +594,7 @@
 Contacts,Kontak

 Content,Isi Halaman

 Content Type,Content Type

-Contra Voucher,Contra Voucher

+Contra Entry,Contra Entry

 Contract,Kontrak

 Contract End Date,Tanggal Kontrak End

 Contract End Date must be greater than Date of Joining,Kontrak Tanggal Akhir harus lebih besar dari Tanggal Bergabung

@@ -625,7 +625,7 @@
 Country Name,Nama Negara

 Country wise default Address Templates,Negara bijaksana Alamat bawaan Template

 "Country, Timezone and Currency","Country, Timezone dan Mata Uang"

-Create Bank Voucher for the total salary paid for the above selected criteria,Buat Bank Voucher untuk gaji total yang dibayarkan untuk kriteria pilihan di atas

+Create Bank Entry for the total salary paid for the above selected criteria,Buat Bank Entry untuk gaji total yang dibayarkan untuk kriteria pilihan di atas

 Create Customer,Buat Pelanggan

 Create Material Requests,Buat Permintaan Material

 Create New,Buat New

@@ -647,7 +647,7 @@
 Credit,Piutang

 Credit Amt,Kredit Jumlah Yang

 Credit Card,Kartu Kredit

-Credit Card Voucher,Voucher Kartu Kredit

+Credit Card Entry,Voucher Kartu Kredit

 Credit Controller,Kontroler Kredit

 Credit Days,Hari Kredit

 Credit Limit,Batas Kredit

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,Cukai Edu Cess 2

 Excise Duty SHE Cess 1,Cukai SHE Cess 1

 Excise Page Number,Jumlah Cukai Halaman

-Excise Voucher,Voucher Cukai

+Excise Entry,Voucher Cukai

 Execution,Eksekusi

 Executive Search,Pencarian eksekutif

 Exemption Limit,Batas Pembebasan

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Faktur Periode Dari dan Faktur Period Untuk tanggal wajib untuk berulang faktur

 Invoice Period To,Periode Faktur Untuk

 Invoice Type,Invoice Type

-Invoice/Journal Voucher Details,Invoice / Journal Voucher Detail

+Invoice/Journal Entry Details,Invoice / Journal Entry Account

 Invoiced Amount (Exculsive Tax),Faktur Jumlah (Pajak exculsive)

 Is Active,Aktif

 Is Advance,Apakah Muka

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,Pengaturan Jobs Email

 Journal Entries,Entries Journal

 Journal Entry,Jurnal Entri

-Journal Voucher,Journal Voucher

-Journal Voucher Detail,Journal Voucher Detil

-Journal Voucher Detail No,Journal Voucher Detil ada

-Journal Voucher {0} does not have account {1} or already matched,Journal Voucher {0} tidak memiliki akun {1} atau sudah cocok

-Journal Vouchers {0} are un-linked,Journal Voucher {0} yang un-linked

+Journal Entry,Journal Entry

+Journal Entry Account,Journal Entry Detil

+Journal Entry Account No,Journal Entry Detil ada

+Journal Entry {0} does not have account {1} or already matched,Journal Entry {0} tidak memiliki akun {1} atau sudah cocok

+Journal Entries {0} are un-linked,Journal Entry {0} yang un-linked

 Keep a track of communication related to this enquiry which will help for future reference.,Menyimpan melacak komunikasi yang berkaitan dengan penyelidikan ini yang akan membantu untuk referensi di masa mendatang.

 Keep it web friendly 900px (w) by 100px (h),Simpan web 900px ramah (w) oleh 100px (h)

 Key Performance Area,Key Bidang Kinerja

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,Mayor / Opsional Subjek

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,Membuat Entri Akuntansi Untuk Setiap Gerakan Stock

-Make Bank Voucher,Membuat Bank Voucher

+Make Bank Entry,Membuat Bank Entry

 Make Credit Note,Membuat Nota Kredit

 Make Debit Note,Membuat Debit Note

 Make Delivery,Membuat Pengiriman

@@ -3096,7 +3096,7 @@
 Update Series Number,Pembaruan Series Number

 Update Stock,Perbarui Stock

 Update bank payment dates with journals.,Perbarui tanggal pembayaran bank dengan jurnal.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',Tanggal pembaruan clearance Entries Journal ditandai sebagai 'Bank Voucher'

+Update clearance date of Journal Entries marked as 'Bank Entry',Tanggal pembaruan clearance Entries Journal ditandai sebagai 'Bank Entry'

 Updated,Diperbarui

 Updated Birthday Reminders,Diperbarui Ulang Tahun Pengingat

 Upload Attendance,Upload Kehadiran

@@ -3234,7 +3234,7 @@
 Write Off Based On,Menulis Off Berbasis On

 Write Off Cost Center,Menulis Off Biaya Pusat

 Write Off Outstanding Amount,Menulis Off Jumlah Outstanding

-Write Off Voucher,Menulis Off Voucher

+Write Off Entry,Menulis Off Voucher

 Wrong Template: Unable to find head row.,Template yang salah: Tidak dapat menemukan baris kepala.

 Year,Tahun

 Year Closed,Tahun Ditutup

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,Anda dapat memasukkan jumlah minimum dari item ini yang akan dipesan.

 You can not change rate if BOM mentioned agianst any item,Anda tidak dapat mengubah tingkat jika BOM disebutkan agianst item

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Anda tidak dapat memasukkan kedua Delivery Note ada dan Faktur Penjualan No Masukkan salah satu.

-You can not enter current voucher in 'Against Journal Voucher' column,Anda tidak bisa masuk voucher saat ini di 'Melawan Journal Voucher' kolom

+You can not enter current voucher in 'Against Journal Entry' column,Anda tidak bisa masuk voucher saat ini di 'Melawan Journal Entry' kolom

 You can set Default Bank Account in Company master,Anda dapat mengatur default Bank Account menguasai Perusahaan

 You can start by selecting backup frequency and granting access for sync,Anda dapat memulai dengan memilih frekuensi backup dan memberikan akses untuk sinkronisasi

 You can submit this Stock Reconciliation.,Anda bisa mengirimkan ini Stock Rekonsiliasi.

diff --git a/erpnext/translations/it.csv b/erpnext/translations/it.csv
index 0e02b04..8421a5b 100644
--- a/erpnext/translations/it.csv
+++ b/erpnext/translations/it.csv
@@ -152,8 +152,8 @@
 Against Document No,Per Documento N

 Against Expense Account,Per Spesa Conto

 Against Income Account,Per Reddito Conto

-Against Journal Voucher,Per Buono Acquisto

-Against Journal Voucher {0} does not have any unmatched {1} entry,Contro ufficiale Voucher {0} non ha alcun ineguagliata {1} entry

+Against Journal Entry,Per Buono Acquisto

+Against Journal Entry {0} does not have any unmatched {1} entry,Contro ufficiale Voucher {0} non ha alcun ineguagliata {1} entry

 Against Purchase Invoice,Per Fattura Acquisto

 Against Sales Invoice,Per Fattura Vendita

 Against Sales Order,Contro Sales Order

@@ -335,7 +335,7 @@
 Bank Reconciliation,Conciliazione Banca

 Bank Reconciliation Detail,Dettaglio Riconciliazione Banca

 Bank Reconciliation Statement,Prospetto di Riconciliazione Banca

-Bank Voucher,Buono Banca

+Bank Entry,Buono Banca

 Bank/Cash Balance,Banca/Contanti Saldo

 Banking,bancario

 Barcode,Codice a barre

@@ -470,7 +470,7 @@
 Case No. cannot be 0,Caso No. Non può essere 0

 Cash,Contante

 Cash In Hand,Cash In Hand

-Cash Voucher,Buono Contanti

+Cash Entry,Buono Contanti

 Cash or Bank Account is mandatory for making payment entry,Contanti o conto bancario è obbligatoria per effettuare il pagamento voce

 Cash/Bank Account,Conto Contanti/Banca

 Casual Leave,Casual Leave

@@ -594,7 +594,7 @@
 Contacts,Contatti

 Content,Contenuto

 Content Type,Tipo Contenuto

-Contra Voucher,Contra Voucher

+Contra Entry,Contra Entry

 Contract,contratto

 Contract End Date,Data fine Contratto

 Contract End Date must be greater than Date of Joining,Data fine contratto deve essere maggiore di Data di giunzione

@@ -625,7 +625,7 @@
 Country Name,Nome Nazione

 Country wise default Address Templates,Modelli Country saggio di default Indirizzo

 "Country, Timezone and Currency","Paese , Fuso orario e valuta"

-Create Bank Voucher for the total salary paid for the above selected criteria,Crea Buono Bancario per il totale dello stipendio da pagare per i seguenti criteri

+Create Bank Entry for the total salary paid for the above selected criteria,Crea Buono Bancario per il totale dello stipendio da pagare per i seguenti criteri

 Create Customer,Crea clienti

 Create Material Requests,Creare Richieste Materiale

 Create New,Crea nuovo

@@ -647,7 +647,7 @@
 Credit,Credit

 Credit Amt,Credit Amt

 Credit Card,carta di credito

-Credit Card Voucher,Carta Buono di credito

+Credit Card Entry,Carta Buono di credito

 Credit Controller,Controllare Credito

 Credit Days,Giorni Credito

 Credit Limit,Limite Credito

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,Excise Duty Edu Cess 2

 Excise Duty SHE Cess 1,Excise Duty SHE Cess 1

 Excise Page Number,Accise Numero Pagina

-Excise Voucher,Buono Accise

+Excise Entry,Buono Accise

 Execution,esecuzione

 Executive Search,executive Search

 Exemption Limit,Limite Esenzione

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Fattura Periodo Da e fattura Periodo Per le date obbligatorie per la fattura ricorrenti

 Invoice Period To,Periodo fattura per

 Invoice Type,Tipo Fattura

-Invoice/Journal Voucher Details,Fattura / Journal Voucher Dettagli

+Invoice/Journal Entry Details,Fattura / Journal Entry Dettagli

 Invoiced Amount (Exculsive Tax),Importo fatturato ( Exculsive Tax)

 Is Active,È attivo

 Is Advance,È Advance

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,Impostazioni email Lavoro

 Journal Entries,Prime note

 Journal Entry,Journal Entry

-Journal Voucher,Journal Voucher

-Journal Voucher Detail,Journal Voucher Detail

-Journal Voucher Detail No,Journal Voucher Detail No

-Journal Voucher {0} does not have account {1} or already matched,Journal Voucher {0} non ha conto {1} o già abbinate

-Journal Vouchers {0} are un-linked,Diario Buoni {0} sono non- linked

+Journal Entry,Journal Entry

+Journal Entry Account,Journal Entry Account

+Journal Entry Account No,Journal Entry Account No

+Journal Entry {0} does not have account {1} or already matched,Journal Entry {0} non ha conto {1} o già abbinate

+Journal Entries {0} are un-linked,Diario Buoni {0} sono non- linked

 Keep a track of communication related to this enquiry which will help for future reference.,Tenere una traccia delle comunicazioni relative a questa indagine che contribuirà per riferimento futuro.

 Keep it web friendly 900px (w) by 100px (h),Keep it web amichevole 900px ( w ) di 100px ( h )

 Key Performance Area,Area Key Performance

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,Principali / Opzionale Soggetti

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,Fai Entry Accounting per ogni Archivio Movimento

-Make Bank Voucher,Fai Voucher Banca

+Make Bank Entry,Fai Voucher Banca

 Make Credit Note,Fai la nota di credito

 Make Debit Note,Fai la nota di addebito

 Make Delivery,effettuare la consegna

@@ -3096,7 +3096,7 @@
 Update Series Number,Aggiornamento Numero di Serie

 Update Stock,Aggiornare Archivio

 Update bank payment dates with journals.,Risale aggiornamento versamento bancario con riviste.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',"Data di aggiornamento della respinta corta di voci di diario contrassegnato come "" Buoni Banca '"

+Update clearance date of Journal Entries marked as 'Bank Entry',"Data di aggiornamento della respinta corta di voci di diario contrassegnato come "" Buoni Banca '"

 Updated,Aggiornato

 Updated Birthday Reminders,Aggiornato Compleanno Promemoria

 Upload Attendance,Carica presenze

@@ -3234,7 +3234,7 @@
 Write Off Based On,Scrivi Off Basato Su

 Write Off Cost Center,Scrivi Off Centro di costo

 Write Off Outstanding Amount,Scrivi Off eccezionale Importo

-Write Off Voucher,Scrivi Off Voucher

+Write Off Entry,Scrivi Off Voucher

 Wrong Template: Unable to find head row.,Template Sbagliato: Impossibile trovare la linea di testa.

 Year,Anno

 Year Closed,Anno Chiuso

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,È possibile inserire la quantità minima di questo oggetto da ordinare.

 You can not change rate if BOM mentioned agianst any item,Non è possibile modificare tariffa se BOM menzionato agianst tutto l'articolo

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Non è possibile inserire sia Consegna Nota n e Fattura n Inserisci nessuno.

-You can not enter current voucher in 'Against Journal Voucher' column,Non è possibile immettere voucher di corrente in ' Contro ufficiale Voucher ' colonna

+You can not enter current voucher in 'Against Journal Entry' column,Non è possibile immettere voucher di corrente in ' Contro ufficiale Voucher ' colonna

 You can set Default Bank Account in Company master,È possibile impostare di default conto bancario in master Società

 You can start by selecting backup frequency and granting access for sync,È possibile avviare selezionando la frequenza di backup e di concedere l'accesso per la sincronizzazione

 You can submit this Stock Reconciliation.,Puoi inviare questo Archivio Riconciliazione.

diff --git a/erpnext/translations/ja.csv b/erpnext/translations/ja.csv
index 3349c80..61690cd 100644
--- a/erpnext/translations/ja.csv
+++ b/erpnext/translations/ja.csv
@@ -152,8 +152,8 @@
 Against Document No,ドキュメントNoに対する

 Against Expense Account,費用勘定に対する

 Against Income Account,所得収支に対する

-Against Journal Voucher,ジャーナルバウチャーに対する

-Against Journal Voucher {0} does not have any unmatched {1} entry,ジャーナルバウチャーに対して{0}は、比類のない{1}のエントリがありません

+Against Journal Entry,ジャーナルバウチャーに対する

+Against Journal Entry {0} does not have any unmatched {1} entry,ジャーナルバウチャーに対して{0}は、比類のない{1}のエントリがありません

 Against Purchase Invoice,購入の請求書に対する

 Against Sales Invoice,納品書に対する

 Against Sales Order,受注に対する

@@ -335,7 +335,7 @@
 Bank Reconciliation,銀行和解

 Bank Reconciliation Detail,銀行和解の詳細

 Bank Reconciliation Statement,銀行和解声明

-Bank Voucher,銀行の領収書

+Bank Entry,銀行の領収書

 Bank/Cash Balance,銀行/現金残高

 Banking,銀行業務

 Barcode,バーコード

@@ -470,7 +470,7 @@
 Case No. cannot be 0,ケース番号は0にすることはできません

 Cash,現金

 Cash In Hand,手持ちの現金

-Cash Voucher,金券

+Cash Entry,金券

 Cash or Bank Account is mandatory for making payment entry,現金または銀行口座は、支払いのエントリを作成するための必須です

 Cash/Bank Account,現金/銀行口座

 Casual Leave,臨時休暇

@@ -594,7 +594,7 @@
 Contacts,連絡先

 Content,内容

 Content Type,コンテンツの種類

-Contra Voucher,コントラバウチャー

+Contra Entry,コントラバウチャー

 Contract,契約書

 Contract End Date,契約終了日

 Contract End Date must be greater than Date of Joining,契約終了日は、参加の日よりも大きくなければならない

@@ -625,7 +625,7 @@
 Country Name,国名

 Country wise default Address Templates,国ごとのデフォルトのアドレス·テンプレート

 "Country, Timezone and Currency",国、タイムゾーンと通貨

-Create Bank Voucher for the total salary paid for the above selected criteria,上で選択した基準に支払わ総給与のために銀行券を作成

+Create Bank Entry for the total salary paid for the above selected criteria,上で選択した基準に支払わ総給与のために銀行券を作成

 Create Customer,顧客を作成

 Create Material Requests,素材の要求を作成

 Create New,新規作成

@@ -647,7 +647,7 @@
 Credit,クレジット

 Credit Amt,クレジットアマウント

 Credit Card,クレジットカード

-Credit Card Voucher,クレジットカードのバウチャー

+Credit Card Entry,クレジットカードのバウチャー

 Credit Controller,クレジットコントローラ

 Credit Days,クレジット日数

 Credit Limit,支払いの上限

@@ -981,7 +981,7 @@
 Excise Duty Edu Cess 2,物品税エドゥ目的税2

 Excise Duty SHE Cess 1,物品税SHE目的税1

 Excise Page Number,物品税ページ番号

-Excise Voucher,物品税バウチャー

+Excise Entry,物品税バウチャー

 Execution,実行

 Executive Search,エグゼクティブサーチ

 Exemption Limit,免除の制限

@@ -1329,7 +1329,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,請求書を定期的に必須の日付へと請求期間からの請求書の期間

 Invoice Period To,請求書の期間

 Invoice Type,請求書の種類

-Invoice/Journal Voucher Details,請求書/ジャーナルクーポン詳細

+Invoice/Journal Entry Details,請求書/ジャーナルクーポン詳細

 Invoiced Amount (Exculsive Tax),請求された金額(Exculsive税)

 Is Active,アクティブである

 Is Advance,進歩である

@@ -1459,11 +1459,11 @@
 Jobs Email Settings,仕事のメール設定

 Journal Entries,仕訳

 Journal Entry,仕訳

-Journal Voucher,伝票

-Journal Voucher Detail,伝票の詳細

-Journal Voucher Detail No,伝票の詳細番号

-Journal Voucher {0} does not have account {1} or already matched,伝票は{0}アカウントを持っていない{1}、またはすでに一致

-Journal Vouchers {0} are un-linked,ジャーナルバウチャー{0}アンリンクされている

+Journal Entry,伝票

+Journal Entry Account,伝票の詳細

+Journal Entry Account No,伝票の詳細番号

+Journal Entry {0} does not have account {1} or already matched,伝票は{0}アカウントを持っていない{1}、またはすでに一致

+Journal Entries {0} are un-linked,ジャーナルバウチャー{0}アンリンクされている

 Keep a track of communication related to this enquiry which will help for future reference.,今後の参考のために役立ちます。この照会に関連した通信を追跡する。

 Keep it web friendly 900px (w) by 100px (h),900px(w)100px(h)にすることで適用それを維持する。

 Key Performance Area,重要実行分野

@@ -1578,7 +1578,7 @@
 Major/Optional Subjects,大手/オプション科目

 Make ,作成する

 Make Accounting Entry For Every Stock Movement,すべての株式の動きの会計処理のエントリを作成

-Make Bank Voucher,銀行バウチャーを作る

+Make Bank Entry,銀行バウチャーを作る

 Make Credit Note,クレジットメモしておきます

 Make Debit Note,デビットメモしておきます

 Make Delivery,配達をする

@@ -3103,7 +3103,7 @@
 Update Series Number,シリーズ番号の更新

 Update Stock,在庫の更新

 Update bank payment dates with journals.,銀行支払日と履歴を更新して下さい。

-Update clearance date of Journal Entries marked as 'Bank Vouchers',履歴欄を「銀行決済」と明記してクリアランス日(清算日)を更新して下さい。

+Update clearance date of Journal Entries marked as 'Bank Entry',履歴欄を「銀行決済」と明記してクリアランス日(清算日)を更新して下さい。

 Updated,更新済み

 Updated Birthday Reminders,誕生日の事前通知の更新完了

 Upload Attendance,参加者をアップロードする。(参加者をメインのコンピューターに送る。)

@@ -3243,7 +3243,7 @@
 Write Off Based On,ベースオンを償却

 Write Off Cost Center,原価の事業経費

 Write Off Outstanding Amount,事業経費未払金額

-Write Off Voucher,事業経費領収書

+Write Off Entry,事業経費領収書

 Wrong Template: Unable to find head row.,間違ったテンプレートです。:見出し/最初の行が見つかりません。

 Year,年

 Year Closed,年間休館

@@ -3262,7 +3262,7 @@
 You can enter the minimum quantity of this item to be ordered.,最小限の数量からこの商品を注文することができます

 You can not change rate if BOM mentioned agianst any item,部品表が否認した商品は、料金を変更することができません

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,納品書と売上請求書の両方を入力することはできません。どちらら一つを記入して下さい

-You can not enter current voucher in 'Against Journal Voucher' column,''アゲンストジャーナルバウチャー’’の欄に、最新の領収証を入力することはできません。

+You can not enter current voucher in 'Against Journal Entry' column,''アゲンストジャーナルバウチャー’’の欄に、最新の領収証を入力することはできません。

 You can set Default Bank Account in Company master,あなたは、会社のマスターにメイン銀行口座を設定することができます

 You can start by selecting backup frequency and granting access for sync,バックアップの頻度を選択し、同期するためのアクセスに承諾することで始めることができます

 You can submit this Stock Reconciliation.,あなたは、この株式調整を提出することができます。

diff --git a/erpnext/translations/kn.csv b/erpnext/translations/kn.csv
index 3da26a1..17e9344 100644
--- a/erpnext/translations/kn.csv
+++ b/erpnext/translations/kn.csv
@@ -152,8 +152,8 @@
 Against Document No,ಡಾಕ್ಯುಮೆಂಟ್ ನಂ ವಿರುದ್ಧ

 Against Expense Account,ವೆಚ್ಚದಲ್ಲಿ ಖಾತೆಯನ್ನು ವಿರುದ್ಧ

 Against Income Account,ಆದಾಯ ಖಾತೆ ವಿರುದ್ಧ

-Against Journal Voucher,ಜರ್ನಲ್ ಚೀಟಿ ವಿರುದ್ಧ

-Against Journal Voucher {0} does not have any unmatched {1} entry,ಜರ್ನಲ್ ಚೀಟಿ ವಿರುದ್ಧ {0} ಯಾವುದೇ ಸಾಟಿಯಿಲ್ಲದ {1} ದಾಖಲೆಗಳನ್ನು ಹೊಂದಿಲ್ಲ

+Against Journal Entry,ಜರ್ನಲ್ ಚೀಟಿ ವಿರುದ್ಧ

+Against Journal Entry {0} does not have any unmatched {1} entry,ಜರ್ನಲ್ ಚೀಟಿ ವಿರುದ್ಧ {0} ಯಾವುದೇ ಸಾಟಿಯಿಲ್ಲದ {1} ದಾಖಲೆಗಳನ್ನು ಹೊಂದಿಲ್ಲ

 Against Purchase Invoice,ಖರೀದಿ ಸರಕುಪಟ್ಟಿ ವಿರುದ್ಧ

 Against Sales Invoice,ಮಾರಾಟದ ಸರಕುಪಟ್ಟಿ ವಿರುದ್ಧ

 Against Sales Order,ಮಾರಾಟದ ಆದೇಶದ ವಿರುದ್ಧ

@@ -335,7 +335,7 @@
 Bank Reconciliation,ಬ್ಯಾಂಕ್ ಸಾಮರಸ್ಯ

 Bank Reconciliation Detail,ಬ್ಯಾಂಕ್ ಸಾಮರಸ್ಯ ವಿವರ

 Bank Reconciliation Statement,ಬ್ಯಾಂಕ್ ಸಾಮರಸ್ಯ ಹೇಳಿಕೆ

-Bank Voucher,ಬ್ಯಾಂಕ್ ಚೀಟಿ

+Bank Entry,ಬ್ಯಾಂಕ್ ಚೀಟಿ

 Bank/Cash Balance,ಬ್ಯಾಂಕ್ / ನಗದು ಬ್ಯಾಲೆನ್ಸ್

 Banking,ಲೇವಾದೇವಿ

 Barcode,ಬಾರ್ಕೋಡ್

@@ -470,7 +470,7 @@
 Case No. cannot be 0,ಪ್ರಕರಣ ಸಂಖ್ಯೆ 0 ಸಾಧ್ಯವಿಲ್ಲ

 Cash,ನಗದು

 Cash In Hand,ಕೈಯಲ್ಲಿ ನಗದು

-Cash Voucher,ನಗದು ಚೀಟಿ

+Cash Entry,ನಗದು ಚೀಟಿ

 Cash or Bank Account is mandatory for making payment entry,ನಗದು ಅಥವಾ ಬ್ಯಾಂಕ್ ಖಾತೆ ಪಾವತಿ ಪ್ರವೇಶ ಮಾಡುವ ಕಡ್ಡಾಯ

 Cash/Bank Account,ನಗದು / ಬ್ಯಾಂಕ್ ಖಾತೆ

 Casual Leave,ರಜೆ

@@ -594,7 +594,7 @@
 Contacts,ಸಂಪರ್ಕಗಳು

 Content,ವಿಷಯ

 Content Type,ವಿಷಯ ಪ್ರಕಾರ

-Contra Voucher,ಕಾಂಟ್ರಾ ಚೀಟಿ

+Contra Entry,ಕಾಂಟ್ರಾ ಚೀಟಿ

 Contract,ಒಪ್ಪಂದ

 Contract End Date,ಕಾಂಟ್ರಾಕ್ಟ್ ಎಂಡ್ ದಿನಾಂಕ

 Contract End Date must be greater than Date of Joining,ಕಾಂಟ್ರಾಕ್ಟ್ ಎಂಡ್ ದಿನಾಂಕ ಸೇರುವ ದಿನಾಂಕ ಹೆಚ್ಚಿನ ಇರಬೇಕು

@@ -625,7 +625,7 @@
 Country Name,ದೇಶದ ಹೆಸರು

 Country wise default Address Templates,ದೇಶದ ಬುದ್ಧಿವಂತ ಡೀಫಾಲ್ಟ್ ವಿಳಾಸ ಟೆಂಪ್ಲೇಟ್ಗಳು

 "Country, Timezone and Currency","ದೇಶ , ಕಾಲ ವಲಯ ಮತ್ತು ಕರೆನ್ಸಿ"

-Create Bank Voucher for the total salary paid for the above selected criteria,ಮೇಲೆ ಆಯ್ಕೆ ಮಾನದಂಡಗಳನ್ನು ಒಟ್ಟು ವೇತನ ಬ್ಯಾಂಕ್ ಚೀಟಿ ರಚಿಸಿ

+Create Bank Entry for the total salary paid for the above selected criteria,ಮೇಲೆ ಆಯ್ಕೆ ಮಾನದಂಡಗಳನ್ನು ಒಟ್ಟು ವೇತನ ಬ್ಯಾಂಕ್ ಚೀಟಿ ರಚಿಸಿ

 Create Customer,ಗ್ರಾಹಕ ರಚಿಸಿ

 Create Material Requests,CreateMaterial ವಿನಂತಿಗಳು

 Create New,ಹೊಸ ರಚಿಸಿ

@@ -647,7 +647,7 @@
 Credit,ಕ್ರೆಡಿಟ್

 Credit Amt,ಕ್ರೆಡಿಟ್ ಕಚೇರಿ

 Credit Card,ಕ್ರೆಡಿಟ್ ಕಾರ್ಡ್

-Credit Card Voucher,ಕ್ರೆಡಿಟ್ ಕಾರ್ಡ್ ಚೀಟಿ

+Credit Card Entry,ಕ್ರೆಡಿಟ್ ಕಾರ್ಡ್ ಚೀಟಿ

 Credit Controller,ಕ್ರೆಡಿಟ್ ನಿಯಂತ್ರಕ

 Credit Days,ಕ್ರೆಡಿಟ್ ಡೇಸ್

 Credit Limit,ಕ್ರೆಡಿಟ್ ಮಿತಿಯನ್ನು

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,ಅಬಕಾರಿ ಸುಂಕ ಶತಾವರಿ Cess 2

 Excise Duty SHE Cess 1,ಅಬಕಾರಿ ಸುಂಕ ಶಿ Cess 1

 Excise Page Number,ಅಬಕಾರಿ ಪುಟ ಸಂಖ್ಯೆ

-Excise Voucher,ಅಬಕಾರಿ ಚೀಟಿ

+Excise Entry,ಅಬಕಾರಿ ಚೀಟಿ

 Execution,ಎಕ್ಸಿಕ್ಯೂಶನ್

 Executive Search,ಕಾರ್ಯನಿರ್ವಾಹಕ ಹುಡುಕು

 Exemption Limit,ವಿನಾಯಿತಿ ಮಿತಿಯನ್ನು

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,ಸರಕುಪಟ್ಟಿ ಮತ್ತು ಅವಧಿಯ ಸರಕುಪಟ್ಟಿ ಮರುಕಳಿಸುವ ಕಡ್ಡಾಯವಾಗಿ ದಿನಾಂಕ ಸರಕುಪಟ್ಟಿ ಅವಧಿ

 Invoice Period To,ಸರಕುಪಟ್ಟಿ ಅವಧಿ

 Invoice Type,ಸರಕುಪಟ್ಟಿ ಪ್ರಕಾರ

-Invoice/Journal Voucher Details,ಸರಕುಪಟ್ಟಿ / ಜರ್ನಲ್ ಚೀಟಿ ವಿವರಗಳು

+Invoice/Journal Entry Details,ಸರಕುಪಟ್ಟಿ / ಜರ್ನಲ್ ಚೀಟಿ ವಿವರಗಳು

 Invoiced Amount (Exculsive Tax),ಸರಕುಪಟ್ಟಿ ಪ್ರಮಾಣ ( ತೆರಿಗೆ Exculsive )

 Is Active,ಸಕ್ರಿಯವಾಗಿದೆ

 Is Advance,ಮುಂಗಡ ಹೊಂದಿದೆ

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,ಕೆಲಸ ಇಮೇಲ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು

 Journal Entries,ಜರ್ನಲ್ ನಮೂದುಗಳು

 Journal Entry,ಜರ್ನಲ್ ಎಂಟ್ರಿ

-Journal Voucher,ಜರ್ನಲ್ ಚೀಟಿ

-Journal Voucher Detail,ಜರ್ನಲ್ ಚೀಟಿ ವಿವರ

-Journal Voucher Detail No,ಜರ್ನಲ್ ಚೀಟಿ ವಿವರ ನಂ

-Journal Voucher {0} does not have account {1} or already matched,ಜರ್ನಲ್ ಚೀಟಿ {0} {1} ಖಾತೆಯನ್ನು ಅಥವಾ ಈಗಾಗಲೇ ದಾಖಲೆಗಳುಸರಿಹೊಂದಿವೆ ಇಲ್ಲ

-Journal Vouchers {0} are un-linked,ಜರ್ನಲ್ ರಶೀದಿ {0} UN- ಲಿಂಕ್

+Journal Entry,ಜರ್ನಲ್ ಚೀಟಿ

+Journal Entry Account,ಜರ್ನಲ್ ಚೀಟಿ ವಿವರ

+Journal Entry Account No,ಜರ್ನಲ್ ಚೀಟಿ ವಿವರ ನಂ

+Journal Entry {0} does not have account {1} or already matched,ಜರ್ನಲ್ ಚೀಟಿ {0} {1} ಖಾತೆಯನ್ನು ಅಥವಾ ಈಗಾಗಲೇ ದಾಖಲೆಗಳುಸರಿಹೊಂದಿವೆ ಇಲ್ಲ

+Journal Entries {0} are un-linked,ಜರ್ನಲ್ ರಶೀದಿ {0} UN- ಲಿಂಕ್

 Keep a track of communication related to this enquiry which will help for future reference.,ಭವಿಷ್ಯದ ಉಲ್ಲೇಖಕ್ಕಾಗಿ ಸಹಾಯ whichwill ಈ ವಿಚಾರಣೆ ಸಂಬಂಧಿಸಿದ ಸಂವಹನದ ಒಂದು ಜಾಡನ್ನು ಇರಿಸಿ.

 Keep it web friendly 900px (w) by 100px (h),100px ವೆಬ್ ಸ್ನೇಹಿ 900px ( W ) ನೋಡಿಕೊಳ್ಳಿ ( H )

 Key Performance Area,ಪ್ರಮುಖ ಸಾಧನೆ ಪ್ರದೇಶ

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,ಮೇಜರ್ / ಐಚ್ಛಿಕ ವಿಷಯಗಳ

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,ಪ್ರತಿ ಸ್ಟಾಕ್ ಚಳುವಳಿ ಲೆಕ್ಕಪರಿಶೋಧಕ ಎಂಟ್ರಿ ಮಾಡಿ

-Make Bank Voucher,ಬ್ಯಾಂಕ್ ಚೀಟಿ ಮಾಡಿ

+Make Bank Entry,ಬ್ಯಾಂಕ್ ಚೀಟಿ ಮಾಡಿ

 Make Credit Note,ಕ್ರೆಡಿಟ್ ಸ್ಕೋರ್ ಮಾಡಿ

 Make Debit Note,ಡೆಬಿಟ್ ನೋಟ್ ಮಾಡಿ

 Make Delivery,ಡೆಲಿವರಿ ಮಾಡಿ

@@ -3096,7 +3096,7 @@
 Update Series Number,ಅಪ್ಡೇಟ್ ಸರಣಿ ಸಂಖ್ಯೆ

 Update Stock,ಸ್ಟಾಕ್ ನವೀಕರಿಸಲು

 Update bank payment dates with journals.,ಜರ್ನಲ್ ಬ್ಯಾಂಕಿಂಗ್ ಪಾವತಿ ದಿನಾಂಕ ನವೀಕರಿಸಿ .

-Update clearance date of Journal Entries marked as 'Bank Vouchers',ಜರ್ನಲ್ ನಮೂದುಗಳನ್ನು ಅಪ್ಡೇಟ್ ತೆರವು ದಿನಾಂಕ ' ಬ್ಯಾಂಕ್ ರಶೀದಿ ' ಎಂದು ಗುರುತಿಸಲಾಗಿದೆ

+Update clearance date of Journal Entries marked as 'Bank Entry',ಜರ್ನಲ್ ನಮೂದುಗಳನ್ನು ಅಪ್ಡೇಟ್ ತೆರವು ದಿನಾಂಕ ' ಬ್ಯಾಂಕ್ ರಶೀದಿ ' ಎಂದು ಗುರುತಿಸಲಾಗಿದೆ

 Updated,ನವೀಕರಿಸಲಾಗಿದೆ

 Updated Birthday Reminders,ನವೀಕರಿಸಲಾಗಿದೆ ಜನ್ಮದಿನ ಜ್ಞಾಪನೆಗಳು

 Upload Attendance,ಅಟೆಂಡೆನ್ಸ್ ಅಪ್ಲೋಡ್

@@ -3234,7 +3234,7 @@
 Write Off Based On,ಆಧರಿಸಿದ ಆಫ್ ಬರೆಯಿರಿ

 Write Off Cost Center,ವೆಚ್ಚ ಸೆಂಟರ್ ಆಫ್ ಬರೆಯಿರಿ

 Write Off Outstanding Amount,ಪ್ರಮಾಣ ಅತ್ಯುತ್ತಮ ಆಫ್ ಬರೆಯಿರಿ

-Write Off Voucher,ಚೀಟಿ ಆಫ್ ಬರೆಯಿರಿ

+Write Off Entry,ಚೀಟಿ ಆಫ್ ಬರೆಯಿರಿ

 Wrong Template: Unable to find head row.,ತಪ್ಪು ಟೆಂಪ್ಲೇಟು: ತಲೆ ಸಾಲು ಪತ್ತೆ ಮಾಡಲಾಗಲಿಲ್ಲ .

 Year,ವರ್ಷ

 Year Closed,ವರ್ಷ ಮುಚ್ಚಲಾಯಿತು

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,ನೀವು ಆದೇಶ ಈ ಐಟಂ ಕನಿಷ್ಠ ಪ್ರಮಾಣದಲ್ಲಿ ನಮೂದಿಸಬಹುದು .

 You can not change rate if BOM mentioned agianst any item,BOM ಯಾವುದೇ ಐಟಂ agianst ಪ್ರಸ್ತಾಪಿಸಿದ್ದಾರೆ ವೇಳೆ ನೀವು ದರ ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,ನೀವು ಡೆಲಿವರಿ ಸೂಚನೆ ಯಾವುದೇ ಮತ್ತು ಯಾವುದೇ ಮಾರಾಟದ ಸರಕುಪಟ್ಟಿ ಎರಡೂ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ . ಯಾವುದೇ ಒಂದು ನಮೂದಿಸಿ.

-You can not enter current voucher in 'Against Journal Voucher' column,ನೀವು ಕಾಲಮ್ ' ಜರ್ನಲ್ ಚೀಟಿ ವಿರುದ್ಧ ' ನಲ್ಲಿ ಪ್ರಸ್ತುತ ಚೀಟಿ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ

+You can not enter current voucher in 'Against Journal Entry' column,ನೀವು ಕಾಲಮ್ ' ಜರ್ನಲ್ ಚೀಟಿ ವಿರುದ್ಧ ' ನಲ್ಲಿ ಪ್ರಸ್ತುತ ಚೀಟಿ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ

 You can set Default Bank Account in Company master,ನೀವು ಕಂಪನಿ ಮಾಸ್ಟರ್ ಡೀಫಾಲ್ಟ್ ಬ್ಯಾಂಕ್ ಖಾತೆ ಹೊಂದಿಸಬಹುದು

 You can start by selecting backup frequency and granting access for sync,ನೀವು ಬ್ಯಾಕ್ಅಪ್ ಆವರ್ತನ ಆಯ್ಕೆ ಮತ್ತು ಸಿಂಕ್ ಪ್ರವೇಶವನ್ನು ನೀಡುವ ಮೂಲಕ ಆರಂಭಿಸಬಹುದು

 You can submit this Stock Reconciliation.,ನೀವು ಈ ಸ್ಟಾಕ್ ಸಾಮರಸ್ಯ ಸಲ್ಲಿಸಬಹುದು .

diff --git a/erpnext/translations/ko.csv b/erpnext/translations/ko.csv
index c0c201d..f3dd39a 100644
--- a/erpnext/translations/ko.csv
+++ b/erpnext/translations/ko.csv
@@ -152,8 +152,8 @@
 Against Document No,문서 번호에 대하여

 Against Expense Account,비용 계정에 대한

 Against Income Account,손익 계정에 대한

-Against Journal Voucher,분개장에 대하여

-Against Journal Voucher {0} does not have any unmatched {1} entry,분개장에 대해 {0} 어떤 타의 추종을 불허 {1} 항목이없는

+Against Journal Entry,분개장에 대하여

+Against Journal Entry {0} does not have any unmatched {1} entry,분개장에 대해 {0} 어떤 타의 추종을 불허 {1} 항목이없는

 Against Purchase Invoice,구매 인보이스에 대한

 Against Sales Invoice,견적서에 대하여

 Against Sales Order,판매 주문에 대해

@@ -335,7 +335,7 @@
 Bank Reconciliation,은행 화해

 Bank Reconciliation Detail,은행 화해 세부 정보

 Bank Reconciliation Statement,은행 조정 계산서

-Bank Voucher,은행 바우처

+Bank Entry,은행 바우처

 Bank/Cash Balance,은행 / 현금 잔액

 Banking,은행

 Barcode,바코드

@@ -470,7 +470,7 @@
 Case No. cannot be 0,케이스 번호는 0이 될 수 없습니다

 Cash,자금

 Cash In Hand,손에 현금

-Cash Voucher,현금 바우처

+Cash Entry,현금 바우처

 Cash or Bank Account is mandatory for making payment entry,현금 또는 은행 계좌 결제 항목을 만들기위한 필수입니다

 Cash/Bank Account,현금 / 은행 계좌

 Casual Leave,캐주얼 허가

@@ -594,7 +594,7 @@
 Contacts,주소록

 Content,목차

 Content Type,컨텐츠 유형

-Contra Voucher,콘트라 바우처

+Contra Entry,콘트라 바우처

 Contract,계약직

 Contract End Date,계약 종료 날짜

 Contract End Date must be greater than Date of Joining,계약 종료 날짜는 가입 날짜보다 커야합니다

@@ -625,7 +625,7 @@
 Country Name,국가 이름

 Country wise default Address Templates,국가 현명한 기본 주소 템플릿

 "Country, Timezone and Currency","국가, 시간대 통화"

-Create Bank Voucher for the total salary paid for the above selected criteria,위의 선택 기준에 대해 지불 한 총 연봉 은행 바우처를 만들기

+Create Bank Entry for the total salary paid for the above selected criteria,위의 선택 기준에 대해 지불 한 총 연봉 은행 바우처를 만들기

 Create Customer,고객을 만들기

 Create Material Requests,자료 요청을 만듭니다

 Create New,새로 만들기

@@ -647,7 +647,7 @@
 Credit,신용

 Credit Amt,신용 AMT 사의

 Credit Card,신용카드

-Credit Card Voucher,신용 카드 바우처

+Credit Card Entry,신용 카드 바우처

 Credit Controller,신용 컨트롤러

 Credit Days,신용 일

 Credit Limit,신용 한도

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,소비세 의무 에듀 CESS 2

 Excise Duty SHE Cess 1,소비세 의무 SHE CESS 1

 Excise Page Number,소비세의 페이지 번호

-Excise Voucher,소비세 바우처

+Excise Entry,소비세 바우처

 Execution,실행

 Executive Search,대표 조사

 Exemption Limit,면제 한도

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,송장을 반복 필수 날짜에와 송장 기간에서 송장 기간

 Invoice Period To,청구서 기간

 Invoice Type,송장 유형

-Invoice/Journal Voucher Details,송장 / 분개장 세부 정보

+Invoice/Journal Entry Details,송장 / 분개장 세부 정보

 Invoiced Amount (Exculsive Tax),인보이스에 청구 된 금액 (Exculsive 세금)

 Is Active,활성

 Is Advance,사전인가

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,채용 정보 이메일 설정

 Journal Entries,저널 항목

 Journal Entry,분개

-Journal Voucher,분개장

-Journal Voucher Detail,분개장 세부 정보

-Journal Voucher Detail No,분개장 세부 사항 없음

-Journal Voucher {0} does not have account {1} or already matched,분개장 {0} 계정이없는 {1} 또는 이미 일치

-Journal Vouchers {0} are un-linked,분개장 {0} 않은 연결되어

+Journal Entry,분개장

+Journal Entry Account,분개장 세부 정보

+Journal Entry Account No,분개장 세부 사항 없음

+Journal Entry {0} does not have account {1} or already matched,분개장 {0} 계정이없는 {1} 또는 이미 일치

+Journal Entries {0} are un-linked,분개장 {0} 않은 연결되어

 Keep a track of communication related to this enquiry which will help for future reference.,향후 참조를 위해 도움이 될 것입니다이 문의와 관련된 통신을 확인합니다.

 Keep it web friendly 900px (w) by 100px (h),100 픽셀로 웹 친화적 인 900px (W)를 유지 (H)

 Key Performance Area,핵심 성과 지역

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,주요 / 선택 주제

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,모든 주식 이동을위한 회계 항목을 만듭니다

-Make Bank Voucher,은행 바우처에게 확인

+Make Bank Entry,은행 바우처에게 확인

 Make Credit Note,신용 참고하십시오

 Make Debit Note,직불 참고하십시오

 Make Delivery,배달을

@@ -3096,7 +3096,7 @@
 Update Series Number,업데이트 시리즈 번호

 Update Stock,주식 업데이트

 Update bank payment dates with journals.,저널과 은행의 지불 날짜를 업데이트합니다.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',저널 항목의 업데이트 통관 날짜는 '은행 바우처'로 표시

+Update clearance date of Journal Entries marked as 'Bank Entry',저널 항목의 업데이트 통관 날짜는 '은행 바우처'로 표시

 Updated,업데이트

 Updated Birthday Reminders,업데이트 생일 알림

 Upload Attendance,출석 업로드

@@ -3234,7 +3234,7 @@
 Write Off Based On,에 의거 오프 쓰기

 Write Off Cost Center,비용 센터를 오프 쓰기

 Write Off Outstanding Amount,잔액을 떨어져 쓰기

-Write Off Voucher,바우처 오프 쓰기

+Write Off Entry,바우처 오프 쓰기

 Wrong Template: Unable to find head row.,잘못된 템플릿 : 머리 행을 찾을 수 없습니다.

 Year,년

 Year Closed,연도 폐쇄

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,당신은 주문이 항목의 최소 수량을 입력 할 수 있습니다.

 You can not change rate if BOM mentioned agianst any item,BOM 어떤 항목 agianst 언급 한 경우는 속도를 변경할 수 없습니다

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,당신은 아니오 모두 배달 주를 입력 할 수 없습니다 및 판매 송장 번호는 하나를 입력하십시오.

-You can not enter current voucher in 'Against Journal Voucher' column,당신은 열 '분개장에 대하여'에서 현재의 바우처를 입력 할 수 없습니다

+You can not enter current voucher in 'Against Journal Entry' column,당신은 열 '분개장에 대하여'에서 현재의 바우처를 입력 할 수 없습니다

 You can set Default Bank Account in Company master,당신은 회사 마스터의 기본 은행 계좌를 설정할 수 있습니다

 You can start by selecting backup frequency and granting access for sync,당신은 백업 빈도를 선택하고 동기화에 대한 액세스를 부여하여 시작할 수 있습니다

 You can submit this Stock Reconciliation.,당신이 재고 조정을 제출할 수 있습니다.

diff --git a/erpnext/translations/nl.csv b/erpnext/translations/nl.csv
index e5a9e10..235b8c9 100644
--- a/erpnext/translations/nl.csv
+++ b/erpnext/translations/nl.csv
@@ -152,8 +152,8 @@
 Against Document No,Tegen document nr.

 Against Expense Account,Tegen Expense Account

 Against Income Account,Tegen Inkomen account

-Against Journal Voucher,Tegen Journal Voucher

-Against Journal Voucher {0} does not have any unmatched {1} entry,Tegen Journal Voucher {0} heeft geen ongeëvenaarde {1} toegang hebben

+Against Journal Entry,Tegen Journal Entry

+Against Journal Entry {0} does not have any unmatched {1} entry,Tegen Journal Entry {0} heeft geen ongeëvenaarde {1} toegang hebben

 Against Purchase Invoice,Tegen Aankoop Factuur

 Against Sales Invoice,Tegen Sales Invoice

 Against Sales Order,Tegen klantorder

@@ -335,7 +335,7 @@
 Bank Reconciliation,Bank Verzoening

 Bank Reconciliation Detail,Bank Verzoening Detail

 Bank Reconciliation Statement,Bank Verzoening Statement

-Bank Voucher,Bank Voucher

+Bank Entry,Bank Entry

 Bank/Cash Balance,Bank / Geldsaldo

 Banking,bank

 Barcode,Barcode

@@ -470,7 +470,7 @@
 Case No. cannot be 0,Zaak nr. mag geen 0

 Cash,Geld

 Cash In Hand,Cash In Hand

-Cash Voucher,Cash Voucher

+Cash Entry,Cash Entry

 Cash or Bank Account is mandatory for making payment entry,Cash of bankrekening is verplicht voor de betaling toegang

 Cash/Bank Account,Cash / bankrekening

 Casual Leave,Casual Leave

@@ -594,7 +594,7 @@
 Contacts,contacten

 Content,Inhoud

 Content Type,Content Type

-Contra Voucher,Contra Voucher

+Contra Entry,Contra Entry

 Contract,contract

 Contract End Date,Contract Einddatum

 Contract End Date must be greater than Date of Joining,Contract Einddatum moet groter zijn dan Datum van Deelnemen zijn

@@ -625,7 +625,7 @@
 Country Name,Naam van het land

 Country wise default Address Templates,Land verstandig default Adres Templates

 "Country, Timezone and Currency","Country , Tijdzone en Valuta"

-Create Bank Voucher for the total salary paid for the above selected criteria,Maak Bank Voucher voor het totale loon voor de bovenstaande geselecteerde criteria

+Create Bank Entry for the total salary paid for the above selected criteria,Maak Bank Entry voor het totale loon voor de bovenstaande geselecteerde criteria

 Create Customer,Maak de klant

 Create Material Requests,Maak Materiaal Aanvragen

 Create New,Create New

@@ -647,7 +647,7 @@
 Credit,Krediet

 Credit Amt,Credit Amt

 Credit Card,creditkaart

-Credit Card Voucher,Credit Card Voucher

+Credit Card Entry,Credit Card Entry

 Credit Controller,Credit Controller

 Credit Days,Credit Dagen

 Credit Limit,Kredietlimiet

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,Accijns Edu Cess 2

 Excise Duty SHE Cess 1,Accijns SHE Cess 1

 Excise Page Number,Accijnzen Paginanummer

-Excise Voucher,Accijnzen Voucher

+Excise Entry,Accijnzen Voucher

 Execution,uitvoering

 Executive Search,Executive Search

 Exemption Limit,Vrijstelling Limit

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Factuur Periode Van en Factuur periode data verplicht voor terugkerende factuur

 Invoice Period To,Factuur periode

 Invoice Type,Factuur Type

-Invoice/Journal Voucher Details,Factuur / Journal Voucher Details

+Invoice/Journal Entry Details,Factuur / Journal Entry Details

 Invoiced Amount (Exculsive Tax),Factuurbedrag ( Exculsive BTW )

 Is Active,Is actief

 Is Advance,Is Advance

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,Vacatures E-mailinstellingen

 Journal Entries,Journaalposten

 Journal Entry,Journal Entry

-Journal Voucher,Journal Voucher

-Journal Voucher Detail,Journal Voucher Detail

-Journal Voucher Detail No,Journal Voucher Detail Geen

-Journal Voucher {0} does not have account {1} or already matched,Journal Voucher {0} heeft geen rekening {1} of al geëvenaard

-Journal Vouchers {0} are un-linked,Dagboek Vouchers {0} zijn niet- verbonden

+Journal Entry,Journal Entry

+Journal Entry Account,Journal Entry Account

+Journal Entry Account No,Journal Entry Account Geen

+Journal Entry {0} does not have account {1} or already matched,Journal Entry {0} heeft geen rekening {1} of al geëvenaard

+Journal Entries {0} are un-linked,Dagboek Vouchers {0} zijn niet- verbonden

 Keep a track of communication related to this enquiry which will help for future reference.,Houd een spoor van communicatie met betrekking tot dit onderzoek dat zal helpen voor toekomstig gebruik.

 Keep it web friendly 900px (w) by 100px (h),Houd het web vriendelijk 900px ( w ) door 100px ( h )

 Key Performance Area,Key Performance Area

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,Major / keuzevakken

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,Maak boekhoudkundige afschrijving voor elke Stock Movement

-Make Bank Voucher,Maak Bank Voucher

+Make Bank Entry,Maak Bank Entry

 Make Credit Note,Maak Credit Note

 Make Debit Note,Maak debetnota

 Make Delivery,Maak Levering

@@ -3096,7 +3096,7 @@
 Update Series Number,Update Serie Nummer

 Update Stock,Werk Stock

 Update bank payment dates with journals.,Update bank betaaldata met tijdschriften.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',Goedkeuring datum actualisering van Journaalposten gemarkeerd als ' Bank Vouchers '

+Update clearance date of Journal Entries marked as 'Bank Entry',Goedkeuring datum actualisering van Journaalposten gemarkeerd als ' Bank Entry '

 Updated,Bijgewerkt

 Updated Birthday Reminders,Bijgewerkt verjaardagsherinneringen

 Upload Attendance,Upload Toeschouwers

@@ -3234,7 +3234,7 @@
 Write Off Based On,Schrijf Uit Based On

 Write Off Cost Center,Schrijf Uit kostenplaats

 Write Off Outstanding Amount,Schrijf uitstaande bedrag

-Write Off Voucher,Schrijf Uit Voucher

+Write Off Entry,Schrijf Uit Voucher

 Wrong Template: Unable to find head row.,Verkeerde Template: Kan hoofd rij vinden.

 Year,Jaar

 Year Closed,Jaar Gesloten

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,U kunt de minimale hoeveelheid van dit product te bestellen.

 You can not change rate if BOM mentioned agianst any item,U kunt geen koers veranderen als BOM agianst een item genoemd

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Je kunt niet Geen Voer beide Delivery Note en verkoopfactuur Nee Geef iemand.

-You can not enter current voucher in 'Against Journal Voucher' column,Je kan niet in de huidige voucher in ' Against Journal Voucher ' kolom

+You can not enter current voucher in 'Against Journal Entry' column,Je kan niet in de huidige voucher in ' Against Journal Entry ' kolom

 You can set Default Bank Account in Company master,U kunt Default Bank Account ingesteld in Bedrijf meester

 You can start by selecting backup frequency and granting access for sync,U kunt beginnen met back- frequentie te selecteren en het verlenen van toegang voor synchronisatie

 You can submit this Stock Reconciliation.,U kunt indienen dit Stock Verzoening .

diff --git a/erpnext/translations/pl.csv b/erpnext/translations/pl.csv
index bf0c0d3..dc393bf 100644
--- a/erpnext/translations/pl.csv
+++ b/erpnext/translations/pl.csv
@@ -145,8 +145,8 @@
 Against Entries,Against Entries

 Against Expense Account,Against Expense Account

 Against Income Account,Against Income Account

-Against Journal Voucher,Against Journal Voucher

-Against Journal Voucher {0} does not have any unmatched {1} entry,Against Journal Voucher {0} does not have any unmatched {1} entry

+Against Journal Entry,Against Journal Entry

+Against Journal Entry {0} does not have any unmatched {1} entry,Against Journal Entry {0} does not have any unmatched {1} entry

 Against Purchase Invoice,Against Purchase Invoice

 Against Sales Invoice,Against Sales Invoice

 Against Sales Order,Against Sales Order

@@ -328,7 +328,7 @@
 Bank Reconciliation,Bank Reconciliation

 Bank Reconciliation Detail,Bank Reconciliation Detail

 Bank Reconciliation Statement,Bank Reconciliation Statement

-Bank Voucher,Bank Voucher

+Bank Entry,Bank Entry

 Bank/Cash Balance,Bank/Cash Balance

 Banking,Banking

 Barcode,Kod kreskowy

@@ -457,7 +457,7 @@
 Case No. cannot be 0,Case No. cannot be 0

 Cash,Gotówka

 Cash In Hand,Cash In Hand

-Cash Voucher,Cash Voucher

+Cash Entry,Cash Entry

 Cash or Bank Account is mandatory for making payment entry,Cash or Bank Account is mandatory for making payment entry

 Cash/Bank Account,Cash/Bank Account

 Casual Leave,Casual Leave

@@ -577,7 +577,7 @@
 Contacts,Kontakty

 Content,Zawartość

 Content Type,Content Type

-Contra Voucher,Contra Voucher

+Contra Entry,Contra Entry

 Contract,Kontrakt

 Contract End Date,Contract End Date

 Contract End Date must be greater than Date of Joining,Contract End Date must be greater than Date of Joining

@@ -608,7 +608,7 @@
 Country,Kraj

 Country Name,Nazwa kraju

 "Country, Timezone and Currency","Country, Timezone and Currency"

-Create Bank Voucher for the total salary paid for the above selected criteria,Create Bank Voucher for the total salary paid for the above selected criteria

+Create Bank Entry for the total salary paid for the above selected criteria,Create Bank Entry for the total salary paid for the above selected criteria

 Create Customer,Create Customer

 Create Material Requests,Create Material Requests

 Create New,Create New

@@ -630,7 +630,7 @@
 Credit,Credit

 Credit Amt,Credit Amt

 Credit Card,Credit Card

-Credit Card Voucher,Credit Card Voucher

+Credit Card Entry,Credit Card Entry

 Credit Controller,Credit Controller

 Credit Days,Credit Days

 Credit Limit,Credit Limit

@@ -944,7 +944,7 @@
 "Example: ABCD.#####If series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Example: ABCD.#####If series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank."

 Exchange Rate,Exchange Rate

 Excise Page Number,Excise Page Number

-Excise Voucher,Excise Voucher

+Excise Entry,Excise Entry

 Execution,Execution

 Executive Search,Executive Search

 Exemption Limit,Exemption Limit

@@ -1401,11 +1401,11 @@
 Jobs Email Settings,Jobs Email Settings

 Journal Entries,Journal Entries

 Journal Entry,Journal Entry

-Journal Voucher,Journal Voucher

-Journal Voucher Detail,Journal Voucher Detail

-Journal Voucher Detail No,Journal Voucher Detail No

-Journal Voucher {0} does not have account {1} or already matched,Journal Voucher {0} does not have account {1} or already matched

-Journal Vouchers {0} are un-linked,Journal Vouchers {0} are un-linked

+Journal Entry,Journal Entry

+Journal Entry Account,Journal Entry Account

+Journal Entry Account No,Journal Entry Account No

+Journal Entry {0} does not have account {1} or already matched,Journal Entry {0} does not have account {1} or already matched

+Journal Entries {0} are un-linked,Journal Entries {0} are un-linked

 Keep a track of communication related to this enquiry which will help for future reference.,Keep a track of communication related to this enquiry which will help for future reference.

 Keep it web friendly 900px (w) by 100px (h),Keep it web friendly 900px (w) by 100px (h)

 Key Performance Area,Key Performance Area

@@ -1519,7 +1519,7 @@
 Major/Optional Subjects,Major/Optional Subjects

 Make ,Stwórz

 Make Accounting Entry For Every Stock Movement,Make Accounting Entry For Every Stock Movement

-Make Bank Voucher,Make Bank Voucher

+Make Bank Entry,Make Bank Entry

 Make Credit Note,Make Credit Note

 Make Debit Note,Make Debit Note

 Make Delivery,Make Delivery

@@ -2982,7 +2982,7 @@
 Update Stock,Update Stock

 "Update allocated amount in the above table and then click ""Allocate"" button","Update allocated amount in the above table and then click ""Allocate"" button"

 Update bank payment dates with journals.,Update bank payment dates with journals.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',Update clearance date of Journal Entries marked as 'Bank Vouchers'

+Update clearance date of Journal Entries marked as 'Bank Entry',Update clearance date of Journal Entries marked as 'Bank Entry'

 Updated,Updated

 Updated Birthday Reminders,Updated Birthday Reminders

 Upload Attendance,Upload Attendance

@@ -3117,7 +3117,7 @@
 Write Off Based On,Write Off Based On

 Write Off Cost Center,Write Off Cost Center

 Write Off Outstanding Amount,Write Off Outstanding Amount

-Write Off Voucher,Write Off Voucher

+Write Off Entry,Write Off Entry

 Wrong Template: Unable to find head row.,Wrong Template: Unable to find head row.

 Year,Rok

 Year Closed,Year Closed

@@ -3139,7 +3139,7 @@
 You can not assign itself as parent account,You can not assign itself as parent account

 You can not change rate if BOM mentioned agianst any item,You can not change rate if BOM mentioned agianst any item

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.

-You can not enter current voucher in 'Against Journal Voucher' column,You can not enter current voucher in 'Against Journal Voucher' column

+You can not enter current voucher in 'Against Journal Entry' column,You can not enter current voucher in 'Against Journal Entry' column

 You can set Default Bank Account in Company master,You can set Default Bank Account in Company master

 You can start by selecting backup frequency and granting access for sync,You can start by selecting backup frequency and granting access for sync

 You can submit this Stock Reconciliation.,You can submit this Stock Reconciliation.

diff --git a/erpnext/translations/pt-BR.csv b/erpnext/translations/pt-BR.csv
index 7796842..88de6fb 100644
--- a/erpnext/translations/pt-BR.csv
+++ b/erpnext/translations/pt-BR.csv
@@ -178,8 +178,8 @@
 Against Document No,Contra Documento nº

 Against Expense Account,Contra a Conta de Despesas

 Against Income Account,Contra a Conta de Rendimentos

-Against Journal Voucher,Contra Comprovante do livro Diário

-Against Journal Voucher {0} does not have any unmatched {1} entry,Contra Jornal Vale {0} não tem {1} entrada incomparável

+Against Journal Entry,Contra Comprovante do livro Diário

+Against Journal Entry {0} does not have any unmatched {1} entry,Contra Jornal Vale {0} não tem {1} entrada incomparável

 Against Purchase Invoice,Contra a Nota Fiscal de Compra

 Against Sales Invoice,Contra a Nota Fiscal de Venda

 Against Sales Order,Contra Ordem de Vendas

@@ -361,7 +361,7 @@
 Bank Reconciliation,Reconciliação Bancária

 Bank Reconciliation Detail,Detalhe da Reconciliação Bancária

 Bank Reconciliation Statement,Declaração de reconciliação bancária

-Bank Voucher,Comprovante Bancário

+Bank Entry,Comprovante Bancário

 Bank/Cash Balance,Banco / Saldo de Caixa

 Banking,bancário

 Barcode,Código de barras

@@ -496,7 +496,7 @@
 Case No. cannot be 0,Caso n não pode ser 0

 Cash,Numerário

 Cash In Hand,Dinheiro na mão

-Cash Voucher,Comprovante de Caixa

+Cash Entry,Comprovante de Caixa

 Cash or Bank Account is mandatory for making payment entry,Dinheiro ou conta bancária é obrigatória para a tomada de entrada de pagamento

 Cash/Bank Account,Conta do Caixa/Banco

 Casual Leave,Casual Deixar

@@ -620,7 +620,7 @@
 Contacts,Contactos

 Content,Conteúdo

 Content Type,Tipo de Conteúdo

-Contra Voucher,Comprovante de Caixa

+Contra Entry,Comprovante de Caixa

 Contract,contrato

 Contract End Date,Data Final do contrato

 Contract End Date must be greater than Date of Joining,Data Contrato Final deve ser maior que Data de Participar

@@ -651,7 +651,7 @@
 Country Name,Nome do País

 Country wise default Address Templates,Modelos País default sábio endereço

 "Country, Timezone and Currency","País , o fuso horário e moeda"

-Create Bank Voucher for the total salary paid for the above selected criteria,Criar Comprovante Bancário para o salário total pago para os critérios acima selecionados

+Create Bank Entry for the total salary paid for the above selected criteria,Criar Comprovante Bancário para o salário total pago para os critérios acima selecionados

 Create Customer,criar Cliente

 Create Material Requests,Criar Pedidos de Materiais

 Create New,criar Novo

@@ -673,7 +673,7 @@
 Credit,Crédito

 Credit Amt,Montante de Crédito

 Credit Card,cartão de crédito

-Credit Card Voucher,Comprovante do cartão de crédito

+Credit Card Entry,Comprovante do cartão de crédito

 Credit Controller,Controlador de crédito

 Credit Days,Dias de Crédito

 Credit Limit,Limite de Crédito

@@ -1009,7 +1009,7 @@
 Excise Duty Edu Cess 2,Impostos Especiais de Consumo Edu Cess 2

 Excise Duty SHE Cess 1,Impostos Especiais de Consumo SHE Cess 1

 Excise Page Number,Número de página do imposto

-Excise Voucher,Comprovante do imposto

+Excise Entry,Comprovante do imposto

 Execution,execução

 Executive Search,Executive Search

 Exemption Limit,Limite de isenção

@@ -1357,7 +1357,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Fatura Período De e Período fatura para datas obrigatórias para fatura recorrentes

 Invoice Period To,Período fatura para

 Invoice Type,Tipo de Fatura

-Invoice/Journal Voucher Details,Factura / Jornal Vale detalhes

+Invoice/Journal Entry Details,Factura / Jornal Vale detalhes

 Invoiced Amount (Exculsive Tax),Valor faturado ( Exculsive Tributário)

 Is Active,É Ativo

 Is Advance,É antecipado

@@ -1489,11 +1489,11 @@
 Jobs Email Settings,Configurações do e-mail de empregos

 Journal Entries,Lançamentos do livro Diário

 Journal Entry,Lançamento do livro Diário

-Journal Voucher,Comprovante do livro Diário

-Journal Voucher Detail,Detalhe do Comprovante do livro Diário

-Journal Voucher Detail No,Nº do Detalhe do Comprovante do livro Diário

-Journal Voucher {0} does not have account {1} or already matched,Jornal Vale {0} não tem conta {1} ou já combinava

-Journal Vouchers {0} are un-linked,Jornal Vouchers {0} são não- ligado

+Journal Entry,Comprovante do livro Diário

+Journal Entry Account,Detalhe do Comprovante do livro Diário

+Journal Entry Account No,Nº do Detalhe do Comprovante do livro Diário

+Journal Entry {0} does not have account {1} or already matched,Jornal Vale {0} não tem conta {1} ou já combinava

+Journal Entries {0} are un-linked,Jornal Vouchers {0} são não- ligado

 Keep a track of communication related to this enquiry which will help for future reference.,"Mantenha o controle de comunicações relacionadas a esta consulta, o que irá ajudar para futuras referências."

 Keep it web friendly 900px (w) by 100px (h),Mantenha- web 900px amigável (w) por 100px ( h )

 Key Performance Area,Área Chave de Performance

@@ -1608,7 +1608,7 @@
 Major/Optional Subjects,Assuntos Principais / Opcionais

 Make ,

 Make Accounting Entry For Every Stock Movement,Faça Contabilidade entrada para cada Banco de Movimento

-Make Bank Voucher,Fazer Comprovante Bancário

+Make Bank Entry,Fazer Comprovante Bancário

 Make Credit Note,Faça Nota de Crédito

 Make Debit Note,Faça Nota de Débito

 Make Delivery,Faça Entrega

@@ -3144,7 +3144,7 @@
 Update Series Number,Atualizar Números de Séries

 Update Stock,Atualizar Estoque

 Update bank payment dates with journals.,Atualizar datas de pagamento bancário com livro Diário.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',Data de apuramento Atualização de entradas de diário marcado como ' Banco ' Vouchers

+Update clearance date of Journal Entries marked as 'Bank Entry',Data de apuramento Atualização de entradas de diário marcado como ' Banco ' Vouchers

 Updated,Atualizado

 Updated Birthday Reminders,Atualizado Aniversário Lembretes

 Upload Attendance,Envie Atendimento

@@ -3282,7 +3282,7 @@
 Write Off Based On,Eliminar Baseado em

 Write Off Cost Center,Eliminar Centro de Custos

 Write Off Outstanding Amount,Eliminar saldo devedor

-Write Off Voucher,Eliminar comprovante

+Write Off Entry,Eliminar comprovante

 Wrong Template: Unable to find head row.,Template errado: Não é possível encontrar linha cabeça.

 Year,Ano

 Year Closed,Ano Encerrado

@@ -3300,7 +3300,7 @@
 You can enter the minimum quantity of this item to be ordered.,Você pode inserir a quantidade mínima deste item a ser encomendada.

 You can not change rate if BOM mentioned agianst any item,Você não pode alterar a taxa de se BOM mencionado agianst qualquer item

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Você não pode entrar tanto de entrega Nota Não e Vendas fatura Não. Por favor entrar em qualquer um.

-You can not enter current voucher in 'Against Journal Voucher' column,Você não pode entrar comprovante atual em ' Contra Jornal Vale ' coluna

+You can not enter current voucher in 'Against Journal Entry' column,Você não pode entrar comprovante atual em ' Contra Jornal Vale ' coluna

 You can set Default Bank Account in Company master,Você pode definir padrão Conta Bancária no mestre Empresa

 You can start by selecting backup frequency and granting access for sync,Você pode começar por selecionar a freqüência de backup e concessão de acesso para sincronização

 You can submit this Stock Reconciliation.,Você pode enviar este Stock Reconciliação.

diff --git a/erpnext/translations/pt.csv b/erpnext/translations/pt.csv
index 3b2ae59..632c659 100644
--- a/erpnext/translations/pt.csv
+++ b/erpnext/translations/pt.csv
@@ -152,8 +152,8 @@
 Against Document No,Contra documento No

 Against Expense Account,Contra a conta de despesas

 Against Income Account,Contra Conta a Receber

-Against Journal Voucher,Contra Vale Jornal

-Against Journal Voucher {0} does not have any unmatched {1} entry,Contra Jornal Vale {0} não tem {1} entrada incomparável

+Against Journal Entry,Contra Vale Jornal

+Against Journal Entry {0} does not have any unmatched {1} entry,Contra Jornal Vale {0} não tem {1} entrada incomparável

 Against Purchase Invoice,Contra a Nota Fiscal de Compra

 Against Sales Invoice,Contra a nota fiscal de venda

 Against Sales Order,Contra Ordem de Venda

@@ -335,7 +335,7 @@
 Bank Reconciliation,Banco Reconciliação

 Bank Reconciliation Detail,Banco Detalhe Reconciliação

 Bank Reconciliation Statement,Declaração de reconciliação bancária

-Bank Voucher,Vale banco

+Bank Entry,Vale banco

 Bank/Cash Balance,Banco / Saldo de Caixa

 Banking,bancário

 Barcode,Código de barras

@@ -470,7 +470,7 @@
 Case No. cannot be 0,Zaak nr. mag geen 0

 Cash,Numerário

 Cash In Hand,Dinheiro na mão

-Cash Voucher,Comprovante de dinheiro

+Cash Entry,Comprovante de dinheiro

 Cash or Bank Account is mandatory for making payment entry,Dinheiro ou conta bancária é obrigatória para a tomada de entrada de pagamento

 Cash/Bank Account,Caixa / Banco Conta

 Casual Leave,Casual Deixar

@@ -594,7 +594,7 @@
 Contacts,Contactos

 Content,Conteúdo

 Content Type,Tipo de conteúdo

-Contra Voucher,Vale Contra

+Contra Entry,Vale Contra

 Contract,contrato

 Contract End Date,Data final do contrato

 Contract End Date must be greater than Date of Joining,Data Contrato Final deve ser maior que Data de Participar

@@ -625,7 +625,7 @@
 Country Name,Nome do País

 Country wise default Address Templates,Modelos País default sábio endereço

 "Country, Timezone and Currency","Country , Tijdzone en Valuta"

-Create Bank Voucher for the total salary paid for the above selected criteria,Criar Vale do Banco Mundial para o salário total pago para os critérios acima selecionados

+Create Bank Entry for the total salary paid for the above selected criteria,Criar Vale do Banco Mundial para o salário total pago para os critérios acima selecionados

 Create Customer,Maak de klant

 Create Material Requests,Criar Pedidos de Materiais

 Create New,Create New

@@ -647,7 +647,7 @@
 Credit,Crédito

 Credit Amt,Crédito Amt

 Credit Card,cartão de crédito

-Credit Card Voucher,Comprovante do cartão de crédito

+Credit Card Entry,Comprovante do cartão de crédito

 Credit Controller,Controlador de crédito

 Credit Days,Dias de crédito

 Credit Limit,Limite de Crédito

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,Impostos Especiais de Consumo Edu Cess 2

 Excise Duty SHE Cess 1,Impostos Especiais de Consumo SHE Cess 1

 Excise Page Number,Número de página especial sobre o consumo

-Excise Voucher,Vale especiais de consumo

+Excise Entry,Vale especiais de consumo

 Execution,execução

 Executive Search,Executive Search

 Exemption Limit,Limite de isenção

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Fatura Período De e Período fatura para datas obrigatórias para fatura recorrentes

 Invoice Period To,Período fatura para

 Invoice Type,Tipo de Fatura

-Invoice/Journal Voucher Details,Factura / Jornal Vale detalhes

+Invoice/Journal Entry Details,Factura / Jornal Vale detalhes

 Invoiced Amount (Exculsive Tax),Factuurbedrag ( Exculsive BTW )

 Is Active,É Ativo

 Is Advance,É o avanço

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,E-mail Configurações de empregos

 Journal Entries,Jornal entradas

 Journal Entry,Journal Entry

-Journal Voucher,Vale Jornal

-Journal Voucher Detail,Jornal Detalhe Vale

-Journal Voucher Detail No,Jornal Detalhe folha no

-Journal Voucher {0} does not have account {1} or already matched,Jornal Vale {0} não tem conta {1} ou já combinava

-Journal Vouchers {0} are un-linked,Jornal Vouchers {0} são não- ligado

+Journal Entry,Vale Jornal

+Journal Entry Account,Jornal Detalhe Vale

+Journal Entry Account No,Jornal Detalhe folha no

+Journal Entry {0} does not have account {1} or already matched,Jornal Vale {0} não tem conta {1} ou já combinava

+Journal Entries {0} are un-linked,Jornal Vouchers {0} são não- ligado

 Keep a track of communication related to this enquiry which will help for future reference.,Mantenha uma faixa de comunicação relacionada a este inquérito que irá ajudar para referência futura.

 Keep it web friendly 900px (w) by 100px (h),Mantenha- web 900px amigável (w) por 100px ( h )

 Key Performance Area,Área Key Performance

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,Assuntos Principais / Opcional

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,Maak boekhoudkundige afschrijving voor elke Stock Movement

-Make Bank Voucher,Faça Vale Banco

+Make Bank Entry,Faça Vale Banco

 Make Credit Note,Maak Credit Note

 Make Debit Note,Maak debetnota

 Make Delivery,Maak Levering

@@ -3096,7 +3096,7 @@
 Update Series Number,Atualização de Número de Série

 Update Stock,Actualização de stock

 Update bank payment dates with journals.,Atualização de pagamento bancário com data revistas.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',Goedkeuring datum actualisering van Journaalposten gemarkeerd als ' Bank Vouchers '

+Update clearance date of Journal Entries marked as 'Bank Entry',Goedkeuring datum actualisering van Journaalposten gemarkeerd als ' Bank Entry '

 Updated,Atualizado

 Updated Birthday Reminders,Bijgewerkt verjaardagsherinneringen

 Upload Attendance,Envie Atendimento

@@ -3234,7 +3234,7 @@
 Write Off Based On,Escreva Off Baseado em

 Write Off Cost Center,Escreva Off Centro de Custos

 Write Off Outstanding Amount,Escreva Off montante em dívida

-Write Off Voucher,Escreva voucher

+Write Off Entry,Escreva voucher

 Wrong Template: Unable to find head row.,Template errado: Não é possível encontrar linha cabeça.

 Year,Ano

 Year Closed,Ano Encerrado

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,Você pode inserir a quantidade mínima deste item a ser ordenada.

 You can not change rate if BOM mentioned agianst any item,U kunt geen koers veranderen als BOM agianst een item genoemd

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Je kunt niet Geen Voer beide Delivery Note en verkoopfactuur Nee Geef iemand.

-You can not enter current voucher in 'Against Journal Voucher' column,Você não pode entrar comprovante atual em ' Contra Jornal Vale ' coluna

+You can not enter current voucher in 'Against Journal Entry' column,Você não pode entrar comprovante atual em ' Contra Jornal Vale ' coluna

 You can set Default Bank Account in Company master,Você pode definir padrão Conta Bancária no mestre Empresa

 You can start by selecting backup frequency and granting access for sync,Você pode começar por selecionar a freqüência de backup e concessão de acesso para sincronização

 You can submit this Stock Reconciliation.,U kunt indienen dit Stock Verzoening .

diff --git a/erpnext/translations/ro.csv b/erpnext/translations/ro.csv
index 5bd319d..fc22e1d 100644
--- a/erpnext/translations/ro.csv
+++ b/erpnext/translations/ro.csv
@@ -152,8 +152,8 @@
 Against Document No,Împotriva Documentul nr

 Against Expense Account,Împotriva cont de cheltuieli

 Against Income Account,Împotriva contul de venit

-Against Journal Voucher,Împotriva Jurnalul Voucher

-Against Journal Voucher {0} does not have any unmatched {1} entry,Împotriva Jurnalul Voucher {0} nu are nici neegalat {1} intrare

+Against Journal Entry,Împotriva Jurnalul Voucher

+Against Journal Entry {0} does not have any unmatched {1} entry,Împotriva Jurnalul Voucher {0} nu are nici neegalat {1} intrare

 Against Purchase Invoice,Împotriva cumparare factură

 Against Sales Invoice,Împotriva Factura Vanzare

 Against Sales Order,Împotriva comandă de vânzări

@@ -335,7 +335,7 @@
 Bank Reconciliation,Banca Reconciliere

 Bank Reconciliation Detail,Banca Reconcilierea Detaliu

 Bank Reconciliation Statement,Extras de cont de reconciliere

-Bank Voucher,Bancă Voucher

+Bank Entry,Bancă Voucher

 Bank/Cash Balance,Bank / Cash Balance

 Banking,Bancar

 Barcode,Cod de bare

@@ -470,7 +470,7 @@
 Case No. cannot be 0,"Caz Nu, nu poate fi 0"

 Cash,Numerar

 Cash In Hand,Bani în mână

-Cash Voucher,Cash Voucher

+Cash Entry,Cash Entry

 Cash or Bank Account is mandatory for making payment entry,Numerar sau cont bancar este obligatorie pentru a face intrarea plată

 Cash/Bank Account,Contul Cash / Banca

 Casual Leave,Casual concediu

@@ -594,7 +594,7 @@
 Contacts,Contacte

 Content,Continut

 Content Type,Tip de conținut

-Contra Voucher,Contra Voucher

+Contra Entry,Contra Entry

 Contract,Contractarea

 Contract End Date,Contract Data de încheiere

 Contract End Date must be greater than Date of Joining,Contract Data de sfârșit trebuie să fie mai mare decât Data aderării

@@ -625,7 +625,7 @@
 Country Name,Nume țară

 Country wise default Address Templates,Șabloanele țară înțelept adresa implicită

 "Country, Timezone and Currency","Țară, Timezone și valutar"

-Create Bank Voucher for the total salary paid for the above selected criteria,Crea Bank Voucher pentru salariul totală plătită pentru criteriile selectate de mai sus

+Create Bank Entry for the total salary paid for the above selected criteria,Crea Bank Entry pentru salariul totală plătită pentru criteriile selectate de mai sus

 Create Customer,Creare client

 Create Material Requests,Cererile crea materiale

 Create New,Crearea de noi

@@ -647,7 +647,7 @@
 Credit,credit

 Credit Amt,Credit Amt

 Credit Card,Card de credit

-Credit Card Voucher,Card de credit Voucher

+Credit Card Entry,Card de credit Voucher

 Credit Controller,Controler de credit

 Credit Days,Zile de credit

 Credit Limit,Limita de credit

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,Accizele Edu Cess 2

 Excise Duty SHE Cess 1,Accizele SHE Cess 1

 Excise Page Number,Numărul de accize Page

-Excise Voucher,Accize Voucher

+Excise Entry,Accize Voucher

 Execution,Detalii de fabricaţie

 Executive Search,Executive Search

 Exemption Limit,Limita de scutire

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Perioada factura la și facturilor perioadă la date obligatorii pentru facturi recurente

 Invoice Period To,Perioada de facturare a

 Invoice Type,Factura Tip

-Invoice/Journal Voucher Details,Factura / Jurnalul Voucher Detalii

+Invoice/Journal Entry Details,Factura / Jurnalul Voucher Detalii

 Invoiced Amount (Exculsive Tax),Facturate Suma (Exculsive Tax)

 Is Active,Este activ

 Is Advance,Este Advance

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,Setări de locuri de muncă de e-mail

 Journal Entries,Intrari in jurnal

 Journal Entry,Jurnal de intrare

-Journal Voucher,Jurnalul Voucher

-Journal Voucher Detail,Jurnalul Voucher Detaliu

-Journal Voucher Detail No,Jurnalul Voucher Detaliu Nu

-Journal Voucher {0} does not have account {1} or already matched,Jurnalul Voucher {0} nu are cont {1} sau deja potrivire

-Journal Vouchers {0} are un-linked,Jurnalul Tichete {0} sunt ne-legate de

+Journal Entry,Jurnalul Voucher

+Journal Entry Account,Jurnalul Voucher Detaliu

+Journal Entry Account No,Jurnalul Voucher Detaliu Nu

+Journal Entry {0} does not have account {1} or already matched,Jurnalul Voucher {0} nu are cont {1} sau deja potrivire

+Journal Entries {0} are un-linked,Jurnalul Tichete {0} sunt ne-legate de

 Keep a track of communication related to this enquiry which will help for future reference.,"Păstra o pistă de comunicare legate de această anchetă, care va ajuta de referință pentru viitor."

 Keep it web friendly 900px (w) by 100px (h),Păstrați-l web 900px prietenos (w) de 100px (h)

 Key Performance Area,Domeniul Major de performanță

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,Subiectele majore / opționale

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,Asigurați-vă de contabilitate de intrare pentru fiecare Stock Mișcarea

-Make Bank Voucher,Banca face Voucher

+Make Bank Entry,Banca face Voucher

 Make Credit Note,Face Credit Nota

 Make Debit Note,Face notă de debit

 Make Delivery,Face de livrare

@@ -3096,7 +3096,7 @@
 Update Series Number,Actualizare Serii Număr

 Update Stock,Actualizați Stock

 Update bank payment dates with journals.,Actualizați datele de plată bancar cu reviste.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',"Data de clearance-ul de actualizare de jurnal intrările marcate ca ""Tichete Bank"""

+Update clearance date of Journal Entries marked as 'Bank Entry',"Data de clearance-ul de actualizare de jurnal intrările marcate ca ""Tichete Bank"""

 Updated,Actualizat

 Updated Birthday Reminders,Actualizat Data nasterii Memento

 Upload Attendance,Încărcați Spectatori

@@ -3234,7 +3234,7 @@
 Write Off Based On,Scrie Off bazat pe

 Write Off Cost Center,Scrie Off cost Center

 Write Off Outstanding Amount,Scrie Off remarcabile Suma

-Write Off Voucher,Scrie Off Voucher

+Write Off Entry,Scrie Off Voucher

 Wrong Template: Unable to find head row.,Format greșit: Imposibil de găsit rând cap.

 Year,An

 Year Closed,An Închis

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,Puteți introduce cantitatea minimă de acest element pentru a fi comandat.

 You can not change rate if BOM mentioned agianst any item,Nu puteți schimba rata dacă BOM menționat agianst orice element

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Nu puteți introduce atât de livrare Notă Nu și Factura Vanzare Nr Vă rugăm să introduceți nici una.

-You can not enter current voucher in 'Against Journal Voucher' column,"Nu puteți introduce voucher curent în ""Împotriva Jurnalul Voucher"" coloana"

+You can not enter current voucher in 'Against Journal Entry' column,"Nu puteți introduce voucher curent în ""Împotriva Jurnalul Voucher"" coloana"

 You can set Default Bank Account in Company master,Puteți seta implicit cont bancar în maestru de companie

 You can start by selecting backup frequency and granting access for sync,Puteți începe prin selectarea frecvenței de backup și acordarea de acces pentru sincronizare

 You can submit this Stock Reconciliation.,Puteți trimite această Bursa de reconciliere.

diff --git a/erpnext/translations/ru.csv b/erpnext/translations/ru.csv
index e2b6fe7..3498897 100644
--- a/erpnext/translations/ru.csv
+++ b/erpnext/translations/ru.csv
@@ -153,8 +153,8 @@
 Against Document No,Против Документ №

 Against Expense Account,Против Expense Счет

 Against Income Account,Против ДОХОДОВ

-Against Journal Voucher,Против Journal ваучером

-Against Journal Voucher {0} does not have any unmatched {1} entry,Против Journal ваучером {0} не имеет непревзойденную {1} запись

+Against Journal Entry,Против Journal ваучером

+Against Journal Entry {0} does not have any unmatched {1} entry,Против Journal ваучером {0} не имеет непревзойденную {1} запись

 Against Purchase Invoice,Против счете-фактуре

 Against Sales Invoice,Против продаж счета-фактуры

 Against Sales Order,Против заказ клиента

@@ -336,7 +336,7 @@
 Bank Reconciliation,Банк примирения

 Bank Reconciliation Detail,Банк примирения Подробно

 Bank Reconciliation Statement,Заявление Банк примирения

-Bank Voucher,Банк Ваучер

+Bank Entry,Банк Ваучер

 Bank/Cash Balance,Банк / Баланс счета

 Banking,Банковское дело

 Barcode,Штрихкод

@@ -471,7 +471,7 @@
 Case No. cannot be 0,Дело № не может быть 0

 Cash,Наличные

 Cash In Hand,Наличность кассы

-Cash Voucher,Кассовый чек

+Cash Entry,Кассовый чек

 Cash or Bank Account is mandatory for making payment entry,Наличными или банковский счет является обязательным для внесения записи платежей

 Cash/Bank Account, Наличные / Банковский счет

 Casual Leave,Повседневная Оставить

@@ -595,7 +595,7 @@
 Contacts,Контакты

 Content,Содержимое

 Content Type,Тип контента

-Contra Voucher,Contra Ваучер

+Contra Entry,Contra Ваучер

 Contract,Контракт

 Contract End Date,Конец контракта Дата

 Contract End Date must be greater than Date of Joining,"Конец контракта Дата должна быть больше, чем дата вступления"

@@ -626,7 +626,7 @@
 Country Name,Название страны

 Country wise default Address Templates,Шаблоны Страна мудрый адрес по умолчанию

 "Country, Timezone and Currency","Страна, Временной пояс и валют"

-Create Bank Voucher for the total salary paid for the above selected criteria,Создание банка Ваучер на общую зарплату заплатили за вышеуказанных выбранным критериям

+Create Bank Entry for the total salary paid for the above selected criteria,Создание банка Ваучер на общую зарплату заплатили за вышеуказанных выбранным критериям

 Create Customer,Создание клиентов

 Create Material Requests,Создать запросы Материал

 Create New,Создать новый

@@ -648,7 +648,7 @@
 Credit,Кредит

 Credit Amt,Кредитная Amt

 Credit Card,Кредитная карта

-Credit Card Voucher,Ваучер Кредитная карта

+Credit Card Entry,Ваучер Кредитная карта

 Credit Controller,Кредитная контроллер

 Credit Days,Кредитные дней

 Credit Limit,{0}{/0} {1}Кредитный лимит {/1}

@@ -980,7 +980,7 @@
 Excise Duty Edu Cess 2,Акцизе Эду Цесс 2

 Excise Duty SHE Cess 1,Акцизе ОНА Цесс 1

 Excise Page Number,Количество Акцизный Страница

-Excise Voucher,Акцизный Ваучер

+Excise Entry,Акцизный Ваучер

 Execution,Реализация

 Executive Search,Executive Search

 Exemption Limit,Освобождение Предел

@@ -1328,7 +1328,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Счет Период С и счет-фактура Период до даты обязательных для повторяющихся счет

 Invoice Period To,Счет Период до

 Invoice Type,Тип счета

-Invoice/Journal Voucher Details,Счет / Журнал Подробности Ваучер

+Invoice/Journal Entry Details,Счет / Журнал Подробности Ваучер

 Invoiced Amount (Exculsive Tax),Сумма по счетам (Exculsive стоимость)

 Is Active,Активен

 Is Advance,Является Advance

@@ -1458,11 +1458,11 @@
 Jobs Email Settings,Настройки Вакансии Email

 Journal Entries,Записи в журнале

 Journal Entry,Запись в дневнике

-Journal Voucher,Журнал Ваучер

-Journal Voucher Detail,Журнал Ваучер Подробно

-Journal Voucher Detail No,Журнал Ваучер Подробно Нет

-Journal Voucher {0} does not have account {1} or already matched,Журнал Ваучер {0} не имеет учетной записи {1} или уже согласованы

-Journal Vouchers {0} are un-linked,Журнал Ваучеры {0} являются не-связаны

+Journal Entry,Журнал Ваучер

+Journal Entry Account,Журнал Ваучер Подробно

+Journal Entry Account No,Журнал Ваучер Подробно Нет

+Journal Entry {0} does not have account {1} or already matched,Журнал Ваучер {0} не имеет учетной записи {1} или уже согласованы

+Journal Entries {0} are un-linked,Журнал Ваучеры {0} являются не-связаны

 Keep a track of communication related to this enquiry which will help for future reference.,"Постоянно отслеживать коммуникации, связанные на этот запрос, который поможет в будущем."

 Keep it web friendly 900px (w) by 100px (h),Держите его веб дружелюбны 900px (ш) на 100px (ч)

 Key Performance Area,Ключ Площадь Производительность

@@ -1577,7 +1577,7 @@
 Major/Optional Subjects,Основные / факультативных предметов

 Make ,Создать

 Make Accounting Entry For Every Stock Movement,Сделать учета запись для каждого фондовой Движения

-Make Bank Voucher,Сделать банк ваучер

+Make Bank Entry,Сделать банк ваучер

 Make Credit Note,Сделать кредит-нота

 Make Debit Note,Сделать Debit Примечание

 Make Delivery,Произвести поставку

@@ -3098,7 +3098,7 @@
 Update Series Number,Обновление Номер серии

 Update Stock,Обновление стока

 Update bank payment dates with journals.,Обновление банк платежные даты с журналов.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',"Дата обновления оформление Записей в журнале отмечается как «Банк Ваучеры"""

+Update clearance date of Journal Entries marked as 'Bank Entry',"Дата обновления оформление Записей в журнале отмечается как «Банк Ваучеры"""

 Updated,Обновлено

 Updated Birthday Reminders,Обновлен День рождения Напоминания

 Upload Attendance,Добавить посещаемости

@@ -3237,7 +3237,7 @@
 Write Off Based On,Списание на основе

 Write Off Cost Center,Списание МВЗ

 Write Off Outstanding Amount,Списание суммы задолженности

-Write Off Voucher,Списание ваучер

+Write Off Entry,Списание ваучер

 Wrong Template: Unable to find head row.,Неправильный Шаблон: Не удается найти голову строку.

 Year,Года

 Year Closed,Год закрыт

@@ -3255,7 +3255,7 @@
 You can enter the minimum quantity of this item to be ordered.,Вы можете ввести минимальное количество этого пункта заказывается.

 You can not change rate if BOM mentioned agianst any item,"Вы не можете изменить скорость, если спецификации упоминается agianst любого элемента"

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,"не Вы не можете войти как Delivery Note Нет и Расходная накладная номер Пожалуйста, введите любой."

-You can not enter current voucher in 'Against Journal Voucher' column,"Вы не можете ввести текущий ваучер в ""Против Journal ваучер 'колонке"

+You can not enter current voucher in 'Against Journal Entry' column,"Вы не можете ввести текущий ваучер в ""Против Journal ваучер 'колонке"

 You can set Default Bank Account in Company master,Вы можете установить по умолчанию банковский счет в мастер компании

 You can start by selecting backup frequency and granting access for sync,Вы можете начать с выбора частоты резервного копирования и предоставления доступа для синхронизации

 You can submit this Stock Reconciliation.,Вы можете представить эту Stock примирения.

diff --git a/erpnext/translations/sr.csv b/erpnext/translations/sr.csv
index fd0e50a..4fb2421 100644
--- a/erpnext/translations/sr.csv
+++ b/erpnext/translations/sr.csv
@@ -152,8 +152,8 @@
 Against Document No,Против документу Нема

 Against Expense Account,Против трошковником налог

 Against Income Account,Против приход

-Against Journal Voucher,Против Јоурнал ваучер

-Against Journal Voucher {0} does not have any unmatched {1} entry,Против Јоурнал ваучер {0} нема премца {1} унос

+Against Journal Entry,Против Јоурнал ваучер

+Against Journal Entry {0} does not have any unmatched {1} entry,Против Јоурнал ваучер {0} нема премца {1} унос

 Against Purchase Invoice,Против фактури

 Against Sales Invoice,Против продаје фактура

 Against Sales Order,Против продаје налога

@@ -335,7 +335,7 @@
 Bank Reconciliation,Банка помирење

 Bank Reconciliation Detail,Банка помирење Детаљ

 Bank Reconciliation Statement,Банка помирење Изјава

-Bank Voucher,Банка ваучера

+Bank Entry,Банка ваучера

 Bank/Cash Balance,Банка / стање готовине

 Banking,банкарство

 Barcode,Баркод

@@ -470,7 +470,7 @@
 Case No. cannot be 0,Предмет бр не може бити 0

 Cash,Готовина

 Cash In Hand,Наличность кассовая

-Cash Voucher,Готовина ваучера

+Cash Entry,Готовина ваучера

 Cash or Bank Account is mandatory for making payment entry,Наличными или банковский счет является обязательным для внесения записи платежей

 Cash/Bank Account,Готовина / банковног рачуна

 Casual Leave,Повседневная Оставить

@@ -594,7 +594,7 @@
 Contacts,связи

 Content,Садржина

 Content Type,Тип садржаја

-Contra Voucher,Цонтра ваучера

+Contra Entry,Цонтра ваучера

 Contract,уговор

 Contract End Date,Уговор Датум завршетка

 Contract End Date must be greater than Date of Joining,"Конец контракта Дата должна быть больше, чем дата вступления"

@@ -625,7 +625,7 @@
 Country Name,Земља Име

 Country wise default Address Templates,Земља мудар подразумевана адреса шаблон

 "Country, Timezone and Currency","Земља , временску зону и валута"

-Create Bank Voucher for the total salary paid for the above selected criteria,Креирање ваучера банка за укупне плате исплаћене за горе изабраним критеријумима

+Create Bank Entry for the total salary paid for the above selected criteria,Креирање ваучера банка за укупне плате исплаћене за горе изабраним критеријумима

 Create Customer,Креирање корисника

 Create Material Requests,Креирате захтеве Материјал

 Create New,Цреате Нев

@@ -647,7 +647,7 @@
 Credit,Кредит

 Credit Amt,Кредитни Амт

 Credit Card,кредитна картица

-Credit Card Voucher,Кредитна картица ваучера

+Credit Card Entry,Кредитна картица ваучера

 Credit Controller,Кредитни контролер

 Credit Days,Кредитни Дана

 Credit Limit,Кредитни лимит

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,Акцизе Еду Цесс 2

 Excise Duty SHE Cess 1,Акцизе ОНА Цесс 1

 Excise Page Number,Акцизе Број странице

-Excise Voucher,Акцизе ваучера

+Excise Entry,Акцизе ваучера

 Execution,извршење

 Executive Search,Екецутиве Сеарцх

 Exemption Limit,Изузеће Лимит

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Счет Период С и счет-фактура Период до даты обязательных для повторяющихся счет

 Invoice Period To,Фактура период до

 Invoice Type,Фактура Тип

-Invoice/Journal Voucher Details,Рачун / Часопис ваучера Детаљи

+Invoice/Journal Entry Details,Рачун / Часопис ваучера Детаљи

 Invoiced Amount (Exculsive Tax),Износ фактуре ( Екцулсиве Пореска )

 Is Active,Је активан

 Is Advance,Да ли Адванце

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,Послови Емаил подешавања

 Journal Entries,Часопис Ентриес

 Journal Entry,Јоурнал Ентри

-Journal Voucher,Часопис ваучера

-Journal Voucher Detail,Часопис Ваучер Детаљ

-Journal Voucher Detail No,Часопис Ваучер Детаљ Нема

-Journal Voucher {0} does not have account {1} or already matched,Часопис Ваучер {0} нема рачун {1} или већ упарен

-Journal Vouchers {0} are un-linked,Журнал Ваучеры {0} являются не- связаны

+Journal Entry,Часопис ваучера

+Journal Entry Account,Часопис Ваучер Детаљ

+Journal Entry Account No,Часопис Ваучер Детаљ Нема

+Journal Entry {0} does not have account {1} or already matched,Часопис Ваучер {0} нема рачун {1} или већ упарен

+Journal Entries {0} are un-linked,Журнал Ваучеры {0} являются не- связаны

 Keep a track of communication related to this enquiry which will help for future reference.,Водите евиденцију о комуникацији у вези са овом истрагу која ће помоћи за будућу референцу.

 Keep it web friendly 900px (w) by 100px (h),Држите га веб пријатељски 900пк ( В ) од 100пк ( х )

 Key Performance Area,Кључна Перформансе Област

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,Мајор / Опциони предмети

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,Направите Рачуноводство унос за сваки Стоцк Покрета

-Make Bank Voucher,Направите ваучер Банк

+Make Bank Entry,Направите ваучер Банк

 Make Credit Note,Маке Цредит Ноте

 Make Debit Note,Маке задужењу

 Make Delivery,Маке Деливери

@@ -3096,7 +3096,7 @@
 Update Series Number,Упдате Број

 Update Stock,Упдате Стоцк

 Update bank payment dates with journals.,Ажурирање банка плаћање датира са часописима.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',"Клиренс Ажурирање датум уноса у дневник означена као "" банка "" Ваучери"

+Update clearance date of Journal Entries marked as 'Bank Entry',"Клиренс Ажурирање датум уноса у дневник означена као "" банка "" Ваучери"

 Updated,Ажурирано

 Updated Birthday Reminders,Ажурирано Рођендан Подсетници

 Upload Attendance,Уплоад присуствовање

@@ -3234,7 +3234,7 @@
 Write Off Based On,Отпис Басед Он

 Write Off Cost Center,Отпис Центар трошкова

 Write Off Outstanding Amount,Отпис неизмирени износ

-Write Off Voucher,Отпис ваучер

+Write Off Entry,Отпис ваучер

 Wrong Template: Unable to find head row.,Погрешно Шаблон: Није могуће пронаћи ред главу.

 Year,Година

 Year Closed,Година Цлосед

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,Можете да унесете минималну количину ове ставке се могу наручити.

 You can not change rate if BOM mentioned agianst any item,Не можете променити стопу ако бом помиње агианст било које ставке

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Не можете да унесете како доставници Не и продаје Фактура бр Унесите било коју .

-You can not enter current voucher in 'Against Journal Voucher' column,"Вы не можете ввести текущий ваучер в ""Против Journal ваучер ' колонке"

+You can not enter current voucher in 'Against Journal Entry' column,"Вы не можете ввести текущий ваучер в ""Против Journal ваучер ' колонке"

 You can set Default Bank Account in Company master,Вы можете установить по умолчанию банковский счет в мастер компании

 You can start by selecting backup frequency and granting access for sync,Вы можете начать с выбора частоты резервного копирования и предоставления доступа для синхронизации

 You can submit this Stock Reconciliation.,Можете да пошаљете ову Стоцк помирење .

diff --git a/erpnext/translations/ta.csv b/erpnext/translations/ta.csv
index d87d64a..dab0fc4 100644
--- a/erpnext/translations/ta.csv
+++ b/erpnext/translations/ta.csv
@@ -152,8 +152,8 @@
 Against Document No,ஆவண எதிராக இல்லை

 Against Expense Account,செலவு கணக்கு எதிராக

 Against Income Account,வருமான கணக்கு எதிராக

-Against Journal Voucher,ஜர்னல் வவுச்சர் எதிராக

-Against Journal Voucher {0} does not have any unmatched {1} entry,ஜர்னல் வவுச்சர் எதிரான {0} எந்த வேறொன்றும் {1} நுழைவு இல்லை

+Against Journal Entry,ஜர்னல் வவுச்சர் எதிராக

+Against Journal Entry {0} does not have any unmatched {1} entry,ஜர்னல் வவுச்சர் எதிரான {0} எந்த வேறொன்றும் {1} நுழைவு இல்லை

 Against Purchase Invoice,கொள்முதல் விலை விவரம் எதிராக

 Against Sales Invoice,விற்பனை விலைப்பட்டியல் எதிராக

 Against Sales Order,விற்னையாளர் எதிராக

@@ -335,7 +335,7 @@
 Bank Reconciliation,வங்கி நல்லிணக்க

 Bank Reconciliation Detail,வங்கி நல்லிணக்க விரிவாக

 Bank Reconciliation Statement,வங்கி நல்லிணக்க அறிக்கை

-Bank Voucher,வங்கி வவுச்சர்

+Bank Entry,வங்கி வவுச்சர்

 Bank/Cash Balance,வங்கி / ரொக்க இருப்பு

 Banking,வங்கி

 Barcode,பார்கோடு

@@ -470,7 +470,7 @@
 Case No. cannot be 0,வழக்கு எண் 0 இருக்க முடியாது

 Cash,பணம்

 Cash In Hand,கைப்பணம்

-Cash Voucher,பண வவுச்சர்

+Cash Entry,பண வவுச்சர்

 Cash or Bank Account is mandatory for making payment entry,பண அல்லது வங்கி கணக்கு கொடுப்பனவு நுழைவு செய்யும் கட்டாய

 Cash/Bank Account,பண / வங்கி கணக்கு

 Casual Leave,தற்செயல் விடுப்பு

@@ -594,7 +594,7 @@
 Contacts,தொடர்புகள்

 Content,உள்ளடக்கம்

 Content Type,உள்ளடக்க வகை

-Contra Voucher,எதிர் வவுச்சர்

+Contra Entry,எதிர் வவுச்சர்

 Contract,ஒப்பந்த

 Contract End Date,ஒப்பந்தம் முடிவு தேதி

 Contract End Date must be greater than Date of Joining,இந்த ஒப்பந்தம் முடிவுக்கு தேதி சேர தேதி விட அதிகமாக இருக்க வேண்டும்

@@ -625,7 +625,7 @@
 Country Name,நாட்டின் பெயர்

 Country wise default Address Templates,நாடு வாரியாக இயல்புநிலை முகவரி டெம்ப்ளேட்கள்

 "Country, Timezone and Currency","நாடு , நேர மண்டலம் மற்றும் நாணய"

-Create Bank Voucher for the total salary paid for the above selected criteria,மேலே தேர்ந்தெடுக்கப்பட்ட அடிப்படை ஊதியம் மொத்த சம்பளம் வங்கி வவுச்சர் உருவாக்க

+Create Bank Entry for the total salary paid for the above selected criteria,மேலே தேர்ந்தெடுக்கப்பட்ட அடிப்படை ஊதியம் மொத்த சம்பளம் வங்கி வவுச்சர் உருவாக்க

 Create Customer,உருவாக்கு

 Create Material Requests,பொருள் கோரிக்கைகள் உருவாக்க

 Create New,புதிய உருவாக்கவும்

@@ -647,7 +647,7 @@
 Credit,கடன்

 Credit Amt,கடன் AMT

 Credit Card,கடன் அட்டை

-Credit Card Voucher,கடன் அட்டை வவுச்சர்

+Credit Card Entry,கடன் அட்டை வவுச்சர்

 Credit Controller,கடன் கட்டுப்பாட்டாளர்

 Credit Days,கடன் நாட்கள்

 Credit Limit,கடன் எல்லை

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,உற்பத்தி வரி குன்றம் செஸ் 2

 Excise Duty SHE Cess 1,உற்பத்தி வரி அவள் செஸ் 1

 Excise Page Number,கலால் பக்கம் எண்

-Excise Voucher,கலால் வவுச்சர்

+Excise Entry,கலால் வவுச்சர்

 Execution,நிர்வாகத்தினருக்கு

 Executive Search,நிறைவேற்று தேடல்

 Exemption Limit,விலக்கு வரம்பு

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,விலைப்பட்டியல் மீண்டும் கட்டாயமாக தேதிகள் மற்றும் விலைப்பட்டியல் காலம் விலைப்பட்டியல் காலம்

 Invoice Period To,செய்ய விலைப்பட்டியல் காலம்

 Invoice Type,விலைப்பட்டியல் வகை

-Invoice/Journal Voucher Details,விலைப்பட்டியல் / ஜர்னல் ரசீது விவரங்கள்

+Invoice/Journal Entry Details,விலைப்பட்டியல் / ஜர்னல் ரசீது விவரங்கள்

 Invoiced Amount (Exculsive Tax),விலை விவரம் தொகை ( ஒதுக்கி தள்ளும் பண்புடைய வரி )

 Is Active,செயலில் உள்ளது

 Is Advance,முன்பணம்

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,வேலைகள் மின்னஞ்சல் அமைப்புகள்

 Journal Entries,ஜர்னல் பதிவுகள்

 Journal Entry,பத்திரிகை நுழைவு

-Journal Voucher,பத்திரிகை வவுச்சர்

-Journal Voucher Detail,பத்திரிகை வவுச்சர் விரிவாக

-Journal Voucher Detail No,பத்திரிகை வவுச்சர் விரிவாக இல்லை

-Journal Voucher {0} does not have account {1} or already matched,ஜர்னல் வவுச்சர் {0} கணக்கு இல்லை {1} அல்லது ஏற்கனவே பொருந்தியது

-Journal Vouchers {0} are un-linked,ஜர்னல் கே {0} ஐ.நா. இணைக்கப்பட்ட

+Journal Entry,பத்திரிகை வவுச்சர்

+Journal Entry Account,பத்திரிகை வவுச்சர் விரிவாக

+Journal Entry Account No,பத்திரிகை வவுச்சர் விரிவாக இல்லை

+Journal Entry {0} does not have account {1} or already matched,ஜர்னல் வவுச்சர் {0} கணக்கு இல்லை {1} அல்லது ஏற்கனவே பொருந்தியது

+Journal Entries {0} are un-linked,ஜர்னல் கே {0} ஐ.நா. இணைக்கப்பட்ட

 Keep a track of communication related to this enquiry which will help for future reference.,எதிர்கால உதவும் இந்த விசாரணை தொடர்பான தகவல் ஒரு கண்காணிக்க.

 Keep it web friendly 900px (w) by 100px (h),100px வலை நட்பு 900px ( W ) வைத்து ( H )

 Key Performance Area,முக்கிய செயல்திறன் பகுதி

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,முக்கிய / விருப்ப பாடங்கள்

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,"ஒவ்வொரு பங்கு இயக்கம் , பைனான்ஸ் உள்ளீடு செய்ய"

-Make Bank Voucher,வங்கி வவுச்சர் செய்ய

+Make Bank Entry,வங்கி வவுச்சர் செய்ய

 Make Credit Note,கடன் நினைவில் கொள்ளுங்கள்

 Make Debit Note,பற்று நினைவில் கொள்ளுங்கள்

 Make Delivery,விநியோகம் செய்ய

@@ -3096,7 +3096,7 @@
 Update Series Number,மேம்படுத்தல் தொடர் எண்

 Update Stock,பங்கு புதுப்பிக்க

 Update bank payment dates with journals.,மேம்படுத்தல் வங்கி பணம் பத்திரிகைகள் மூலம் செல்கிறது.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',ஜர்னல் பதிவுகள் புதுப்பிக்கவும் அனுமதி தேதி ' வங்கி உறுதி சீட்டு ' என குறிக்கப்பட்ட

+Update clearance date of Journal Entries marked as 'Bank Entry',ஜர்னல் பதிவுகள் புதுப்பிக்கவும் அனுமதி தேதி ' வங்கி உறுதி சீட்டு ' என குறிக்கப்பட்ட

 Updated,புதுப்பிக்கப்பட்ட

 Updated Birthday Reminders,இற்றை நினைவூட்டல்கள்

 Upload Attendance,பங்கேற்கும் பதிவேற்ற

@@ -3234,7 +3234,7 @@
 Write Off Based On,ஆனால் அடிப்படையில் இனிய எழுத

 Write Off Cost Center,செலவு மையம் இனிய எழுத

 Write Off Outstanding Amount,சிறந்த தொகை இனிய எழுத

-Write Off Voucher,வவுச்சர் இனிய எழுத

+Write Off Entry,வவுச்சர் இனிய எழுத

 Wrong Template: Unable to find head row.,தவறான வார்ப்புரு: தலை வரிசையில் கண்டுபிடிக்க முடியவில்லை.

 Year,ஆண்டு

 Year Closed,ஆண்டு மூடப்பட்ட

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,நீங்கள் கட்டளையிட்ட வேண்டும் இந்த உருப்படியை குறைந்தபட்ச அளவு நுழைய முடியாது.

 You can not change rate if BOM mentioned agianst any item,BOM எந்த பொருளை agianst குறிப்பிட்டுள்ள நீங்கள் வீதம் மாற்ற முடியாது

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,நீங்கள் எந்த இரு விநியோக குறிப்பு நுழைய முடியாது மற்றும் விற்பனை விலைப்பட்டியல் இல்லை எந்த ஒரு உள்ளிடவும்.

-You can not enter current voucher in 'Against Journal Voucher' column,நீங்கள் பத்தியில் ' ஜர்னல் வவுச்சர் எதிரான' தற்போதைய ரசீது நுழைய முடியாது

+You can not enter current voucher in 'Against Journal Entry' column,நீங்கள் பத்தியில் ' ஜர்னல் வவுச்சர் எதிரான' தற்போதைய ரசீது நுழைய முடியாது

 You can set Default Bank Account in Company master,நீங்கள் நிறுவனத்தின் மாஸ்டர் இயல்புநிலை வங்கி கணக்கு அமைக்க முடியும்

 You can start by selecting backup frequency and granting access for sync,நீங்கள் காப்பு அதிர்வெண் தேர்வு மற்றும் ஒருங்கிணைப்பு அணுகல் வழங்குவதன் மூலம் தொடங்க முடியும்

 You can submit this Stock Reconciliation.,இந்த பங்கு நல்லிணக்க சமர்ப்பிக்க முடியும் .

diff --git a/erpnext/translations/th.csv b/erpnext/translations/th.csv
index 4e1a185..ef50692 100644
--- a/erpnext/translations/th.csv
+++ b/erpnext/translations/th.csv
@@ -152,8 +152,8 @@
 Against Document No,กับเอกสารเลขที่

 Against Expense Account,กับบัญชีค่าใช้จ่าย

 Against Income Account,กับบัญชีรายได้

-Against Journal Voucher,กับบัตรกำนัลวารสาร

-Against Journal Voucher {0} does not have any unmatched {1} entry,กับ วารสาร คูปอง {0} ไม่มี ใครเทียบ {1} รายการ

+Against Journal Entry,กับบัตรกำนัลวารสาร

+Against Journal Entry {0} does not have any unmatched {1} entry,กับ วารสาร คูปอง {0} ไม่มี ใครเทียบ {1} รายการ

 Against Purchase Invoice,กับใบกำกับซื้อ

 Against Sales Invoice,กับขายใบแจ้งหนี้

 Against Sales Order,กับ การขายสินค้า

@@ -335,7 +335,7 @@
 Bank Reconciliation,กระทบยอดธนาคาร

 Bank Reconciliation Detail,รายละเอียดการกระทบยอดธนาคาร

 Bank Reconciliation Statement,งบกระทบยอดธนาคาร

-Bank Voucher,บัตรกำนัลธนาคาร

+Bank Entry,บัตรกำนัลธนาคาร

 Bank/Cash Balance,ธนาคารเงินสด / ยอดคงเหลือ

 Banking,การธนาคาร

 Barcode,บาร์โค้ด

@@ -470,7 +470,7 @@
 Case No. cannot be 0,คดีหมายเลข ไม่สามารถ เป็น 0

 Cash,เงินสด

 Cash In Hand,เงินสด ใน มือ

-Cash Voucher,บัตรกำนัลเงินสด

+Cash Entry,บัตรกำนัลเงินสด

 Cash or Bank Account is mandatory for making payment entry,เงินสดหรือ บัญชีธนาคาร มีผลบังคับใช้ สำหรับการทำ รายการ ชำระเงิน

 Cash/Bank Account,เงินสด / บัญชีธนาคาร

 Casual Leave,สบาย ๆ ออก

@@ -594,7 +594,7 @@
 Contacts,ติดต่อ

 Content,เนื้อหา

 Content Type,ประเภทเนื้อหา

-Contra Voucher,บัตรกำนัลต้าน

+Contra Entry,บัตรกำนัลต้าน

 Contract,สัญญา

 Contract End Date,วันที่สิ้นสุดสัญญา

 Contract End Date must be greater than Date of Joining,วันที่สิ้นสุด สัญญา จะต้องมากกว่า วันที่ เข้าร่วม

@@ -625,7 +625,7 @@
 Country Name,ชื่อประเทศ

 Country wise default Address Templates,แม่แบบของประเทศที่อยู่เริ่มต้นอย่างชาญฉลาด

 "Country, Timezone and Currency",โซน ประเทศ และ สกุลเงิน

-Create Bank Voucher for the total salary paid for the above selected criteria,สร้างบัตรกำนัลธนาคารเพื่อการรวมเงินเดือนที่จ่ายสำหรับเกณฑ์ที่เลือกข้างต้น

+Create Bank Entry for the total salary paid for the above selected criteria,สร้างบัตรกำนัลธนาคารเพื่อการรวมเงินเดือนที่จ่ายสำหรับเกณฑ์ที่เลือกข้างต้น

 Create Customer,สร้าง ลูกค้า

 Create Material Requests,ขอสร้างวัสดุ

 Create New,สร้างใหม่

@@ -647,7 +647,7 @@
 Credit,เครดิต

 Credit Amt,จำนวนเครดิต

 Credit Card,บัตรเครดิต

-Credit Card Voucher,บัตรกำนัลชำระด้วยบัตรเครดิต

+Credit Card Entry,บัตรกำนัลชำระด้วยบัตรเครดิต

 Credit Controller,ควบคุมเครดิต

 Credit Days,วันเครดิต

 Credit Limit,วงเงินสินเชื่อ

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,สรรพสามิตหน้าที่ Edu Cess 2

 Excise Duty SHE Cess 1,สรรพสามิตหน้าที่ SHE Cess 1

 Excise Page Number,หมายเลขหน้าสรรพสามิต

-Excise Voucher,บัตรกำนัลสรรพสามิต

+Excise Entry,บัตรกำนัลสรรพสามิต

 Execution,การปฏิบัติ

 Executive Search,การค้นหา ผู้บริหาร

 Exemption Limit,วงเงินข้อยกเว้น

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,ระยะเวลา ใบแจ้งหนี้ จาก ใบแจ้งหนี้ และ ระยะเวลา ในการ บังคับใช้ วันที่ ของใบแจ้งหนี้ ที่เกิดขึ้น

 Invoice Period To,ระยะเวลาใบแจ้งหนี้เพื่อ

 Invoice Type,ประเภทใบแจ้งหนี้

-Invoice/Journal Voucher Details,ใบแจ้งหนี้ / วารสารรายละเอียดคูปอง

+Invoice/Journal Entry Details,ใบแจ้งหนี้ / วารสารรายละเอียดคูปอง

 Invoiced Amount (Exculsive Tax),จำนวนเงินที่ ออกใบแจ้งหนี้ ( Exculsive ภาษี )

 Is Active,มีการใช้งาน

 Is Advance,ล่วงหน้า

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,งานการตั้งค่าอีเมล

 Journal Entries,บันทึกรายการแบบรวม

 Journal Entry,บันทึกรายการค้า

-Journal Voucher,บัตรกำนัลวารสาร

-Journal Voucher Detail,รายละเอียดใบสำคัญรายวันทั่วไป

-Journal Voucher Detail No,รายละเอียดใบสำคัญรายวันทั่วไปไม่มี

-Journal Voucher {0} does not have account {1} or already matched,ใบสำคัญรายวันทั่วไป {0} ไม่ได้มี บัญชี {1} หรือ การจับคู่ แล้ว

-Journal Vouchers {0} are un-linked,ใบสำคัญรายวันทั่วไป {0} จะ ยกเลิกการ เชื่อมโยง

+Journal Entry,บัตรกำนัลวารสาร

+Journal Entry Account,รายละเอียดใบสำคัญรายวันทั่วไป

+Journal Entry Account No,รายละเอียดใบสำคัญรายวันทั่วไปไม่มี

+Journal Entry {0} does not have account {1} or already matched,ใบสำคัญรายวันทั่วไป {0} ไม่ได้มี บัญชี {1} หรือ การจับคู่ แล้ว

+Journal Entries {0} are un-linked,ใบสำคัญรายวันทั่วไป {0} จะ ยกเลิกการ เชื่อมโยง

 Keep a track of communication related to this enquiry which will help for future reference.,ติดตามของการสื่อสารที่เกี่ยวข้องกับการสืบสวนเรื่องนี้ซึ่งจะช่วยให้สำหรับการอ้างอิงในอนาคต

 Keep it web friendly 900px (w) by 100px (h),ให้มัน เว็บ 900px มิตร (กว้าง ) โดย 100px (ซ)

 Key Performance Area,พื้นที่การดำเนินงานหลัก

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,วิชาเอก / เสริม

 Make ,สร้าง

 Make Accounting Entry For Every Stock Movement,ทำให้ รายการ บัญชี สำหรับ ทุก การเคลื่อนไหวของ หุ้น

-Make Bank Voucher,ทำให้บัตรของธนาคาร

+Make Bank Entry,ทำให้บัตรของธนาคาร

 Make Credit Note,ให้ เครดิต หมายเหตุ

 Make Debit Note,ให้ หมายเหตุ เดบิต

 Make Delivery,ทำให้ การจัดส่งสินค้า

@@ -3096,7 +3096,7 @@
 Update Series Number,จำนวน Series ปรับปรุง

 Update Stock,อัพเดทสต็อก

 Update bank payment dates with journals.,การชำระเงินของธนาคารปรับปรุงวันที่มีวารสาร

-Update clearance date of Journal Entries marked as 'Bank Vouchers',ปรับปรุง การกวาดล้าง ของ อนุทิน ทำเครื่องหมายเป็น ' ธนาคาร บัตรกำนัล '

+Update clearance date of Journal Entries marked as 'Bank Entry',ปรับปรุง การกวาดล้าง ของ อนุทิน ทำเครื่องหมายเป็น ' ธนาคาร บัตรกำนัล '

 Updated,อัพเดต

 Updated Birthday Reminders,การปรับปรุง การแจ้งเตือน วันเกิด

 Upload Attendance,อัพโหลดผู้เข้าร่วม

@@ -3234,7 +3234,7 @@
 Write Off Based On,เขียนปิดขึ้นอยู่กับ

 Write Off Cost Center,เขียนปิดศูนย์ต้นทุน

 Write Off Outstanding Amount,เขียนปิดยอดคงค้าง

-Write Off Voucher,เขียนทันทีบัตรกำนัล

+Write Off Entry,เขียนทันทีบัตรกำนัล

 Wrong Template: Unable to find head row.,แม่แบบผิด: ไม่สามารถหาแถวหัว

 Year,ปี

 Year Closed,ปีที่ปิด

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,คุณสามารถป้อนปริมาณขั้นต่ำของรายการนี​​้จะได้รับคำสั่ง

 You can not change rate if BOM mentioned agianst any item,คุณไม่สามารถเปลี่ยน อัตรา ถ้า BOM กล่าว agianst รายการใด ๆ

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,คุณไม่สามารถป้อน การจัดส่งสินค้า ทั้ง หมายเหตุ ไม่มี และ ขายใบแจ้งหนี้ ฉบับ กรุณากรอก คนใดคนหนึ่ง

-You can not enter current voucher in 'Against Journal Voucher' column,คุณไม่สามารถป้อน คูปอง ในปัจจุบันใน ' กับ วารสาร คูปอง ' คอลัมน์

+You can not enter current voucher in 'Against Journal Entry' column,คุณไม่สามารถป้อน คูปอง ในปัจจุบันใน ' กับ วารสาร คูปอง ' คอลัมน์

 You can set Default Bank Account in Company master,คุณสามารถตั้งค่า เริ่มต้น ใน บัญชีธนาคาร หลัก ของ บริษัท

 You can start by selecting backup frequency and granting access for sync,คุณสามารถเริ่มต้น ด้วยการเลือก ความถี่ สำรองข้อมูลและ การอนุญาต การเข้าถึงสำหรับ การซิงค์

 You can submit this Stock Reconciliation.,คุณสามารถส่ง รูป นี้ สมานฉันท์

diff --git a/erpnext/translations/tr.csv b/erpnext/translations/tr.csv
index e3ed446..3d13bcf 100644
--- a/erpnext/translations/tr.csv
+++ b/erpnext/translations/tr.csv
@@ -152,8 +152,8 @@
 Against Document No,Against Document No

 Against Expense Account,Against Expense Account

 Against Income Account,Against Income Account

-Against Journal Voucher,Against Journal Voucher

-Against Journal Voucher {0} does not have any unmatched {1} entry,Dergi Çeki karşı {0} herhangi bir eşsiz {1} girdi yok

+Against Journal Entry,Against Journal Entry

+Against Journal Entry {0} does not have any unmatched {1} entry,Dergi Çeki karşı {0} herhangi bir eşsiz {1} girdi yok

 Against Purchase Invoice,Against Purchase Invoice

 Against Sales Invoice,Against Sales Invoice

 Against Sales Order,Satış Siparişi karşı

@@ -335,7 +335,7 @@
 Bank Reconciliation,Banka Uzlaşma

 Bank Reconciliation Detail,Banka Uzlaşma Detay

 Bank Reconciliation Statement,Banka Uzlaşma Bildirimi

-Bank Voucher,Banka Çeki

+Bank Entry,Banka Çeki

 Bank/Cash Balance,Banka / Nakit Dengesi

 Banking,Bankacılık

 Barcode,Barkod

@@ -470,7 +470,7 @@
 Case No. cannot be 0,Örnek Numarası  0 olamaz

 Cash,Nakit

 Cash In Hand,Kasa mevcudu

-Cash Voucher,Para yerine geçen belge

+Cash Entry,Para yerine geçen belge

 Cash or Bank Account is mandatory for making payment entry,Kasa veya Banka Hesabı ödeme girişi yapmak için zorunludur

 Cash/Bank Account,Kasa / Banka Hesabı

 Casual Leave,Casual bırak

@@ -594,7 +594,7 @@
 Contacts,İletişimler

 Content,İçerik

 Content Type,İçerik Türü

-Contra Voucher,Contra Çeki

+Contra Entry,Contra Çeki

 Contract,Sözleşme

 Contract End Date,Sözleşme Bitiş Tarihi

 Contract End Date must be greater than Date of Joining,Sözleşme Bitiş Tarihi Katılma tarihinden daha büyük olmalıdır

@@ -625,7 +625,7 @@
 Country Name,Ülke Adı

 Country wise default Address Templates,Ülke bilge varsayılan Adres Şablonları

 "Country, Timezone and Currency","Ülke, Saat Dilimi ve Döviz"

-Create Bank Voucher for the total salary paid for the above selected criteria,Yukarıda seçilen ölçütler için ödenen toplam maaş için Banka Çeki oluştur

+Create Bank Entry for the total salary paid for the above selected criteria,Yukarıda seçilen ölçütler için ödenen toplam maaş için Banka Çeki oluştur

 Create Customer,Müşteri Oluştur

 Create Material Requests,Malzeme İstekleri Oluştur

 Create New,Yeni Oluştur

@@ -647,7 +647,7 @@
 Credit,Kredi

 Credit Amt,Kredi Tutarı

 Credit Card,Kredi kartı

-Credit Card Voucher,Kredi Kartı Çeki

+Credit Card Entry,Kredi Kartı Çeki

 Credit Controller,Kredi Kontrolör

 Credit Days,Kredi Gün

 Credit Limit,Kredi Limiti

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,ÖTV Edu Cess 2

 Excise Duty SHE Cess 1,ÖTV SHE Cess 1

 Excise Page Number,Tüketim Sayfa Numarası

-Excise Voucher,Tüketim Çeki

+Excise Entry,Tüketim Çeki

 Execution,Yerine Getirme

 Executive Search,Executive Search

 Exemption Limit,Muafiyet Sınırı

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Faturayı yinelenen zorunlu tarihler için ve Fatura Dönemi itibaren Fatura Dönemi

 Invoice Period To,Için Fatura Dönemi

 Invoice Type,Fatura Türü

-Invoice/Journal Voucher Details,Fatura / Dergi Çeki Detayları

+Invoice/Journal Entry Details,Fatura / Dergi Çeki Detayları

 Invoiced Amount (Exculsive Tax),Faturalanan Tutar (Exculsive Vergisi)

 Is Active,Aktif mi

 Is Advance,Peşin mi

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,İş E-posta Ayarları

 Journal Entries,Alacak/Borç Girişleri

 Journal Entry,Alacak/Borç Girişleri

-Journal Voucher,Alacak/Borç Çeki

-Journal Voucher Detail,Alacak/Borç Fiş Detay

-Journal Voucher Detail No,Alacak/Borç Fiş Detay No

-Journal Voucher {0} does not have account {1} or already matched,Dergi Çeki {0} hesabı yok {1} ya da zaten eşleşti

-Journal Vouchers {0} are un-linked,Dergi Fişler {0} un-bağlantılı

+Journal Entry,Alacak/Borç Çeki

+Journal Entry Account,Alacak/Borç Fiş Detay

+Journal Entry Account No,Alacak/Borç Fiş Detay No

+Journal Entry {0} does not have account {1} or already matched,Dergi Çeki {0} hesabı yok {1} ya da zaten eşleşti

+Journal Entries {0} are un-linked,Dergi Fişler {0} un-bağlantılı

 Keep a track of communication related to this enquiry which will help for future reference.,Gelecekte başvurulara yardımcı olmak için bu soruşturma ile ilgili bir iletişim takip edin.

 Keep it web friendly 900px (w) by 100px (h),100px tarafından web dostu 900px (w) it Keep (h)

 Key Performance Area,Anahtar Performans Alan

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,Zorunlu / Opsiyonel Konular

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,Her Stok Hareketi İçin Muhasebe kaydı yapmak

-Make Bank Voucher,Banka Çeki Yap

+Make Bank Entry,Banka Çeki Yap

 Make Credit Note,Kredi Not Yap

 Make Debit Note,Banka Not Yap

 Make Delivery,Teslim olun

@@ -3096,7 +3096,7 @@
 Update Series Number,Update Serisi sayısı

 Update Stock,Stok Güncelleme

 Update bank payment dates with journals.,Update bank payment dates with journals.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',Journal Entries Update temizlenme tarihi 'Banka Fişler' olarak işaretlenmiş

+Update clearance date of Journal Entries marked as 'Bank Entry',Journal Entries Update temizlenme tarihi 'Banka Fişler' olarak işaretlenmiş

 Updated,Güncellenmiş

 Updated Birthday Reminders,Güncelleme Birthday Reminders

 Upload Attendance,Katılımcı ekle

@@ -3234,7 +3234,7 @@
 Write Off Based On,Write Off Based On

 Write Off Cost Center,Write Off Cost Center

 Write Off Outstanding Amount,Write Off Outstanding Amount

-Write Off Voucher,Write Off Voucher

+Write Off Entry,Write Off Entry

 Wrong Template: Unable to find head row.,Yanlış Şablon: kafa satır bulmak için açılamıyor.

 Year,Yıl

 Year Closed,Yıl Kapalı

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,Sen sipariş için bu maddenin minimum miktar girebilirsiniz.

 You can not change rate if BOM mentioned agianst any item,BOM herhangi bir öğenin agianst söz eğer hızını değiştiremezsiniz

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Hayır hem Teslim Not giremezsiniz ve Satış Fatura No birini girin.

-You can not enter current voucher in 'Against Journal Voucher' column,Sen sütununda 'Journal Fiş Karşı' cari fiş giremezsiniz

+You can not enter current voucher in 'Against Journal Entry' column,Sen sütununda 'Journal Fiş Karşı' cari fiş giremezsiniz

 You can set Default Bank Account in Company master,Siz Firma master Varsayılan Banka Hesap ayarlayabilirsiniz

 You can start by selecting backup frequency and granting access for sync,Yedekleme sıklığını seçme ve senkronizasyon için erişim sağlayarak başlayabilirsiniz

 You can submit this Stock Reconciliation.,Bu Stok Uzlaşma gönderebilirsiniz.

diff --git a/erpnext/translations/vi.csv b/erpnext/translations/vi.csv
index 8a6de8c..416a231 100644
--- a/erpnext/translations/vi.csv
+++ b/erpnext/translations/vi.csv
@@ -152,8 +152,8 @@
 Against Document No,Đối với văn bản số

 Against Expense Account,Đối với tài khoản chi phí

 Against Income Account,Đối với tài khoản thu nhập

-Against Journal Voucher,Tạp chí chống lại Voucher

-Against Journal Voucher {0} does not have any unmatched {1} entry,Đối với Tạp chí Chứng từ {0} không có bất kỳ chưa từng có {1} nhập

+Against Journal Entry,Tạp chí chống lại Voucher

+Against Journal Entry {0} does not have any unmatched {1} entry,Đối với Tạp chí Chứng từ {0} không có bất kỳ chưa từng có {1} nhập

 Against Purchase Invoice,Đối với hóa đơn mua hàng

 Against Sales Invoice,Chống bán hóa đơn

 Against Sales Order,So với bán hàng đặt hàng

@@ -335,7 +335,7 @@
 Bank Reconciliation,Ngân hàng hòa giải

 Bank Reconciliation Detail,Ngân hàng hòa giải chi tiết

 Bank Reconciliation Statement,Trữ ngân hàng hòa giải

-Bank Voucher,Ngân hàng Phiếu

+Bank Entry,Ngân hàng Phiếu

 Bank/Cash Balance,Ngân hàng / Cash Balance

 Banking,Ngân hàng

 Barcode,Mã vạch

@@ -470,7 +470,7 @@
 Case No. cannot be 0,Trường hợp số không thể là 0

 Cash,Tiền mặt

 Cash In Hand,Tiền mặt trong tay

-Cash Voucher,Phiếu tiền mặt

+Cash Entry,Phiếu tiền mặt

 Cash or Bank Account is mandatory for making payment entry,Tiền mặt hoặc tài khoản ngân hàng là bắt buộc đối với việc nhập cảnh thanh toán

 Cash/Bank Account,Tài khoản tiền mặt / Ngân hàng

 Casual Leave,Để lại bình thường

@@ -594,7 +594,7 @@
 Contacts,Danh bạ

 Content,Lọc nội dung

 Content Type,Loại nội dung

-Contra Voucher,Contra Voucher

+Contra Entry,Contra Entry

 Contract,hợp đồng

 Contract End Date,Ngày kết thúc hợp đồng

 Contract End Date must be greater than Date of Joining,Ngày kết thúc hợp đồng phải lớn hơn ngày của Tham gia

@@ -625,7 +625,7 @@
 Country Name,Tên nước

 Country wise default Address Templates,Nước khôn ngoan Địa chỉ mặc định Templates

 "Country, Timezone and Currency","Quốc gia, múi giờ và tiền tệ"

-Create Bank Voucher for the total salary paid for the above selected criteria,Tạo Ngân hàng Chứng từ tổng tiền lương cho các tiêu chí lựa chọn ở trên

+Create Bank Entry for the total salary paid for the above selected criteria,Tạo Ngân hàng Chứng từ tổng tiền lương cho các tiêu chí lựa chọn ở trên

 Create Customer,Tạo ra khách hàng

 Create Material Requests,Các yêu cầu tạo ra vật liệu

 Create New,Tạo mới

@@ -647,7 +647,7 @@
 Credit,Tín dụng

 Credit Amt,Tín dụng Amt

 Credit Card,Thẻ tín dụng

-Credit Card Voucher,Phiếu thẻ tín dụng

+Credit Card Entry,Phiếu thẻ tín dụng

 Credit Controller,Bộ điều khiển tín dụng

 Credit Days,Ngày tín dụng

 Credit Limit,Hạn chế tín dụng

@@ -979,7 +979,7 @@
 Excise Duty Edu Cess 2,Tiêu thụ đặc biệt Duty Edu Cess 2

 Excise Duty SHE Cess 1,Tiêu thụ đặc biệt Duty SHE Cess 1

 Excise Page Number,Tiêu thụ đặc biệt số trang

-Excise Voucher,Phiếu tiêu thụ đặc biệt

+Excise Entry,Phiếu tiêu thụ đặc biệt

 Execution,Thực hiện

 Executive Search,Điều hành Tìm kiếm

 Exemption Limit,Giới hạn miễn

@@ -1327,7 +1327,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Thời gian hóa đơn từ và hóa đơn Thời gian Để ngày bắt buộc đối với hóa đơn định kỳ

 Invoice Period To,Hóa đơn Thời gian để

 Invoice Type,Loại hóa đơn

-Invoice/Journal Voucher Details,Hóa đơn / Tạp chí Chứng từ chi tiết

+Invoice/Journal Entry Details,Hóa đơn / Tạp chí Chứng từ chi tiết

 Invoiced Amount (Exculsive Tax),Số tiền ghi trên hóa đơn (thuế Exculsive)

 Is Active,Là hoạt động

 Is Advance,Là Trước

@@ -1457,11 +1457,11 @@
 Jobs Email Settings,Thiết lập việc làm Email

 Journal Entries,Tạp chí Entries

 Journal Entry,Tạp chí nhập

-Journal Voucher,Tạp chí Voucher

-Journal Voucher Detail,Tạp chí Chứng từ chi tiết

-Journal Voucher Detail No,Tạp chí Chứng từ chi tiết Không

-Journal Voucher {0} does not have account {1} or already matched,Tạp chí Chứng từ {0} không có tài khoản {1} hoặc đã khớp

-Journal Vouchers {0} are un-linked,Tạp chí Chứng từ {0} được bỏ liên kết

+Journal Entry,Tạp chí Voucher

+Journal Entry Account,Tạp chí Chứng từ chi tiết

+Journal Entry Account No,Tạp chí Chứng từ chi tiết Không

+Journal Entry {0} does not have account {1} or already matched,Tạp chí Chứng từ {0} không có tài khoản {1} hoặc đã khớp

+Journal Entries {0} are un-linked,Tạp chí Chứng từ {0} được bỏ liên kết

 Keep a track of communication related to this enquiry which will help for future reference.,Giữ một ca khúc của truyền thông liên quan đến cuộc điều tra này sẽ giúp cho tài liệu tham khảo trong tương lai.

 Keep it web friendly 900px (w) by 100px (h),Giữ cho nó thân thiện với web 900px (w) bởi 100px (h)

 Key Performance Area,Hiệu suất chủ chốt trong khu vực

@@ -1576,7 +1576,7 @@
 Major/Optional Subjects,Chính / Đối tượng bắt buộc

 Make ,Make 

 Make Accounting Entry For Every Stock Movement,Làm kế toán nhập Đối với tất cả phong trào Cổ

-Make Bank Voucher,Làm cho Ngân hàng Phiếu

+Make Bank Entry,Làm cho Ngân hàng Phiếu

 Make Credit Note,Làm cho tín dụng Ghi chú

 Make Debit Note,Làm báo nợ

 Make Delivery,Làm cho giao hàng

@@ -3096,7 +3096,7 @@
 Update Series Number,Cập nhật Dòng Số

 Update Stock,Cập nhật chứng khoán

 Update bank payment dates with journals.,Cập nhật ngày thanh toán ngân hàng với các tạp chí.

-Update clearance date of Journal Entries marked as 'Bank Vouchers',Ngày giải phóng mặt bằng bản cập nhật của Tạp chí Entries đánh dấu là 'Ngân hàng Chứng từ'

+Update clearance date of Journal Entries marked as 'Bank Entry',Ngày giải phóng mặt bằng bản cập nhật của Tạp chí Entries đánh dấu là 'Ngân hàng Chứng từ'

 Updated,Xin vui lòng viết một cái gì đó

 Updated Birthday Reminders,Cập nhật mừng sinh nhật Nhắc nhở

 Upload Attendance,Tải lên tham dự

@@ -3234,7 +3234,7 @@
 Write Off Based On,Viết Tắt Dựa trên

 Write Off Cost Center,Viết Tắt Trung tâm Chi phí

 Write Off Outstanding Amount,Viết Tắt Số tiền nổi bật

-Write Off Voucher,Viết Tắt Voucher

+Write Off Entry,Viết Tắt Voucher

 Wrong Template: Unable to find head row.,Sai mẫu: Không thể tìm thấy hàng đầu.

 Year,Năm

 Year Closed,Đóng cửa năm

@@ -3252,7 +3252,7 @@
 You can enter the minimum quantity of this item to be ordered.,Bạn có thể nhập số lượng tối thiểu của mặt hàng này được đặt hàng.

 You can not change rate if BOM mentioned agianst any item,Bạn không thể thay đổi tỷ lệ nếu HĐQT đã đề cập agianst bất kỳ mục nào

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Bạn không thể gõ cả hai Giao hàng tận nơi Lưu ý Không có hóa đơn bán hàng và số Vui lòng nhập bất kỳ một.

-You can not enter current voucher in 'Against Journal Voucher' column,Bạn không thể nhập chứng từ hiện tại 'chống Tạp chí Voucher' cột

+You can not enter current voucher in 'Against Journal Entry' column,Bạn không thể nhập chứng từ hiện tại 'chống Tạp chí Voucher' cột

 You can set Default Bank Account in Company master,Bạn có thể thiết lập Mặc định tài khoản ngân hàng của Công ty chủ

 You can start by selecting backup frequency and granting access for sync,Bạn có thể bắt đầu bằng cách chọn tần số sao lưu và cấp quyền truy cập cho đồng bộ

 You can submit this Stock Reconciliation.,Bạn có thể gửi hòa giải chứng khoán này.

diff --git a/erpnext/translations/zh-cn.csv b/erpnext/translations/zh-cn.csv
index 36a4473..7dcf3d1 100644
--- a/erpnext/translations/zh-cn.csv
+++ b/erpnext/translations/zh-cn.csv
@@ -178,8 +178,8 @@
 Against Document No,对文件无

 Against Expense Account,对费用帐户

 Against Income Account,对收入账户

-Against Journal Voucher,对日记帐凭证

-Against Journal Voucher {0} does not have any unmatched {1} entry,对日记帐凭证{0}没有任何无可比拟{1}项目

+Against Journal Entry,对日记帐凭证

+Against Journal Entry {0} does not have any unmatched {1} entry,对日记帐凭证{0}没有任何无可比拟{1}项目

 Against Purchase Invoice,对采购发票

 Against Sales Invoice,对销售发票

 Against Sales Order,对销售订单

@@ -361,7 +361,7 @@
 Bank Reconciliation,银行对帐

 Bank Reconciliation Detail,银行对帐详细

 Bank Reconciliation Statement,银行对帐表

-Bank Voucher,银行券

+Bank Entry,银行券

 Bank/Cash Balance,银行/现金结余

 Banking,银行业

 Barcode,条码

@@ -496,7 +496,7 @@
 Case No. cannot be 0,案号不能为0

 Cash,现金

 Cash In Hand,手头现金

-Cash Voucher,现金券

+Cash Entry,现金券

 Cash or Bank Account is mandatory for making payment entry,现金或银行帐户是强制性的付款项

 Cash/Bank Account,现金/银行账户

 Casual Leave,事假

@@ -620,7 +620,7 @@
 Contacts,往来

 Content,内容

 Content Type,内容类型

-Contra Voucher,魂斗罗券

+Contra Entry,魂斗罗券

 Contract,合同

 Contract End Date,合同结束日期

 Contract End Date must be greater than Date of Joining,合同结束日期必须大于加入的日期

@@ -651,7 +651,7 @@
 Country Name,国家名称

 Country wise default Address Templates,国家明智的默认地址模板

 "Country, Timezone and Currency",国家,时区和货币

-Create Bank Voucher for the total salary paid for the above selected criteria,创建银行券为支付上述选择的标准工资总额

+Create Bank Entry for the total salary paid for the above selected criteria,创建银行券为支付上述选择的标准工资总额

 Create Customer,创建客户

 Create Material Requests,创建材料要求

 Create New,创建新

@@ -673,7 +673,7 @@
 Credit,信用

 Credit Amt,信用额

 Credit Card,信用卡

-Credit Card Voucher,信用卡券

+Credit Card Entry,信用卡券

 Credit Controller,信用控制器

 Credit Days,信贷天

 Credit Limit,信用额度

@@ -1009,7 +1009,7 @@
 Excise Duty Edu Cess 2,消费税埃杜塞斯2

 Excise Duty SHE Cess 1,消费税佘塞斯1

 Excise Page Number,消费页码

-Excise Voucher,消费券

+Excise Entry,消费券

 Execution,执行

 Executive Search,猎头

 Exemption Limit,免税限额

@@ -1357,7 +1357,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,发票期间由发票日期为日期必须在经常性发票

 Invoice Period To,发票的日期要

 Invoice Type,发票类型

-Invoice/Journal Voucher Details,发票/日记帐凭证详细信息

+Invoice/Journal Entry Details,发票/日记帐凭证详细信息

 Invoiced Amount (Exculsive Tax),发票金额(Exculsive税)

 Is Active,为活跃

 Is Advance,为进

@@ -1489,11 +1489,11 @@
 Jobs Email Settings,乔布斯邮件设置

 Journal Entries,日记帐分录

 Journal Entry,日记帐分录

-Journal Voucher,期刊券

-Journal Voucher Detail,日记帐凭证详细信息

-Journal Voucher Detail No,日记帐凭证详细说明暂无

-Journal Voucher {0} does not have account {1} or already matched,记账凭单{0}没有帐号{1}或已经匹配

-Journal Vouchers {0} are un-linked,日记帐凭单{0}被取消链接

+Journal Entry,期刊券

+Journal Entry Account,日记帐凭证详细信息

+Journal Entry Account No,日记帐凭证详细说明暂无

+Journal Entry {0} does not have account {1} or already matched,记账凭单{0}没有帐号{1}或已经匹配

+Journal Entries {0} are un-linked,日记帐凭单{0}被取消链接

 Keep a track of communication related to this enquiry which will help for future reference.,保持跟踪的沟通与此相关的调查,这将有助于以供将来参考。

 Keep it web friendly 900px (w) by 100px (h),保持它的Web友好900px (宽)x 100像素(高)

 Key Performance Area,关键绩效区

@@ -1608,7 +1608,7 @@
 Major/Optional Subjects,大/选修课

 Make ,使

 Make Accounting Entry For Every Stock Movement,做会计分录为每股份转移

-Make Bank Voucher,使银行券

+Make Bank Entry,使银行券

 Make Credit Note,使信贷注

 Make Debit Note,让缴费单

 Make Delivery,使交货

@@ -3144,7 +3144,7 @@
 Update Series Number,更新序列号

 Update Stock,库存更新

 Update bank payment dates with journals.,更新与期刊银行付款日期。

-Update clearance date of Journal Entries marked as 'Bank Vouchers',你不能同时输入送货单号及销售发票编号请输入任何一个。

+Update clearance date of Journal Entries marked as 'Bank Entry',你不能同时输入送货单号及销售发票编号请输入任何一个。

 Updated,更新

 Updated Birthday Reminders,更新生日提醒

 Upload Attendance,上传出席

@@ -3282,7 +3282,7 @@
 Write Off Based On,核销的基础上

 Write Off Cost Center,冲销成本中心

 Write Off Outstanding Amount,核销额(亿元)

-Write Off Voucher,核销券

+Write Off Entry,核销券

 Wrong Template: Unable to find head row.,错误的模板:找不到头排。

 Year,年

 Year Closed,年度关闭

@@ -3300,7 +3300,7 @@
 You can enter the minimum quantity of this item to be ordered.,您可以输入资料到订购的最小数量。

 You can not change rate if BOM mentioned agianst any item,你不能改变速度,如果BOM中提到反对的任何项目

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,请输入仓库的材料要求将提高

-You can not enter current voucher in 'Against Journal Voucher' column,“反对日记帐凭证”列中您不能输入电流券

+You can not enter current voucher in 'Against Journal Entry' column,“反对日记帐凭证”列中您不能输入电流券

 You can set Default Bank Account in Company master,您可以在公司主设置默认银行账户

 You can start by selecting backup frequency and granting access for sync,您可以通过选择备份的频率和授权访问的同步启动

 You can submit this Stock Reconciliation.,您可以提交该股票对账。

diff --git a/erpnext/translations/zh-tw.csv b/erpnext/translations/zh-tw.csv
index 609806b..c1589d2 100644
--- a/erpnext/translations/zh-tw.csv
+++ b/erpnext/translations/zh-tw.csv
@@ -178,8 +178,8 @@
 Against Document No,對文件無

 Against Expense Account,對費用帳戶

 Against Income Account,對收入賬戶

-Against Journal Voucher,對日記帳憑證

-Against Journal Voucher {0} does not have any unmatched {1} entry,對日記帳憑證{0}沒有任何無可比擬{1}項目

+Against Journal Entry,對日記帳憑證

+Against Journal Entry {0} does not have any unmatched {1} entry,對日記帳憑證{0}沒有任何無可比擬{1}項目

 Against Purchase Invoice,對採購發票

 Against Sales Invoice,對銷售發票

 Against Sales Order,對銷售訂單

@@ -361,7 +361,7 @@
 Bank Reconciliation,銀行對帳

 Bank Reconciliation Detail,銀行對帳詳細

 Bank Reconciliation Statement,銀行對帳表

-Bank Voucher,銀行券

+Bank Entry,銀行券

 Bank/Cash Balance,銀行/現金結餘

 Banking,銀行業

 Barcode,條碼

@@ -496,7 +496,7 @@
 Case No. cannot be 0,案號不能為0

 Cash,現金

 Cash In Hand,手頭現金

-Cash Voucher,現金券

+Cash Entry,現金券

 Cash or Bank Account is mandatory for making payment entry,現金或銀行帳戶是強制性的付款項

 Cash/Bank Account,現金/銀行賬戶

 Casual Leave,事假

@@ -620,7 +620,7 @@
 Contacts,往來

 Content,內容

 Content Type,內容類型

-Contra Voucher,魂斗羅券

+Contra Entry,魂斗羅券

 Contract,合同

 Contract End Date,合同結束日期

 Contract End Date must be greater than Date of Joining,合同結束日期必須大於加入的日期

@@ -651,7 +651,7 @@
 Country Name,國家名稱

 Country wise default Address Templates,國家明智的默認地址模板

 "Country, Timezone and Currency",國家,時區和貨幣

-Create Bank Voucher for the total salary paid for the above selected criteria,創建銀行券為支付上述選擇的標準工資總額

+Create Bank Entry for the total salary paid for the above selected criteria,創建銀行券為支付上述選擇的標準工資總額

 Create Customer,創建客戶

 Create Material Requests,創建材料要求

 Create New,創建新

@@ -673,7 +673,7 @@
 Credit,信用

 Credit Amt,信用額

 Credit Card,信用卡

-Credit Card Voucher,信用卡券

+Credit Card Entry,信用卡券

 Credit Controller,信用控制器

 Credit Days,信貸天

 Credit Limit,信用額度

@@ -1009,7 +1009,7 @@
 Excise Duty Edu Cess 2,消費稅埃杜塞斯2

 Excise Duty SHE Cess 1,消費稅佘塞斯1

 Excise Page Number,消費頁碼

-Excise Voucher,消費券

+Excise Entry,消費券

 Execution,執行

 Executive Search,獵頭

 Exemption Limit,免稅限額

@@ -1357,7 +1357,7 @@
 Invoice Period From and Invoice Period To dates mandatory for recurring invoice,發票期間由發票日期為日期必須在經常性發票

 Invoice Period To,發票的日期要

 Invoice Type,發票類型

-Invoice/Journal Voucher Details,發票/日記帳憑證詳細信息

+Invoice/Journal Entry Details,發票/日記帳憑證詳細信息

 Invoiced Amount (Exculsive Tax),發票金額(Exculsive稅)

 Is Active,為活躍

 Is Advance,為進

@@ -1489,11 +1489,11 @@
 Jobs Email Settings,喬布斯郵件設置

 Journal Entries,日記帳分錄

 Journal Entry,日記帳分錄

-Journal Voucher,期刊券

-Journal Voucher Detail,日記帳憑證詳細信息

-Journal Voucher Detail No,日記帳憑證詳細說明暫無

-Journal Voucher {0} does not have account {1} or already matched,記賬憑單{0}沒有帳號{1}或已經匹配

-Journal Vouchers {0} are un-linked,日記帳憑單{0}被取消鏈接

+Journal Entry,期刊券

+Journal Entry Account,日記帳憑證詳細信息

+Journal Entry Account No,日記帳憑證詳細說明暫無

+Journal Entry {0} does not have account {1} or already matched,記賬憑單{0}沒有帳號{1}或已經匹配

+Journal Entries {0} are un-linked,日記帳憑單{0}被取消鏈接

 Keep a track of communication related to this enquiry which will help for future reference.,保持跟踪的溝通與此相關的調查,這將有助於以供將來參考。

 Keep it web friendly 900px (w) by 100px (h),保持它的Web友好900px (寬)x 100像素(高)

 Key Performance Area,關鍵績效區

@@ -1608,7 +1608,7 @@
 Major/Optional Subjects,大/選修課

 Make ,使

 Make Accounting Entry For Every Stock Movement,做會計分錄為每股份轉移

-Make Bank Voucher,使銀行券

+Make Bank Entry,使銀行券

 Make Credit Note,使信貸注

 Make Debit Note,讓繳費單

 Make Delivery,使交貨

@@ -3144,7 +3144,7 @@
 Update Series Number,更新序列號

 Update Stock,庫存更新

 Update bank payment dates with journals.,更新與期刊銀行付款日期。

-Update clearance date of Journal Entries marked as 'Bank Vouchers',你不能同時輸入送貨單號及銷售發票編號請輸入任何一個。

+Update clearance date of Journal Entries marked as 'Bank Entry',你不能同時輸入送貨單號及銷售發票編號請輸入任何一個。

 Updated,更新

 Updated Birthday Reminders,更新生日提醒

 Upload Attendance,上傳出席

@@ -3282,7 +3282,7 @@
 Write Off Based On,核銷的基礎上

 Write Off Cost Center,沖銷成本中心

 Write Off Outstanding Amount,核銷額(億元)

-Write Off Voucher,核銷券

+Write Off Entry,核銷券

 Wrong Template: Unable to find head row.,錯誤的模板:找不到頭排。

 Year,年

 Year Closed,年度關閉

@@ -3300,7 +3300,7 @@
 You can enter the minimum quantity of this item to be ordered.,您可以輸入資料到訂購的最小數量。

 You can not change rate if BOM mentioned agianst any item,你不能改變速度,如果BOM中提到反對的任何項目

 You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,請輸入倉庫的材料要求將提高

-You can not enter current voucher in 'Against Journal Voucher' column,“反對日記帳憑證”列中您不能輸入電流券

+You can not enter current voucher in 'Against Journal Entry' column,“反對日記帳憑證”列中您不能輸入電流券

 You can set Default Bank Account in Company master,您可以在公司主設置默認銀行賬戶

 You can start by selecting backup frequency and granting access for sync,您可以通過選擇備份的頻率和授權訪問的同步啟動

 You can submit this Stock Reconciliation.,您可以提交該股票對賬。

diff --git a/erpnext/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py
index 4ba1627..2c99b00 100644
--- a/erpnext/utilities/transaction_base.py
+++ b/erpnext/utilities/transaction_base.py
@@ -48,7 +48,7 @@
 			})
 
 			if frappe.db.exists("User", self.contact_by):
-				event_doclist.append("event_individuals", {
+				event_doclist.append("users", {
 					"doctype": "Event User",
 					"person": self.contact_by
 				})
@@ -58,12 +58,12 @@
 	def validate_uom_is_integer(self, uom_field, qty_fields):
 		validate_uom_is_integer(self, uom_field, qty_fields)
 
-	def validate_with_previous_doc(self, source_dt, ref):
+	def validate_with_previous_doc(self, ref):
 		for key, val in ref.items():
 			is_child = val.get("is_child_table")
 			ref_doc = {}
 			item_ref_dn = []
-			for d in self.get_all_children(source_dt):
+			for d in self.get_all_children(self.doctype + " Item"):
 				ref_dn = d.get(val["ref_dn_field"])
 				if ref_dn:
 					if is_child: