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)