mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-24 20:46:38 +00:00
feat: add support for 'not applicable' tax in item tax templates (#50898)
* feat: add support for 'not applicable' tax in item tax templates * refactor: remove unused imports * fix: import NOT_APPLICABLE_TAX in get_item_tax_map function * fix: add item wise tax details for not applicable taxes * test: added test case for `not_applicable` * fix: do not create item wise tax details for not applicable tax * fix: ensure tax rate is set to 0 for not applicable tax rows * refactor: changes as per review * test: update selling settings * test: correct settings * fix: return both net and current tax amounts for not applicable tax
This commit is contained in:
@@ -69,6 +69,7 @@ from erpnext.setup.utils import get_exchange_rate
|
||||
from erpnext.stock.doctype.item.item import get_uom_conv_factor
|
||||
from erpnext.stock.doctype.packed_item.packed_item import make_packing_list
|
||||
from erpnext.stock.get_item_details import (
|
||||
NOT_APPLICABLE_TAX,
|
||||
ItemDetailsCtx,
|
||||
_get_item_tax_template,
|
||||
get_conversion_factor,
|
||||
@@ -3696,8 +3697,11 @@ def add_taxes_from_tax_template(child_item, parent_doc, db_insert=True):
|
||||
|
||||
if child_item.get("item_tax_rate") and add_taxes_from_item_tax_template:
|
||||
tax_map = json.loads(child_item.get("item_tax_rate"))
|
||||
for tax_type in tax_map:
|
||||
tax_rate = flt(tax_map[tax_type])
|
||||
for tax_type, tax_rate in tax_map.items():
|
||||
if tax_rate == NOT_APPLICABLE_TAX:
|
||||
continue
|
||||
|
||||
tax_rate = flt(tax_rate)
|
||||
taxes = parent_doc.get("taxes") or []
|
||||
# add new row for tax head only if missing
|
||||
found = any(tax.account_head == tax_type for tax in taxes)
|
||||
|
||||
Reference in New Issue
Block a user