diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py
index d39fd20..e663983 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.py
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py
@@ -403,9 +403,9 @@
 				"against": against_account,
 				"account_currency": self.party_account_currency
 			})
-			
+
 			dr_or_cr = "credit" if self.party_type in ["Customer", "Student"] else "debit"
-			
+
 			for d in self.get("references"):
 				gle = party_gl_dict.copy()
 				gle.update({
@@ -530,7 +530,7 @@
 	if (args.get("party_type") != "Student"):
 		orders_to_be_billed =  get_orders_to_be_billed(args.get("posting_date"),args.get("party_type"),
 			args.get("party"), party_account_currency, company_currency)
-	
+
 	return negative_outstanding_invoices + outstanding_invoices + orders_to_be_billed
 
 def get_orders_to_be_billed(posting_date, party_type, party, party_account_currency, company_currency):
diff --git a/erpnext/config/schools.py b/erpnext/config/schools.py
index b984578..dbdcd35 100644
--- a/erpnext/config/schools.py
+++ b/erpnext/config/schools.py
@@ -156,6 +156,10 @@
 				},
 				{
 					"type": "doctype",
+					"name": "Fee Schedule"
+				},
+				{
+					"type": "doctype",
 					"name": "Fee Structure"
 				},
 				{
diff --git a/erpnext/schools/doctype/fee_schedule/fee_schedule.js b/erpnext/schools/doctype/fee_schedule/fee_schedule.js
index 9e5a156..757355d 100644
--- a/erpnext/schools/doctype/fee_schedule/fee_schedule.js
+++ b/erpnext/schools/doctype/fee_schedule/fee_schedule.js
@@ -3,9 +3,16 @@
 
 frappe.ui.form.on('Fee Schedule', {
 	setup: function(frm) {
-		frm.add_fetch("company", "default_receivable_account", "debit_to");
-		frm.add_fetch("company", "default_income_account", "against_income_account");
-		frm.add_fetch("company", "cost_center", "cost_center");
+		frm.add_fetch("fee_structure", "default_receivable_account", "debit_to");
+		frm.add_fetch("fee_structure", "default_income_account", "against_income_account");
+		frm.add_fetch("fee_structure", "cost_center", "cost_center");
+
+		frm.set_query("student_group", "student_groups", function() {
+			return {
+				"program": frm.doc.program,
+				"academic_year": frm.doc.academic_year
+			};
+		});
 	},
 
 	refresh: function(frm) {
@@ -47,20 +54,20 @@
 	}
 });
 
-frappe.ui.form.on("Fee Component", {
-	refresh: function(frm) {
-		frm.set_read_only();
-	}
-});
-
 frappe.ui.form.on("Fee Schedule Student Group", {
-	onload: function(frm) {
-		frm.set_query("student_group",function(){
-			return{
-				"filters":{
-					"group_based_on": "Batch"
+	student_group: function(frm, cdt, cdn) {
+		var row = locals[cdt][cdn];
+		frappe.call({
+			method: "erpnext.schools.doctype.fee_schedule.fee_schedule.get_total_students",
+			args: {
+				"student_group": row.student_group,
+				"student_category": frm.doc.student_category
+			},
+			callback: function(r) {
+				if(!r.exc) {
+					frappe.model.set_value(cdt, cdn, "total_students", r.message);
 				}
-			};
-		});
+			}
+		})
 	}
-});
+})
\ No newline at end of file
diff --git a/erpnext/schools/doctype/fee_schedule/fee_schedule.json b/erpnext/schools/doctype/fee_schedule/fee_schedule.json
index c1fb2ec..7215603 100644
--- a/erpnext/schools/doctype/fee_schedule/fee_schedule.json
+++ b/erpnext/schools/doctype/fee_schedule/fee_schedule.json
@@ -171,6 +171,68 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fieldname": "student_category", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Student Category", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Student Category", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 1, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "program", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Program", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Program", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 1, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
    "fieldname": "academic_year", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -188,7 +250,7 @@
    "precision": "", 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
-   "read_only": 0, 
+   "read_only": 1, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -219,7 +281,7 @@
    "precision": "", 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
-   "read_only": 0, 
+   "read_only": 1, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -315,7 +377,7 @@
    "read_only": 0, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
-   "reqd": 0, 
+   "reqd": 1, 
    "search_index": 0, 
    "set_only_once": 0, 
    "unique": 0
@@ -937,7 +999,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-08-23 15:58:34.051237", 
+ "modified": "2017-09-07 12:36:02.678355", 
  "modified_by": "Administrator", 
  "module": "Schools", 
  "name": "Fee Schedule", 
diff --git a/erpnext/schools/doctype/fee_schedule/fee_schedule.py b/erpnext/schools/doctype/fee_schedule/fee_schedule.py
index 80165f4..822a62d 100644
--- a/erpnext/schools/doctype/fee_schedule/fee_schedule.py
+++ b/erpnext/schools/doctype/fee_schedule/fee_schedule.py
@@ -34,7 +34,7 @@
 		no_of_students = 0
 		for d in self.student_groups:
 			# if not d.total_students:
-			d.total_students = get_total_students(d.student_group)
+			d.total_students = get_total_students(d.student_group, self.student_category)
 			no_of_students += cint(d.total_students)
 		self.grand_total = no_of_students*self.total_amount
 		self.grand_total_in_words = money_in_words(self.grand_total)
@@ -44,7 +44,7 @@
 			self.fee_creation_status = "In Process"
 			enqueue(generate_fee, queue='default', timeout=6000, event='generate_fee',
 				fee_schedule=self.name)
-			frappe.msgprint(_("Fee generation started"))
+			frappe.msgprint(_("Fee records will be created in the background. In case of any error, the error message will be updated in the Schedule, check after refresh in 5 minutes."))
 
 
 def generate_fee(fee_schedule):
@@ -84,7 +84,6 @@
 		frappe.db.set_value("Fee Schedule", fee_schedule, "error_log", err_msg)
 
 	else:
-		frappe.db.commit()
 		frappe.db.set_value("Fee Schedule", fee_schedule, "fee_creation_status", "Successful")
 		frappe.db.set_value("Fee Schedule", fee_schedule, "error_log", None)
 
@@ -98,7 +97,17 @@
 	return fee_request
 
 @frappe.whitelist()
-def get_total_students(student_group):
-	students = frappe.get_all("Student Group Student",
-		filters={"parent": student_group, "parenttype": "Student Group", "active": 1}) or []
-	return len(students)
\ No newline at end of file
+def get_total_students(student_group, student_category=None):
+	conditions = ""
+	if student_category:
+		conditions = " and s.student_category='{}'".format(frappe.db.escape(student_category))
+
+	return frappe.db.sql("""
+		select count(s.name)
+		from `tabStudent` s, `tabStudent Group Student` sgs
+		where 
+			s.name = sgs.student
+			and sgs.parent = %s
+			and sgs.active = 1
+			{conditions}
+	""".format(conditions=conditions), student_group)[0][0]
diff --git a/erpnext/schools/doctype/fee_structure/fee_structure.js b/erpnext/schools/doctype/fee_structure/fee_structure.js
index 7619cf5..78b8588 100644
--- a/erpnext/schools/doctype/fee_structure/fee_structure.js
+++ b/erpnext/schools/doctype/fee_structure/fee_structure.js
@@ -16,6 +16,21 @@
 				}
 			};
 		});
+	},
+
+	refresh: function(frm) {
+		if(frm.doc.docstatus === 1) {
+			frm.add_custom_button(__("Make Fee Schedule"), function() {
+				frm.events.make_fee_schedule(frm);
+			});
+		}
+	},
+
+	make_fee_schedule: function(frm) {
+		frappe.model.open_mapped_doc({
+			method: "erpnext.schools.doctype.fee_structure.fee_structure.make_fee_schedule",
+			frm: frm
+		});
 	}
 });
 
diff --git a/erpnext/schools/doctype/fee_structure/fee_structure.json b/erpnext/schools/doctype/fee_structure/fee_structure.json
index da8d7c9..c3df7bb6 100644
--- a/erpnext/schools/doctype/fee_structure/fee_structure.json
+++ b/erpnext/schools/doctype/fee_structure/fee_structure.json
@@ -564,6 +564,36 @@
    "search_index": 0, 
    "set_only_once": 0, 
    "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "amended_from", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Amended From", 
+   "length": 0, 
+   "no_copy": 1, 
+   "options": "Fee Structure", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 1, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
   }
  ], 
  "has_web_view": 0, 
@@ -573,12 +603,12 @@
  "idx": 0, 
  "image_view": 0, 
  "in_create": 0, 
- "is_submittable": 0, 
+ "is_submittable": 1, 
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
  "menu_index": 0, 
- "modified": "2017-08-02 16:31:35.861158", 
+ "modified": "2017-09-07 12:04:14.807690", 
  "modified_by": "Administrator", 
  "module": "Schools", 
  "name": "Fee Structure", 
@@ -586,15 +616,15 @@
  "owner": "Administrator", 
  "permissions": [
   {
-   "amend": 0, 
+   "amend": 1, 
    "apply_user_permissions": 0, 
-   "cancel": 0, 
+   "cancel": 1, 
    "create": 1, 
    "delete": 1, 
    "email": 1, 
    "export": 1, 
    "if_owner": 0, 
-   "import": 0, 
+   "import": 1, 
    "permlevel": 0, 
    "print": 1, 
    "read": 1, 
@@ -602,7 +632,7 @@
    "role": "Academics User", 
    "set_user_permissions": 0, 
    "share": 1, 
-   "submit": 0, 
+   "submit": 1, 
    "write": 1
   }
  ], 
diff --git a/erpnext/schools/doctype/fee_structure/fee_structure.py b/erpnext/schools/doctype/fee_structure/fee_structure.py
index b71c507..781382b 100644
--- a/erpnext/schools/doctype/fee_structure/fee_structure.py
+++ b/erpnext/schools/doctype/fee_structure/fee_structure.py
@@ -5,6 +5,8 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.model.document import Document
+from frappe.model.mapper import get_mapped_doc
+
 
 class FeeStructure(Document):
 	def validate(self):
@@ -16,3 +18,17 @@
 		for d in self.components:
 			self.total_amount += d.amount
 	
+
+@frappe.whitelist()
+def make_fee_schedule(source_name, target_doc=None):
+	return get_mapped_doc("Fee Structure", source_name,	{
+		"Fee Structure": {
+			"doctype": "Fee Schedule",
+			"validation": {
+				"docstatus": ["=", 1],
+			}
+		},
+		"Fee Component": {
+			"doctype": "Fee Component"
+		}
+	}, target_doc)
\ No newline at end of file
diff --git a/erpnext/schools/doctype/fee_structure/test_fee_structure.js b/erpnext/schools/doctype/fee_structure/test_fee_structure.js
new file mode 100644
index 0000000..61f4135
--- /dev/null
+++ b/erpnext/schools/doctype/fee_structure/test_fee_structure.js
@@ -0,0 +1,23 @@
+/* eslint-disable */
+// rename this file from _test_[name] to test_[name] to activate
+// and remove above this line
+
+QUnit.test("test: Fee Structure", function (assert) {
+	let done = assert.async();
+
+	// number of asserts
+	assert.expect(1);
+
+	frappe.run_serially([
+		// insert a new Fee Structure
+		() => frappe.tests.make('Fee Structure', [
+			// values to be set
+			{key: 'value'}
+		]),
+		() => {
+			assert.equal(cur_frm.doc.key, 'value');
+		},
+		() => done()
+	]);
+
+});
diff --git a/erpnext/schools/doctype/fees/fees.py b/erpnext/schools/doctype/fees/fees.py
index 2e1a49b..ac5564e 100644
--- a/erpnext/schools/doctype/fees/fees.py
+++ b/erpnext/schools/doctype/fees/fees.py
@@ -10,7 +10,6 @@
 from erpnext.accounts.doctype.payment_request.payment_request import make_payment_request
 from frappe.utils.csvutils import getlink
 from erpnext.controllers.accounts_controller import AccountsController
-from erpnext.accounts.doctype.journal_entry.journal_entry import get_default_bank_cash_account
 from erpnext.accounts.general_ledger import delete_gl_entries
 
 
