diff --git a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.py b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.py index a4113dfcab4..25d5a861a4b 100644 --- a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.py +++ b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.py @@ -69,6 +69,7 @@ def add_institution(token: str, response: str | dict): ) bank.insert() except Exception: + frappe.db.rollback() frappe.log_error("Plaid Link Error") else: bank = frappe.get_doc("Bank", response["institution"]["name"]) @@ -154,6 +155,7 @@ def add_bank_accounts(response: str | dict, bank: str | dict, company: str): ) else: + frappe.db.savepoint("plaid_update_account") try: existing_account = frappe.get_doc("Bank Account", existing_bank_account) existing_account.update( @@ -169,6 +171,7 @@ def add_bank_accounts(response: str | dict, bank: str | dict, company: str): existing_account.save() result.append(existing_bank_account) except Exception: + frappe.db.rollback(save_point="plaid_update_account") frappe.log_error("Plaid Link Error") frappe.throw( _("There was an error updating Bank Account {0} while linking with Plaid.").format(