diff --git a/india_compliance/gst_india/overrides/item.py b/india_compliance/gst_india/overrides/item.py index 5a3c82492b..7e88cca295 100644 --- a/india_compliance/gst_india/overrides/item.py +++ b/india_compliance/gst_india/overrides/item.py @@ -31,3 +31,20 @@ def validate_hsn_code(doc, method=None): " HSN/SAC code." ).format(min_hsn_digits) ) + + +def set_item_tax_from_hsn_code(doc, method=None): + if doc.taxes or not doc.gst_hsn_code: + return + + hsn_doc = frappe.get_doc("GST HSN Code", doc.gst_hsn_code) + + for tax in hsn_doc.taxes: + doc.append( + "taxes", + { + "item_tax_template": tax.item_tax_template, + "tax_category": tax.tax_category, + "valid_from": tax.valid_from, + }, + ) diff --git a/india_compliance/gst_india/overrides/transaction.py b/india_compliance/gst_india/overrides/transaction.py index 6538a4e8c9..82719e3526 100644 --- a/india_compliance/gst_india/overrides/transaction.py +++ b/india_compliance/gst_india/overrides/transaction.py @@ -646,21 +646,6 @@ def get_tax_template(master_doctype, company, is_inter_state, state_code): return default_tax -def set_item_tax_from_hsn_code(item): - if not item.taxes and item.gst_hsn_code: - hsn_doc = frappe.get_doc("GST HSN Code", item.gst_hsn_code) - - for tax in hsn_doc.taxes: - item.append( - "taxes", - { - "item_tax_template": tax.item_tax_template, - "tax_category": tax.tax_category, - "valid_from": tax.valid_from, - }, - ) - - def validate_reverse_charge_transaction(doc, method=None): base_gst_tax = 0 base_reverse_charge_booked = 0 diff --git a/india_compliance/hooks.py b/india_compliance/hooks.py index 9660270417..b7fb265093 100644 --- a/india_compliance/hooks.py +++ b/india_compliance/hooks.py @@ -77,7 +77,12 @@ "india_compliance.gst_india.overrides.transaction.validate_transaction" ), }, - "Item": {"validate": "india_compliance.gst_india.overrides.item.validate_hsn_code"}, + "Item": { + "validate": [ + "india_compliance.gst_india.overrides.item.validate_hsn_code", + "india_compliance.gst_india.overrides.item.set_item_tax_from_hsn_code", + ] + }, "Payment Entry": { "validate": ( "india_compliance.gst_india.overrides.payment_entry.update_place_of_supply" @@ -153,7 +158,6 @@ "erpnext.accounts.party.get_regional_address_details": ( "india_compliance.gst_india.overrides.transaction.update_party_details" ), - "erpnext.stock.doctype.item.item.set_item_tax_from_hsn_code": "india_compliance.gst_india.overrides.transaction.set_item_tax_from_hsn_code", "erpnext.assets.doctype.asset.asset.get_depreciation_amount": ( "india_compliance.income_tax_india.overrides.asset.get_depreciation_amount" ),