From e9fe10c6f13424630a2bfc7cfef1e1faeebab30d Mon Sep 17 00:00:00 2001 From: Divyam Mistry <73271406+divyam-mistry@users.noreply.github.com> Date: Thu, 1 Feb 2024 16:15:43 +0530 Subject: [PATCH] fix: fetch/change tax template on basis of base_net_rate instead of net_rate (#39448) fix: change tax template on basis of base_net_rate instead of net_rate Co-authored-by: Deepesh Garg --- erpnext/controllers/taxes_and_totals.py | 1 + erpnext/public/js/controllers/transaction.js | 3 ++- erpnext/stock/get_item_details.py | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py index 8cb1a0e861..3d7a94778b 100644 --- a/erpnext/controllers/taxes_and_totals.py +++ b/erpnext/controllers/taxes_and_totals.py @@ -98,6 +98,7 @@ class calculate_taxes_and_totals(object): item_doc = frappe.get_cached_doc("Item", item.item_code) args = { "net_rate": item.net_rate or item.rate, + "base_net_rate": item.base_net_rate or item.base_rate, "tax_category": self.doc.get("tax_category"), "posting_date": self.doc.get("posting_date"), "bill_date": self.doc.get("bill_date"), diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 4ea834bcd6..26795f7b98 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -502,6 +502,7 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe project: item.project || me.frm.doc.project, qty: item.qty || 1, net_rate: item.rate, + base_net_rate: item.base_net_rate, stock_qty: item.stock_qty, conversion_factor: item.conversion_factor, weight_per_unit: item.weight_per_unit, @@ -1902,7 +1903,7 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe if (item.item_code) { // Use combination of name and item code in case same item is added multiple times item_codes.push([item.item_code, item.name]); - item_rates[item.name] = item.net_rate; + item_rates[item.name] = item.base_net_rate; item_tax_templates[item.name] = item.item_tax_template; } }); diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index ebcdd11bf1..bed5285f2d 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -543,7 +543,7 @@ def get_item_tax_info(company, tax_category, item_codes, item_rates=None, item_t args = { "company": company, "tax_category": tax_category, - "net_rate": item_rates.get(item_code[1]), + "base_net_rate": item_rates.get(item_code[1]), } if item_tax_templates: @@ -635,7 +635,7 @@ def is_within_valid_range(args, tax): if not flt(tax.maximum_net_rate): # No range specified, just ignore return True - elif flt(tax.minimum_net_rate) <= flt(args.get("net_rate")) <= flt(tax.maximum_net_rate): + elif flt(tax.minimum_net_rate) <= flt(args.get("base_net_rate")) <= flt(tax.maximum_net_rate): return True return False