Merge pull request #17181 from Anurag810/fix_auditing_voucher

fix: Auditing voucher
diff --git a/erpnext/accounts/print_format/bank_and_cash_payment_voucher/bank_and_cash_payment_voucher.html b/erpnext/accounts/print_format/bank_and_cash_payment_voucher/bank_and_cash_payment_voucher.html
index 2eadb2a..69e42c3 100644
--- a/erpnext/accounts/print_format/bank_and_cash_payment_voucher/bank_and_cash_payment_voucher.html
+++ b/erpnext/accounts/print_format/bank_and_cash_payment_voucher/bank_and_cash_payment_voucher.html
@@ -6,17 +6,18 @@
 
 
 </style>
-<div class="page-break">
+<div>
+    {% set gl = frappe.get_list(doctype="GL Entry",  fields=["account", "party_type", "party", "debit", "credit", "remarks"], filters={"voucher_type": doc.doctype, "voucher_no": doc.name}) %}
     {%- if not doc.get("print_heading") and not doc.get("select_print_heading")
         and doc.set("select_print_heading", _("Payment Entry")) -%}{%- endif -%}
     {{ add_header(0, 1, doc, letter_head, no_letterhead, print_settings) }}
     <div class="row margin-bottom">
-            <div class="col-sm-6">
+            <div class="col-xs-6">
                 <table>
                 <tr><td><strong>Voucher No: </strong></td><td>{{ doc.name }}</td></tr>
                 </table>
             </div>
-            <div>
+            <div class="col-xs-6">
                 <table>
                     <tr><td><strong>Date: </strong></td><td>{{ frappe.utils.formatdate(doc.creation) }}</td></tr>
                 </table>
@@ -31,52 +32,45 @@
                 <th>Amount</th>
             </tr>
             <tr>
+                    <td class="top-bottom" colspan="5"><strong>Debit</strong></td>
+            </tr>
+            {% for entries in gl %}
+            {% if entries.credit == 0.0 %}
+            <tr>
+                <td class="right top-bottom">{{ entries.account }}</td>
+                <td class="right left top-bottom">{{ entries.party_type }}</td>
+                <td class="right left top-bottom">{{ entries.party }}</td>
+                <td class="left top-bottom">{{ entries.debit }}</td>
+            </tr>
+            <tr>
+                <td class="top-bottom"colspan="4"><strong> Narration </strong><br>{{ entries.remarks }}</td>
+            </tr>
+            {% endif %}
+            {% endfor %}
+            <tr>
+                    <td class="right" colspan="3" ><strong>Total (debit) </strong></td>
+                    <td class="left" >{{ gl | sum(attribute='debit') }}</td>
+            </tr>
+            <tr>
                     <td class="top-bottom" colspan="5"><strong>Credit</strong></td>
             </tr>
-            {% set total_credit = 0 -%}
-            {% for entries in doc.gl_entries %}
+            {% for entries in gl %}
             {% if entries.debit == 0.0 %}
             <tr>
                 <td class="right top-bottom">{{ entries.account }}</td>
                 <td class="right left top-bottom">{{ entries.party_type }}</td>
                 <td class="right left top-bottom">{{ entries.party }}</td>
                 <td class="left top-bottom">{{ entries.credit }}</td>
-                {% set total_credit = total_credit + entries.credit -%}
             </tr>
             <tr>
                 <td class="top-bottom" colspan="4"><strong> Narration </strong><br>{{ entries.remarks }}</td>
             </tr>
+            {% endif %}
+            {% endfor %}
             <tr>
                     <td class="right" colspan="3"><strong>Total (credit) </strong></td>
-                    <td class="left" >{{total_credit}}</td>
+                    <td class="left" >{{ gl | sum(attribute='credit') }}</td>
             </tr>
-            {% endif %}
-            {% endfor %}
-            <tr>
-                    <td class="top-bottom" colspan="4"> </td>
-            </tr>
-            <tr>
-                    <td class="top-bottom" colspan="5"><strong>Debit</strong></td>
-            </tr>
-            {% set total_debit = 0 -%}
-            {% for entries in doc.gl_entries %}
-            {% if entries.credit == 0.0 %}
-            <tr>
-                <td class="right top-bottom">{{ entries.account }}</td>
-                <td class="right left top-bottom">{{ entries.party_type }}</td>
-                <td class="right left top-bottom">{{ entries.party }}</td>
-                {% set total_debit = total_debit + entries.debit -%}
-                <td class="left top-bottom">{{ entries.debit }}</td>
-            </tr>
-            <tr>
-                <td class="top-bottom"colspan="4"><strong> Narration </strong><br>{{ entries.remarks }}</td>
-            </tr>
-            <tr>
-                    <td class="right" colspan="3" ><strong>Total (debit) </strong></td>
-                    <td class="left" >{{total_debit}}</td>
-            </tr>
-            {% endif %}
-            {% endfor %}
         </table>
     <div>
 </div>
\ No newline at end of file
diff --git a/erpnext/accounts/print_format/journal_auditing_voucher/journal_auditing_voucher.html b/erpnext/accounts/print_format/journal_auditing_voucher/journal_auditing_voucher.html
index 4565559..1351517 100644
--- a/erpnext/accounts/print_format/journal_auditing_voucher/journal_auditing_voucher.html
+++ b/erpnext/accounts/print_format/journal_auditing_voucher/journal_auditing_voucher.html
@@ -3,26 +3,25 @@
     .table-bordered td.top-bottom {border-top: none !important;border-bottom: none !important;}
     .table-bordered td.right{border-right: none !important;}
     .table-bordered td.left{border-left: none !important;}
-
-
 </style>
-<div class="page-break">
+<div>
+    {% set gl = frappe.get_list(doctype="GL Entry",  fields=["account", "party_type", "party", "debit", "credit", "remarks"], filters={"voucher_type": doc.doctype, "voucher_no": doc.name}) %}
     {%- if not doc.get("print_heading") and not doc.get("select_print_heading")
         and doc.set("select_print_heading", _("Journal Entry")) -%}{%- endif -%}
     {{ add_header(0, 1, doc, letter_head, no_letterhead, print_settings) }}
-    <div class="row margin-bottom">
-            <div class="col-sm-6">
+    <div class="row">
+            <div class="col-xs-6">
                 <table>
-                <tr><td><strong>Voucher No: </strong></td><td>{{ doc.name }}</td></tr>
+                    <tr><td><strong>Voucher No: </strong></td><td>{{ doc.name }}</td></tr>
                 </table>
             </div>
-            <div>
+            <div class="col-xs-6">
                 <table>
                     <tr><td><strong>Date: </strong></td><td>{{  frappe.utils.formatdate(doc.creation)  }}</td></tr>
                 </table>
             </div>
     </div>
-    <div class="margin-top">
+    <div>
         <table class="table table-bordered table-condensed">
             <tr>
                 <th>Account</th>
@@ -31,46 +30,42 @@
                 <th>Amount</th>
             </tr>
             <tr>
+                <td class="top-bottom" colspan="5"><strong>Debit</strong></td>
+            </tr>
+            {% for entries in gl %}
+            {% if entries.credit == 0.0 %}
+            <tr>
+                <td class="right top-bottom">{{ entries.account }}</td>
+                <td class="right left top-bottom">{{ entries.party_type }}</td>
+                <td class="right left top-bottom">{{ entries.party }}</td>
+                <td class="left top-bottom">{{ entries.debit }}</td>
+            </tr>
+            {% endif %}
+            {% endfor %}
+            <tr>
+                    <td class="right" colspan="3" ><strong>Total (debit) </strong></td>
+                    <td class="left" >{{ gl | sum(attribute='debit') }}</td>
+            </tr>
+            <tr>
                     <td class="top-bottom" colspan="5"><strong>Credit</strong></td>
             </tr>
-            {% set total_credit = 0 -%}
-            {% for entries in doc.gl_entries %}
+            {% for entries in gl %}
             {% if entries.debit == 0.0 %}
             <tr>
                 <td class="right top-bottom">{{ entries.account }}</td>
                 <td class="right left top-bottom">{{ entries.party_type }}</td>
                 <td class="right left top-bottom">{{ entries.party }}</td>
                 <td class="left top-bottom">{{ entries.credit }}</td>
-                {% set total_credit = total_credit + entries.credit -%}
-            </tr>
-            <tr>
-                    <td class="right" colspan="3"><strong>Total (credit) </strong></td>
-                    <td class="left" >{{total_credit}}</td>
             </tr>
             {% endif %}
             {% endfor %}
             <tr>
-                    <td class="top-bottom" colspan="4"> </td>
+                <td class="right" colspan="3"><strong>Total (credit) </strong></td>
+                <td class="left" >{{ gl | sum(attribute='credit') }}</td>
             </tr>
             <tr>
-                    <td class="top-bottom" colspan="5"><strong>Debit</strong></td>
+                <td class="top-bottom" colspan="5"><b>Narration: </b>{{ gl[0].remarks }}</td>
             </tr>
-            {% set total_debit = 0 -%}
-            {% for entries in doc.gl_entries %}
-            {% if entries.credit == 0.0 %}
-            <tr>
-                <td class="right top-bottom">{{ entries.account }}</td>
-                <td class="right left top-bottom">{{ entries.party_type }}</td>
-                <td class="right left top-bottom">{{ entries.party }}</td>
-                {% set total_debit = total_debit + entries.debit -%}
-                <td class="left top-bottom">{{ entries.debit }}</td>
-            </tr>
-            <tr>
-                    <td class="right" colspan="3" ><strong>Total (debit) </strong></td>
-                    <td class="left" >{{total_debit}}</td>
-            </tr>
-            {% endif %}
-            {% endfor %}
         </table>
     <div>
 </div>
\ No newline at end of file
diff --git a/erpnext/accounts/print_format/purchase_auditing_voucher/purchase_auditing_voucher.html b/erpnext/accounts/print_format/purchase_auditing_voucher/purchase_auditing_voucher.html
index 35852e1..a7c3bce 100644
--- a/erpnext/accounts/print_format/purchase_auditing_voucher/purchase_auditing_voucher.html
+++ b/erpnext/accounts/print_format/purchase_auditing_voucher/purchase_auditing_voucher.html
@@ -1,10 +1,11 @@
 {%- from "templates/print_formats/standard_macros.html" import add_header -%}
-<div class="page-break">
+<div>
+    {% set gl = frappe.get_list(doctype="GL Entry",  fields=["account", "party_type", "party", "debit", "credit", "remarks"], filters={"voucher_type": doc.doctype, "voucher_no": doc.name}) %}
     {%- if not doc.get("print_heading") and not doc.get("select_print_heading")
         and doc.set("select_print_heading", _("Purchase Invoice")) -%}{%- endif -%}
     {{ add_header(0, 1, doc, letter_head, no_letterhead, print_settings) }}
     <div class="row margin-bottom">
-        <div class="col-sm-6">
+        <div class="col-xs-6">
             <table>
             <tr><td><strong>Supplier Name: </strong></td><td>{{ doc.supplier }}</td></tr>
             <tr><td><strong>Due Date: </strong></td><td>{{ frappe.utils.formatdate(doc.due_date) }}</td></tr>
@@ -13,7 +14,7 @@
             <tr><td><strong>Mobile no: </strong> </td><td>{{doc.contact_mobile}}</td></tr>
             </table>
         </div>
-        <div>
+        <div class="col-xs-6">
             <table>
                 <tr><td><strong>Voucher No: </strong></td><td>{{ doc.name }}</td></tr>
                 <tr><td><strong>Date: </strong></td><td>{{ frappe.utils.formatdate(doc.creation) }}</td></tr>
@@ -49,21 +50,27 @@
         </table>
     </div>
     <div class="row margin-bottom">
-        <div class="col-sm-6">
+        <div class="col-xs-6">
             <table>
             <tr><td><strong>Total Quantity: </strong></td><td>{{ doc.total_qty }}</td></tr>
             <tr><td><strong>Total: </strong></td><td>{{doc.total}}</td></tr>
             <tr><td><strong>Net Weight: </strong></td><td>{{ doc.total_net_weight }}</td></tr>
         </table>
     </div>
-    <div>
+    <div class="col-xs-6">
         <table>
                 <tr><td><strong>Tax and Charges: </strong></td><td>{{doc.taxes_and_charges}}</td></tr>
                 {% for tax in doc.taxes %}
-                <tr><td><strong>{{ tax.account_head }}: </strong></td><td>{{ tax.tax_amount_after_discount_amount }}</td></tr>
+                {% if tax.tax_amount_after_discount_amount!= 0 %}
+                    <tr><td><strong>{{ tax.account_head }}: </strong></td><td>{{ tax.tax_amount_after_discount_amount }}</td></tr>
+                {% endif %}
                 {% endfor %}
+                {% if doc.taxes_and_charges_added!= 0 %}
                 <tr><td><strong> Taxes and Charges Added: </strong></td><td>{{ doc.taxes_and_charges_added }}</td></tr>
+                {% endif %}
+                {% if doc.taxes_and_charges_deducted!= 0 %}
                 <tr><td><strong> Taxes and Charges Deducted: </strong></td><td>{{ doc.taxes_and_charges_deducted }}</td></tr>
+                {% endif %}
                 <tr><td><strong> Total Taxes and Charges: </strong></td><td>{{ doc.total_taxes_and_charges }}</td></tr>
                 <tr><td><strong> Net Payable: </strong></td><td>{{ doc.grand_total }}</td></tr>
             </table>
@@ -76,17 +83,17 @@
                 <th>Account</th>
                 <th>Party Type</th>
                 <th>Party</th>
-                <th>Credit Amount</th>
                 <th>Debit Amount</th>
+                <th>Credit Amount</th>
             </tr>
-            {% for entries in doc.gl_entries %}
+            {% for entries in gl %}
             <tr>
                 <td>{{ loop.index }}</td>
                 <td>{{ entries.account }}</td>
                 <td>{{ entries.party_type }}</td>
                 <td>{{ entries.party }}</td>
-                <td>{{ entries.credit }}</td>
                 <td>{{ entries.debit }}</td>
+                <td>{{ entries.credit }}</td>
             </tr>
             {% endfor %}
             <tr>
diff --git a/erpnext/accounts/print_format/sales_auditing_voucher/sales_auditing_voucher.html b/erpnext/accounts/print_format/sales_auditing_voucher/sales_auditing_voucher.html
index 04de83d..ef4ada1 100644
--- a/erpnext/accounts/print_format/sales_auditing_voucher/sales_auditing_voucher.html
+++ b/erpnext/accounts/print_format/sales_auditing_voucher/sales_auditing_voucher.html
@@ -1,10 +1,11 @@
 {%- from "templates/print_formats/standard_macros.html" import add_header -%}
-<div class="page-break">
+<div>
+    {% set gl = frappe.get_list(doctype="GL Entry",  fields=["account", "party_type", "party", "debit", "credit", "remarks"], filters={"voucher_type": doc.doctype, "voucher_no": doc.name}) %}
     {%- if not doc.get("print_heading") and not doc.get("select_print_heading")
         and doc.set("select_print_heading", _("Sales Invoice")) -%}{%- endif -%}
     {{ add_header(0, 1, doc, letter_head, no_letterhead, print_settings) }}
     <div class="row margin-bottom">
-        <div class="col-sm-6">
+        <div class="col-xs-6">
             <table>
             <tr><td><strong>Customer Name: </strong></td><td>{{ doc.customer }}</td></tr>
             <tr><td><strong>Due Date: </strong></td><td>{{ frappe.utils.formatdate(doc.due_date) }}</td></tr>
@@ -13,7 +14,7 @@
             <tr><td><strong>Mobile no: </strong> </td><td>{{doc.contact_mobile}}</td></tr>
             </table>
         </div>
-        <div>
+        <div class="col-xs-6">
             <table>
                 <tr><td><strong>Voucher No: </strong></td><td>{{ doc.name }}</td></tr>
                 <tr><td><strong>Date: </strong></td><td>{{ frappe.utils.formatdate(doc.creation) }}</td></tr>
@@ -45,18 +46,20 @@
         </table>
     </div>
     <div class="row margin-bottom">
-        <div class="col-sm-6">
+        <div class="col-xs-6">
             <table>
             <tr><td><strong>Total Quantity: </strong></td><td>{{ doc.total_qty }}</td></tr>
             <tr><td><strong>Total: </strong></td><td>{{doc.total}}</td></tr>
             <tr><td><strong>Net Weight: </strong></td><td>{{ doc.total_net_weight }}</td></tr>
         </table>
     </div>
-    <div>
+    <div class="col-xs-6">
         <table>
                 <tr><td><strong>Tax and Charges: </strong></td><td>{{doc.taxes_and_charges}}</td></tr>
                 {% for tax in doc.taxes %}
-                <tr><td><strong>{{ tax.account_head }}: </strong></td><td>{{ tax.tax_amount_after_discount_amount }}</td></tr>
+                    {% if tax.tax_amount_after_discount_amount!= 0 %}
+                        <tr><td><strong>{{ tax.account_head }}: </strong></td><td>{{ tax.tax_amount_after_discount_amount }}</td></tr>
+                    {% endif %}
                 {% endfor %}
                 <tr><td><strong> Total Taxes and Charges: </strong></td><td>{{ doc.total_taxes_and_charges }}</td></tr>
                 <tr><td><strong> Net Payable: </strong></td><td>{{ doc.grand_total }}</td></tr>
@@ -70,17 +73,17 @@
                 <th>Account</th>
                 <th>Party Type</th>
                 <th>Party</th>
-                <th>Credit Amount</th>
                 <th>Debit Amount</th>
+                <th>Credit Amount</th>
             </tr>
-            {% for entries in doc.gl_entries %}
+            {% for entries in gl %}
             <tr>
                 <td>{{ loop.index }}</td>
                 <td>{{ entries.account }}</td>
                 <td>{{ entries.party_type }}</td>
                 <td>{{ entries.party }}</td>
-                <td>{{ entries.credit }}</td>
                 <td>{{ entries.debit }}</td>
+                <td>{{ entries.credit }}</td>
             </tr>
             {% endfor %}
             <tr>
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 7bb71ec..63ea259 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -119,12 +119,6 @@
 			self.validate_non_invoice_documents_schedule()
 
 	def before_print(self):
-		if self.doctype in ['Journal Entry', 'Payment Entry', 'Sales Invoice', 'Purchase Invoice']:
-			self.gl_entries = frappe.get_list("GL Entry", filters={
-				"voucher_type": self.doctype,
-				"voucher_no": self.name
-			}, fields=["account", "party_type", "party", "debit", "credit", "remarks"])
-
 		if self.doctype in ['Purchase Order', 'Sales Order', 'Sales Invoice', 'Purchase Invoice',
 							'Supplier Quotation', 'Purchase Receipt', 'Delivery Note', 'Quotation']:
 			if self.get("group_same_items"):