Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt b/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt
index 88ff16a..41ef5e9 100644
--- a/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt
+++ b/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-02-21 14:26:44", 
   "docstatus": 0, 
-  "modified": "2013-02-22 10:46:13", 
+  "modified": "2013-02-22 15:53:01", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -11,7 +11,9 @@
   "is_standard": "Yes", 
   "name": "__common__", 
   "query": "select \n `tabDelivery Note`.`name` as \"Delivery Note:Link/Delivery Note:120\",\n`tabDelivery Note`.`customer` as \"Customer:Link/Customer:120\",\n`tabDelivery Note`.`status` as \"Status\",\n `tabDelivery Note`.`posting_date` as \"Date:Date\",\n `tabDelivery Note`.`project_name` as \"Project\",\n `tabDelivery Note Item`.item_code as \"Item:Link/Item:120\",\n `tabDelivery Note Item`.amount as \"Amount:Currency:110\",\n (`tabDelivery Note Item`.billed_amt * ifnull(`tabDelivery Note`.conversion_rate, 1)) as \"Billed Amount:Currency:110\",\n (ifnull(`tabDelivery Note Item`.amount,0) - (ifnull(`tabDelivery Note Item`.billed_amt,0) * ifnull(`tabDelivery Note`.conversion_rate, 1))) as \"Pending Amount:Currency:120\",\n `tabDelivery Note Item`.item_name as \"Item Name::150\",\n `tabDelivery Note Item`.description as \"Description:Data:200\"\nfrom\n `tabDelivery Note`, `tabDelivery Note Item`\nwhere\n `tabDelivery Note Item`.`parent` = `tabDelivery Note`.`name`\n and `tabDelivery Note`.docstatus = 1\n and `tabDelivery Note`.status != \"Stopped\"\n and ifnull(`tabDelivery Note Item`.billed_amt,0) < ifnull(`tabDelivery Note Item`.export_amount,0)\norder by `tabDelivery Note`.posting_date asc", 
-  "ref_doctype": "Sales Invoice"
+  "ref_doctype": "Sales Invoice", 
+  "report_name": "Delivered Items To Be Billed", 
+  "report_type": "Query Report"
  }, 
  {
   "doctype": "Report", 
diff --git a/accounts/report/ordered_items_to_be_billed/ordered_items_to_be_billed.txt b/accounts/report/ordered_items_to_be_billed/ordered_items_to_be_billed.txt
index b251bd9..fd2aa6e 100644
--- a/accounts/report/ordered_items_to_be_billed/ordered_items_to_be_billed.txt
+++ b/accounts/report/ordered_items_to_be_billed/ordered_items_to_be_billed.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-02-21 14:26:44", 
   "docstatus": 0, 
-  "modified": "2013-02-22 10:47:24", 
+  "modified": "2013-02-22 15:53:01", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -11,7 +11,9 @@
   "is_standard": "Yes", 
   "name": "__common__", 
   "query": "select \n `tabSales Order`.`name` as \"Sales Order:Link/Sales Order:120\",\n `tabSales Order`.`customer` as \"Customer:Link/Customer:120\",\n `tabSales Order`.`status` as \"Status\",\n `tabSales Order`.`transaction_date` as \"Date:Date\",\n `tabSales Order`.`project_name` as \"Project\",\n `tabSales Order Item`.item_code as \"Item:Link/Item:120\",\n `tabSales Order Item`.amount as \"Amount:Currency:110\",\n (`tabSales Order Item`.billed_amt * ifnull(`tabSales Order`.conversion_rate, 1)) as \"Billed Amount:Currency:110\",\n (ifnull(`tabSales Order Item`.amount, 0) - (ifnull(`tabSales Order Item`.billed_amt, 0) * ifnull(`tabSales Order`.conversion_rate, 1))) as \"Pending Amount:Currency:120\",\n `tabSales Order Item`.item_name as \"Item Name::150\",\n `tabSales Order Item`.description as \"Description::200\"\nfrom\n `tabSales Order`, `tabSales Order Item`\nwhere\n `tabSales Order Item`.`parent` = `tabSales Order`.`name`\n and `tabSales Order`.docstatus = 1\n and `tabSales Order`.status != \"Stopped\"\n and ifnull(`tabSales Order Item`.billed_amt,0) < ifnull(`tabSales Order Item`.export_amount,0)\norder by `tabSales Order`.transaction_date asc", 
-  "ref_doctype": "Sales Invoice"
+  "ref_doctype": "Sales Invoice", 
+  "report_name": "Ordered Items To Be Billed", 
+  "report_type": "Query Report"
  }, 
  {
   "doctype": "Report", 
diff --git a/hr/doctype/leave_application/leave_application.py b/hr/doctype/leave_application/leave_application.py
index 32e0a65..8117718 100755
--- a/hr/doctype/leave_application/leave_application.py
+++ b/hr/doctype/leave_application/leave_application.py
@@ -165,7 +165,6 @@
 			# for post in messages
 			"message": _get_message(url=True),
 			"message_to": employee.user_id,
-			
 			"subject": _get_message(),
 		})
 		
@@ -208,7 +207,7 @@
 	leave_app = webnotes.conn.sql("""select SUM(total_leave_days) 
 		from `tabLeave Application` 
 		where employee = %s and leave_type = %s and fiscal_year = %s
-		and docstatus = 1""", (employee, leave_type, fiscal_year))
+		and status="Approved" and docstatus = 1""", (employee, leave_type, fiscal_year))
 	leave_app = leave_app and flt(leave_app[0][0]) or 0
 	
 	ret = {'leave_balance': leave_all - leave_app}
@@ -234,7 +233,7 @@
 	company = webnotes.conn.get_default("company", webnotes.session.user)
 	
 	from webnotes.widgets.reportview import build_match_conditions
-	match_conditions = build_match_conditions({"doctype": "Leave Application"})
+	match_conditions = build_match_conditions("Leave Application")
 	
 	# show department leaves for employee
 	show_department_leaves = match_conditions and \
diff --git a/hr/page/hr_home/hr_home.js b/hr/page/hr_home/hr_home.js
index 465835f..02733a1 100644
--- a/hr/page/hr_home/hr_home.js
+++ b/hr/page/hr_home/hr_home.js
@@ -159,6 +159,17 @@
 				doctype: "Grade"
 			},
 		]
+	},
+	{
+		title: wn._("Reports"),
+		right: true,
+		icon: "icon-list",
+		items: [
+			{
+				"label":wn._("Employee Leave Balance"),
+				route: "query-report/Employee Leave Balance"
+			},
+		]
 	}
 ];
 
diff --git a/hr/report/__init__.py b/hr/report/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/hr/report/__init__.py
diff --git a/hr/report/employee_leave_balance/__init__.py b/hr/report/employee_leave_balance/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/hr/report/employee_leave_balance/__init__.py
diff --git a/hr/report/employee_leave_balance/employee_leave_balance.py b/hr/report/employee_leave_balance/employee_leave_balance.py
new file mode 100644
index 0000000..beda4a7
--- /dev/null
+++ b/hr/report/employee_leave_balance/employee_leave_balance.py
@@ -0,0 +1,46 @@
+from __future__ import unicode_literals
+import webnotes
+from webnotes.widgets.reportview import execute as runreport
+
+def execute():
+	employees = runreport(doctype="Employee", fields=["name", "employee_name", "department"])
+	leave_types = webnotes.conn.sql_list("select name from `tabLeave Type`")
+	fiscal_years = webnotes.conn.sql_list("select name from `tabFiscal Year` order by name desc")
+	employee_in = '", "'.join([e.name for e in employees])
+	
+	allocations = webnotes.conn.sql("""select employee, fiscal_year, leave_type, total_leaves_allocated
+	 	from `tabLeave Allocation` 
+		where docstatus=1 and employee in ("%s")""" % employee_in, as_dict=True)
+	applications = webnotes.conn.sql("""select employee, fiscal_year, leave_type, SUM(total_leave_days) as leaves
+			from `tabLeave Application` 
+			where status="Approved" and docstatus = 1 and employee in ("%s")
+			group by employee, fiscal_year, leave_type""" % employee_in, as_dict=True)
+	
+	columns = [
+		"Fiscal Year", "Employee:Link/Employee:150", "Employee Name::200", "Department::150"
+	]
+	
+	for leave_type in leave_types:
+		columns.append(leave_type + " Allocated:Float")
+		columns.append(leave_type + " Taken:Float")
+
+	data = {}
+	for d in allocations:
+		data.setdefault((d.fiscal_year, d.employee, 
+			d.leave_type), webnotes._dict()).allocation = d.total_leaves_allocated
+
+	for d in applications:
+		data.setdefault((d.fiscal_year, d.employee, 
+			d.leave_type), webnotes._dict()).leaves = d.leaves
+	
+	result = []
+	for fiscal_year in fiscal_years:
+		for employee in employees:
+			row = [fiscal_year, employee.name, employee.employee_name, employee.department]
+			result.append(row)
+			for leave_type in leave_types:
+				tmp = data.get((fiscal_year, employee.name, leave_type), webnotes._dict())
+				row.append(tmp.allocation or 0)
+				row.append(tmp.leaves or 0)
+
+	return columns, result
\ No newline at end of file
diff --git a/hr/report/employee_leave_balance/employee_leave_balance.txt b/hr/report/employee_leave_balance/employee_leave_balance.txt
new file mode 100644
index 0000000..2a6d74f
--- /dev/null
+++ b/hr/report/employee_leave_balance/employee_leave_balance.txt
@@ -0,0 +1,21 @@
+[
+ {
+  "creation": "2013-02-22 15:29:34", 
+  "docstatus": 0, 
+  "modified": "2013-02-22 15:53:01", 
+  "modified_by": "Administrator", 
+  "owner": "Administrator"
+ }, 
+ {
+  "doctype": "Report", 
+  "is_standard": "Yes", 
+  "name": "__common__", 
+  "ref_doctype": "Employee", 
+  "report_name": "Employee Leave Balance", 
+  "report_type": "Script Report"
+ }, 
+ {
+  "doctype": "Report", 
+  "name": "Employee Leave Balance"
+ }
+]
\ No newline at end of file
diff --git a/hr/search_criteria/employee_leave_balance_report/__init__.py b/hr/search_criteria/employee_leave_balance_report/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/hr/search_criteria/employee_leave_balance_report/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/hr/search_criteria/employee_leave_balance_report/employee_leave_balance_report.js b/hr/search_criteria/employee_leave_balance_report/employee_leave_balance_report.js
deleted file mode 100644
index 808b6d4..0000000
--- a/hr/search_criteria/employee_leave_balance_report/employee_leave_balance_report.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// 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/>.
-
-this.mytabs.items['Select Columns'].hide();
-
-this.mytabs.tabs['More Filters'].hide();
-
-report.customize_filters = function() {
-	this.add_filter({
-		fieldname:'fiscal_year',
-		label:'Fiscal Year', 
-		fieldtype:'Link',
-		ignore : 1,
-		options: 'Fiscal Year',
-		parent:'Leave Allocation',
-		in_first_page:1,
-		report_default: sys_defaults.fiscal_year
-	});
-	this.add_filter({
-		fieldname:'employee_name',
-		label:'Employee Name', 
-		fieldtype:'Data',
-		ignore : 1,
-		options: '',
-		parent:'Leave Allocation',
-		in_first_page:1
-	});
-}
\ No newline at end of file
diff --git a/hr/search_criteria/employee_leave_balance_report/employee_leave_balance_report.py b/hr/search_criteria/employee_leave_balance_report/employee_leave_balance_report.py
deleted file mode 100644
index 5b8ed08..0000000
--- a/hr/search_criteria/employee_leave_balance_report/employee_leave_balance_report.py
+++ /dev/null
@@ -1,73 +0,0 @@
-# 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/>.
-
-from __future__ import unicode_literals
-
-leave_types = sql("""
-	SELECT name FROM `tabLeave Type`
-	WHERE
-		docstatus!=2 AND
-		name NOT IN ('Compensatory Off', 'Leave Without Pay')""")
-col=[]
-col.append(['Employee ID', 'Data', '150px', ''])
-col.append(['Employee Name', 'Data', '150px', ''])
-col.append(['Fiscal Year', 'Data', '150px', ''])
-  
-for e in leave_types:
-	l = (len(e[0])*9) 
-	if l < 150 : col_width = '150px'
-	else:  col_width = '%spx'%(l)	
-	col.append([e[0],'Currency',col_width,''])
-
-col.append(['Total Balance','Currency','150px',''])
-
-for c in col:
-	colnames.append(c[0])
-	coltypes.append(c[1])
-	colwidths.append(c[2])
-	coloptions.append(c[3])
-	col_idx[c[0]] = len(colnames)
-
-data = res
-res = []
-
-try:
-	for d in data:
-		exists = 0
-		ind = None
-		
-		# Check if the employee record exists in list 'res'
-		for r in res:
-			if r[0] == d[0] and r[1] == d[1]:
-				exists = 1
-				ind = res.index(r)
-				break
-		if d[3] in colnames:
-			# If exists, then append the leave type data
-			if exists:
-				res[ind][colnames.index(d[3])] = flt(d[4]) - flt(d[5])
-				res[ind][len(colnames)-1] = sum(res[ind][3:-1])
-			# Else create a new row in res
-			else:
-				new_row = [0.0 for c in colnames]
-				new_row[0] = d[0]
-				new_row[1] = d[1]
-				new_row[2] = d[2]
-				new_row[colnames.index(d[3])] = flt(d[4]) - flt(d[5])
-				new_row[len(colnames)-1] = sum(new_row[3:-1])
-				res.append(new_row)
-except Exception, e:
-	msgprint(e)
\ No newline at end of file
diff --git a/hr/search_criteria/employee_leave_balance_report/employee_leave_balance_report.sql b/hr/search_criteria/employee_leave_balance_report/employee_leave_balance_report.sql
deleted file mode 100644
index 454772a..0000000
--- a/hr/search_criteria/employee_leave_balance_report/employee_leave_balance_report.sql
+++ /dev/null
@@ -1,25 +0,0 @@
-SELECT
-	leave_alloc.employee AS 'employee',
-	leave_alloc.employee_name AS 'employee_name',
-	leave_alloc.fiscal_year AS 'fiscal_year',
-	leave_alloc.leave_type AS 'leave_type',
-	leave_alloc.total_leaves_allocated AS 'total_leaves_allocated',
-	SUM(leave_app.total_leave_days) AS 'total_leaves_applied'
-FROM
-	`tabLeave Allocation` AS leave_alloc LEFT JOIN `tabLeave Application` AS leave_app
-	ON leave_alloc.employee=leave_app.employee AND
-	leave_alloc.leave_type=leave_app.leave_type AND
-	leave_alloc.fiscal_year=leave_app.fiscal_year AND
-	leave_app.docstatus=1
-WHERE
-	leave_alloc.docstatus=1  AND
-	leave_alloc.fiscal_year LIKE '%(fiscal_year)s%%' AND
-	leave_alloc.employee_name LIKE '%(employee_name)s%%'
-GROUP BY
-	employee,
-	fiscal_year,
-	leave_type
-ORDER BY
-	employee,
-	fiscal_year,
-	leave_type
\ No newline at end of file
diff --git a/hr/search_criteria/employee_leave_balance_report/employee_leave_balance_report.txt b/hr/search_criteria/employee_leave_balance_report/employee_leave_balance_report.txt
deleted file mode 100644
index 74c0d82..0000000
--- a/hr/search_criteria/employee_leave_balance_report/employee_leave_balance_report.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-[
- {
-  "owner": "harshada@webnotestech.com", 
-  "docstatus": 0, 
-  "creation": "2010-12-14 10:33:09", 
-  "modified_by": "Administrator", 
-  "modified": "2011-10-31 15:42:36"
- }, 
- {
-  "description": "Employeewise Balance Leave Report", 
-  "module": "HR", 
-  "standard": "Yes", 
-  "sort_order": "ASC", 
-  "filters": "{'Employee\u0001Saved':1,'Employee\u0001Submitted':1,'Employee\u0001Gender':'','Employee\u0001Month of Birth':'','Employee\u0001Status':'Active'}", 
-  "doc_type": "Employee", 
-  "name": "__common__", 
-  "doctype": "Search Criteria", 
-  "sort_by": "`tabEmployee`.`name`", 
-  "page_len": 100, 
-  "criteria_name": "Employee Leave Balance Report", 
-  "columns": "Employee\u0001ID"
- }, 
- {
-  "name": "employeewise_balance_leave_report", 
-  "doctype": "Search Criteria"
- }
-]
\ No newline at end of file
diff --git a/patches/patch_list.py b/patches/patch_list.py
index 45df4c1..12f2ab3 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -186,5 +186,8 @@
 	"execute:webnotes.delete_doc('DocType', 'Service Order Detail')",
 	"execute:webnotes.delete_doc('DocType', 'Service Quotation Detail')",
 	"patches.february_2013.p06_material_request_mappers",
-	"patches.february_2013.p07_clear_web_cache"
+	"patches.february_2013.p07_clear_web_cache",
+	"execute:webnotes.delete_doc('Page', 'Query Report')",
+	"execute:webnotes.delete_doc('Search Criteria', 'employeewise_balance_leave_report')",
+	"execute:webnotes.delete_doc('Search Criteria', 'employee_leave_balance_report')"
 ]
\ No newline at end of file
diff --git a/selling/report/customer_addresses_and_contacts/customer_addresses_and_contacts.txt b/selling/report/customer_addresses_and_contacts/customer_addresses_and_contacts.txt
index e5e08a9..f51f295 100644
--- a/selling/report/customer_addresses_and_contacts/customer_addresses_and_contacts.txt
+++ b/selling/report/customer_addresses_and_contacts/customer_addresses_and_contacts.txt
@@ -1,20 +1,22 @@
 [
  {
-  "owner": "Administrator", 
+  "creation": "2012-10-04 18:45:27", 
   "docstatus": 0, 
-  "creation": "2012-10-04 17:36:36", 
+  "modified": "2013-02-22 15:53:01", 
   "modified_by": "Administrator", 
-  "modified": "2012-10-04 18:24:07"
+  "owner": "Administrator"
  }, 
  {
-  "name": "__common__", 
-  "ref_doctype": "Customer", 
   "doctype": "Report", 
   "is_standard": "Yes", 
-  "query": "SELECT\n\t`tabCustomer`.name as customer_id,\n\t`tabCustomer`.customer_name,\n\t`tabCustomer`.customer_group,\n\t`tabAddress`.address_line1,\n\t`tabAddress`.address_line2,\n\t`tabAddress`.city,\n\t`tabAddress`.state,\n\t`tabAddress`.pincode,\n\t`tabAddress`.country,\n\t`tabAddress`.is_primary_address, \n\t`tabContact`.first_name,\n\t`tabContact`.last_name,\n\t`tabContact`.phone,\n\t`tabContact`.mobile_no,\n\t`tabContact`.email_id,\n\t`tabContact`.is_primary_contact\nFROM\n\t`tabCustomer`\n\tleft join `tabAddress` on (\n\t\t`tabAddress`.customer=`tabCustomer`.name\n\t)\n\tleft join `tabContact` on (\n\t\t`tabContact`.customer=`tabCustomer`.name\n\t)\nWHERE\n\t`tabCustomer`.docstatus<2\nORDER BY\n\t`tabCustomer`.name asc"
+  "name": "__common__", 
+  "query": "SELECT\n\t`tabCustomer`.name as customer_id,\n\t`tabCustomer`.customer_name,\n\t`tabCustomer`.customer_group,\n\t`tabAddress`.address_line1,\n\t`tabAddress`.address_line2,\n\t`tabAddress`.city,\n\t`tabAddress`.state,\n\t`tabAddress`.pincode,\n\t`tabAddress`.country,\n\t`tabAddress`.is_primary_address, \n\t`tabContact`.first_name,\n\t`tabContact`.last_name,\n\t`tabContact`.phone,\n\t`tabContact`.mobile_no,\n\t`tabContact`.email_id,\n\t`tabContact`.is_primary_contact\nFROM\n\t`tabCustomer`\n\tleft join `tabAddress` on (\n\t\t`tabAddress`.customer=`tabCustomer`.name\n\t)\n\tleft join `tabContact` on (\n\t\t`tabContact`.customer=`tabCustomer`.name\n\t)\nWHERE\n\t`tabCustomer`.docstatus<2\nORDER BY\n\t`tabCustomer`.name asc", 
+  "ref_doctype": "Customer", 
+  "report_name": "Customer Addresses And Contacts", 
+  "report_type": "Query Report"
  }, 
  {
-  "name": "Customer Addresses and Contacts", 
-  "doctype": "Report"
+  "doctype": "Report", 
+  "name": "Customer Addresses And Contacts"
  }
 ]
\ No newline at end of file
diff --git a/selling/report/sales_orders_pending_to_be_delivered/sales_orders_pending_to_be_delivered.txt b/selling/report/sales_orders_pending_to_be_delivered/sales_orders_pending_to_be_delivered.txt
index 288b5c5..c145f4e 100644
--- a/selling/report/sales_orders_pending_to_be_delivered/sales_orders_pending_to_be_delivered.txt
+++ b/selling/report/sales_orders_pending_to_be_delivered/sales_orders_pending_to_be_delivered.txt
@@ -1,8 +1,8 @@
 [
  {
-  "creation": "2012-12-07 14:44:19", 
+  "creation": "2013-02-21 14:26:46", 
   "docstatus": 0, 
-  "modified": "2013-02-21 11:43:20", 
+  "modified": "2013-02-22 15:53:24", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -10,8 +10,10 @@
   "doctype": "Report", 
   "is_standard": "Yes", 
   "name": "__common__", 
-  "query": "select \n `tabSales Order`.`name` as \"S.O. No.:Link/Sales Order:120\",\n `tabSales Order`.`transaction_date` as \"S.O. Date\",\n `tabSales Order`.`delivery_date` as \"Expected Delivery Date\",\n `tabSales Order`.`customer` as \"Customer:Link/Customer:120\",\n `tabSales Order Item`.item_code as \"Item Code:Link/Item:120\",\n `tabSales Order Item`.description as \"Description\",\n `tabSales Order Item`.qty as \"Qty:Float\",\n `tabSales Order Item`.delivered_qty as \"Delivered Qty:Float\",\n `tabSales Order`.`po_no` as \"P.O. No.\"\nfrom\n `tabSales Order`, `tabSales Order Item`\nwhere\n `tabSales Order Item`.`parent` = `tabSales Order`.`name`\n and `tabSales Order`.docstatus = 1\n and `tabSales Order`.status != \"Stopped\"\n and ifnull(`tabSales Order Item`.delivered_qty,0) < ifnull(`tabSales Order Item`.qty,0)\norder by `tabSales Order`.transaction_date asc", 
-  "ref_doctype": "Sales Order"
+  "query": "select \n `tabSales Order`.`name` as \"S.O. No.:Link/Sales Order:120\",\n `tabSales Order`.`transaction_date` as \"S.O. Date:Date\",\n `tabSales Order`.`delivery_date` as \"Expected Delivery Date:Date\",\n `tabSales Order`.`customer` as \"Customer:Link/Customer:120\",\n `tabSales Order Item`.item_code as \"Item Code:Link/Item:120\",\n `tabSales Order Item`.description as \"Description\",\n `tabSales Order Item`.qty as \"Qty:Float\",\n `tabSales Order Item`.delivered_qty as \"Delivered Qty:Float\",\n `tabSales Order`.`po_no` as \"P.O. No.\"\nfrom\n `tabSales Order`, `tabSales Order Item`\nwhere\n `tabSales Order Item`.`parent` = `tabSales Order`.`name`\n and `tabSales Order`.docstatus = 1\n and `tabSales Order`.status != \"Stopped\"\n and ifnull(`tabSales Order Item`.delivered_qty,0) < ifnull(`tabSales Order Item`.qty,0)\norder by `tabSales Order`.transaction_date asc", 
+  "ref_doctype": "Sales Order", 
+  "report_name": "Sales Orders Pending To Be Delivered", 
+  "report_type": "Query Report"
  }, 
  {
   "doctype": "Report", 
diff --git a/stock/report/item_wise_price_list/item_wise_price_list.txt b/stock/report/item_wise_price_list/item_wise_price_list.txt
index 4427a5b..6c2afad 100644
--- a/stock/report/item_wise_price_list/item_wise_price_list.txt
+++ b/stock/report/item_wise_price_list/item_wise_price_list.txt
@@ -1,20 +1,22 @@
 [
  {
-  "owner": "Administrator", 
+  "creation": "2013-01-02 14:22:51", 
   "docstatus": 0, 
-  "creation": "2013-01-02 11:56:33", 
+  "modified": "2013-02-22 15:53:01", 
   "modified_by": "Administrator", 
-  "modified": "2013-01-02 12:00:38"
+  "owner": "Administrator"
  }, 
  {
-  "name": "__common__", 
-  "ref_doctype": "Item", 
   "doctype": "Report", 
   "is_standard": "Yes", 
-  "query": "select\n  item.name as \"ID:Link/Item:120\", \n  item.item_name as \"Item Name::120\", \n  item_price.price_list_name as \"Price List::80\",\n  item_price.ref_currency as \"Currency::40\", \n  item_price.ref_rate as \"Rate:Currency:80\",\n  item.description as \"Description::160\",\n  item.item_group as \"Item Group:Link/Item Group:100\",\n  item.brand as \"Brand::100\"\nfrom `tabItem` item, `tabItem Price` item_price\nwhere\n  item_price.parent = item.name"
+  "name": "__common__", 
+  "query": "select\n  item.name as \"ID:Link/Item:120\", \n  item.item_name as \"Item Name::120\", \n  item_price.price_list_name as \"Price List::80\",\n  item_price.ref_currency as \"Currency::40\", \n  item_price.ref_rate as \"Rate:Currency:80\",\n  item.description as \"Description::160\",\n  item.item_group as \"Item Group:Link/Item Group:100\",\n  item.brand as \"Brand::100\"\nfrom `tabItem` item, `tabItem Price` item_price\nwhere\n  item_price.parent = item.name", 
+  "ref_doctype": "Item", 
+  "report_name": "Item-Wise Price List", 
+  "report_type": "Query Report"
  }, 
  {
-  "name": "Item-Wise Price List", 
-  "doctype": "Report"
+  "doctype": "Report", 
+  "name": "Item-Wise Price List"
  }
 ]
\ No newline at end of file
diff --git a/stock/report/ordered_items_to_be_delivered/ordered_items_to_be_delivered.txt b/stock/report/ordered_items_to_be_delivered/ordered_items_to_be_delivered.txt
index afcaef0..730e3d7 100644
--- a/stock/report/ordered_items_to_be_delivered/ordered_items_to_be_delivered.txt
+++ b/stock/report/ordered_items_to_be_delivered/ordered_items_to_be_delivered.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-02-21 14:26:49", 
   "docstatus": 0, 
-  "modified": "2013-02-22 10:43:27", 
+  "modified": "2013-02-22 15:53:01", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -11,7 +11,9 @@
   "is_standard": "Yes", 
   "name": "__common__", 
   "query": "select \n `tabSales Order`.`name` as \"Sales Order:Link/Sales Order:120\",\n `tabSales Order`.`customer` as \"Customer:Link/Customer:120\",\n `tabSales Order`.`status` as \"Status\",\n `tabSales Order`.`transaction_date` as \"Date:Date\",\n `tabSales Order`.`project_name` as \"Project\",\n `tabSales Order Item`.item_code as \"Item:Link/Item:120\",\n `tabSales Order Item`.qty as \"Qty:Float\",\n `tabSales Order Item`.delivered_qty as \"Delivered Qty:Float\",\n (`tabSales Order Item`.qty - ifnull(`tabSales Order Item`.delivered_qty, 0)) as \"Qty to Deliver:Float\",\n `tabSales Order Item`.item_name as \"Item Name::150\",\n `tabSales Order Item`.description as \"Description::200\"\nfrom\n `tabSales Order`, `tabSales Order Item`\nwhere\n `tabSales Order Item`.`parent` = `tabSales Order`.`name`\n and `tabSales Order`.docstatus = 1\n and `tabSales Order`.status != \"Stopped\"\n and ifnull(`tabSales Order Item`.delivered_qty,0) < ifnull(`tabSales Order Item`.qty,0)\norder by `tabSales Order`.transaction_date asc", 
-  "ref_doctype": "Delivery Note"
+  "ref_doctype": "Delivery Note", 
+  "report_name": "Ordered Items To Be Delivered", 
+  "report_type": "Query Report"
  }, 
  {
   "doctype": "Report", 
diff --git a/stock/report/purchase_order_items_to_be_received/purchase_order_items_to_be_received.txt b/stock/report/purchase_order_items_to_be_received/purchase_order_items_to_be_received.txt
index fe4b844..45e3a42 100644
--- a/stock/report/purchase_order_items_to_be_received/purchase_order_items_to_be_received.txt
+++ b/stock/report/purchase_order_items_to_be_received/purchase_order_items_to_be_received.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-02-21 14:26:49", 
   "docstatus": 0, 
-  "modified": "2013-02-22 10:44:34", 
+  "modified": "2013-02-22 15:53:01", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -11,7 +11,9 @@
   "is_standard": "Yes", 
   "name": "__common__", 
   "query": "select \n `tabPurchase Order`.`name` as \"Purchase Order:Link/Purchase Order:120\",\n `tabPurchase Order`.`transaction_date` as \"Date:Date:100\",\n `tabPurchase Order`.`supplier` as \"Supplier:Link/Supplier:120\",\n `tabPurchase Order`.`project_name` as \"Project\",\n `tabPurchase Order Item`.item_code as \"Item Code:Link/Item:120\",\n `tabPurchase Order Item`.qty as \"Qty:Float:100\",\n `tabPurchase Order Item`.received_qty as \"Received Qty:Float:100\", \n (`tabPurchase Order Item`.qty - ifnull(`tabPurchase Order Item`.received_qty, 0)) as \"Qty to Receive:Float:100\",\n `tabPurchase Order Item`.item_name as \"Item Name::150\",\n `tabPurchase Order Item`.description as \"Description::200\"\nfrom\n `tabPurchase Order`, `tabPurchase Order Item`\nwhere\n `tabPurchase Order Item`.`parent` = `tabPurchase Order`.`name`\n and `tabPurchase Order`.docstatus = 1\n and `tabPurchase Order`.status != \"Stopped\"\n and ifnull(`tabPurchase Order Item`.received_qty, 0) < ifnull(`tabPurchase Order Item`.qty, 0)\norder by `tabPurchase Order`.transaction_date asc", 
-  "ref_doctype": "Purchase Receipt"
+  "ref_doctype": "Purchase Receipt", 
+  "report_name": "Purchase Order Items To Be Received", 
+  "report_type": "Query Report"
  }, 
  {
   "doctype": "Report", 
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 a4032f2..641e489 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
@@ -1,20 +1,22 @@
 [
  {
-  "owner": "Administrator", 
+  "creation": "2013-01-14 10:52:58", 
   "docstatus": 0, 
-  "creation": "2013-01-04 14:04:15", 
+  "modified": "2013-02-22 15:53:01", 
   "modified_by": "Administrator", 
-  "modified": "2013-01-14 10:45:46"
+  "owner": "Administrator"
  }, 
  {
+  "doctype": "Report", 
+  "is_standard": "Yes", 
+  "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\"}", 
   "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\"}", 
-  "is_standard": "Yes"
+  "report_name": "Serial No Service Contract Expiry", 
+  "report_type": "Report Builder"
  }, 
  {
-  "name": "Serial No Service Contract Expiry", 
-  "doctype": "Report"
+  "doctype": "Report", 
+  "name": "Serial No Service Contract Expiry"
  }
 ]
\ No newline at end of file
diff --git a/stock/report/serial_no_status/serial_no_status.txt b/stock/report/serial_no_status/serial_no_status.txt
index 51ef607..23b1624 100644
--- a/stock/report/serial_no_status/serial_no_status.txt
+++ b/stock/report/serial_no_status/serial_no_status.txt
@@ -1,20 +1,22 @@
 [
  {
-  "owner": "Administrator", 
+  "creation": "2013-01-14 10:52:58", 
   "docstatus": 0, 
-  "creation": "2013-01-04 14:04:15", 
+  "modified": "2013-02-22 15:53:01", 
   "modified_by": "Administrator", 
-  "modified": "2013-01-14 10:46:03"
+  "owner": "Administrator"
  }, 
  {
+  "doctype": "Report", 
+  "is_standard": "Yes", 
+  "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\"}", 
   "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\"}", 
-  "is_standard": "Yes"
+  "report_name": "Serial No Status", 
+  "report_type": "Report Builder"
  }, 
  {
-  "name": "Serial No Status", 
-  "doctype": "Report"
+  "doctype": "Report", 
+  "name": "Serial No Status"
  }
 ]
\ No newline at end of file
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 ff1e550..e4c2380 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
@@ -1,20 +1,22 @@
 [
  {
-  "owner": "Administrator", 
+  "creation": "2013-01-14 10:52:58", 
   "docstatus": 0, 
-  "creation": "2013-01-07 17:43:57", 
+  "modified": "2013-02-22 15:53:01", 
   "modified_by": "Administrator", 
-  "modified": "2013-01-14 10:45:58"
+  "owner": "Administrator"
  }, 
  {
+  "doctype": "Report", 
+  "is_standard": "Yes", 
+  "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\"}", 
   "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\"}", 
-  "is_standard": "Yes"
+  "report_name": "Serial No Warranty Expiry", 
+  "report_type": "Report Builder"
  }, 
  {
-  "name": "Serial No Warranty Expiry", 
-  "doctype": "Report"
+  "doctype": "Report", 
+  "name": "Serial No Warranty Expiry"
  }
 ]
\ No newline at end of file
diff --git a/stock/report/stock_ledger/stock_ledger.txt b/stock/report/stock_ledger/stock_ledger.txt
index 5184560..34df640 100644
--- a/stock/report/stock_ledger/stock_ledger.txt
+++ b/stock/report/stock_ledger/stock_ledger.txt
@@ -1,20 +1,22 @@
 [
  {
-  "owner": "Administrator", 
+  "creation": "2013-01-14 15:26:21", 
   "docstatus": 0, 
-  "creation": "2012-12-03 10:31:11", 
+  "modified": "2013-02-22 15:53:01", 
   "modified_by": "Administrator", 
-  "modified": "2013-01-14 10:50:15"
+  "owner": "Administrator"
  }, 
  {
+  "doctype": "Report", 
+  "is_standard": "Yes", 
+  "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\"}", 
   "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\"}", 
-  "is_standard": "Yes"
+  "report_name": "Stock Ledger", 
+  "report_type": "Report Builder"
  }, 
  {
-  "name": "Stock Ledger", 
-  "doctype": "Report"
+  "doctype": "Report", 
+  "name": "Stock Ledger"
  }
 ]
\ No newline at end of file