diff --git a/accounts/doctype/mis_control/mis_control.py b/accounts/doctype/mis_control/mis_control.py
index a860c82..953fed0 100644
--- a/accounts/doctype/mis_control/mis_control.py
+++ b/accounts/doctype/mis_control/mis_control.py
@@ -53,11 +53,8 @@
 		ret['period'] = ['Annual','Half Yearly','Quarterly','Monthly']
 		
 		# ---- get companies ---------
-		res = sql("select name from `tabCompany`")
-		for r in res:
-			comp.append(r[0])
-		#comp.append(r[0] for r in res)
-		ret['company'] = comp
+		from accounts.page.accounts_browser.accounts_browser import get_companies
+		ret['company'] = get_companies()
 
 		#--- to get fiscal year and start_date of that fiscal year -----
 		res = sql("select name, year_start_date from `tabFiscal Year`")
diff --git a/accounts/page/accounts_home/accounts_home.js b/accounts/page/accounts_home/accounts_home.js
index 7e04ca9..237b51f 100644
--- a/accounts/page/accounts_home/accounts_home.js
+++ b/accounts/page/accounts_home/accounts_home.js
@@ -146,6 +146,11 @@
 				"label":wn._("Financial Analytics"),
 				page: "financial-analytics"
 			},
+			{
+				"label":wn._("Trend Analyzer"),
+				route: "Report/Profile/Trend Analyzer",
+				doctype: "Sales Invoice"
+			},
 		]
 	},
 	{
diff --git a/accounts/search_criteria/creditors_ledger/creditors_ledger.txt b/accounts/search_criteria/creditors_ledger/creditors_ledger.txt
index 12134e1..7f44ab4c 100644
--- a/accounts/search_criteria/creditors_ledger/creditors_ledger.txt
+++ b/accounts/search_criteria/creditors_ledger/creditors_ledger.txt
@@ -4,7 +4,7 @@
   "docstatus": 0, 
   "creation": "2012-05-14 18:05:41", 
   "modified_by": "nabin@erpnext.com", 
-  "modified": "2012-12-06 11:36:09"
+  "modified": "2012-12-06 11:36:10"
  }, 
  {
   "custom_query": null, 
@@ -18,7 +18,7 @@
   "name": "__common__", 
   "doctype": "Search Criteria", 
   "sort_by": "`tabGL Entry`.`name`", 
-  "criteria_name": "Creditor's Ledger"
+  "criteria_name": "Creditors Ledger"
  }, 
  {
   "name": "creditors_ledger", 
diff --git a/accounts/search_criteria/debtors_ledger/debtors_ledger.txt b/accounts/search_criteria/debtors_ledger/debtors_ledger.txt
index a868003..e04492f 100644
--- a/accounts/search_criteria/debtors_ledger/debtors_ledger.txt
+++ b/accounts/search_criteria/debtors_ledger/debtors_ledger.txt
@@ -4,7 +4,7 @@
   "docstatus": 0, 
   "creation": "2012-05-14 18:05:42", 
   "modified_by": "nabin@erpnext.com", 
-  "modified": "2012-12-06 11:37:15"
+  "modified": "2012-12-06 11:37:16"
  }, 
  {
   "custom_query": null, 
@@ -18,7 +18,7 @@
   "name": "__common__", 
   "doctype": "Search Criteria", 
   "sort_by": "`tabGL Entry`.`name`", 
-  "criteria_name": "Debtor's Ledger"
+  "criteria_name": "Debtors Ledger"
  }, 
  {
   "name": "debtors_ledger", 
diff --git a/buying/page/buying_home/buying_home.js b/buying/page/buying_home/buying_home.js
index e46a77c..0924ba3 100644
--- a/buying/page/buying_home/buying_home.js
+++ b/buying/page/buying_home/buying_home.js
@@ -97,6 +97,11 @@
 				"label":wn._("Purchase Analytics"),
 				page: "purchase-analytics"
 			},
+			{
+				"label":wn._("Trend Analyzer"),
+				route: "Report/Profile/Trend Analyzer",
+				doctype: "Purchase Order"
+			},
 		]
 	},
 ]
diff --git a/home/page/latest_updates/latest_updates.js b/home/page/latest_updates/latest_updates.js
index 6bbfca1..f5561ab 100644
--- a/home/page/latest_updates/latest_updates.js
+++ b/home/page/latest_updates/latest_updates.js
@@ -1,6 +1,7 @@
 erpnext.updates = [
 	["10th January 2013", [
-		"New module pages with open item count and multi-lingual."
+		"Modules: New module pages with open item count and multi-lingual.",
+		"Permissions: Added new 'Report' permission. Only users with report permissions will be allowed.",
 	]],
 	["7th January 2013", [
 		"Language (backend): Integrated language libraries."]],
diff --git a/patches/january_2013/give_report_permission_on_read.py b/patches/january_2013/give_report_permission_on_read.py
new file mode 100644
index 0000000..d9496fb
--- /dev/null
+++ b/patches/january_2013/give_report_permission_on_read.py
@@ -0,0 +1,4 @@
+import webnotes
+def execute():
+	webnotes.conn.sql("""update tabDocPerm set `report`=`read`
+		where ifnull(permlevel,0)=0""")
diff --git a/patches/january_2013/report_permission.py b/patches/january_2013/report_permission.py
new file mode 100644
index 0000000..8f90e87
--- /dev/null
+++ b/patches/january_2013/report_permission.py
@@ -0,0 +1,14 @@
+import webnotes
+def execute():
+	webnotes.reload_doc("core", "doctype", "docperm")
+	webnotes.conn.sql("""update tabDocPerm set `report`=`read`""")
+
+	# no report for singles
+	webnotes.conn.sql("""update tabDocPerm, tabDocType set tabDocPerm.`report`=0
+		where tabDocPerm.`parent` = tabDocType.name
+		and ifnull(tabDocType.issingle,0) = 1""")
+
+	# no submit for not submittables
+	webnotes.conn.sql("""update tabDocPerm, tabDocType set tabDocPerm.`submit`=0
+		where tabDocPerm.`parent` = tabDocType.name
+		and ifnull(tabDocType.is_submittable,0) = 0""")		
\ No newline at end of file
diff --git a/patches/patch_list.py b/patches/patch_list.py
index e842e16..0b6c3f8 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -586,4 +586,12 @@
 		'patch_module': 'patches.january_2013',
 		'patch_file': 'stock_reconciliation_patch',
 	},
+	{
+		'patch_module': 'patches.january_2013',
+		'patch_file': 'report_permission',
+	},
+	{
+		'patch_module': 'patches.january_2013',
+		'patch_file': 'give_report_permission_on_read',
+	},
 ]
\ No newline at end of file
diff --git a/public/build.json b/public/build.json
index e616b59..121d333 100644
--- a/public/build.json
+++ b/public/build.json
@@ -15,6 +15,7 @@
 		"app/public/js/modules.js",
 		"app/public/js/toolbar.js",
 		"app/public/js/feature_setup.js",
-		"app/public/js/utils.js"
+		"app/public/js/utils.js",
+		"app/public/js/queries.js"
 	],
 }
\ No newline at end of file
diff --git a/public/js/queries.js b/public/js/queries.js
new file mode 100644
index 0000000..a6a79b5
--- /dev/null
+++ b/public/js/queries.js
@@ -0,0 +1,165 @@
+// ERPNext - web based ERP (http://erpnext.com)
+// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
+// 
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+// searches for enabled profiles
+erpnext.utils.profile_query = function() {
+	return "select name, concat_ws(' ', first_name, middle_name, last_name) \
+		from `tabProfile` where ifnull(enabled, 0)=1 and docstatus < 2 and \
+		name not in ('Administrator', 'Guest') and (%(key)s like \"%s\" or \
+		concat_ws(' ', first_name, middle_name, last_name) like \"%%%s\") \
+		order by \
+		case when name like \"%s%%\" then 0 else 1 end, \
+		case when concat_ws(' ', first_name, middle_name, last_name) like \"%s%%\" \
+			then 0 else 1 end, \
+		name asc limit 50";
+};
+
+// searches for active employees
+erpnext.utils.employee_query = function() {
+	return "select name, employee_name from `tabEmployee` \
+		where status = 'Active' and docstatus < 2 and \
+		(%(key)s like \"%s\" or employee_name like \"%%%s\") \
+		order by \
+		case when name like \"%s%%\" then 0 else 1 end, \
+		case when employee_name like \"%s%%\" then 0 else 1 end, \
+		name limit 50";
+};
+
+// searches for leads which are not converted
+erpnext.utils.lead_query = function() {
+	return "select name, lead_name, company_name from `tabLead` \
+		where docstatus < 2 and ifnull(status, '') != 'Converted' and \
+		(%(key)s like \"%s\" or lead_name like \"%%%s\" or company_name like \"%%%s\") \
+		order by \
+		case when name like \"%s%%\" then 0 else 1 end, \
+		case when lead_name like \"%s%%\" then 0 else 1 end, \
+		case when company_name like \"%s%%\" then 0 else 1 end, \
+		lead_name asc limit 50";
+};
+
+// searches for customer
+erpnext.utils.customer_query = function() {
+	if(sys_defaults.cust_master_name == "Customer Name") {
+		var fields = ["name", "customer_group", "country", "territory"];
+	} else {
+		var fields = ["name", "customer_name", "customer_group", "country", "territory"];
+	}
+	
+	return "select " + fields.join(", ") + " from `tabCustomer` where docstatus < 2 and \
+		(%(key)s like \"%s\" or customer_name like \"%%%s\") \
+		order by \
+		case when name like \"%s%%\" then 0 else 1 end, \
+		case when customer_name like \"%s%%\" then 0 else 1 end, \
+		name, customer_name limit 50";
+};
+
+// searches for supplier
+erpnext.utils.supplier_query = function() {
+	if(sys_defaults.supp_master_name == "Supplier Name") {
+		var fields = ["name", "supplier_type"];
+	} else {
+		var fields = ["name", "supplier_name", "supplier_type"];
+	}
+	
+	return "select " + fields.join(", ") + " from `tabSupplier` where docstatus < 2 and \
+		(%(key)s like \"%s\" or supplier_name like \"%%%s\") \
+		order by \
+		case when name like \"%s%%\" then 0 else 1 end, \
+		case when supplier_name like \"%s%%\" then 0 else 1 end, \
+		name, supplier_name limit 50";
+};
+
+wn.provide("erpnext.queries");
+
+erpnext.queries.get_conditions = function(doctype, opts) {
+	conditions = [];
+	if (opts) {
+		$.each(opts, function(key, val) {
+			var lhs = "`tab" + doctype + "`.`" + key + "`";
+			
+			if(key.indexOf(doctype)!=-1) {
+				// with function
+				lhs = key;
+			}
+			
+			if (esc_quotes(val).charAt(0) != "!")
+				conditions.push(lhs + "='"+esc_quotes(val)+"'");
+			else
+				conditions.push(lhs + "!='"+esc_quotes(val).substr(1)+"'");
+		});
+	}
+	return conditions;
+}
+
+erpnext.queries.account = function(opts) {
+	if(!opts) 
+		opts = {};
+	if(!opts.group_or_ledger) 
+		opts.group_or_ledger = "Ledger";
+		
+	var conditions = erpnext.queries.get_conditions("Account", opts);
+	
+	return 'SELECT tabAccount.name, tabAccount.parent_account, tabAccount.debit_or_credit \
+		FROM tabAccount \
+		WHERE tabAccount.docstatus!=2 \
+		AND tabAccount.%(key)s LIKE "%s" ' + (conditions 
+			? (" AND " + conditions.join(" AND "))
+			: "")
+		+ " LIMIT 50"
+}
+
+erpnext.queries.item = function(opts) {
+	var conditions = erpnext.queries.get_conditions("Item", opts);
+	
+	return 'SELECT tabItem.name, \
+		if(length(tabItem.item_name) > 40, \
+			concat(substr(tabItem.item_name, 1, 40), "..."), item_name) as item_name, \
+		if(length(tabItem.description) > 40, \
+			concat(substr(tabItem.description, 1, 40), "..."), description) as decription \
+		FROM tabItem \
+		WHERE tabItem.docstatus!=2 \
+		AND (ifnull(`tabItem`.`end_of_life`,"") in ("", "0000-00-00") \
+			OR `tabItem`.`end_of_life` > NOW()) \
+		AND tabItem.%(key)s LIKE "%s" ' + (conditions 
+			? (" AND " + conditions.join(" AND "))
+			: "")
+		+ " LIMIT 50"
+}
+
+erpnext.queries.item_std = function() {
+	return 'SELECT tabItem.name, \
+		if(length(tabItem.item_name) > 40, \
+			concat(substr(tabItem.item_name, 1, 40), "..."), item_name) as item_name, \
+		if(length(tabItem.description) > 40, \
+			concat(substr(tabItem.description, 1, 40), "..."), description) as decription \
+		FROM tabItem \
+		WHERE tabItem.docstatus!=2 \
+		AND tabItem.%(key)s LIKE "%s" LIMIT 50';
+}
+
+erpnext.queries.bom = function(opts) {
+	var conditions = erpnext.queries.get_conditions("BOM", opts);
+	
+	return 'SELECT tabBOM.name, tabBOM.item \
+		FROM tabBOM \
+		WHERE tabBOM.docstatus=1 \
+		AND tabBOM.is_active=1 \
+		AND tabBOM.%(key)s LIKE "%s" ' + (conditions.length 
+			? (" AND " + conditions.join(" AND "))
+			: "")
+		+ " LIMIT 50"
+
+}
\ No newline at end of file
diff --git a/public/js/utils.js b/public/js/utils.js
index aa65d1a..fe79248 100644
--- a/public/js/utils.js
+++ b/public/js/utils.js
@@ -42,143 +42,4 @@
 	refresh: function() {
 		erpnext.hide_naming_series();
 	}
-});
-
-// searches for enabled profiles
-erpnext.utils.profile_query = function() {
-	return "select name, concat_ws(' ', first_name, middle_name, last_name) \
-		from `tabProfile` where ifnull(enabled, 0)=1 and docstatus < 2 and \
-		name not in ('Administrator', 'Guest') and (%(key)s like \"%s\" or \
-		concat_ws(' ', first_name, middle_name, last_name) like \"%%%s\") \
-		order by \
-		case when name like \"%s%%\" then 0 else 1 end, \
-		case when concat_ws(' ', first_name, middle_name, last_name) like \"%s%%\" \
-			then 0 else 1 end, \
-		name asc limit 50";
-};
-
-// searches for active employees
-erpnext.utils.employee_query = function() {
-	return "select name, employee_name from `tabEmployee` \
-		where status = 'Active' and docstatus < 2 and \
-		(%(key)s like \"%s\" or employee_name like \"%%%s\") \
-		order by \
-		case when name like \"%s%%\" then 0 else 1 end, \
-		case when employee_name like \"%s%%\" then 0 else 1 end, \
-		name limit 50";
-};
-
-// searches for leads which are not converted
-erpnext.utils.lead_query = function() {
-	return "select name, lead_name, company_name from `tabLead` \
-		where docstatus < 2 and ifnull(status, '') != 'Converted' and \
-		(%(key)s like \"%s\" or lead_name like \"%%%s\" or company_name like \"%%%s\") \
-		order by \
-		case when name like \"%s%%\" then 0 else 1 end, \
-		case when lead_name like \"%s%%\" then 0 else 1 end, \
-		case when company_name like \"%s%%\" then 0 else 1 end, \
-		lead_name asc limit 50";
-};
-
-// searches for customer
-erpnext.utils.customer_query = function() {
-	if(sys_defaults.cust_master_name == "Customer Name") {
-		var fields = ["name", "customer_group", "country", "territory"];
-	} else {
-		var fields = ["name", "customer_name", "customer_group", "country", "territory"];
-	}
-	
-	return "select " + fields.join(", ") + " from `tabCustomer` where docstatus < 2 and \
-		(%(key)s like \"%s\" or customer_name like \"%%%s\") \
-		order by \
-		case when name like \"%s%%\" then 0 else 1 end, \
-		case when customer_name like \"%s%%\" then 0 else 1 end, \
-		name, customer_name limit 50";
-};
-
-// searches for supplier
-erpnext.utils.supplier_query = function() {
-	if(sys_defaults.supp_master_name == "Supplier Name") {
-		var fields = ["name", "supplier_type"];
-	} else {
-		var fields = ["name", "supplier_name", "supplier_type"];
-	}
-	
-	return "select " + fields.join(", ") + " from `tabSupplier` where docstatus < 2 and \
-		(%(key)s like \"%s\" or supplier_name like \"%%%s\") \
-		order by \
-		case when name like \"%s%%\" then 0 else 1 end, \
-		case when supplier_name like \"%s%%\" then 0 else 1 end, \
-		name, supplier_name limit 50";
-};
-
-wn.provide("erpnext.queries");
-
-erpnext.queries.get_conditions = function(doctype, opts) {
-	conditions = [];
-	if (opts) {
-		$.each(opts, function(key, val) {
-			var lhs = "`tab" + doctype + "`.`" + key + "`";
-			
-			if(key.indexOf(doctype)!=-1) {
-				// with function
-				lhs = key;
-			}
-			
-			if (esc_quotes(val).charAt(0) != "!")
-				conditions.push(lhs + "='"+esc_quotes(val)+"'");
-			else
-				conditions.push(lhs + "!='"+esc_quotes(val).substr(1)+"'");
-		});
-	}
-	return conditions;
-}
-
-erpnext.queries.account = function(opts) {
-	if(!opts) 
-		opts = {};
-	if(!opts.group_or_ledger) 
-		opts.group_or_ledger = "Ledger";
-		
-	var conditions = erpnext.queries.get_conditions("Account", opts);
-	
-	return 'SELECT tabAccount.name, tabAccount.parent_account, tabAccount.debit_or_credit \
-		FROM tabAccount \
-		WHERE tabAccount.docstatus!=2 \
-		AND tabAccount.%(key)s LIKE "%s" ' + (conditions 
-			? (" AND " + conditions.join(" AND "))
-			: "")
-		+ " LIMIT 50"
-}
-
-erpnext.queries.item = function(opts) {
-	var conditions = erpnext.queries.get_conditions("Item", opts);
-	
-	return 'SELECT tabItem.name, \
-		if(length(tabItem.item_name) > 40, \
-			concat(substr(tabItem.item_name, 1, 40), "..."), item_name) as item_name, \
-		if(length(tabItem.description) > 40, \
-			concat(substr(tabItem.description, 1, 40), "..."), description) as decription \
-		FROM tabItem \
-		WHERE tabItem.docstatus!=2 \
-		AND (ifnull(`tabItem`.`end_of_life`,"") in ("", "0000-00-00") \
-			OR `tabItem`.`end_of_life` > NOW()) \
-		AND tabItem.%(key)s LIKE "%s" ' + (conditions 
-			? (" AND " + conditions.join(" AND "))
-			: "")
-		+ " LIMIT 50"
-}
-
-erpnext.queries.bom = function(opts) {
-	var conditions = erpnext.queries.get_conditions("BOM", opts);
-	
-	return 'SELECT tabBOM.name, tabBOM.item \
-		FROM tabBOM \
-		WHERE tabBOM.docstatus=1 \
-		AND tabBOM.is_active=1 \
-		AND tabBOM.%(key)s LIKE "%s" ' + (conditions.length 
-			? (" AND " + conditions.join(" AND "))
-			: "")
-		+ " LIMIT 50"
-
-}
\ No newline at end of file
+});
\ No newline at end of file
diff --git a/selling/page/selling_home/selling_home.js b/selling/page/selling_home/selling_home.js
index 6f140e9..1ee4695 100644
--- a/selling/page/selling_home/selling_home.js
+++ b/selling/page/selling_home/selling_home.js
@@ -143,6 +143,11 @@
 				"label":wn._("Sales Analytics"),
 				page: "sales-analytics"
 			},
+			{
+				"label":wn._("Trend Analyzer"),
+				route: "Report/Profile/Trend Analyzer",
+				doctype: "Sales Order"
+			},
 		]
 	},
 	{
@@ -151,8 +156,8 @@
 		icon: "icon-list",
 		items: [
 			{
-				"label":wn._("Customer Addresses and Contacts"),
-				route: "query-report/Customer Addresses and Contacts"
+				"label":wn._("Customer Addresses And Contacts"),
+				route: "query-report/Customer Addresses And Contacts"
 			},
 			{
 				"label":wn._("Sales Orders Pending to be Delivered"),
diff --git a/setup/page/setup/setup.js b/setup/page/setup/setup.js
index a54b605..f9c8796 100644
--- a/setup/page/setup/setup.js
+++ b/setup/page/setup/setup.js
@@ -80,7 +80,7 @@
 	},
 	{
 		title: wn._("Branding and Printing"),
-		icon: "icon-printer",
+		icon: "icon-print",
 		right: true,
 		items: [
 			{
diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
index cb88311..e022bb7 100644
--- a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
+++ b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
@@ -15,7 +15,7 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 cur_frm.fields_dict['item_code'].get_query = function(doc) {
- 	return erpnext.queries.item();	
+ 	return erpnext.queries.item_std();	
 }
 
 //==================== Get Items Stock UOM =====================================================
diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
index 9918010..a02758d 100644
--- a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
+++ b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
@@ -73,7 +73,7 @@
 			sql("update `tabBin` set stock_uom = '%s' where item_code = '%s'" % (self.doc.new_stock_uom, self.doc.item_code) )
 
 		# acknowledge user
-		msgprint(" All Bin's Updated Successfully.")
+		msgprint(" All Bins Updated Successfully.")
 			
 	def update_stock_ledger_entry(self):
 		# update stock ledger entry
diff --git a/stock/report/serial_no_service_contract_expiry/serial_no_service_contract_expiry.txt b/stock/report/serial_no_service_contract_expiry/serial_no_service_contract_expiry.txt
index 45e01b9..a4032f2 100644
--- a/stock/report/serial_no_service_contract_expiry/serial_no_service_contract_expiry.txt
+++ b/stock/report/serial_no_service_contract_expiry/serial_no_service_contract_expiry.txt
@@ -2,15 +2,16 @@
  {
   "owner": "Administrator", 
   "docstatus": 0, 
-  "creation": "2013-01-03 18:11:00", 
+  "creation": "2013-01-04 14:04:15", 
   "modified_by": "Administrator", 
-  "modified": "2013-01-03 18:12:28"
+  "modified": "2013-01-14 10:45:46"
  }, 
  {
   "name": "__common__", 
   "ref_doctype": "Serial No", 
   "doctype": "Report", 
-  "json": "{\"filters\":[[\"Serial No\",\"status\",\"=\",\"Delivered\"]],\"columns\":[[\"name\",\"Serial No\"],[\"item_code\",\"Serial No\"],[\"amc_expiry_date\",\"Serial No\"],[\"maintenance_status\",\"Serial No\"],[\"delivery_document_no\",\"Serial No\"],[\"customer\",\"Serial No\"],[\"customer_name\",\"Serial No\"],[\"item_name\",\"Serial No\"],[\"description\",\"Serial No\"],[\"item_group\",\"Serial No\"],[\"brand\",\"Serial No\"]],\"sort_by\":\"Serial No.amc_expiry_date\",\"sort_order\":\"asc\",\"sort_by_next\":\"\",\"sort_order_next\":\"desc\"}"
+  "json": "{\"filters\":[[\"Serial No\",\"status\",\"=\",\"Delivered\"]],\"columns\":[[\"name\",\"Serial No\"],[\"item_code\",\"Serial No\"],[\"amc_expiry_date\",\"Serial No\"],[\"maintenance_status\",\"Serial No\"],[\"delivery_document_no\",\"Serial No\"],[\"customer\",\"Serial No\"],[\"customer_name\",\"Serial No\"],[\"item_name\",\"Serial No\"],[\"description\",\"Serial No\"],[\"item_group\",\"Serial No\"],[\"brand\",\"Serial No\"]],\"sort_by\":\"Serial No.amc_expiry_date\",\"sort_order\":\"asc\",\"sort_by_next\":\"\",\"sort_order_next\":\"desc\"}", 
+  "is_standard": "Yes"
  }, 
  {
   "name": "Serial No Service Contract Expiry", 
diff --git a/stock/report/serial_no_status/serial_no_status.txt b/stock/report/serial_no_status/serial_no_status.txt
index 19db65e..51ef607 100644
--- a/stock/report/serial_no_status/serial_no_status.txt
+++ b/stock/report/serial_no_status/serial_no_status.txt
@@ -2,15 +2,16 @@
  {
   "owner": "Administrator", 
   "docstatus": 0, 
-  "creation": "2013-01-04 12:00:54", 
+  "creation": "2013-01-04 14:04:15", 
   "modified_by": "Administrator", 
-  "modified": "2013-01-04 12:02:29"
+  "modified": "2013-01-14 10:46:03"
  }, 
  {
   "name": "__common__", 
   "ref_doctype": "Serial No", 
   "doctype": "Report", 
-  "json": "{\"filters\":[],\"columns\":[[\"name\",\"Serial No\"],[\"item_code\",\"Serial No\"],[\"warehouse\",\"Serial No\"],[\"status\",\"Serial No\"],[\"item_name\",\"Serial No\"],[\"description\",\"Serial No\"],[\"item_group\",\"Serial No\"],[\"brand\",\"Serial No\"],[\"purchase_document_no\",\"Serial No\"],[\"purchase_date\",\"Serial No\"],[\"customer\",\"Serial No\"],[\"customer_name\",\"Serial No\"],[\"purchase_rate\",\"Serial No\"],[\"delivery_document_no\",\"Serial No\"],[\"delivery_date\",\"Serial No\"],[\"supplier\",\"Serial No\"],[\"supplier_name\",\"Serial No\"]],\"sort_by\":\"Serial No.name\",\"sort_order\":\"desc\",\"sort_by_next\":\"\",\"sort_order_next\":\"desc\"}"
+  "json": "{\"filters\":[],\"columns\":[[\"name\",\"Serial No\"],[\"item_code\",\"Serial No\"],[\"warehouse\",\"Serial No\"],[\"status\",\"Serial No\"],[\"item_name\",\"Serial No\"],[\"description\",\"Serial No\"],[\"item_group\",\"Serial No\"],[\"brand\",\"Serial No\"],[\"purchase_document_no\",\"Serial No\"],[\"purchase_date\",\"Serial No\"],[\"customer\",\"Serial No\"],[\"customer_name\",\"Serial No\"],[\"purchase_rate\",\"Serial No\"],[\"delivery_document_no\",\"Serial No\"],[\"delivery_date\",\"Serial No\"],[\"supplier\",\"Serial No\"],[\"supplier_name\",\"Serial No\"]],\"sort_by\":\"Serial No.name\",\"sort_order\":\"desc\",\"sort_by_next\":\"\",\"sort_order_next\":\"desc\"}", 
+  "is_standard": "Yes"
  }, 
  {
   "name": "Serial No Status", 
diff --git a/stock/report/serial_no_warranty_expiry/serial_no_warranty_expiry.txt b/stock/report/serial_no_warranty_expiry/serial_no_warranty_expiry.txt
index 603e988..ff1e550 100644
--- a/stock/report/serial_no_warranty_expiry/serial_no_warranty_expiry.txt
+++ b/stock/report/serial_no_warranty_expiry/serial_no_warranty_expiry.txt
@@ -2,15 +2,16 @@
  {
   "owner": "Administrator", 
   "docstatus": 0, 
-  "creation": "2013-01-04 13:57:25", 
+  "creation": "2013-01-07 17:43:57", 
   "modified_by": "Administrator", 
-  "modified": "2013-01-07 13:22:26"
+  "modified": "2013-01-14 10:45:58"
  }, 
  {
   "name": "__common__", 
   "ref_doctype": "Serial No", 
   "doctype": "Report", 
-  "json": "{\"filters\":[[\"Serial No\",\"status\",\"=\",\"Delivered\"]],\"columns\":[[\"name\",\"Serial No\"],[\"item_code\",\"Serial No\"],[\"warranty_expiry_date\",\"Serial No\"],[\"warranty_period\",\"Serial No\"],[\"maintenance_status\",\"Serial No\"],[\"purchase_document_no\",\"Serial No\"],[\"purchase_date\",\"Serial No\"],[\"supplier\",\"Serial No\"],[\"supplier_name\",\"Serial No\"],[\"delivery_document_no\",\"Serial No\"],[\"delivery_date\",\"Serial No\"],[\"customer\",\"Serial No\"],[\"customer_name\",\"Serial No\"],[\"item_name\",\"Serial No\"],[\"description\",\"Serial No\"],[\"item_group\",\"Serial No\"],[\"brand\",\"Serial No\"]],\"sort_by\":\"Serial No.warranty_expiry_date\",\"sort_order\":\"asc\",\"sort_by_next\":\"\",\"sort_order_next\":\"asc\"}"
+  "json": "{\"filters\":[[\"Serial No\",\"status\",\"=\",\"Delivered\"]],\"columns\":[[\"name\",\"Serial No\"],[\"item_code\",\"Serial No\"],[\"warranty_expiry_date\",\"Serial No\"],[\"warranty_period\",\"Serial No\"],[\"maintenance_status\",\"Serial No\"],[\"purchase_document_no\",\"Serial No\"],[\"purchase_date\",\"Serial No\"],[\"supplier\",\"Serial No\"],[\"supplier_name\",\"Serial No\"],[\"delivery_document_no\",\"Serial No\"],[\"delivery_date\",\"Serial No\"],[\"customer\",\"Serial No\"],[\"customer_name\",\"Serial No\"],[\"item_name\",\"Serial No\"],[\"description\",\"Serial No\"],[\"item_group\",\"Serial No\"],[\"brand\",\"Serial No\"]],\"sort_by\":\"Serial No.warranty_expiry_date\",\"sort_order\":\"asc\",\"sort_by_next\":\"\",\"sort_order_next\":\"asc\"}", 
+  "is_standard": "Yes"
  }, 
  {
   "name": "Serial No Warranty Expiry", 
diff --git a/stock/report/stock_ledger/__init__.py b/stock/report/stock_ledger/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/stock/report/stock_ledger/__init__.py
diff --git a/stock/report/stock_ledger/stock_ledger.txt b/stock/report/stock_ledger/stock_ledger.txt
index 68f44b7..5184560 100644
--- a/stock/report/stock_ledger/stock_ledger.txt
+++ b/stock/report/stock_ledger/stock_ledger.txt
@@ -2,15 +2,16 @@
  {
   "owner": "Administrator", 
   "docstatus": 0, 
-  "creation": "2012-09-06 18:47:05", 
+  "creation": "2012-12-03 10:31:11", 
   "modified_by": "Administrator", 
-  "modified": "2012-09-06 18:48:22"
+  "modified": "2013-01-14 10:50:15"
  }, 
  {
   "name": "__common__", 
   "ref_doctype": "Stock Ledger Entry", 
   "doctype": "Report", 
-  "json": "{\"filters\":[[\"Stock Ledger Entry\",\"is_cancelled\",\"=\",\"No\"]],\"columns\":[[\"item_code\",\"Stock Ledger Entry\"],[\"warehouse\",\"Stock Ledger Entry\"],[\"posting_date\",\"Stock Ledger Entry\"],[\"posting_time\",\"Stock Ledger Entry\"],[\"actual_qty\",\"Stock Ledger Entry\"],[\"qty_after_transaction\",\"Stock Ledger Entry\"],[\"voucher_type\",\"Stock Ledger Entry\"],[\"voucher_no\",\"Stock Ledger Entry\"]],\"sort_by\":\"Stock Ledger Entry.posting_date\",\"sort_order\":\"desc\",\"sort_by_next\":\"Stock Ledger Entry.posting_time\",\"sort_order_next\":\"desc\"}"
+  "json": "{\"filters\":[[\"Stock Ledger Entry\",\"is_cancelled\",\"=\",\"No\"]],\"columns\":[[\"item_code\",\"Stock Ledger Entry\"],[\"warehouse\",\"Stock Ledger Entry\"],[\"posting_date\",\"Stock Ledger Entry\"],[\"posting_time\",\"Stock Ledger Entry\"],[\"actual_qty\",\"Stock Ledger Entry\"],[\"qty_after_transaction\",\"Stock Ledger Entry\"],[\"voucher_type\",\"Stock Ledger Entry\"],[\"voucher_no\",\"Stock Ledger Entry\"]],\"sort_by\":\"Stock Ledger Entry.posting_date\",\"sort_order\":\"desc\",\"sort_by_next\":\"Stock Ledger Entry.posting_time\",\"sort_order_next\":\"desc\"}", 
+  "is_standard": "Yes"
  }, 
  {
   "name": "Stock Ledger", 
