diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
index f833ff3..69c88ed 100644
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
@@ -31,16 +31,11 @@
 		{% for(var i=0, l=data.length; i<l; i++) { %}
 			<tr>
 			{% if(__(report.report_name) == "Accounts Receivable" || __(report.report_name) == "Accounts Payable") { %}
-				{% if(data[i][__("Posting Date")]) { %}
+				{% if(data[i][__("Customer")] || data[i][__("Supplier")]) { %}
 					<td>{%= dateutil.str_to_user(data[i][__("Posting Date")]) %}</td>
 					<td>{%= data[i][__("Voucher Type")] %}
 						<br>{%= data[i][__("Voucher No")] %}</td>
 					<td>{%= data[i][__("Customer Name")] || data[i][__("Customer")] || data[i][__("Supplier Name")] || data[i][__("Supplier")] %}
-						{% if(__(report.report_name) == "Accounts Receivable") { %}
-							<br>{%= __("Territory") %}: {%= data[i][__("Territory")] %}
-						{% } else { %}
-							<br>{%= __("Supplier Type") %}: {%= data[i][__("Supplier Type")] %}
-						{% } %}
 						<br>{%= __("Remarks") %}: {%= data[i][__("Remarks")] %}</td>
 					<td style="text-align: right">{%= format_currency(data[i][__("Invoiced Amount")]) %}</td>
 					<td style="text-align: right">{%= format_currency(data[i][__("Paid Amount")]) %}</td>
@@ -48,23 +43,22 @@
 				{% } else { %}
 					<td></td>
 					<td></td>
-					<td><b>{%= data[i][__("Customer")] || data[i][__("Supplier")] || "&nbsp;" %}</b></td>
+					<td><b>{%= __("Total") %}</b></td>
 					<td style="text-align: right">
-						{%= data[i][__("Account")] && format_currency(data[i][__("Invoiced Amount")]) %}</td>
+						{%= format_currency(data[i][__("Invoiced Amount")]) %}</td>
 					<td style="text-align: right">
-						{%= data[i][__("Account")] && format_currency(data[i][__("Paid Amount")]) %}</td>
+						{%= format_currency(data[i][__("Paid Amount")]) %}</td>
 					<td style="text-align: right">
-						{%= data[i][__("Account")] && format_currency(data[i][__("Outstanding Amount")]) %}</td>
+						{%= format_currency(data[i][__("Outstanding Amount")]) %}</td>
 				{% } %}
 			{% } else { %}
 				{% if(data[i][__("Customer")] || data[i][__("Supplier")]|| "&nbsp;") { %}
-					<td>{%= data[i][__("Customer")] || data[i][__("Supplier")] %}
-						{% if(__(report.report_name) == "Accounts Receivable Summary") { %}
-							<br>{%= __("Territory") %}: {%= data[i][__("Territory")] %}
-						{% } else { %}
-							<br>{%= __("Supplier Type") %}: {%= data[i][__("Supplier Type")] %}
-						{% } %}
+					{% if((data[i][__("Customer")] || data[i][__("Supplier")]) != __("'Total'")) { %}
+						<td>{%= data[i][__("Customer")] || data[i][__("Supplier")] %}
 						<br>{%= __("Remarks") %}: {%= data[i][__("Remarks")] %}</td>
+					{% } else { %}
+						<td><b>{%= __("Total") %}</b></td>
+					{% } %}
 					<td style="text-align: right">{%= format_currency(data[i][__("Total Invoiced Amt")]) %}</td>
 					<td style="text-align: right">{%= format_currency(data[i][__("Total Paid Amt")]) %}</td>
 					<td style="text-align: right">{%= format_currency(data[i][__("Total Outstanding Amt")]) %}</td>
