diff --git a/erpnext/controllers/sales_and_purchase_return.py b/erpnext/controllers/sales_and_purchase_return.py index de4d280057..6e88bfb0d5 100644 --- a/erpnext/controllers/sales_and_purchase_return.py +++ b/erpnext/controllers/sales_and_purchase_return.py @@ -109,8 +109,13 @@ def make_return_doc(doctype, source_name, target_doc=None): doc.ignore_pricing_rule = 1 if doctype == "Sales Invoice": doc.is_pos = 0 + + for tax in doc.get("taxes"): + if tax.charge_type == "Actual": + tax.tax_amount = -1 * tax.tax_amount + doc.run_method("calculate_taxes_and_totals") - + def update_item(source_doc, target_doc, source_parent): target_doc.qty = -1* source_doc.qty if doctype == "Purchase Receipt": diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py index f22b62488b..6b59cea00d 100644 --- a/erpnext/controllers/taxes_and_totals.py +++ b/erpnext/controllers/taxes_and_totals.py @@ -77,9 +77,6 @@ class calculate_taxes_and_totals(object): if not self.discount_amount_applied: validate_taxes_and_charges(tax) validate_inclusive_tax(tax, self.doc) - - if self.doc.meta.get_field("is_return") and self.doc.is_return and tax.charge_type == "Actual": - tax.tax_amount = -1 * tax.tax_amount tax.item_wise_tax_detail = {} tax_fields = ["total", "tax_amount_after_discount_amount", diff --git a/erpnext/public/js/controllers/taxes_and_totals.js b/erpnext/public/js/controllers/taxes_and_totals.js index 07c2d56cf1..1e238d6934 100644 --- a/erpnext/public/js/controllers/taxes_and_totals.js +++ b/erpnext/public/js/controllers/taxes_and_totals.js @@ -94,10 +94,6 @@ erpnext.taxes_and_totals = erpnext.stock.StockController.extend({ tax_fields = ["total", "tax_amount_after_discount_amount", "tax_amount_for_current_item", "grand_total_for_current_item", "tax_fraction_for_current_item", "grand_total_fraction_for_current_item"] - - if (frappe.meta.get_docfield(me.frm.doc.doctype, "is_return") && me.frm.doc.is_return - && tax.charge_type == "Actual") - tax.tax_amount = -1 * tax.tax_amount; if (cstr(tax.charge_type) != "Actual" && !(me.discount_amount_applied && me.frm.doc.apply_discount_on=="Grand Total"))