fix: Regional settings setup
diff --git a/erpnext/regional/india/setup.py b/erpnext/regional/india/setup.py
index d79ce64..fa9f1b7 100644
--- a/erpnext/regional/india/setup.py
+++ b/erpnext/regional/india/setup.py
@@ -15,7 +15,6 @@
setup_company_independent_fixtures(patch=patch)
if not patch:
make_fixtures(company)
- setup_gst_settings(company)
# TODO: for all countries
def setup_company_independent_fixtures(patch=False):
@@ -694,7 +693,7 @@
# create records for Tax Withholding Category
set_tax_withholding_category(company)
-def setup_gst_settings(company):
+def update_regional_tax_settings(country, company):
# Will only add default GST accounts if present
input_account_names = ['Input Tax CGST', 'Input Tax SGST', 'Input Tax IGST']
output_account_names = ['Output Tax CGST', 'Output Tax SGST', 'Output Tax IGST']
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
index ff96c0b..61d63a3 100644
--- a/erpnext/setup/doctype/company/company.py
+++ b/erpnext/setup/doctype/company/company.py
@@ -110,8 +110,8 @@
self.create_default_warehouses()
if frappe.flags.country_change:
- self.create_default_tax_template()
install_country_fixtures(self.name, self.country)
+ self.create_default_tax_template()
if not frappe.db.get_value("Department", {"company": self.name}):
from erpnext.setup.setup_wizard.operations.install_fixtures import install_post_company_fixtures
diff --git a/erpnext/setup/setup_wizard/operations/taxes_setup.py b/erpnext/setup/setup_wizard/operations/taxes_setup.py
index a644da9..6ac5612 100644
--- a/erpnext/setup/setup_wizard/operations/taxes_setup.py
+++ b/erpnext/setup/setup_wizard/operations/taxes_setup.py
@@ -24,6 +24,7 @@
country_wise_tax = simple_to_detailed(country_wise_tax)
from_detailed_data(company_name, country_wise_tax.get('chart_of_accounts'))
+ update_regional_tax_settings(country, company_name)
def simple_to_detailed(templates):
@@ -97,6 +98,17 @@
make_item_tax_template(company_name, template)
+def update_regional_tax_settings(country, company):
+ path = frappe.get_app_path('erpnext', 'regional', frappe.scrub(country))
+ if os.path.exists(path.encode("utf-8")):
+ try:
+ module_name = "erpnext.regional.{0}.setup.update_regional_tax_settings".format(frappe.scrub(country))
+ frappe.get_attr(module_name)(country, company)
+ except Exception as e:
+ # Log error and ignore if failed to setup regional tax settings
+ frappe.log_error()
+ pass
+
def make_taxes_and_charges_template(company_name, doctype, template):
template['company'] = company_name
template['doctype'] = doctype