diff --git a/accounts/doctype/journal_voucher/journal_voucher.txt b/accounts/doctype/journal_voucher/journal_voucher.txt
index dc857c8..471b9f2 100644
--- a/accounts/doctype/journal_voucher/journal_voucher.txt
+++ b/accounts/doctype/journal_voucher/journal_voucher.txt
@@ -1,8 +1,8 @@
 [
  {
-  "creation": "2013-03-07 12:35:57", 
+  "creation": "2013-03-25 10:53:52", 
   "docstatus": 0, 
-  "modified": "2013-03-21 13:02:27", 
+  "modified": "2013-04-05 11:10:35", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -24,9 +24,6 @@
   "permlevel": 0
  }, 
  {
-  "amend": 1, 
-  "cancel": 1, 
-  "create": 1, 
   "doctype": "DocPerm", 
   "name": "__common__", 
   "parent": "Journal Voucher", 
@@ -34,9 +31,7 @@
   "parenttype": "DocType", 
   "permlevel": 0, 
   "read": 1, 
-  "report": 1, 
-  "submit": 1, 
-  "write": 1
+  "report": 1
  }, 
  {
   "doctype": "DocType", 
@@ -47,6 +42,7 @@
   "fieldname": "column_break0", 
   "fieldtype": "Column Break", 
   "oldfieldtype": "Column Break", 
+  "read_only": 0, 
   "width": "50%"
  }, 
  {
@@ -60,6 +56,7 @@
   "oldfieldtype": "Select", 
   "options": "JV", 
   "print_hide": 1, 
+  "read_only": 0, 
   "reqd": 1
  }, 
  {
@@ -73,6 +70,7 @@
   "oldfieldtype": "Select", 
   "options": "\nJournal Entry\nBank Voucher\nCash Voucher\nCredit Card Voucher\nDebit Note\nCredit Note\nContra Voucher\nExcise Voucher\nWrite Off Voucher", 
   "print_hide": 0, 
+  "read_only": 0, 
   "search_index": 1
  }, 
  {
@@ -80,6 +78,7 @@
   "fieldname": "column_break1", 
   "fieldtype": "Column Break", 
   "oldfieldtype": "Column Break", 
+  "read_only": 0, 
   "width": "50%"
  }, 
  {
@@ -93,6 +92,7 @@
   "no_copy": 1, 
   "oldfieldname": "posting_date", 
   "oldfieldtype": "Date", 
+  "read_only": 0, 
   "reqd": 1, 
   "search_index": 1
  }, 
@@ -102,7 +102,8 @@
   "fieldtype": "Section Break", 
   "label": "Journal Entries", 
   "oldfieldtype": "Section Break", 
-  "options": "Simple"
+  "options": "Simple", 
+  "read_only": 0
  }, 
  {
   "allow_on_submit": 1, 
@@ -113,13 +114,15 @@
   "oldfieldname": "entries", 
   "oldfieldtype": "Table", 
   "options": "Journal Voucher Detail", 
-  "print_hide": 0
+  "print_hide": 0, 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "section_break99", 
   "fieldtype": "Section Break", 
-  "options": "Simple"
+  "options": "Simple", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
@@ -149,7 +152,8 @@
  {
   "doctype": "DocField", 
   "fieldname": "column_break99", 
-  "fieldtype": "Column Break"
+  "fieldtype": "Column Break", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
@@ -168,13 +172,15 @@
   "fieldname": "get_balance", 
   "fieldtype": "Button", 
   "label": "Make Difference Entry", 
-  "oldfieldtype": "Button"
+  "oldfieldtype": "Button", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "reference", 
   "fieldtype": "Section Break", 
-  "label": "Reference"
+  "label": "Reference", 
+  "read_only": 0
  }, 
  {
   "description": "eg. Cheque Number", 
@@ -187,6 +193,7 @@
   "no_copy": 1, 
   "oldfieldname": "cheque_no", 
   "oldfieldtype": "Data", 
+  "read_only": 0, 
   "search_index": 1
  }, 
  {
@@ -196,7 +203,8 @@
   "label": "Reference Date", 
   "no_copy": 1, 
   "oldfieldname": "cheque_date", 
-  "oldfieldtype": "Date"
+  "oldfieldtype": "Date", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
@@ -214,7 +222,8 @@
  {
   "doctype": "DocField", 
   "fieldname": "column_break98", 
-  "fieldtype": "Column Break"
+  "fieldtype": "Column Break", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
@@ -224,7 +233,8 @@
   "label": "User Remark", 
   "no_copy": 1, 
   "oldfieldname": "user_remark", 
-  "oldfieldtype": "Small Text"
+  "oldfieldtype": "Small Text", 
+  "read_only": 0
  }, 
  {
   "description": "User Remark will be added to Auto Remark", 
@@ -247,7 +257,8 @@
   "label": "Bill No", 
   "oldfieldname": "bill_no", 
   "oldfieldtype": "Data", 
-  "print_hide": 1
+  "print_hide": 1, 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
@@ -256,7 +267,8 @@
   "label": "Bill Date", 
   "oldfieldname": "bill_date", 
   "oldfieldtype": "Date", 
-  "print_hide": 1
+  "print_hide": 1, 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
@@ -265,20 +277,23 @@
   "label": "Due Date", 
   "oldfieldname": "due_date", 
   "oldfieldtype": "Date", 
-  "print_hide": 0
+  "print_hide": 0, 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "addtional_info", 
   "fieldtype": "Section Break", 
   "label": "More Info", 
-  "oldfieldtype": "Section Break"
+  "oldfieldtype": "Section Break", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "column_break2", 
   "fieldtype": "Column Break", 
   "oldfieldtype": "Column Break", 
+  "read_only": 0, 
   "width": "50%"
  }, 
  {
@@ -293,6 +308,7 @@
   "oldfieldtype": "Select", 
   "options": "No\nYes", 
   "print_hide": 1, 
+  "read_only": 0, 
   "search_index": 1
  }, 
  {
@@ -304,7 +320,8 @@
   "no_copy": 0, 
   "oldfieldname": "aging_date", 
   "oldfieldtype": "Date", 
-  "print_hide": 1
+  "print_hide": 1, 
+  "read_only": 0
  }, 
  {
   "default": "Accounts Receivable", 
@@ -315,6 +332,7 @@
   "label": "Write Off Based On", 
   "options": "Accounts Receivable\nAccounts Payable", 
   "print_hide": 1, 
+  "read_only": 0, 
   "report_hide": 1
  }, 
  {
@@ -325,6 +343,7 @@
   "label": "Write Off Amount <=", 
   "options": "Company:company:default_currency", 
   "print_hide": 1, 
+  "read_only": 0, 
   "report_hide": 1
  }, 
  {
@@ -334,13 +353,22 @@
   "fieldtype": "Button", 
   "label": "Get Outstanding Invoices", 
   "options": "get_outstanding_invoices", 
-  "print_hide": 1
+  "print_hide": 1, 
+  "read_only": 0
+ }, 
+ {
+  "doctype": "DocField", 
+  "fieldname": "letter_head", 
+  "fieldtype": "Link", 
+  "label": "Letter Head", 
+  "options": "Letter Head"
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "column_break3", 
   "fieldtype": "Column Break", 
   "oldfieldtype": "Column Break", 
+  "read_only": 0, 
   "width": "50%"
  }, 
  {
@@ -351,6 +379,7 @@
   "label": "Pay To / Recd From", 
   "no_copy": 1, 
   "print_hide": 0, 
+  "read_only": 0, 
   "report_hide": 1
  }, 
  {
@@ -386,6 +415,7 @@
   "oldfieldtype": "Select", 
   "options": "link:Fiscal Year", 
   "print_hide": 1, 
+  "read_only": 0, 
   "reqd": 1, 
   "search_index": 1
  }, 
@@ -399,6 +429,7 @@
   "oldfieldtype": "Link", 
   "options": "Company", 
   "print_hide": 1, 
+  "read_only": 0, 
   "reqd": 1, 
   "search_index": 1
  }, 
@@ -413,6 +444,7 @@
   "oldfieldtype": "Link", 
   "options": "Print Heading", 
   "print_hide": 1, 
+  "read_only": 0, 
   "report_hide": 1
  }, 
  {
@@ -436,7 +468,8 @@
   "no_copy": 1, 
   "oldfieldname": "amendment_date", 
   "oldfieldtype": "Date", 
-  "print_hide": 1
+  "print_hide": 1, 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
@@ -450,11 +483,30 @@
   "read_only": 1
  }, 
  {
+  "amend": 1, 
+  "cancel": 1, 
+  "create": 1, 
   "doctype": "DocPerm", 
-  "role": "Accounts Manager"
+  "role": "Accounts User", 
+  "submit": 1, 
+  "write": 1
  }, 
  {
+  "amend": 1, 
+  "cancel": 1, 
+  "create": 1, 
   "doctype": "DocPerm", 
-  "role": "Accounts User"
+  "role": "Accounts Manager", 
+  "submit": 1, 
+  "write": 1
+ }, 
+ {
+  "amend": 0, 
+  "cancel": 0, 
+  "create": 0, 
+  "doctype": "DocPerm", 
+  "role": "Auditor", 
+  "submit": 0, 
+  "write": 0
  }
 ]
\ No newline at end of file
diff --git a/accounts/doctype/sales_invoice/sales_invoice.js b/accounts/doctype/sales_invoice/sales_invoice.js
index e93a206..7863306 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/accounts/doctype/sales_invoice/sales_invoice.js
@@ -363,13 +363,15 @@
 })
 
 // expense account
-cur_frm.fields_dict['entries'].grid.get_field('expense_account').get_query = function(doc) {
-	return {
-		"query": "accounts.utils.get_account_list", 
-		"filters": {
-			"is_pl_account": "Yes",
-			"debit_or_credit": "Debit",
-			"company": doc.company
+if (sys_defaults.auto_inventory_accounting) {
+	cur_frm.fields_dict['entries'].grid.get_field('expense_account').get_query = function(doc) {
+		return {
+			"query": "accounts.utils.get_account_list", 
+			"filters": {
+				"is_pl_account": "Yes",
+				"debit_or_credit": "Debit",
+				"company": doc.company
+			}
 		}
 	}
 }
diff --git a/buying/doctype/supplier/supplier.py b/buying/doctype/supplier/supplier.py
index 6658db3..0137504 100644
--- a/buying/doctype/supplier/supplier.py
+++ b/buying/doctype/supplier/supplier.py
@@ -142,11 +142,11 @@
 			return ''
 			
 	def delete_supplier_address(self):
-		for rec in sql("select * from `tabAddress` where supplier='%s'" %(self.doc.name), as_dict=1):
+		for rec in sql("select * from `tabAddress` where supplier=%s", (self.doc.name,), as_dict=1):
 			sql("delete from `tabAddress` where name=%s",(rec['name']))
 	
 	def delete_supplier_contact(self):
-		for rec in sql("select * from `tabContact` where supplier='%s'" %(self.doc.name), as_dict=1):
+		for rec in sql("select * from `tabContact` where supplier=%s", (self.doc.name,), as_dict=1):
 			sql("delete from `tabContact` where name=%s",(rec['name']))
 			
 	def delete_supplier_communication(self):
diff --git a/patches/patch_list.py b/patches/patch_list.py
index 1ee7c02..6caeb6f 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -17,6 +17,7 @@
 from __future__ import unicode_literals
 patch_list = [
 	"execute:webnotes.reload_doc('core', 'doctype', 'docfield')",
+	"execute:webnotes.reload_doc('core', 'doctype', 'docperm') # 2013-04-07",
 	"execute:webnotes.reload_doc('core', 'doctype', 'report')",
 	"execute:webnotes.reload_doc('core', 'doctype', 'doctype')",
 	"patches.mar_2012.so_rv_mapper_fix", 
@@ -237,6 +238,10 @@
 	'execute:webnotes.reload_doc("selling", "Print Format", "Quotation Classic") # 2013-04-02',
 	'execute:webnotes.reload_doc("selling", "Print Format", "Quotation Modern") # 2013-04-02',
 	'execute:webnotes.reload_doc("selling", "Print Format", "Quotation Spartan") # 2013-04-02',
+<<<<<<< HEAD
 	"patches.april_2013.p04_reverse_modules_list",
 	"execute:webnotes.delete_doc('Search Criteria', 'time_log_summary')"
+=======
+	"execute:webnotes.delete_doc('Search Criteria', 'time_log_summary')",
+>>>>>>> master
 ]
\ No newline at end of file
diff --git a/projects/report/daily_time_log_summary/daily_time_log_summary.js b/projects/report/daily_time_log_summary/daily_time_log_summary.js
index 8147676..ba87d0d 100644
--- a/projects/report/daily_time_log_summary/daily_time_log_summary.js
+++ b/projects/report/daily_time_log_summary/daily_time_log_summary.js
@@ -3,13 +3,13 @@
 		{
 			"fieldname":"from_date",
 			"label": "From Date",
-			"fieldtype": "Datetime",
+			"fieldtype": "Date",
 			"default": wn.datetime.get_today()
 		},
 		{
 			"fieldname":"to_date",
 			"label": "To Date",
-			"fieldtype": "Datetime",
+			"fieldtype": "Date",
 			"default": wn.datetime.get_today()
 		},
 	]
diff --git a/projects/report/daily_time_log_summary/daily_time_log_summary.py b/projects/report/daily_time_log_summary/daily_time_log_summary.py
index 0309977..22e4807 100644
--- a/projects/report/daily_time_log_summary/daily_time_log_summary.py
+++ b/projects/report/daily_time_log_summary/daily_time_log_summary.py
@@ -2,27 +2,33 @@
 import webnotes
 
 def execute(filters=None):
-	if not filters: filters = {}
-	columns = ["Employee::150", "From Datetime::120", "To Datetime::120", "Hours::70", "Task::150",
-		"Project:Link/Project:120", "Status::70"]
+	if not filters:
+		filters = {}
+	elif filters.get("to_date"):
+		filters["to_date"] = filters.get("to_date") + "24:00:00"
+	
+	columns = ["Time Log:Link/Time Log:120", "Employee::150", "From Datetime::140", 
+		"To Datetime::140", "Hours::70", "Activity Type::120", "Task:Link/Task:150", 
+		"Task Subject::180", "Project:Link/Project:120", "Status::70"]
 			
 	profile_map = get_profile_map()
+	task_map = get_task_map()
 		
 	conditions = build_conditions(filters)
 	time_logs = webnotes.conn.sql("""select * from `tabTime Log` 
-		where docstatus < 2 %s order by owner asc""" % (conditions,), filters, as_dict=1)
-	
-	data = []
-	profiles = [time_logs[0].owner]
+		where docstatus < 2 %s order by owner asc""" % (conditions, ), filters, as_dict=1)
+
+	data = []	
+	if time_logs:
+		profiles = [time_logs[0].owner]
 		
 	for tl in time_logs:
-		
 		if tl.owner not in profiles:
 			profiles.append(tl.owner)
 			data.append([])
 
-		data.append([profile_map[tl.owner], tl.from_time, tl.to_time, tl.hours, 
-				tl.task, tl.project, tl.status])		
+		data.append([tl.name, profile_map[tl.owner], tl.from_time, tl.to_time, tl.hours, 
+				tl.activity_type, tl.task, task_map.get(tl.task), tl.project, tl.status])
 		
 	return columns, data
 	
@@ -36,11 +42,24 @@
 		
 	return profile_map
 	
+def get_task_map():
+	tasks = webnotes.conn.sql("""select name, subject from tabTask""", as_dict=1)
+	task_map = {}
+	for t in tasks:
+		task_map.setdefault(t.name, []).append(t.subject)
+		
+	return task_map
+	
 def build_conditions(filters):
 	conditions = ""			
 	if filters.get("from_date"):
 		conditions += " and from_time >= %(from_date)s"
 	if filters.get("to_date"):
 		conditions += " and to_time <= %(to_date)s"
+	
+	from webnotes.widgets.reportview import build_match_conditions
+	match_conditions = build_match_conditions("Time Log")
+	if match_conditions:
+		conditions += " and %s" % match_conditions
 		
 	return conditions
\ No newline at end of file
diff --git a/setup/doctype/company/company.js b/setup/doctype/company/company.js
index 463b922..489ed0c 100644
--- a/setup/doctype/company/company.js
+++ b/setup/doctype/company/company.js
@@ -63,46 +63,47 @@
   return 'SELECT `tabAccount`.name FROM `tabAccount` WHERE `tabAccount`.company = "'+doc.name+'" AND `tabAccount`.group_or_ledger = "Group" AND `tabAccount`.docstatus != 2 AND `tabAccount`.%(key)s LIKE "%s" ORDER BY `tabAccount`.name LIMIT 50';
 }
 
-
-cur_frm.fields_dict["stock_in_hand_account"].get_query = function(doc) {
-	return {
-		"query": "accounts.utils.get_account_list", 
-		"filters": {
-			"is_pl_account": "No",
-			"debit_or_credit": "Debit",
-			"company": doc.name
+if (sys_defaults.auto_inventory_accounting) {
+	cur_frm.fields_dict["stock_in_hand_account"].get_query = function(doc) {
+		return {
+			"query": "accounts.utils.get_account_list", 
+			"filters": {
+				"is_pl_account": "No",
+				"debit_or_credit": "Debit",
+				"company": doc.name
+			}
 		}
 	}
-}
 
-cur_frm.fields_dict["stock_adjustment_account"].get_query = function(doc) {
-	return {
-		"query": "accounts.utils.get_account_list", 
-		"filters": {
-			"is_pl_account": "Yes",
-			"debit_or_credit": "Debit",
-			"company": doc.name
+	cur_frm.fields_dict["stock_adjustment_account"].get_query = function(doc) {
+		return {
+			"query": "accounts.utils.get_account_list", 
+			"filters": {
+				"is_pl_account": "Yes",
+				"debit_or_credit": "Debit",
+				"company": doc.name
+			}
 		}
 	}
-}
 
-cur_frm.fields_dict["expenses_included_in_valuation"].get_query = 
-	cur_frm.fields_dict["stock_adjustment_account"].get_query;
-	
-cur_frm.fields_dict["stock_received_but_not_billed"].get_query = function(doc) {
-	return {
-		"query": "accounts.utils.get_account_list", 
-		"filters": {
-			"is_pl_account": "No",
-			"debit_or_credit": "Credit",
-			"company": doc.name
+	cur_frm.fields_dict["expenses_included_in_valuation"].get_query = 
+		cur_frm.fields_dict["stock_adjustment_account"].get_query;
+
+	cur_frm.fields_dict["stock_received_but_not_billed"].get_query = function(doc) {
+		return {
+			"query": "accounts.utils.get_account_list", 
+			"filters": {
+				"is_pl_account": "No",
+				"debit_or_credit": "Credit",
+				"company": doc.name
+			}
 		}
 	}
-}
 
-cur_frm.fields_dict["stock_adjustment_cost_center"].get_query = function(doc) {
-	return {
-		"query": "accounts.utils.get_cost_center_list", 
-		"filters": {"company_name": doc.name}
+	cur_frm.fields_dict["stock_adjustment_cost_center"].get_query = function(doc) {
+		return {
+			"query": "accounts.utils.get_cost_center_list", 
+			"filters": {"company": doc.name}
+		}
 	}
 }
\ No newline at end of file
diff --git a/stock/DocType Mapper/Delivery Note-Packing Slip/Delivery Note-Packing Slip.txt b/stock/DocType Mapper/Delivery Note-Packing Slip/Delivery Note-Packing Slip.txt
index 6459a0b..79b17c2 100644
--- a/stock/DocType Mapper/Delivery Note-Packing Slip/Delivery Note-Packing Slip.txt
+++ b/stock/DocType Mapper/Delivery Note-Packing Slip/Delivery Note-Packing Slip.txt
@@ -1,71 +1,78 @@
 [
  {
-  "owner": "Administrator", 
+  "creation": "2012-02-02 11:50:33", 
   "docstatus": 0, 
-  "creation": "2012-02-22 15:45:56", 
+  "modified": "2013-04-05 16:08:22", 
   "modified_by": "Administrator", 
-  "modified": "2012-02-22 15:45:56"
+  "owner": "Administrator"
  }, 
  {
-  "name": "__common__", 
-  "parent": "Delivery Note-Packing Slip", 
   "doctype": "Table Mapper Detail", 
-  "parenttype": "DocType Mapper", 
-  "parentfield": "table_mapper_details"
- }, 
- {
   "name": "__common__", 
   "parent": "Delivery Note-Packing Slip", 
+  "parentfield": "table_mapper_details", 
+  "parenttype": "DocType Mapper"
+ }, 
+ {
   "doctype": "Field Mapper Detail", 
-  "parenttype": "DocType Mapper", 
-  "parentfield": "field_mapper_details"
- }, 
- {
   "name": "__common__", 
-  "to_doctype": "Packing Slip", 
-  "module": "Stock", 
+  "parent": "Delivery Note-Packing Slip", 
+  "parentfield": "field_mapper_details", 
+  "parenttype": "DocType Mapper"
+ }, 
+ {
   "doctype": "DocType Mapper", 
+  "from_doctype": "Delivery Note", 
+  "module": "Stock", 
+  "name": "__common__", 
   "ref_doc_submitted": 0, 
-  "from_doctype": "Delivery Note"
+  "to_doctype": "Packing Slip"
  }, 
  {
-  "name": "Delivery Note-Packing Slip", 
-  "doctype": "DocType Mapper"
+  "doctype": "DocType Mapper", 
+  "name": "Delivery Note-Packing Slip"
  }, 
  {
+  "doctype": "Field Mapper Detail", 
+  "from_field": "name", 
   "map": "Yes", 
   "match_id": 0, 
-  "to_field": "delivery_note", 
-  "doctype": "Field Mapper Detail", 
-  "from_field": "name"
+  "to_field": "delivery_note"
  }, 
  {
+  "doctype": "Field Mapper Detail", 
+  "from_field": "qty", 
   "map": "No", 
   "match_id": 1, 
-  "to_field": "qty", 
-  "doctype": "Field Mapper Detail", 
-  "from_field": "qty"
+  "to_field": "qty"
  }, 
  {
+  "doctype": "Field Mapper Detail", 
+  "from_field": "naming_series", 
   "map": "No", 
   "match_id": 0, 
-  "to_field": "naming_series", 
-  "doctype": "Field Mapper Detail", 
-  "from_field": "naming_series"
+  "to_field": "naming_series"
  }, 
  {
-  "match_id": 0, 
+  "doctype": "Field Mapper Detail", 
+  "from_field": "name", 
+  "map": "Yes", 
+  "match_id": 1, 
+  "to_field": "dn_detail"
+ }, 
+ {
   "doctype": "Table Mapper Detail", 
   "from_table": "Delivery Note", 
+  "match_id": 0, 
   "to_table": "Packing Slip", 
   "validation_logic": "docstatus=0"
  }, 
  {
-  "match_id": 1, 
-  "to_field": "item_details", 
   "doctype": "Table Mapper Detail", 
   "from_field": "delivery_note_details", 
   "from_table": "Delivery Note Item", 
+  "match_id": 1, 
+  "to_field": "item_details", 
   "to_table": "Packing Slip Item", 
   "validation_logic": "IFNULL(packed_qty, 0) < IFNULL(qty, 0)"
  }
diff --git a/stock/doctype/delivery_note/delivery_note.js b/stock/doctype/delivery_note/delivery_note.js
index 8870832..f47040d 100644
--- a/stock/doctype/delivery_note/delivery_note.js
+++ b/stock/doctype/delivery_note/delivery_note.js
@@ -315,33 +315,36 @@
 	}
 }
 
-cur_frm.cscript.expense_account = function(doc, cdt, cdn){
-	var d = locals[cdt][cdn];
-	if(d.expense_account) {
-		var cl = getchildren('Delivery Note Item', doc.name, cur_frm.cscript.fname, doc.doctype);
-		for(var i = 0; i < cl.length; i++){
-			if(!cl[i].expense_account) cl[i].expense_account = d.expense_account;
+if (sys_defaults.auto_inventory_accounting) {
+
+	cur_frm.cscript.expense_account = function(doc, cdt, cdn){
+		var d = locals[cdt][cdn];
+		if(d.expense_account) {
+			var cl = getchildren('Delivery Note Item', doc.name, cur_frm.cscript.fname, doc.doctype);
+			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);
+	}
+
+	// expense account
+	cur_frm.fields_dict['delivery_note_details'].grid.get_field('expense_account').get_query = function(doc) {
+		return {
+			"query": "accounts.utils.get_account_list", 
+			"filters": {
+				"is_pl_account": "Yes",
+				"debit_or_credit": "Debit",
+				"company": doc.company
+			}
 		}
 	}
-	refresh_field(cur_frm.cscript.fname);
-}
 
-// expense account
-cur_frm.fields_dict['delivery_note_details'].grid.get_field('expense_account').get_query = function(doc) {
-	return {
-		"query": "accounts.utils.get_account_list", 
-		"filters": {
-			"is_pl_account": "Yes",
-			"debit_or_credit": "Debit",
-			"company": doc.company
+	// cost center
+	cur_frm.fields_dict.delivery_note_details.grid.get_field("cost_center").get_query = function(doc) {
+		return {
+			query: "accounts.utils.get_cost_center_list",
+			filters: { company_name: doc.company}
 		}
 	}
-}
-
-// cost center
-cur_frm.fields_dict.delivery_note_details.grid.get_field("cost_center").get_query = function(doc) {
-	return {
-		query: "accounts.utils.get_cost_center_list",
-		filters: { company_name: doc.company}
-	}
 }
\ No newline at end of file
diff --git a/stock/doctype/item/item.py b/stock/doctype/item/item.py
index 5d52f84..55a0ae7 100644
--- a/stock/doctype/item/item.py
+++ b/stock/doctype/item/item.py
@@ -40,7 +40,7 @@
 		self.update_website()
 			
 		bin = sql("select stock_uom from `tabBin` where item_code = '%s' " % self.doc.item_code)
-		if bin and cstr(bin[0][0]) != cstr(self.doc.stock_uom):
+		if bin and cstr(bin[0][0]) and cstr(bin[0][0]) != cstr(self.doc.stock_uom):
 			msgprint("Please Update Stock UOM with the help of Stock UOM Replace Utility.")
 			raise Exception
 		check_list = []
@@ -181,7 +181,8 @@
 		self.check_item_tax()
 		self.validate_barcode()
 		self.check_non_asset_warehouse()
-
+		self.cant_change()
+		
 		if cstr(self.doc.is_manufactured_item) == "No":
 			self.doc.is_pro_applicable = "No"
 
@@ -193,9 +194,7 @@
 
 		if self.doc.name:
 			self.old_page_name = webnotes.conn.get_value('Item', self.doc.name, 'page_name')
-			
-		self.validate_is_stock_item()
-					
+								
 	def check_non_asset_warehouse(self):
 		if self.doc.is_asset_item == "Yes":
 			existing_qty = sql("select t1.warehouse, t1.actual_qty from tabBin t1, tabWarehouse t2 where t1.item_code=%s and (t2.warehouse_type!='Fixed Asset' or t2.warehouse_type is null) and t1.warehouse=t2.name and t1.actual_qty > 0", self.doc.name)
@@ -215,14 +214,6 @@
 		}
 		return ret
 		
-	def validate_is_stock_item(self):
-		if not self.doc.fields.get("__islocal"):
-			if webnotes.conn.get_value("Item", self.doc.name, "is_stock_item")=="Yes" and \
-				((not self.doc.is_stock_item) or self.doc.is_stock_item == "No"):
-					if self.check_if_sle_exists() == "exists":
-						webnotes.msgprint(self.meta.get_label("is_stock_item") + ": " 
-							+ _("""Cannot change to Yes. Reason: Stock Ledger Entries exist for""")
-							+ """ "%s" """ % self.doc.name, raise_exception=True)
 
 	def check_if_sle_exists(self):
 		sle = sql("select name from `tabStock Ledger Entry` where item_code = %s and ifnull(is_cancelled, 'No') = 'No'", self.doc.name)
@@ -242,3 +233,16 @@
 		if self.doc.slideshow:
 			from website.helpers.slideshow import get_slideshow
 			get_slideshow(self)
+	
+	def cant_change(self):
+		if not self.doc.fields.get("__islocal"):
+			vals = webnotes.conn.get_value("Item", self.doc.name, 
+				["has_serial_no", "is_stock_item", "valuation_method"], as_dict=True)
+			
+			if vals and (vals.has_serial_no != self.doc.has_serial_no or 
+				vals.is_stock_item != self.doc.is_stock_item or 
+				vals.valuation_method != self.doc.valuation_method):
+					if self.check_if_sle_exists():
+						webnotes.msgprint(_("As there are existing stock transactions for this \
+							item, you can not change the values of 'Has Serial No', \
+							'Is Stock Item' and 'Valuation Method'"), raise_exception=1)
diff --git a/stock/doctype/packing_slip/packing_slip.js b/stock/doctype/packing_slip/packing_slip.js
index e9396d9..4c20289 100644
--- a/stock/doctype/packing_slip/packing_slip.js
+++ b/stock/doctype/packing_slip/packing_slip.js
@@ -35,7 +35,6 @@
 cur_frm.add_fetch("item_code", "weight_uom", "weight_uom");
 
 cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) {
-	console.log(make_doclist(cdt, cdn));
 	if(doc.delivery_note && doc.__islocal) {
 		var ps_detail = getchildren('Packing Slip Item', doc.name, 'item_details');
 		if(!(flt(ps_detail.net_weight) && cstr(ps_detail.weight_uom))) {
@@ -100,7 +99,7 @@
 cur_frm.cscript.validate_duplicate_items = function(doc, ps_detail) {
 	for(var i=0; i<ps_detail.length; i++) {
 		for(var j=0; j<ps_detail.length; j++) {
-			if(i!=j && ps_detail[i].item_code==ps_detail[j].item_code) {
+			if(i!=j && ps_detail[i].dn_detail && ps_detail[i].dn_detail==ps_detail[j].dn_detail) {
 				msgprint("You have entered duplicate items. Please rectify and try again.");
 				validated = false;
 				return;
diff --git a/stock/doctype/packing_slip/packing_slip.py b/stock/doctype/packing_slip/packing_slip.py
index 72682b2..fb2fd53 100644
--- a/stock/doctype/packing_slip/packing_slip.py
+++ b/stock/doctype/packing_slip/packing_slip.py
@@ -128,6 +128,7 @@
 		"""
 		item['recommended_qty'] = (flt(item['qty']) - flt(item['packed_qty'])) / no_of_cases
 		item['specified_qty'] = flt(ps_item_qty[item['item_code']])
+		if not item['packed_qty']: item['packed_qty'] = 0
 		
 		webnotes.msgprint("""
 			Invalid Quantity specified (%(specified_qty)s %(stock_uom)s).
diff --git a/stock/doctype/packing_slip/packing_slip.txt b/stock/doctype/packing_slip/packing_slip.txt
index ac25189..32ac16b 100644
--- a/stock/doctype/packing_slip/packing_slip.txt
+++ b/stock/doctype/packing_slip/packing_slip.txt
@@ -1,8 +1,8 @@
 [
  {
-  "creation": "2013-01-10 16:34:28", 
+  "creation": "2013-03-07 18:50:31", 
   "docstatus": 0, 
-  "modified": "2013-01-22 14:56:40", 
+  "modified": "2013-04-05 15:40:59", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -48,12 +48,14 @@
   "doctype": "DocField", 
   "fieldname": "packing_slip_details", 
   "fieldtype": "Section Break", 
-  "label": "Packing Slip Items"
+  "label": "Packing Slip Items", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "column_break0", 
-  "fieldtype": "Column Break"
+  "fieldtype": "Column Break", 
+  "read_only": 0
  }, 
  {
   "description": "Indicates that the package is a part of this delivery", 
@@ -62,12 +64,14 @@
   "fieldtype": "Link", 
   "label": "Delivery Note", 
   "options": "Delivery Note", 
+  "read_only": 0, 
   "reqd": 1
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "column_break1", 
-  "fieldtype": "Column Break"
+  "fieldtype": "Column Break", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
@@ -77,17 +81,20 @@
   "no_copy": 0, 
   "options": "PS", 
   "print_hide": 1, 
+  "read_only": 0, 
   "reqd": 1
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "section_break0", 
-  "fieldtype": "Section Break"
+  "fieldtype": "Section Break", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "column_break2", 
-  "fieldtype": "Column Break"
+  "fieldtype": "Column Break", 
+  "read_only": 0
  }, 
  {
   "description": "Identification of the package for the delivery (for print)", 
@@ -96,13 +103,15 @@
   "fieldtype": "Data", 
   "label": "From Package No.", 
   "no_copy": 1, 
+  "read_only": 0, 
   "reqd": 1, 
   "width": "50px"
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "column_break3", 
-  "fieldtype": "Column Break"
+  "fieldtype": "Column Break", 
+  "read_only": 0
  }, 
  {
   "description": "If more than one package of the same type (for print)", 
@@ -111,26 +120,30 @@
   "fieldtype": "Data", 
   "label": "To Package No.", 
   "no_copy": 1, 
+  "read_only": 0, 
   "width": "50px"
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "package_item_details", 
   "fieldtype": "Section Break", 
-  "label": "Package Item Details"
+  "label": "Package Item Details", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "item_details", 
   "fieldtype": "Table", 
   "label": "Items", 
-  "options": "Packing Slip Item"
+  "options": "Packing Slip Item", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "package_weight_details", 
   "fieldtype": "Section Break", 
-  "label": "Package Weight Details"
+  "label": "Package Weight Details", 
+  "read_only": 0
  }, 
  {
   "description": "The net weight of this package. (calculated automatically as sum of net weight of items)", 
@@ -144,15 +157,17 @@
  {
   "doctype": "DocField", 
   "fieldname": "net_weight_uom", 
-  "fieldtype": "Data", 
+  "fieldtype": "Link", 
   "label": "Net Weight UOM", 
   "no_copy": 1, 
+  "options": "UOM", 
   "read_only": 1
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "column_break4", 
-  "fieldtype": "Column Break"
+  "fieldtype": "Column Break", 
+  "read_only": 0
  }, 
  {
   "description": "The gross weight of the package. Usually net weight + packaging material weight. (for print)", 
@@ -160,7 +175,8 @@
   "fieldname": "gross_weight_pkg", 
   "fieldtype": "Float", 
   "label": "Gross Weight", 
-  "no_copy": 1
+  "no_copy": 1, 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
@@ -168,13 +184,15 @@
   "fieldtype": "Link", 
   "label": "Gross Weight UOM", 
   "no_copy": 1, 
-  "options": "UOM"
+  "options": "UOM", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "misc_details", 
   "fieldtype": "Section Break", 
-  "label": "Misc Details"
+  "label": "Misc Details", 
+  "read_only": 0
  }, 
  {
   "doctype": "DocField", 
@@ -194,7 +212,8 @@
   "fieldtype": "Date", 
   "label": "Amendment Date", 
   "no_copy": 1, 
-  "print_hide": 1
+  "print_hide": 1, 
+  "read_only": 0
  }, 
  {
   "doctype": "DocPerm", 
diff --git a/stock/doctype/packing_slip_item/packing_slip_item.txt b/stock/doctype/packing_slip_item/packing_slip_item.txt
index 40ff066..a9d2fdf 100644
--- a/stock/doctype/packing_slip_item/packing_slip_item.txt
+++ b/stock/doctype/packing_slip_item/packing_slip_item.txt
@@ -1,8 +1,8 @@
 [
  {
-  "creation": "2013-02-22 01:28:02", 
+  "creation": "2013-03-07 11:42:59", 
   "docstatus": 0, 
-  "modified": "2013-03-07 07:03:26", 
+  "modified": "2013-04-05 16:06:40", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -32,6 +32,7 @@
   "label": "Item Code", 
   "options": "Item", 
   "print_width": "100px", 
+  "read_only": 0, 
   "reqd": 1, 
   "width": "100px"
  }, 
@@ -50,6 +51,7 @@
   "fieldtype": "Float", 
   "label": "Quantity", 
   "print_width": "100px", 
+  "read_only": 0, 
   "reqd": 1, 
   "width": "100px"
  }, 
@@ -85,6 +87,14 @@
   "doctype": "DocField", 
   "fieldname": "page_break", 
   "fieldtype": "Check", 
-  "label": "Page Break"
+  "label": "Page Break", 
+  "read_only": 0
+ }, 
+ {
+  "doctype": "DocField", 
+  "fieldname": "dn_detail", 
+  "fieldtype": "Data", 
+  "hidden": 1, 
+  "label": "DN Detail"
  }
 ]
\ No newline at end of file
diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.js b/stock/doctype/stock_reconciliation/stock_reconciliation.js
index a115364..cf6821e 100644
--- a/stock/doctype/stock_reconciliation/stock_reconciliation.js
+++ b/stock/doctype/stock_reconciliation/stock_reconciliation.js
@@ -41,16 +41,17 @@
 	
 	setup: function() {
 		var me = this;
+		if (sys_defaults.auto_inventory_accounting) {
+			this.frm.add_fetch("company", "stock_adjustment_account", "expense_account");
 		
-		this.frm.add_fetch("company", "stock_adjustment_account", "expense_account");
-		
-		this.frm.fields_dict["expense_account"].get_query = function() {
-			return {
-				"query": "accounts.utils.get_account_list", 
-				"filters": {
-					"is_pl_account": "Yes",
-					"debit_or_credit": "Debit",
-					"company": me.frm.doc.company
+			this.frm.fields_dict["expense_account"].get_query = function() {
+				return {
+					"query": "accounts.utils.get_account_list", 
+					"filters": {
+						"is_pl_account": "Yes",
+						"debit_or_credit": "Debit",
+						"company": me.frm.doc.company
+					}
 				}
 			}
 		}
@@ -67,7 +68,7 @@
 					attach the modified file.");
 			}
 		} else if(this.frm.doc.docstatus == 1) {
-			this.frm.set_intro("Cancelling this Stock Reconciliation will nullify it's effect.");
+			this.frm.set_intro("Cancelling this Stock Reconciliation will nullify its effect.");
 			this.show_stock_ledger();
 		} else {
 			this.frm.set_intro("");
