Income/expense info in email digest
diff --git a/erpnext/setup/doctype/email_digest/email_digest.json b/erpnext/setup/doctype/email_digest/email_digest.json
index 971e3ed..48819e0 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.json
+++ b/erpnext/setup/doctype/email_digest/email_digest.json
@@ -96,7 +96,7 @@
   {
    "fieldname": "income_year_to_date", 
    "fieldtype": "Check", 
-   "hidden": 1, 
+   "hidden": 0, 
    "label": "Income Year to Date", 
    "permlevel": 0
   }, 
@@ -104,7 +104,7 @@
    "description": "Income booked for the digest period", 
    "fieldname": "income", 
    "fieldtype": "Check", 
-   "hidden": 1, 
+   "hidden": 0, 
    "label": "Income Booked", 
    "permlevel": 0
   }, 
@@ -112,25 +112,11 @@
    "description": "Expenses booked for the digest period", 
    "fieldname": "expenses_booked", 
    "fieldtype": "Check", 
-   "hidden": 1, 
+   "hidden": 0, 
    "label": "Expenses Booked", 
    "permlevel": 0
   }, 
   {
-   "description": "Payments received during the digest period", 
-   "fieldname": "collections", 
-   "fieldtype": "Check", 
-   "label": "Payments Received", 
-   "permlevel": 0
-  }, 
-  {
-   "description": "Payments made during the digest period", 
-   "fieldname": "payments", 
-   "fieldtype": "Check", 
-   "label": "Payments Made", 
-   "permlevel": 0
-  }, 
-  {
    "description": "Receivable / Payable account will be identified based on the field Master Type", 
    "fieldname": "column_break_16", 
    "fieldtype": "Column Break", 
@@ -152,6 +138,20 @@
    "permlevel": 0
   }, 
   {
+   "description": "Payments received during the digest period", 
+   "fieldname": "collections", 
+   "fieldtype": "Check", 
+   "label": "Payments Received", 
+   "permlevel": 0
+  }, 
+  {
+   "description": "Payments made during the digest period", 
+   "fieldname": "payments", 
+   "fieldtype": "Check", 
+   "label": "Payments Made", 
+   "permlevel": 0
+  }, 
+  {
    "fieldname": "section_break_20", 
    "fieldtype": "Section Break", 
    "label": "Buying & Selling", 
@@ -328,7 +328,7 @@
  ], 
  "icon": "icon-envelope", 
  "idx": 1, 
- "modified": "2014-05-09 02:16:43.979204", 
+ "modified": "2014-05-20 14:02:36.762220", 
  "modified_by": "Administrator", 
  "module": "Setup", 
  "name": "Email Digest", 
diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py
index 8b0d6f7..066e3b5 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.py
+++ b/erpnext/setup/doctype/email_digest/email_digest.py
@@ -13,8 +13,7 @@
 from frappe.core.doctype.user.user import STANDARD_USERS
 
 content_sequence = [
-	# ["Income / Expenses", ["income_year_to_date", "bank_balance",
-	# 	"income", "expenses_booked"]],
+	["Income / Expenses", ["income_year_to_date", "income", "expenses_booked"]],
 	["Receivables / Payables", ["collections", "payments",
 		"invoiced_amount", "payables"]],
 	["Bank Balance", ["bank_balance"]],
@@ -154,9 +153,9 @@
 
 		return msg
 
-	# def get_income_year_to_date(self):
-	# 	return self.get_income(frappe.db.get_defaults("year_start_date"),
-	# 		self.meta.get_label("income_year_to_date"))
+	def get_income_year_to_date(self):
+		return self.get_income(frappe.db.get_defaults("year_start_date"),
+			self.meta.get_label("income_year_to_date"))
 
 	def get_bank_balance(self):
 		# account is of type "Bank" or "Cash"
@@ -169,36 +168,34 @@
 				accounts[gle["account"]][1] += gle["debit"] - gle["credit"]
 
 		# build html
-		out = self.get_html("Bank/Cash Balance", "", "")
+		out = self.get_html("Bank/Cash Balance as on " + formatdate(self.to_date), "", "")
 		for ac in ackeys:
 			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):
-	# 	# account is PL Account and Credit type account
-	# 	accounts = [a["name"] for a in self.get_accounts() if a["root_type"]=="Income"]
-	#
-	# 	income = 0
-	# 	for gle in self.get_gl_entries(from_date or self.from_date, self.to_date):
-	# 		if gle["account"] in accounts:
-	# 			income += gle["credit"] - gle["debit"]
-	#
-	# 	return income, self.get_html(label or self.meta.get_label("income"), self.currency,
-	# 		fmt_money(income))
-	#
-	# def get_expenses_booked(self):
-	# 	# account is PL Account and Debit type account
-	# 	accounts = [a["name"] for a in self.get_accounts() if a["root_type"]=="Expense"]
-	#
-	# 	expense = 0
-	# 	for gle in self.get_gl_entries(self.from_date, self.to_date):
-	# 		if gle["account"] in accounts:
-	# 			expense += gle["debit"] - gle["credit"]
-	#
-	# 	return expense, self.get_html(self.meta.get_label("expenses_booked"), self.currency,
-	# 		fmt_money(expense))
+	def get_income(self, from_date=None, label=None):
+		accounts = [a["name"] for a in self.get_accounts() if a["root_type"]=="Income"]
+
+		income = 0
+		for gle in self.get_gl_entries(from_date or self.from_date, self.to_date):
+			if gle["account"] in accounts:
+				income += gle["credit"] - gle["debit"]
+
+		return income, self.get_html(label or self.meta.get_label("income"), self.currency,
+			fmt_money(income))
+
+	def get_expenses_booked(self):
+		accounts = [a["name"] for a in self.get_accounts() if a["root_type"]=="Expense"]
+
+		expense = 0
+		for gle in self.get_gl_entries(self.from_date, self.to_date):
+			if gle["account"] in accounts:
+				expense += gle["debit"] - gle["credit"]
+
+		return expense, self.get_html(self.meta.get_label("expenses_booked"), self.currency,
+			fmt_money(expense))
 
 	def get_collections(self):
 		return self.get_party_total("Customer", "credit", self.meta.get_label("collections"))
@@ -390,7 +387,7 @@
 
 	def get_accounts(self):
 		if not hasattr(self, "accounts"):
-			self.accounts = frappe.db.sql("""select name, account_type, account_name, master_type
+			self.accounts = frappe.db.sql("""select name, account_type, account_name, master_type, root_type
 				from `tabAccount` where company=%s and docstatus < 2
 				and group_or_ledger = "Ledger" order by lft""",
 				(self.company,), as_dict=1)