diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index c3c43e0..f57cfe7 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -127,7 +127,7 @@
 
 	def get_pv_details(self, arg):
 		import json
-		item_det = sql("select item_name, brand, description, item_group, purchase_account, cost_center from tabItem where name=%s",arg,as_dict=1)
+		item_det = sql("select item_name, brand, description, item_group, purchase_account, cost_center, stock_uom from tabItem where name=%s",arg,as_dict=1)
 		
 		tax = sql("select tax_type, tax_rate from `tabItem Tax` where parent = %s" , arg)
 		t = {}
@@ -146,7 +146,8 @@
 			'discount_rate': 0.00,
 			'expense_head': item_det and item_det[0]['purchase_account'] or '',
 			'cost_center': item_det and item_det[0]['cost_center'] or '',
-			'item_tax_rate': json.dumps(t)
+			'item_tax_rate': json.dumps(t),
+			'uom': item_det and item_det[0]['stock_uom'] or ''
 		}
 		
 		# get last purchase rate
diff --git a/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.txt b/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.txt
index 236b75e..30493b3 100755
--- a/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.txt
+++ b/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2012-03-27 14:35:46',
+		'creation': '2012-04-13 11:56:17',
 		'docstatus': 0,
-		'modified': '2012-03-27 14:35:46',
+		'modified': '2012-06-04 12:10:22',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
@@ -22,7 +22,7 @@
 		'section_style': u'Tray',
 		'server_code_error': u' ',
 		'show_in_menu': 0,
-		'version': 46
+		'version': 1
 	},
 
 	# These values are common for all DocField
@@ -232,6 +232,17 @@
 	# DocField
 	{
 		'doctype': u'DocField',
+		'fieldname': u'uom',
+		'fieldtype': u'Link',
+		'label': u'UOM',
+		'options': u'UOM',
+		'permlevel': 0,
+		'print_hide': 1
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
 		'fieldname': u'brand',
 		'fieldtype': u'Data',
 		'hidden': 1,
@@ -345,4 +356,4 @@
 		'print_hide': 1,
 		'report_hide': 1
 	}
-]
+]
\ No newline at end of file
diff --git a/erpnext/home/page/desktop/desktop.js b/erpnext/home/page/desktop/desktop.js
index 7bc2aba..0db20fb 100644
--- a/erpnext/home/page/desktop/desktop.js
+++ b/erpnext/home/page/desktop/desktop.js
@@ -125,6 +125,7 @@
 	add_circle('support', 'open_support_tickets', 'Open Support Tickets');
 	add_circle('todo', 'things_todo', 'Things To Do');
 	add_circle('calendar', 'todays_events', 'Todays Events');
+	add_circle('project', 'open_tasks', 'Open Tasks');
 
 	erpnext.update_messages();
 
diff --git a/erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.py b/erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.py
index 06a9a76..7726980 100644
--- a/erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.py
+++ b/erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.py
@@ -85,7 +85,7 @@
 			msgprint("Please create naming series for Attendance.\nGo to Setup--> Numbering Series.")
 			raise Exception
 		else:
-			sr = series[0][0] or ''
+			sr = series[0] or ''
 		
 		return {'fy':fy,'comp':comp,'sr':sr}
 
diff --git a/erpnext/projects/doctype/task/task.py b/erpnext/projects/doctype/task/task.py
index 909a8b2..552a4c8 100644
--- a/erpnext/projects/doctype/task/task.py
+++ b/erpnext/projects/doctype/task/task.py
@@ -59,13 +59,6 @@
 
 
 	def validate(self):
-		if not self.doc.opening_date:
-			msgprint("Please enter Opening Date.")
-			raise Exception
-		elif getdate(self.doc.opening_date) > getdate(nowdate()):
-			msgprint("Opening date can not be future date")
-			raise Exception
-		
 		if self.doc.exp_start_date and self.doc.exp_end_date and getdate(self.doc.exp_start_date) > getdate(self.doc.exp_end_date):
 			msgprint("'Expected Start Date' can not be greater than 'Expected End Date'")
 			raise Exception
@@ -73,43 +66,32 @@
 		if self.doc.act_start_date and self.doc.act_end_date and getdate(self.doc.act_start_date) > getdate(self.doc.act_end_date):
 			msgprint("'Actual Start Date' can not be greater than 'Actual End Date'")
 			raise Exception
-		
-		if self.doc.opening_date and self.doc.review_date and getdate(self.doc.opening_date) > getdate(self.doc.review_date):
-			msgprint("Review Date should be greater than or equal to Opening Date ")
-			raise Exception
-		
-		if self.doc.closing_date and self.doc.review_date and getdate(self.doc.closing_date) < getdate(self.doc.review_date):
-			msgprint("Closing Date should be greater than or equal to Review Date ")
-			raise Exception
 
 	# on update
 	#--------------------------------------------	 
 	
 	def on_update(self):
 		if self.doc.status =='Open' and self.doc.allocated_to:
-			if self.doc.task_email_notify and (self.doc.allocated_to != self.doc.allocated_to_old):
-				self.doc.sent_reminder = 0
-				self.doc.allocated_to_old = self.doc.allocated_to
-				self.sent_notification()
+			if self.doc.task_email_notify:
+				self.send_notification()
 			if self.doc.exp_start_date:
 				sql("delete from tabEvent where ref_type='Task' and ref_name=%s", self.doc.name)
 				self.add_calendar_event()
 			else:
-				msgprint("An Expeted start date has not been set for this task.Please set 'Expected Start date'\
-				to add an event to allocated persons calender.You can save a task without this also.")
+				msgprint("Tip: Add an expected start date to create a calendar event.")
 			
 			
 	def validate_for_pending_review(self):
 		if not self.doc.allocated_to:
-			msgprint("Please enter allocated_to.")
+			msgprint("Please enter Allocated To.")
 			raise Exception
 		self.validate_with_timesheet_dates()
 		
 	#Sent Notification
-	def sent_notification(self):
+	def send_notification(self):
 		i = {
 			'name' : self.doc.name,
-			'senders_name': self.doc.allocated_to,
+			'senders_name': self.doc.senders_name,
 			'opening_date': self.doc.opening_date,
 			'exp_start_date': self.doc.exp_start_date,
 			'exp_end_date' : self.doc.exp_end_date,
@@ -119,8 +101,12 @@
 			'description': self.doc.description
 		}
 
+		task_label = '[Task Updated] '
+		if self.doc.creation==self.doc.modified:
+			task_label = '[New Task] '
+
 		msg2="""<h2>%(name)s</h2>
-			<p>This is a Notification for the task %(name)s that has been assigned to you 
+			<p>This is a Notification for the task %(name)s that has been assigned / updated to you 
 				by %(senders_name)s on %(opening_date)s</p>
 			<p><b>Subject:</b> %(subject)s </p>
 			<p><b>Project:</b> %(project)s</p>
@@ -128,11 +114,9 @@
 			<p><b>Expected Start Date:</b> %(exp_start_date)s</p>
 			<p><b>Expected End Date:</b> %(exp_end_date)s</p>
 			<p><b>Details:</b> %(description)s</p>
-			<p>You will also recieve another reminder 2 days before the commencement of the task</p>
-			<p>Good Luck!</p>
 			<p>(This notification is autogenerated)</p>""" % i
 		sendmail(self.doc.allocated_to, sender='automail@webnotestech.com', msg=msg2,send_now=1,\
-			subject='A task has been assigned')
+			subject= task_label + self.doc.subject)
 
 
 	
diff --git a/erpnext/projects/doctype/task/task.txt b/erpnext/projects/doctype/task/task.txt
index 8110719..eedb651 100644
--- a/erpnext/projects/doctype/task/task.txt
+++ b/erpnext/projects/doctype/task/task.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2012-03-27 14:36:06',
+		'creation': '2012-04-02 16:02:06',
 		'docstatus': 0,
-		'modified': '2012-03-27 14:36:06',
+		'modified': '2012-06-04 12:33:35',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
@@ -26,7 +26,7 @@
 		'show_in_menu': 0,
 		'subject': u'%(subject)s',
 		'tag_fields': u'status',
-		'version': 254
+		'version': 1
 	},
 
 	# These values are common for all DocField
@@ -62,6 +62,7 @@
 		'doctype': u'DocPerm',
 		'permlevel': 0,
 		'role': u'All',
+		'submit': 0,
 		'write': 1
 	},
 
@@ -75,6 +76,7 @@
 
 	# DocPerm
 	{
+		'amend': 1,
 		'cancel': 1,
 		'create': 1,
 		'doctype': u'DocPerm',
@@ -117,6 +119,79 @@
 
 	# DocField
 	{
+		'colour': u'White:FFF',
+		'doctype': u'DocField',
+		'fieldname': u'allocated_to',
+		'fieldtype': u'Link',
+		'label': u'Allocated To',
+		'oldfieldname': u'allocated_to',
+		'oldfieldtype': u'Link',
+		'options': u'Profile',
+		'permlevel': 0,
+		'trigger': u'Client'
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'task_email_notify',
+		'fieldtype': u'Check',
+		'label': u'Send Mail Notification',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'exp_start_date',
+		'fieldtype': u'Date',
+		'label': u'Expected Start Date',
+		'oldfieldname': u'exp_start_date',
+		'oldfieldtype': u'Date',
+		'permlevel': 0,
+		'reqd': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'exp_end_date',
+		'fieldtype': u'Date',
+		'in_filter': 1,
+		'label': u'Expected End Date',
+		'oldfieldname': u'exp_end_date',
+		'oldfieldtype': u'Date',
+		'permlevel': 0,
+		'reqd': 0,
+		'search_index': 1
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'column_break0',
+		'fieldtype': u'Column Break',
+		'oldfieldtype': u'Column Break',
+		'permlevel': 0,
+		'width': u'50%'
+	},
+
+	# DocField
+	{
+		'colour': u'White:FFF',
+		'doctype': u'DocField',
+		'fieldname': u'project',
+		'fieldtype': u'Link',
+		'label': u'Project',
+		'oldfieldname': u'project',
+		'oldfieldtype': u'Link',
+		'options': u'Project',
+		'permlevel': 0,
+		'trigger': u'Client'
+	},
+
+	# DocField
+	{
 		'doctype': u'DocField',
 		'fieldname': u'status',
 		'fieldtype': u'Select',
@@ -132,46 +207,6 @@
 	# DocField
 	{
 		'doctype': u'DocField',
-		'fieldname': u'opening_date',
-		'fieldtype': u'Date',
-		'label': u'Creation Date',
-		'oldfieldname': u'opening_date',
-		'oldfieldtype': u'Date',
-		'permlevel': 0,
-		'reqd': 1
-	},
-
-	# DocField
-	{
-		'colour': u'White:FFF',
-		'depends_on': u'eval:doc.status == "Closed" || doc.status == "Pending Review"',
-		'doctype': u'DocField',
-		'fieldname': u'review_date',
-		'fieldtype': u'Date',
-		'hidden': 1,
-		'label': u'Review Date',
-		'oldfieldname': u'review_date',
-		'oldfieldtype': u'Date',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'colour': u'White:FFF',
-		'depends_on': u'eval:doc.status == "Closed"',
-		'doctype': u'DocField',
-		'fieldname': u'closing_date',
-		'fieldtype': u'Date',
-		'hidden': 1,
-		'label': u'Closing Date',
-		'oldfieldname': u'closing_date',
-		'oldfieldtype': u'Date',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
 		'fieldname': u'priority',
 		'fieldtype': u'Select',
 		'in_filter': 1,
@@ -186,16 +221,60 @@
 
 	# DocField
 	{
-		'colour': u'White:FFF',
 		'doctype': u'DocField',
-		'fieldname': u'project',
-		'fieldtype': u'Link',
-		'label': u'Project',
-		'oldfieldname': u'project',
-		'oldfieldtype': u'Link',
-		'options': u'Project',
+		'fieldname': u'allocated_to_name',
+		'fieldtype': u'Data',
+		'hidden': 1,
+		'label': u'Allocated To Name',
+		'oldfieldname': u'allocated_to_name',
+		'oldfieldtype': u'Data',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'section_break0',
+		'fieldtype': u'Section Break',
+		'oldfieldtype': u'Section Break',
+		'options': u'Simple',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'description',
+		'fieldtype': u'Text Editor',
+		'label': u'Details',
+		'oldfieldname': u'description',
+		'oldfieldtype': u'Text Editor',
 		'permlevel': 0,
-		'trigger': u'Client'
+		'reqd': 0,
+		'width': u'300px'
+	},
+
+	# DocField
+	{
+		'colour': u'White:FFF',
+		'description': u'If linked to a Customer',
+		'doctype': u'DocField',
+		'fieldname': u'customer_details',
+		'fieldtype': u'Section Break',
+		'label': u'Customer Details',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'external_or_internal',
+		'fieldtype': u'Select',
+		'label': u'External or Internal',
+		'oldfieldname': u'external_or_internal',
+		'oldfieldtype': u'Select',
+		'options': u'External\nInternal',
+		'permlevel': 0
 	},
 
 	# DocField
@@ -226,73 +305,6 @@
 	# DocField
 	{
 		'doctype': u'DocField',
-		'fieldname': u'column_break0',
-		'fieldtype': u'Column Break',
-		'oldfieldtype': u'Column Break',
-		'permlevel': 0,
-		'width': u'50%'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'allocated_to_old',
-		'fieldtype': u'Link',
-		'hidden': 1,
-		'label': u'Allocated To Old',
-		'no_copy': 1,
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'colour': u'White:FFF',
-		'doctype': u'DocField',
-		'fieldname': u'allocated_to',
-		'fieldtype': u'Link',
-		'label': u'Allocated To',
-		'oldfieldname': u'allocated_to',
-		'oldfieldtype': u'Link',
-		'options': u'Profile',
-		'permlevel': 0,
-		'trigger': u'Client'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'task_email_notify',
-		'fieldtype': u'Check',
-		'label': u'Sent Mail Notification',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'allocated_to_name',
-		'fieldtype': u'Data',
-		'hidden': 1,
-		'label': u'Allocated To Name',
-		'oldfieldname': u'allocated_to_name',
-		'oldfieldtype': u'Data',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'sent_reminder',
-		'fieldtype': u'Data',
-		'hidden': 1,
-		'label': u'Sent Reminder',
-		'no_copy': 1,
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
 		'fieldname': u'senders_name',
 		'fieldtype': u'Data',
 		'in_filter': 1,
@@ -319,6 +331,14 @@
 	# DocField
 	{
 		'doctype': u'DocField',
+		'fieldname': u'column_break25',
+		'fieldtype': u'Column Break',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
 		'fieldname': u'senders_contact_no',
 		'fieldtype': u'Data',
 		'label': u'Senders Contact No',
@@ -337,102 +357,6 @@
 		'oldfieldtype': u'Data',
 		'permlevel': 0
 	},
-	
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'external_or_internal',
-		'fieldtype': u'Select',
-		'label': u'External or Internal',
-		'oldfieldname': u'external_or_internal',
-		'oldfieldtype': u'Select',
-		'options': u'External\nInternal',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'amended_from',
-		'fieldtype': u'Data',
-		'hidden': 1,
-		'label': u'Amended From',
-		'no_copy': 1,
-		'oldfieldname': u'amended_from',
-		'oldfieldtype': u'Data',
-		'permlevel': 1,
-		'print_hide': 1,
-		'report_hide': 1
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'amendment_date',
-		'fieldtype': u'Date',
-		'hidden': 1,
-		'label': u'Amendment Date',
-		'no_copy': 1,
-		'oldfieldname': u'amendment_date',
-		'oldfieldtype': u'Date',
-		'permlevel': 1,
-		'print_hide': 1,
-		'report_hide': 1
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'section_break0',
-		'fieldtype': u'Section Break',
-		'oldfieldtype': u'Section Break',
-		'options': u'Simple',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'description',
-		'fieldtype': u'Text Editor',
-		'label': u'Details',
-		'oldfieldname': u'description',
-		'oldfieldtype': u'Text Editor',
-		'permlevel': 0,
-		'reqd': 0,
-		'width': u'300px'
-	},
-
-	# DocField
-	{
-		'colour': u'White:FFF',
-		'doctype': u'DocField',
-		'fieldname': u'first_creation_flag',
-		'fieldtype': u'Int',
-		'hidden': 1,
-		'in_filter': 0,
-		'label': u'First Creation Flag',
-		'no_copy': 1,
-		'oldfieldname': u'first_creation_flag',
-		'oldfieldtype': u'Int',
-		'permlevel': 0,
-		'print_hide': 1,
-		'search_index': 0
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'second_creation_flag',
-		'fieldtype': u'Int',
-		'hidden': 1,
-		'label': u'Second Creation Flag',
-		'no_copy': 1,
-		'oldfieldname': u'second_creation_flag',
-		'oldfieldtype': u'Int',
-		'permlevel': 0,
-		'print_hide': 1
-	},
 
 	# DocField
 	{
@@ -458,32 +382,6 @@
 	# DocField
 	{
 		'doctype': u'DocField',
-		'fieldname': u'exp_start_date',
-		'fieldtype': u'Date',
-		'label': u'Expected Start Date',
-		'oldfieldname': u'exp_start_date',
-		'oldfieldtype': u'Date',
-		'permlevel': 0,
-		'reqd': 0
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'exp_end_date',
-		'fieldtype': u'Date',
-		'in_filter': 1,
-		'label': u'Expected End Date',
-		'oldfieldname': u'exp_end_date',
-		'oldfieldtype': u'Date',
-		'permlevel': 0,
-		'reqd': 0,
-		'search_index': 1
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
 		'fieldname': u'exp_total_hrs',
 		'fieldtype': u'Data',
 		'label': u'Total Hours (Expected)',
@@ -557,5 +455,84 @@
 		'oldfieldname': u'actual_budget',
 		'oldfieldtype': u'Currency',
 		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'more_details',
+		'fieldtype': u'Section Break',
+		'label': u'More Details',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'opening_date',
+		'fieldtype': u'Date',
+		'label': u'Creation Date',
+		'oldfieldname': u'opening_date',
+		'oldfieldtype': u'Date',
+		'permlevel': 0,
+		'reqd': 1
+	},
+
+	# DocField
+	{
+		'colour': u'White:FFF',
+		'depends_on': u'eval:doc.status == "Closed" || doc.status == "Pending Review"',
+		'doctype': u'DocField',
+		'fieldname': u'review_date',
+		'fieldtype': u'Date',
+		'hidden': 1,
+		'label': u'Review Date',
+		'oldfieldname': u'review_date',
+		'oldfieldtype': u'Date',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'colour': u'White:FFF',
+		'depends_on': u'eval:doc.status == "Closed"',
+		'doctype': u'DocField',
+		'fieldname': u'closing_date',
+		'fieldtype': u'Date',
+		'hidden': 1,
+		'label': u'Closing Date',
+		'oldfieldname': u'closing_date',
+		'oldfieldtype': u'Date',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'amended_from',
+		'fieldtype': u'Data',
+		'hidden': 1,
+		'label': u'Amended From',
+		'no_copy': 1,
+		'oldfieldname': u'amended_from',
+		'oldfieldtype': u'Data',
+		'permlevel': 1,
+		'print_hide': 1,
+		'report_hide': 1
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'amendment_date',
+		'fieldtype': u'Date',
+		'hidden': 1,
+		'label': u'Amendment Date',
+		'no_copy': 1,
+		'oldfieldname': u'amendment_date',
+		'oldfieldtype': u'Date',
+		'permlevel': 1,
+		'print_hide': 1,
+		'report_hide': 1
 	}
-]
+]
\ No newline at end of file
diff --git a/erpnext/projects/page/projects_home/projects_home.html b/erpnext/projects/page/projects_home/projects_home.html
index e86aa03..81235a2 100644
--- a/erpnext/projects/page/projects_home/projects_home.html
+++ b/erpnext/projects/page/projects_home/projects_home.html
@@ -4,12 +4,12 @@
 		<h1>Projects</h1>
 		<hr>
 		<div style="width: 48%; float: left;">
-			<h4><a href="#!List/Project">Project</a></h4>
-			<p class="help">Project master</p>
-			<br>
 			<h4><a href="#!List/Task">Task</a></h4>
 			<p class="help">Project activity / task</p>
 			<br>
+			<h4><a href="#!List/Project">Project</a></h4>
+			<p class="help">Project master</p>
+			<br>
 			<h4><a href="#!List/Timesheet">Timesheet</a></h4>
 			<p class="help">Timesheet for tasks</p>
 		</div>
diff --git a/erpnext/startup/startup.js b/erpnext/startup/startup.js
index 2efe55d..9ea3c89 100644
--- a/erpnext/startup/startup.js
+++ b/erpnext/startup/startup.js
@@ -135,6 +135,7 @@
 				show_in_circle('open_support_tickets', r.message.open_support_tickets);
 				show_in_circle('things_todo', r.message.things_todo);
 				show_in_circle('todays_events', r.message.todays_events);
+				show_in_circle('open_tasks', r.message.open_tasks);
 
 			} else {
 				clearInterval(wn.updates.id);
diff --git a/erpnext/startup/startup.py b/erpnext/startup/startup.py
index 8bc13f8..f21f251 100644
--- a/erpnext/startup/startup.py
+++ b/erpnext/startup/startup.py
@@ -20,6 +20,15 @@
 		WHERE status = 'Open'""")
 	return open_support_tickets and cint(open_support_tickets[0][0]) or 0
 
+def get_open_tasks():
+	"""
+		Returns a count of open tasks
+	"""
+	from webnotes.utils import cint
+	return webnotes.conn.sql("""\
+		SELECT COUNT(*) FROM `tabTask`
+		WHERE status = 'Open'""")[0][0]
+
 def get_things_todo():
 	"""
 		Returns a count of incomplete todos
@@ -51,4 +60,5 @@
 		'open_support_tickets': get_open_support_tickets(),
 		'things_todo': get_things_todo(),
 		'todays_events': get_todays_events(),
+		'open_tasks': get_open_tasks()
 	}
diff --git a/public/js/all-app.js b/public/js/all-app.js
index fd47281..b9d63fe 100644
--- a/public/js/all-app.js
+++ b/public/js/all-app.js
@@ -2270,7 +2270,7 @@
   href="http://erpnext.com" target="_blank"></a>')}
 erpnext.update_messages=function(reset){if(inList(['Guest'],user)||!wn.session_alive){return;}
 if(!reset){var set_messages=function(r){if(!r.exc){erpnext.toolbar.set_new_comments(r.message.unread_messages);var show_in_circle=function(parent_id,msg){var parent=$('#'+parent_id);if(parent){if(msg){parent.find('span:first').text(msg);parent.toggle(true);}else{parent.toggle(false);}}}
-show_in_circle('unread_messages',r.message.unread_messages.length);show_in_circle('open_support_tickets',r.message.open_support_tickets);show_in_circle('things_todo',r.message.things_todo);show_in_circle('todays_events',r.message.todays_events);}else{clearInterval(wn.updates.id);}}
+show_in_circle('unread_messages',r.message.unread_messages.length);show_in_circle('open_support_tickets',r.message.open_support_tickets);show_in_circle('things_todo',r.message.things_todo);show_in_circle('todays_events',r.message.todays_events);show_in_circle('open_tasks',r.message.open_tasks);}else{clearInterval(wn.updates.id);}}
 wn.call({method:'startup.startup.get_global_status_messages',callback:set_messages});}else{erpnext.toolbar.set_new_comments(0);$('#unread_messages').toggle(false);}}
 erpnext.startup.set_periodic_updates=function(){wn.updates={};if(wn.updates.id){clearInterval(wn.updates.id);}
 wn.updates.id=setInterval(erpnext.update_messages,60000);}
diff --git a/public/js/all-web.js b/public/js/all-web.js
index 98da2b6..d1344e6 100644
--- a/public/js/all-web.js
+++ b/public/js/all-web.js
@@ -724,7 +724,7 @@
   href="http://erpnext.com" target="_blank"></a>')}
 erpnext.update_messages=function(reset){if(inList(['Guest'],user)||!wn.session_alive){return;}
 if(!reset){var set_messages=function(r){if(!r.exc){erpnext.toolbar.set_new_comments(r.message.unread_messages);var show_in_circle=function(parent_id,msg){var parent=$('#'+parent_id);if(parent){if(msg){parent.find('span:first').text(msg);parent.toggle(true);}else{parent.toggle(false);}}}
-show_in_circle('unread_messages',r.message.unread_messages.length);show_in_circle('open_support_tickets',r.message.open_support_tickets);show_in_circle('things_todo',r.message.things_todo);show_in_circle('todays_events',r.message.todays_events);}else{clearInterval(wn.updates.id);}}
+show_in_circle('unread_messages',r.message.unread_messages.length);show_in_circle('open_support_tickets',r.message.open_support_tickets);show_in_circle('things_todo',r.message.things_todo);show_in_circle('todays_events',r.message.todays_events);show_in_circle('open_tasks',r.message.open_tasks);}else{clearInterval(wn.updates.id);}}
 wn.call({method:'startup.startup.get_global_status_messages',callback:set_messages});}else{erpnext.toolbar.set_new_comments(0);$('#unread_messages').toggle(false);}}
 erpnext.startup.set_periodic_updates=function(){wn.updates={};if(wn.updates.id){clearInterval(wn.updates.id);}
 wn.updates.id=setInterval(erpnext.update_messages,60000);}
