diff --git a/erpnext/config/education.py b/erpnext/config/education.py
index e4e77f3..5a05a25 100644
--- a/erpnext/config/education.py
+++ b/erpnext/config/education.py
@@ -135,6 +135,10 @@
 					"name": "Assessment Plan Status",
 					"doctype": "Assessment Plan"
 				},
+				{
+					"type": "doctype",
+					"name": "Student Report Generation Tool"
+				}
 			]
 		},
 		{
diff --git a/erpnext/education/doctype/student/student.py b/erpnext/education/doctype/student/student.py
index a830e5b..841c2e8 100644
--- a/erpnext/education/doctype/student/student.py
+++ b/erpnext/education/doctype/student/student.py
@@ -22,14 +22,16 @@
 	def update_student_name_in_linked_doctype(self):
 		linked_doctypes = get_linked_doctypes("Student")
 		for d in linked_doctypes:
-			if "student_name" in [f.fieldname for f in frappe.get_meta(d).fields]:
-				frappe.db.sql("""UPDATE `tab{0}` set student_name = %s where {1} = %s"""
-					.format(d, linked_doctypes[d]["fieldname"]),(self.title, self.name))
+			meta = frappe.get_meta(d)
+			if not meta.issingle:
+				if "student_name" in [f.fieldname for f in meta.fields]:
+					frappe.db.sql("""UPDATE `tab{0}` set student_name = %s where {1} = %s"""
+						.format(d, linked_doctypes[d]["fieldname"]),(self.title, self.name))
 
-			if "child_doctype" in linked_doctypes[d].keys() and "student_name" in \
-				[f.fieldname for f in frappe.get_meta(linked_doctypes[d]["child_doctype"]).fields]:
-				frappe.db.sql("""UPDATE `tab{0}` set student_name = %s where {1} = %s"""
-					.format(linked_doctypes[d]["child_doctype"], linked_doctypes[d]["fieldname"]),(self.title, self.name))
+				if "child_doctype" in linked_doctypes[d].keys() and "student_name" in \
+					[f.fieldname for f in frappe.get_meta(linked_doctypes[d]["child_doctype"]).fields]:
+					frappe.db.sql("""UPDATE `tab{0}` set student_name = %s where {1} = %s"""
+						.format(linked_doctypes[d]["child_doctype"], linked_doctypes[d]["fieldname"]),(self.title, self.name))
 
 	def check_unique(self):
 		"""Validates if the Student Applicant is Unique"""
diff --git a/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.html b/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.html
index e5a7682..72772b7 100644
--- a/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.html
+++ b/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.html
@@ -1,82 +1,371 @@
 <style>
-	.whole-report {
-		font-size: 9pt;
-		font-family: 'Helvetica Neue', Helvetica, Arial, 'Open Sans', 'sans-serif';
-		-webkit-print-color-adjust: exact;
+		@media screen {
+		.print-format-gutter {
+			background-color: #ddd;
+			padding: 15px 0px;
+		}
+		.print-format {
+			background-color: white;
+			box-shadow: 0px 0px 9px rgba(0,0,0,0.5);
+			max-width: 8.3in;
+			min-height: 11.69in;
+			padding: 0.75in;
+			margin: auto;
+		}
+	
+		.print-format.landscape {
+			max-width: 11.69in;
+			padding: 0.2in;
+		}
+	
+		.page-break {
+			padding: 30px 0px;
+			border-bottom: 1px dashed #888;
+		}
+	
+		.page-break:first-child {
+			padding-top: 0px;
+		}
+	
+		.page-break:last-child {
+			border-bottom: 0px;
+		}
+	
+		/* mozilla hack for images in table */
+		body:last-child .print-format td img {
+			width: 100% !important;
+		}
+	
+		@media(max-width: 767px) {
+			.print-format {
+				padding: 0.2in;
+			}
+		}
 	}
-
-	h2 {
-		text-align: center;
+	
+	@media print {
+		.print-format p {
+			margin-left: 1px;
+			margin-right: 1px;
+		}
 	}
-
-	span {
-		padding-bottom: 5px;
+	
+	.data-field {
+		margin-top: 5px;
+		margin-bottom: 5px;
 	}
-
-	thead {
-		background-color: #eee !important;
+	
+	.data-field .value {
+		word-wrap: break-word;
+	}
+	
+	.important .value {
+		font-size: 120%;
 		font-weight: bold;
 	}
-
-	td {
+	
+	.important label {
+		line-height: 1.8;
+		margin: 0px;
+	}
+	
+	.table {
+		margin: 20px 0px;
+	}
+	
+	.square-image {
+		width: 100%;
+		height: 0;
+		padding: 50% 0;
+		background-size: contain;
+		/*background-size: cover;*/
+		background-repeat: no-repeat !important;
+		background-position: center center;
+		border-radius: 4px;
+	}
+	
+	.print-item-image {
+		object-fit: contain;
+	}
+	
+	.pdf-variables,
+	.pdf-variable,
+	.visible-pdf {
+		display: none !important;
+	}
+	
+	.print-format {
+		font-size: 9pt;
+		font-family: "Helvetica Neue", Helvetica, Arial, "Open Sans", sans-serif;
+		-webkit-print-color-adjust:exact;
+	}
+	
+	.page-break {
+		page-break-after: always;
+	}
+	
+	.print-heading {
+		border-bottom: 1px solid #aaa;
+		margin-bottom: 10px;
+	}
+	
+	.print-heading h2 {
+		margin: 0px;
+	}
+	.print-heading h4 {
+		margin-top: 5px;
+	}
+	
+	table.no-border, table.no-border td {
+		border: 0px;
+	}
+	
+	.print-format label {
+		/* wkhtmltopdf breaks label into multiple lines when it is inline-block */
+		display: block;
+	}
+	
+	.print-format img {
+		max-width: 100%;
+	}
+	
+	.print-format table td > .primary:first-child {
+		font-weight: bold;
+	}
+	
+	.print-format td, .print-format th {
 		vertical-align: top !important;
 		padding: 6px !important;
-		text-align: left;
 	}
+	
+	.print-format p {
+		margin: 3px 0px 3px;
+	}
+	
+	table td div {
+		
+		/* needed to avoid partial cutting of text between page break in wkhtmltopdf */
+		page-break-inside: avoid !important;
+		
+	}
+	
+	/* hack for webkit specific browser */
+	@media (-webkit-min-device-pixel-ratio:0) {
+		thead, tfoot { display: table-row-group; }
+	}
+	
+	[document-status] {
+		margin-bottom: 5mm;
+	}
+	
+	.signature-img {
+		background: #fff;
+		border-radius: 3px;
+		margin-top: 5px;
+		max-height: 150px;
+	}
+	
+	.print-heading {
+		text-align: right;
+		text-transform: uppercase;
+		color: #666;
+		padding-bottom: 20px;
+		margin-bottom: 20px;
+		border-bottom: 1px solid #d1d8dd;
+	}
+	
+	.print-heading h2 {
+		font-size: 24px;
+	}
+	
+	.print-format th {
+		background-color: #eee !important;
+		border-bottom: 0px !important;
+	}
+	
+	/* modern format: for-test */
 
-	.doc-field {
-		margin-bottom: 5px;
+	.pbi_avoid {
+		page-break-inside: avoid !important;
+	}
+	.pb_before {
+		page-break-before: always !important;
 	}
 </style>
 
-<div class="whole-report">
-<h2>{{ _("Student Report Card") }}</h2>
-<hr>
-<span class="doc-field"> {{ _("Student: ") }} <b> {{ frappe.db.get_value("Student", doc.students[0], "title") }} </b> </span> <br>
-<span class="doc-field"> {{ _("Program: ") }} <b> {{ doc.program }} </b> </span> <br>
-<span class="doc-field"> {{ _("Assessment Group: ") }} <b> {{ doc.assessment_group }} </b> </span>
-<hr>
+
+
+<div class="page-break">
+
+	<div id="header-html" class="hidden-pdf">
+
+		{% if letterhead and add_letterhead %}
+			<div class="">{{ letterhead }}</div>
+		{% endif %}
+		<div class="print-heading">
+			<h2>{{ _("Student Report Card") }}<br>
+				<small>{{ doc.student_name }}</small>
+			</h2>
+		</div>
+	</div>
+
+	<div class="row section-break">
+		<div class="col-xs-6 column-break">
+			<div class="row data-field">
+				<div class="col-xs-5">
+					<label>{{ _("Student ID: ") }}</label>
+				</div>
+				<div class="col-xs-7">
+					{{ doc.students[0] }}
+				</div>
+			</div>
+
+			<div class="row data-field">
+				<div class="col-xs-5">
+					<label>{{ _("Student Name: ") }}</label>
+				</div>
+				<div class="col-xs-7">
+					{{ doc.student_name }}
+				</div>
+			</div>
+
+			<div class="row data-field">
+				<div class="col-xs-5">
+					<label>{{ _("Program: ") }}</label>
+				</div>
+				<div class="col-xs-7">
+					{{ doc.program }}
+				</div>
+			</div>
+
+			<div class="row data-field">
+				<div class="col-xs-5">
+					<label>{{ _("Batch: ") }}</label>
+				</div>
+				<div class="col-xs-7">
+					{{ doc.student_batch }}
+				</div>
+			</div>
+		</div>
+
+		<div class="col-xs-6 column-break">
+			<div class="row data-field">
+				<div class="col-xs-5">
+					<label>{{ _("Academic Year: ") }}</label>
+				</div>
+				<div class="col-xs-7">
+					{{ doc.academic_year }}
+				</div>
+			</div>
+
+			{% if doc.academic_term %}
+			<div class="row data-field">
+				<div class="col-xs-5">
+					<label>{{ _("Academic Term: ") }}</label>
+				</div>
+				<div class="col-xs-7">
+					{{ doc.academic_term }}
+				</div>
+			</div>
+			{% endif %}
+
+			<div class="row data-field">
+				<div class="col-xs-5">
+					<label>{{ _("Assessment Group: ") }}</label>
+				</div>
+				<div class="col-xs-7">
+					{{ doc.assessment_group }}
+				</div>
+			</div>
+		</div>
+	</div>
+
+
+{% if doc.show_marks | int %}
+	{% set result_data = 'score' %}
+{% else %}
+	{% set result_data = 'grade' %}
+{% endif %}
+
 
 {% for course in courses %}
-	<br>
-	<div class="doc-field">
-		Course: <b>{{ course }} ({{ frappe.db.get_value("Course", course, "course_name") }}) </b>
+
+<div class="row section-break pbi_avoid">
+	<div class="col-xs-12 column-break">
+
+		<div>
+		<table class="table table-bordered table-condensed">
+			<caption>
+				<div class="row">
+					<div class="col-xs-1">
+						<label>{{ _("Course: ") }}</label>
+					</div>
+					<div class="col-xs-11">
+						{{ course }} ({{ frappe.db.get_value("Course", course, "course_name") }})
+					</div>
+				</div>
+			</caption>
+			<thead>
+				<tr>
+					<th style="width: {{ 650//(assessment_groups|length + 1) }}px">{{ _("Assessment Criteria") }}</th>
+					{% for assessment_group in assessment_groups %}
+					<th> {{ assessment_group }}</th>
+					{% endfor %}
+				</tr>
+			</thead>
+
+			<tbody>
+				{% for criteria in course_criteria[course] %}
+				<tr>
+					<td>{{ criteria }}</td>
+					{% for assessment_group in assessment_groups %}
+						{% if (assessment_result.get(course) and assessment_result.get(course).get(assessment_group) and assessment_result.get(course).get(assessment_group).get(criteria)) %}
+							<td>
+								{{ assessment_result.get(course).get(assessment_group).get(criteria).get(result_data) }}
+								{% if result_data == 'score' %}
+								({{ assessment_result.get(course).get(assessment_group).get(criteria).get('maximum_score') }})
+								{% endif %}
+							</td>
+						{% else %}
+							<td></td>
+						{% endif %}
+					{% endfor %}
+				</tr>
+				{% endfor %}
+			</tbody>
+
+		</table>
+		</div>
 	</div>
-	<table class="table table-bordered table-condensed">
-		<thead>
-			<tr>
-				<td>Assessment Criteria</td>
-				{% for assessment_group in assessment_groups %}
-				<td> {{ assessment_group }}</td>
-				{% endfor %}
-			</tr>
-		</thead>
-		<tbody>
-			{% for criteria in course_criteria[course] %}
-			<tr>
-				<td>{{ criteria }}</td>
-				{% for assessment_group in assessment_groups %}
-					{% if (assessment_result.get(course) and assessment_result.get(course).get(assessment_group) and assessment_result.get(course).get(assessment_group).get(criteria)) %}
-						<td> {{ assessment_result.get(course).get(assessment_group).get(criteria).get("grade") }} </td>
-					{% else %}
-						<td></td>
-					{% endif %}
-				{% endfor %}
-			</tr>
-			{% endfor %}
-		</tbody>
-	</table>
+</div>
+
 {% endfor %}
 
-<hr>
-<h4>{{ _("Attendance")}}</h4> <br>
-<div>
-	Present {{ doc.present_days }} out of {{ doc.max_days }}
+<br>
+
+<div class="row section-break pbi_avoid">
+	<div class="col-xs-6 column-break">	
+		<h4>{{ _("Student Attendance")}}</h4> <br>
+		<div>
+			Present {{ doc.attendance.get("Present") if doc.attendance.get("Present") != None else '0' }} days
+			out of {{ doc.attendance.get("Present") + doc.attendance.get("Absent") }}
+		</div>
+	</div>
+
+	<div class="col-xs-6 column-break">	
+		<h4>{{ _("Parents Teacher Meeting Attendance")}}</h4> <br>
+		<div>
+			Present {{ doc.parents_attendance if doc.parents_attendance != None else '0' }}
+			out of {{ doc.parents_meeting if doc.parents_meeting != None else '0' }}
+		</div>
+	</div>
 </div>
 
-<hr>
-<h4>{{ _("Parents Meeting Attendance")}}</h4> <br>
-<div>
-	Present {{ doc.parents_attendance }} out of {{ doc.parents_meeting }}
+{% if doc.assessment_terms %}
+<div class="row section-break pb_before">
+	<div class="col-xs-12">
+		<p> {{ doc.assessment_terms }} </p>
+	</div>
 </div>
-</div>
\ No newline at end of file
+{% endif %}
+</div>
diff --git a/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.js b/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.js
index 11aae17..d5103ca 100644
--- a/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.js
+++ b/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.js
@@ -22,11 +22,45 @@
 	refresh: function(frm) {
 		frm.disable_save();
 		frm.page.clear_indicator();
-		frm.fields_dict.preview_report_card.$input.addClass("btn-primary");
+		frm.page.set_primary_action(__('Print Report Card'), () => {
+			let url = "/api/method/erpnext.education.doctype.student_report_generation_tool.student_report_generation_tool.preview_report_card";
+			open_url_post(url, frm.doc, true);
+		});
 	},
 
-	preview_report_card: function(frm) {
-		let url = "/api/method/erpnext.education.doctype.student_report_generation_tool.student_report_generation_tool.preview_report_card";
-		open_url_post(url, frm.doc);
+	student: function(frm) {
+		if (frm.doc.student) {
+			frappe.call({
+				method:"erpnext.education.api.get_current_enrollment",
+				args: {
+					"student": frm.doc.student,
+					"academic_year": frm.doc.academic_year
+				},
+				callback: function(r) {
+					if(r){
+						$.each(r.message, function(i, d) {
+							if (frm.fields_dict.hasOwnProperty(i)) {
+								frm.set_value(i, d);
+							}
+						});
+					}
+				}
+			});
+		}
+	},
+
+	terms: function(frm) {
+		if(frm.doc.terms) {
+			return frappe.call({
+				method: 'erpnext.setup.doctype.terms_and_conditions.terms_and_conditions.get_terms_and_conditions',
+				args: {
+					template_name: frm.doc.terms,
+					doc: frm.doc
+				},
+				callback: function(r) {
+					frm.set_value("assessment_terms", r.message);
+				}
+			});
+		}
 	}
 });
diff --git a/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.json b/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.json
index 63f1a89..88c59c2 100644
--- a/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.json
+++ b/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.json
@@ -18,19 +18,19 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "academic_year", 
+   "fieldname": "student", 
    "fieldtype": "Link", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
    "in_global_search": 0, 
-   "in_list_view": 1, 
+   "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Academic Year", 
+   "label": "Student", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "Academic Year", 
+   "options": "Student", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -49,8 +49,8 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "academic_term", 
-   "fieldtype": "Link", 
+   "fieldname": "student_name", 
+   "fieldtype": "Read Only", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
@@ -58,10 +58,9 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Academic Term", 
+   "label": "Student Name", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "Academic Term", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -80,7 +79,38 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "student", 
+   "fieldname": "program", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "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": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "student_batch", 
    "fieldtype": "Link", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
@@ -89,10 +119,101 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Student", 
+   "label": "Batch", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "Student", 
+   "options": "Student Batch Name", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "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": "include_all_assessment", 
+   "fieldtype": "Check", 
+   "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": "Include All Assessment Group", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "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": "show_marks", 
+   "fieldtype": "Check", 
+   "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": "Show Marks", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "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, 
+   "default": "1", 
+   "fieldname": "add_letterhead", 
+   "fieldtype": "Check", 
+   "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": "Add letterhead", 
+   "length": 0, 
+   "no_copy": 0, 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -171,7 +292,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "program", 
+   "fieldname": "academic_year", 
    "fieldtype": "Link", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
@@ -180,10 +301,73 @@
    "in_global_search": 0, 
    "in_list_view": 1, 
    "in_standard_filter": 0, 
-   "label": "Program", 
+   "label": "Academic Year", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "Program", 
+   "options": "Academic Year", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "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_term", 
+   "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": "Academic Term", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Academic Term", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "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, 
+   "depends_on": "add_letterhead", 
+   "fieldname": "letter_head", 
+   "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": "Letter Head", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Letter Head", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -211,96 +395,7 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Attendance Print Section", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "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": "max_days", 
-   "fieldtype": "Data", 
-   "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": "Institution Open (Days)", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "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": "present_days", 
-   "fieldtype": "Data", 
-   "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 Present (Days)", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "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": "column_break_10", 
-   "fieldtype": "Column Break", 
-   "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": "Print Section", 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -330,7 +425,7 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Total Parent's Meeting", 
+   "label": "Total Parents Teacher Meeting", 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -360,7 +455,7 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Parent Present", 
+   "label": "Attended by Parents", 
    "length": 0, 
    "no_copy": 0, 
    "options": "", 
@@ -382,8 +477,8 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "section_break_9", 
-   "fieldtype": "Section Break", 
+   "fieldname": "terms", 
+   "fieldtype": "Link", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
@@ -391,8 +486,10 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
+   "label": "Terms", 
    "length": 0, 
    "no_copy": 0, 
+   "options": "Terms and Conditions", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -411,8 +508,8 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "preview_report_card", 
-   "fieldtype": "Button", 
+   "fieldname": "assessment_terms", 
+   "fieldtype": "Text Editor", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
@@ -420,7 +517,7 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Print Report Card", 
+   "label": "Assessment Terms", 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -446,7 +543,7 @@
  "issingle": 1, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2018-03-16 01:56:31.095554", 
+ "modified": "2018-03-20 17:57:53.936119", 
  "modified_by": "Administrator", 
  "module": "Education", 
  "name": "Student Report Generation Tool", 
diff --git a/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.py b/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.py
index 60f0c8f..7b2e007 100644
--- a/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.py
+++ b/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.py
@@ -16,60 +16,76 @@
 
 
 @frappe.whitelist()
-def preview_report_card(program, assessment_group, academic_year, academic_term=None, student=None, student_group=None,
-		max_days=None, present_days=None, parents_meeting=None, parents_attendance=None):
-	doc = frappe._dict()
+def preview_report_card(**kwargs):
+	doc = frappe._dict(**kwargs)
+	doc.students = [doc.student]
+	if not (doc.student_name and doc.student_batch):
+		program_enrollment = frappe.get_all("Program Enrollment", fields=["student_batch_name", "student_name"],
+			filters={"student": doc.student, "docstatus": ('!=', 2), "academic_year": doc.academic_year})
+		if program_enrollment:
+			doc.batch = program_enrollment[0].student_batch_name
+			doc.student_name = program_enrollment[0].student_name
 
-	# doc.program = program
-	doc.assessment_group = assessment_group
-	doc.academic_year = academic_year
-	doc.max_days = max_days
-	doc.present_days = present_days
-	doc.parents_meeting = parents_meeting
-	doc.parents_attendance = parents_attendance
-	if academic_term:
-		doc.academic_term = academic_term
-	if student_group:
-		doc.student_group = student_group
-	if student:
-		doc.students = [student]
-
-	if not doc.students and not doc.student_group:
-		frappe.throw("Please select the Student or Student Group")
-
-	values = get_formatted_result(doc, get_course=True, get_all_assessment_groups=True)
-	student_details = values.get("student_details")
-	assessment_result = values.get("assessment_result").get(doc.students[0])
+	# get the assessment result of the selected student
+	values = get_formatted_result(doc, get_course=True, get_all_assessment_groups=doc.include_all_assessment)
+	assessment_result = values.get("assessment_result").get(doc.student)
 	courses = values.get("course_dict")
 	course_criteria = get_courses_criteria(courses)
-	assessment_groups = get_child_assessment_groups(doc.assessment_group)
 
-	if program:
-		doc.program = program
+	# get the assessment group as per the user selection
+	if int(doc.include_all_assessment):
+		assessment_groups = get_child_assessment_groups(doc.assessment_group)
+	else:
+		assessment_groups = [doc.assessment_group]
+
+	# get the attendance of the student for that peroid of time.
+	doc.attendance = get_attendance_count(doc.students[0], doc.academic_year, doc.academic_term)
+
 	template = "erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.html"
 	base_template_path = "frappe/www/printview.html"
-	
+
+	from frappe.www.printview import get_letter_head
+	letterhead = get_letter_head(frappe._dict({"letter_head": doc.letterhead}), not doc.add_letterhead)
+
 	html = frappe.render_template(template,
 		{
 			"doc": doc,
 			"assessment_result": assessment_result,
 			"courses": courses,
 			"assessment_groups": assessment_groups,
-			"course_criteria": course_criteria
+			"course_criteria": course_criteria,
+			"letterhead": letterhead.content,
+			"add_letterhead": int(doc.add_letterhead) if int(doc.add_letterhead) else 0
 		})
+	final_template = frappe.render_template(base_template_path, {"body": html, "title": "Report Card"})
 
-	final_template = frappe.render_template(base_template_path, {
-		"body": html,
-		"title": "Report Card"
-	})
-
-	frappe.response.filename = "Report Card.pdf"
+	frappe.response.filename = "Report Card " + doc.students[0] + ".pdf"
 	frappe.response.filecontent = get_pdf(final_template)
 	frappe.response.type = "download"
 
+
 def get_courses_criteria(courses):
 	course_criteria = frappe._dict()
 	for course in courses:
 		course_criteria[course] = [d.assessment_criteria for d in frappe.get_all("Course Assessment Criteria",
 			fields=["assessment_criteria"], filters={"parent": course})]
 	return course_criteria
+
+
+def get_attendance_count(student, academic_year, academic_term=None):
+	if academic_year:
+		from_date, to_date = frappe.db.get_value("Academic Year", academic_year, ["year_start_date", "year_end_date"])
+	elif academic_term:
+		from_date, to_date = frappe.db.get_value("Academic Term", academic_term, ["term_start_date", "term_end_date"])
+	if from_date and to_date:
+		attendance = dict(frappe.db.sql('''select status, count(student) as no_of_days
+			from `tabStudent Attendance` where student = %s 
+			and date between %s and %s group by status''',
+			(student, from_date, to_date)))
+		if "Absent" not in attendance.keys():
+			attendance["Absent"] = 0
+		if "Present" not in attendance.keys():
+			attendance["Present"] = 0
+		return attendance
+	else:
+		frappe.throw("Provide the academic year and set the starting and ending date.") 
\ No newline at end of file
