From bd57e43446c624c4bf6644e3de16ccb2ab8f9e6a Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Tue, 30 Jun 2026 12:17:38 +0530 Subject: [PATCH] fix(setup): scope regional-tax-settings rollback to a savepoint (review) from_detailed_data inserts tax templates/accounts before update_regional_tax_settings in the same transaction; a full frappe.db.rollback() on regional-setup failure discarded those templates while the wizard continued. Take a savepoint before the regional call and roll back only to it. --- erpnext/setup/setup_wizard/operations/taxes_setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/erpnext/setup/setup_wizard/operations/taxes_setup.py b/erpnext/setup/setup_wizard/operations/taxes_setup.py index 2e5e2c0c092..d3b7e2a03fd 100644 --- a/erpnext/setup/setup_wizard/operations/taxes_setup.py +++ b/erpnext/setup/setup_wizard/operations/taxes_setup.py @@ -120,6 +120,7 @@ def from_detailed_data(company_name, data): 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")): + frappe.db.savepoint("regional_tax_settings") try: module_name = f"erpnext.regional.{frappe.scrub(country)}.setup.update_regional_tax_settings" frappe.get_attr(module_name)(country, company) @@ -127,7 +128,7 @@ def update_regional_tax_settings(country, company): pass except Exception: # Log error and ignore if failed to setup regional tax settings - frappe.db.rollback() + frappe.db.rollback(save_point="regional_tax_settings") frappe.log_error("Unable to setup regional tax settings")