diff --git a/erpnext/setup/doctype/email_digest/email_digest.css b/erpnext/setup/doctype/email_digest/email_digest.css
new file mode 100644
index 0000000..0654dec
--- /dev/null
+++ b/erpnext/setup/doctype/email_digest/email_digest.css
@@ -0,0 +1,10 @@
+table.profile-list {
+	text-align: left;
+	margin: auto;
+	line-height: 250%;
+}
+
+div.dialog-div {
+	text-align: 'center';
+	width: 100%;
+}
diff --git a/erpnext/setup/doctype/email_digest/email_digest.js b/erpnext/setup/doctype/email_digest/email_digest.js
new file mode 100644
index 0000000..a840721
--- /dev/null
+++ b/erpnext/setup/doctype/email_digest/email_digest.js
@@ -0,0 +1,69 @@
+cur_frm.cscript.refresh = function(doc, dt, dn) {
+	cur_frm.add_custom_button('Execute Now', function() {
+		$c_obj(make_doclist(dt, dn), 'get_standard_data', '', function(r, rt) {
+			if(r.exc) {
+				msgprint(r.exc);
+			} else {
+				console.log(arguments);
+			}
+		});	
+	}, 1);
+}
+
+cur_frm.cscript['Add Recipients'] = function(doc, dt, dn) {
+	// Get profile list
+	$c_obj(make_doclist(dt, dn), 'get_profiles', '', function(r, rt) {
+		if(r.exc) {
+			msgprint(r.exc);
+		} else {
+			// Open a dialog and display checkboxes against email addresses
+			doc = locals[dt][dn];
+			var d = new wn.widgets.Dialog({
+				title: 'Add Recipients',
+				width: 400
+			});
+			var dialog_div = $a(d.body, 'div', 'dialog-div', '', '');
+			var tab = make_table(dialog_div, r.profile_list.length+2, 2, '', ['15%', '85%']);
+			tab.className = 'profile-list';
+			var add_or_update = 'Add';
+			$.each(r.profile_list, function(i, v) {
+				var check = $a_input($td(tab, i+1, 0), 'checkbox');
+				check.value = v.name;
+				if(v.checked==1) {
+					check.checked = 1;
+					add_or_update = 'Update';
+				}
+				var profile = $a($td(tab, i+1, 1), 'span', '', '', v.name);
+				profile.onclick = function() { check.checked = !check.checked; }
+			});
+
+			// Display add recipients button
+			if(r.profile_list.length>15) {
+				$btn($td(tab, 0, 1), add_or_update + ' Recipients', function() {
+					cur_frm.cscript.add_to_rec_list(doc, tab, r.profile_list.length);
+				});
+			}
+			$btn($td(tab, r.profile_list.length+1, 1), add_or_update + ' Recipients', function() {
+				cur_frm.cscript.add_to_rec_list(doc, tab, r.profile_list.length);
+			});
+
+			cur_frm.rec_dialog = d;	
+			d.show();
+		}
+	});
+}
+
+cur_frm.cscript.add_to_rec_list = function(doc, tab, length) {
+	// add checked profiles to list of recipients
+	var rec_list = [];
+	for(var i = 1; i <= length; i++) {
+		var input = $($td(tab, i, 0)).find('input');
+		if(input.is(':checked')) {
+			rec_list.push(input.attr('value'));
+		}
+	}
+	doc.recipient_list = rec_list.join('\n');
+	console.log(doc.recipient_list);
+	cur_frm.rec_dialog.hide();
+	cur_frm.refresh_fields();
+}
diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py
new file mode 100644
index 0000000..0167a15
--- /dev/null
+++ b/erpnext/setup/doctype/email_digest/email_digest.py
@@ -0,0 +1,204 @@
+import webnotes
+
+class DocType:
+	def __init__(self, doc, doclist=[]):
+		self.doc, self.doclist = doc, doclist	
+
+
+	def get_profiles(self):
+		"""
+			Get a list of profiles
+		"""
+		import webnotes
+		profile_list = webnotes.conn.sql("""
+			SELECT name, enabled FROM tabProfile
+			WHERE docstatus=0 AND name NOT IN ('Administrator', 'Guest')
+			ORDER BY enabled DESC, name ASC""", as_dict=1)
+		if self.doc.recipient_list:
+			recipient_list = self.doc.recipient_list.split("\n")
+		else:
+			recipient_list = []
+		for p in profile_list:
+			if p['name'] in recipient_list: p['checked'] = 1
+			else: p['checked'] = 0
+		webnotes.response['profile_list'] = profile_list
+
+
+	def get_standard_data(self):
+		"""
+			Executes standard queries
+		"""
+		res = {}
+		query_dict = {
+
+			'invoiced_amount': self.generate_gle_query({
+				'field': 'debit',
+				'type': 'Customer',
+			}),
+
+			'payables': self.generate_gle_query({
+				'field': 'credit',
+				'type': 'Supplier',
+			}),
+
+			'collections': self.generate_gle_query({
+				'field': 'credit',
+				'type': 'Customer',
+				'against': 'Bank or Cash'
+			}),
+
+			'payments': self.generate_gle_query({
+				'field': 'debit',
+				'type': 'Supplier',
+				'against': 'Bank or Cash'
+			}),
+
+			'income': self.generate_gle_query({
+				'debit_or_credit': 'Credit'
+			}),
+
+			'expenses_booked': self.generate_gle_query({
+				'debit_or_credit': 'Debit'
+			}),
+
+			'bank_balance': self.generate_gle_query({
+				'bank_balance': None
+			}),
+
+			'new_leads': """""",
+
+			'new_inquiries': """""",
+
+			'new_quotations': "",
+
+			'new_orders': "",
+
+			'stock_below_rl': """""",
+
+			'new_transactions': """"""
+
+		}
+
+		result = {}
+
+		for query in query_dict.keys():
+			if query_dict[query]:
+				webnotes.msgprint(query)
+				res = webnotes.conn.sql(query_dict[query], as_dict=1, debug=1)
+				if query == 'income':
+					res[0]['value'] = float(res[0]['credit'] - res[0]['debit'])
+				elif query == 'expenses_booked':
+					res[0]['value'] = float(res[0]['debit'] - res[0]['credit'])
+				elif query == 'bank_balance':
+					for r in res:
+						r['value'] = float(r['debit'] - r['credit'])
+				webnotes.msgprint(query)
+				webnotes.msgprint(res)
+				result[query] = (res and res[0]) and res[0] or None
+
+		return result
+
+
+	def generate_gle_query(self, args):
+		"""
+			Returns generated query string
+		"""
+		start_date = '2011-11-01'
+		end_date = '2011-11-30'
+		args.update({
+			'start_date': start_date,
+			'end_date': end_date,
+			'company': self.doc.company,
+			'select': None,
+			'where': None
+		})
+
+
+		self.evaluate_query_conditions(args)
+		
+		query = """
+			SELECT
+				%(select)s,
+				COUNT(*) AS 'count'
+			FROM
+				`tabGL Entry` gle,
+				`tabAccount` ac
+			WHERE
+				gle.company = '%(company)s' AND
+				gle.account = ac.name AND
+				ac.docstatus < 2 AND
+				IFNULL(gle.is_cancelled, 'No') = 'No' AND
+				%(where)s AND
+				gle.posting_date <= '%(end_date)s'""" % args
+
+		if 'group_by' in args.keys():
+			query = query + args['group_by']
+		
+		return query
+
+
+	def evaluate_query_conditions(self, args):
+		"""
+			Modify query according to type of information required based on args passed 
+		"""
+		# If collections or payments
+		if 'against' in args.keys():
+			if args['against'] == 'Bank or Cash':
+				bc_account_list = webnotes.conn.sql("""
+					SELECT name
+					FROM `tabAccount`
+					WHERE account_type = 'Bank or Cash'""", as_list=1)
+				args['reg'] = '(' + '|'.join([ac[0] for ac in bc_account_list]) + ')'
+				args['where'] = """
+					ac.master_type = '%(type)s' AND
+					gle.against REGEXP '%(reg)s' AND
+					gle.posting_date >= '%(start_date)s'""" % args
+		
+		# If income or expenses_booked
+		elif 'debit_or_credit' in args.keys():
+			args['select'] = """
+				SUM(IFNULL(gle.debit, 0)) AS 'debit',
+				SUM(IFNULL(gle.credit, 0)) AS 'credit'"""
+
+			args['where'] = """
+				ac.is_pl_account = 'Yes' AND
+				ac.debit_or_credit = '%(debit_or_credit)s' AND
+				gle.posting_date >= '%(start_date)s'""" % args
+
+		elif 'bank_balance' in args.keys():
+			args['select'] = "ac.name AS 'name', SUM(IFNULL(debit, 0)) AS 'debit', SUM(IFNULL(credit, 0)) AS 'credit'"
+			args['where'] = "ac.account_type = 'Bank or Cash'"
+			args['group_by'] = "GROUP BY ac.name"
+
+		# For everything else
+		else:
+			args['where'] = """
+				ac.master_type = '%(type)s' AND
+				gle.posting_date >= '%(start_date)s'""" % args
+	
+		if not args['select']:
+			args['select'] = "SUM(IFNULL(gle.%(field)s, 0)) AS '%(field)s'" % args
+
+
+	def get(self):
+		"""
+			* Execute Query
+			* Prepare Email Body from Print Format
+		"""
+		pass
+
+
+	def execute_queries(self):
+		"""
+			* If standard==1, execute get_standard_data
+			* If standard==0, execute python code in custom_code field
+		"""
+		pass
+
+
+	def send(self):
+		"""
+			* Execute get method
+			* Send email to recipients
+		"""
+		pass
diff --git a/erpnext/setup/doctype/email_digest/email_digest.txt b/erpnext/setup/doctype/email_digest/email_digest.txt
index 026caa7..d6fa85a 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.txt
+++ b/erpnext/setup/doctype/email_digest/email_digest.txt
@@ -3,24 +3,25 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-07-27 14:23:09',
+		'creation': '2011-11-28 13:11:56',
 		'docstatus': 0,
-		'modified': '2011-07-27 17:32:27',
+		'modified': '2011-12-02 10:58:22',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
 
 	# These values are common for all DocType
 	{
-		'_last_update': '1311760331',
+		'_last_update': '1322803627',
+		'autoname': 'Prompt',
 		'colour': 'White:FFF',
 		'doctype': 'DocType',
-		'issingle': 1,
+		'document_type': 'System',
 		'module': 'Setup',
 		'name': '__common__',
 		'section_style': 'Simple',
 		'show_in_menu': 0,
-		'version': 4
+		'version': 45
 	},
 
 	# These values are common for all DocField
@@ -29,23 +30,18 @@
 		'name': '__common__',
 		'parent': 'Email Digest',
 		'parentfield': 'fields',
-		'parenttype': 'DocType',
-		'permlevel': 0
+		'parenttype': 'DocType'
 	},
 
 	# These values are common for all DocPerm
 	{
-		'create': 1,
 		'doctype': 'DocPerm',
-		'idx': 1,
 		'name': '__common__',
 		'parent': 'Email Digest',
 		'parentfield': 'permissions',
 		'parenttype': 'DocType',
-		'permlevel': 0,
 		'read': 1,
-		'role': 'Administrator',
-		'write': 1
+		'role': 'System Manager'
 	},
 
 	# DocType, Email Digest
@@ -56,34 +52,278 @@
 
 	# DocPerm
 	{
-		'doctype': 'DocPerm'
+		'create': 1,
+		'doctype': 'DocPerm',
+		'permlevel': 0,
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'doctype': 'DocPerm',
+		'permlevel': 1
 	},
 
 	# DocField
 	{
 		'doctype': 'DocField',
-		'fieldtype': 'HTML',
-		'idx': 1,
-		'label': 'Body'
+		'fieldtype': 'Section Break',
+		'label': 'Settings',
+		'permlevel': 0
 	},
 
 	# DocField
 	{
 		'doctype': 'DocField',
-		'fieldname': 'content_config',
+		'fieldtype': 'Column Break',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'enabled',
+		'fieldtype': 'Check',
+		'label': 'Enabled',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'company',
+		'fieldtype': 'Select',
+		'label': 'For Company',
+		'options': 'link:Company',
+		'permlevel': 0,
+		'reqd': 1
+	},
+
+	# DocField
+	{
+		'allow_on_submit': 0,
+		'doctype': 'DocField',
+		'fieldname': 'frequency',
+		'fieldtype': 'Select',
+		'label': 'How frequently?',
+		'options': '\nDaily\nWeekly\nMonthly',
+		'permlevel': 0,
+		'reqd': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'send_time',
+		'fieldtype': 'Select',
+		'label': 'At what time?',
+		'options': '\n1 AM\n2 AM\n3 AM\n4 AM\n5 AM\n6 AM\n7 AM\n8 AM\n9 AM\n10 AM\n11 AM\nNoon\n1 PM\n2 PM\n3 PM\n4 PM\n5 PM\n6 PM\n7 PM\n8 PM\n9 PM\n10 PM\n11 PM\nMidnight',
+		'permlevel': 0,
+		'reqd': 1
+	},
+
+	# DocField
+	{
+		'default': '1',
+		'doctype': 'DocField',
+		'fieldname': 'use_standard',
+		'fieldtype': 'Check',
+		'label': 'Use standard?',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'print_format',
+		'fieldtype': 'Select',
+		'label': 'Email Template',
+		'options': "link:Print Format\ndoc_type='Email Digest'",
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Column Break',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Button',
+		'label': 'Add Recipients',
+		'permlevel': 0,
+		'trigger': 'Client'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'recipient_list',
 		'fieldtype': 'Text',
-		'hidden': 1,
-		'idx': 2,
-		'label': 'Content Config'
+		'label': 'Recipients',
+		'permlevel': 1,
+		'reqd': 1
 	},
 
 	# DocField
 	{
+		'depends_on': 'eval:doc.use_standard',
 		'doctype': 'DocField',
-		'fieldname': 'email_config',
-		'fieldtype': 'Text',
-		'hidden': 1,
-		'idx': 3,
-		'label': 'Email Config'
+		'fieldtype': 'Section Break',
+		'label': 'Select Digest Content',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'invoiced_amount',
+		'fieldtype': 'Check',
+		'label': 'Invoiced Amount (Receivables)',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'payables',
+		'fieldtype': 'Check',
+		'label': 'Payables',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'income',
+		'fieldtype': 'Check',
+		'label': 'Income',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'expenses_booked',
+		'fieldtype': 'Check',
+		'label': 'Expenses Booked',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'collections',
+		'fieldtype': 'Check',
+		'label': 'Collections',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'payments',
+		'fieldtype': 'Check',
+		'label': 'Payments',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'bank_balance',
+		'fieldtype': 'Check',
+		'label': 'Bank Balance',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'new_leads',
+		'fieldtype': 'Check',
+		'label': 'New Leads',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'new_inquiries',
+		'fieldtype': 'Check',
+		'label': 'New Inquiries',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'new_quotations',
+		'fieldtype': 'Check',
+		'label': 'New Quotations',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'new_orders',
+		'fieldtype': 'Check',
+		'label': 'New Orders',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'stock_below_rl',
+		'fieldtype': 'Check',
+		'label': 'Stock Items below re-order level',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'new_transactions',
+		'fieldtype': 'Check',
+		'label': 'New Transactions',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'depends_on': 'eval:!doc.use_standard',
+		'doctype': 'DocField',
+		'fieldtype': 'Section Break',
+		'label': 'Enter Custom Code',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'default': '\n',
+		'depends_on': 'eval:!doc.use_standard',
+		'doctype': 'DocField',
+		'fieldname': 'custom_code',
+		'fieldtype': 'Code',
+		'label': 'Custom Python Code',
+		'permlevel': 0
 	}
 ]
\ No newline at end of file
