diff --git a/accounts/doctype/gl_control/gl_control.py b/accounts/doctype/gl_control/gl_control.py
index 9dec4d5..deb88f7 100644
--- a/accounts/doctype/gl_control/gl_control.py
+++ b/accounts/doctype/gl_control/gl_control.py
@@ -141,6 +141,9 @@
 	# ----------------
 	def save_entries(self, cancel, adv_adj, update_outstanding):
 		for le in self.entries:
+			# round off upto 2 decimal
+			le.debit, le.credit = round(le.debit, 2), round(le.credit, 2)
+			
 			#toggle debit, credit if negative entry
 			if flt(le.debit) < 0 or flt(le.credit) < 0:
 				tmp=le.debit
diff --git a/accounts/doctype/journal_voucher/journal_voucher.py b/accounts/doctype/journal_voucher/journal_voucher.py
index 01b6880..8b22f22 100644
--- a/accounts/doctype/journal_voucher/journal_voucher.py
+++ b/accounts/doctype/journal_voucher/journal_voucher.py
@@ -54,9 +54,9 @@
 		r = []
 		if self.doc.cheque_no :
 			if self.doc.cheque_date:
-				r.append('Via cheque #%s dated %s' % (self.doc.cheque_no, formatdate(self.doc.cheque_date)))
+				r.append('Via Reference #%s dated %s' % (self.doc.cheque_no, formatdate(self.doc.cheque_date)))
 			else :
-				msgprint("Please enter cheque date")
+				msgprint("Please enter Reference date")
 				raise Exception
 		
 		for d in getlist(self.doclist, 'entries'):
diff --git a/patches/november_2012/communication_sender_and_recipient.py b/patches/november_2012/communication_sender_and_recipient.py
index c49bc9b..f8d7a95 100644
--- a/patches/november_2012/communication_sender_and_recipient.py
+++ b/patches/november_2012/communication_sender_and_recipient.py
@@ -1,7 +1,7 @@
 import webnotes
 
 def execute():
-	webnotes.reload_doc("support", "doctype", "communication")
+	webnotes.reload_doc("core", "doctype", "communication")
 	webnotes.conn.sql("""update tabCommunication set sender=email_address 
 		where ifnull(support_ticket,'') != ''""")
 	webnotes.conn.sql("""update tabCommunication set recipients=email_address where
diff --git a/patches/november_2012/gle_floating_point_issue.py b/patches/november_2012/gle_floating_point_issue.py
new file mode 100644
index 0000000..c345152
--- /dev/null
+++ b/patches/november_2012/gle_floating_point_issue.py
@@ -0,0 +1,16 @@
+def execute():
+	import webnotes
+	
+	webnotes.conn.sql("""update `tabGL Entry` 
+		set debit = round(debit, 2), credit = round(credit, 2)""")
+
+	gle = webnotes.conn.sql("""select voucher_type, voucher_no, 
+		sum(ifnull(debit,0)) - sum(ifnull(credit, 0)) as diff 
+	    from `tabGL Entry`
+		group by voucher_type, voucher_no
+		having sum(ifnull(debit, 0)) != sum(ifnull(credit, 0))""", as_dict=1)
+
+	for d in gle:
+		webnotes.conn.sql("""update `tabGL Entry` set debit = debit - %s 
+			where voucher_type = %s and voucher_no = %s and debit > 0 limit 1""", 
+			(d['diff'], d['voucher_type'], d['voucher_no']))
\ No newline at end of file
diff --git a/patches/patch_list.py b/patches/patch_list.py
index 93fc08d..1e54d5b 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -701,4 +701,8 @@
 		'patch_module': 'patches.november_2012',
 		'patch_file': 'production_order_patch',
 	},
+	{
+		'patch_module': 'patches.november_2012',
+		'patch_file': 'gle_floating_point_issue',
+	},
 ]
\ No newline at end of file
