[fix] [minor] fixes after merging akhilesh's changes
diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py
index 6979f1f..87afd74 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/accounts/doctype/sales_invoice/sales_invoice.py
@@ -197,18 +197,10 @@
 		if pos:
 			self.doc.conversion_rate = flt(pos.conversion_rate)
 			
-			if not self.doc.debit_to:
-				self.doc.debit_to = self.doc.customer and webnotes.conn.get_value("Account", {
-					"name": self.doc.customer + " - " + self.get_company_abbr(), 
-					"docstatus": ["!=", 2]
-				}) or pos.customer_account
-				
-			if self.doc.debit_to and not self.doc.customer:
-				self.doc.customer = webnotes.conn.get_value("Account", {
-					"name": self.doc.debit_to,
-					"master_type": "Customer"
-				}, "master_name")
-				
+			if not for_validate:
+				self.doc.customer = pos.customer
+				self.set_customer_defaults()
+
 			for fieldname in ('territory', 'naming_series', 'currency', 'charge', 'letter_head', 'tc_name',
 				'selling_price_list', 'company', 'select_print_heading', 'cash_bank_account'):
 					if (not for_validate) or (for_validate and not self.doc.fields.get(fieldname)):
diff --git a/hr/doctype/employee/employee.py b/hr/doctype/employee/employee.py
index 89f9856..f1646f7 100644
--- a/hr/doctype/employee/employee.py
+++ b/hr/doctype/employee/employee.py
@@ -156,29 +156,33 @@
 					raise_exception=InvalidLeaveApproverError)
 
 	def update_dob_event(self):
-		get_events = webnotes.conn.sql("""select name from `tabEvent` where repeat_on='Every Year' 
-			and ref_type='Employee' and ref_name=%s""", (self.doc.name), as_dict=1)
+		if self.doc.date_of_birth:
+			get_events = webnotes.conn.sql("""select name from `tabEvent` where repeat_on='Every Year' 
+				and ref_type='Employee' and ref_name=%s""", self.doc.name)
 
-		starts_on = self.doc.date_of_birth + " 00:00:00"
-		ends_on = self.doc.date_of_birth + " 00:15:00"
+			starts_on = self.doc.date_of_birth + " 00:00:00"
+			ends_on = self.doc.date_of_birth + " 00:15:00"
 
-		if get_events:
-			webnotes.conn.sql("""update `tabEvent` set starts_on=%s, ends_on=%s 
-				where name=%s""", (get_events[0].name, starts_on, ends_on)
+			if get_events:
+				webnotes.conn.sql("""update `tabEvent` set starts_on=%s, ends_on=%s 
+					where name=%s""", (starts_on, ends_on, get_events[0][0]))
+			else:
+				webnotes.bean({
+					"doctype": "Event",
+					"subject": _("Birthday") + ": " + self.doc.employee_name,
+					"starts_on": starts_on,
+					"ends_on": ends_on,
+					"event_type": "Public",
+					"all_day": 1,
+					"send_reminder": 1,
+					"repeat_this_event": 1,
+					"repeat_on": "Every Year",
+					"ref_type": "Employee",
+					"ref_name": self.doc.name
+				}).insert()
 		else:
-			event_wrapper = webnotes.bean({
-				"doctype": "Event",
-				"subject": _("Birthday") + ": " + self.doc.employee_name,
-				"starts_on": starts_on,
-				"ends_on": ends_on,
-				"event_type": "Public",
-				"all_day": 1,
-				"send_reminder": 1,
-				"repeat_this_event": 1,
-				"repeat_on": "Every Year",
-				"ref_type": "Employee",
-				"ref_name": self.doc.name
-			}).insert()
+			webnotes.conn.sql("""delete from `tabEvent` where repeat_on='Every Year' and
+				ref_type='Employee' and ref_name=%s""", self.doc.name)
 
 @webnotes.whitelist()
 def get_retirement_date(date_of_birth=None):
diff --git a/patches/august_2013/p02_rename_price_list.py b/patches/august_2013/p02_rename_price_list.py
index cea7c79..a66a0c2 100644
--- a/patches/august_2013/p02_rename_price_list.py
+++ b/patches/august_2013/p02_rename_price_list.py
@@ -1,3 +1,7 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
 import webnotes
 
 def execute():
diff --git a/patches/august_2013/p04_employee_birthdays.py b/patches/august_2013/p04_employee_birthdays.py
new file mode 100644
index 0000000..6e8481d
--- /dev/null
+++ b/patches/august_2013/p04_employee_birthdays.py
@@ -0,0 +1,11 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import webnotes
+
+def execute():
+	for employee in webnotes.conn.sql_list("""select name from `tabEmployee` where ifnull(date_of_birth, '')!=''"""):
+		obj = webnotes.get_obj("Employee", employee)
+		obj.update_dob_event()
+		
\ No newline at end of file
diff --git a/patches/patch_list.py b/patches/patch_list.py
index bd6b9a3..9e6938b 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -254,4 +254,5 @@
 	"patches.august_2013.p01_hr_settings",
 	"patches.august_2013.p02_rename_price_list",
 	"patches.august_2013.p03_pos_setting_replace_customer_account",
+	"patches.august_2013.p04_employee_birthdays",
 ]
\ No newline at end of file