fix: Regional settings setup

This commit is contained in:
Deepesh Garg 2021-06-02 13:26:21 +05:30
parent 48b1a82fa1
commit b3ed807b70
3 changed files with 14 additions and 3 deletions

View File

@ -15,7 +15,6 @@ def setup(company=None, patch=True):
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 @@ def make_fixtures(company=None):
# 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']

View File

@ -110,8 +110,8 @@ class Company(NestedSet):
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

View File

@ -24,6 +24,7 @@ def setup_taxes_and_charges(company_name: str, country: str):
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 @@ def from_detailed_data(company_name, data):
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