show only those bank/cash balances which have non-zero value
diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py
index aa3f245..a34066c 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.py
+++ b/erpnext/setup/doctype/email_digest/email_digest.py
@@ -16,7 +16,7 @@
 
 from __future__ import unicode_literals
 import webnotes
-from webnotes.utils import fmt_money, formatdate, now_datetime, cstr
+from webnotes.utils import fmt_money, formatdate, now_datetime, cstr, esc
 from datetime import timedelta
 from dateutil.relativedelta import relativedelta
 
@@ -118,8 +118,9 @@
 		# build html
 		out = self.get_html("Bank/Cash Balance", "", "")
 		for ac in ackeys:
-			out += "\n" + self.get_html(accounts[ac][0], self.currency,
-				fmt_money(accounts[ac][1]), style="margin-left: 17px")
+			if accounts[ac][1]:
+				out += "\n" + self.get_html(accounts[ac][0], self.currency,
+					fmt_money(accounts[ac][1]), style="margin-left: 17px")
 		return sum((accounts[ac][1] for ac in ackeys)), out
 		
 	def get_income(self, from_date=None, label=None):
@@ -159,9 +160,9 @@
 			if a["master_type"]==party_type]
 
 		# account is "Bank or Cash"
-		bc_accounts = [a["name"] for a in self.get_accounts() 
+		bc_accounts = [esc(a["name"], "()|") for a in self.get_accounts() 
 			if a["account_type"]=="Bank or Cash"]
-		bc_regex = re.compile("(%s)" % "|".join(bc_accounts))
+		bc_regex = re.compile("""(%s)""" % "|".join(bc_accounts))
 		
 		total = 0
 		for gle in self.get_gl_entries(self.from_date, self.to_date):