diff --git a/erpnext/accounts/doctype/ledger_merge/ledger_merge.py b/erpnext/accounts/doctype/ledger_merge/ledger_merge.py index a219e21526d..cd574eafaa3 100644 --- a/erpnext/accounts/doctype/ledger_merge/ledger_merge.py +++ b/erpnext/accounts/doctype/ledger_merge/ledger_merge.py @@ -65,6 +65,7 @@ def start_merge(docname): total = len(ledger_merge.merge_accounts) for row in ledger_merge.merge_accounts: if not row.merged: + frappe.db.savepoint("ledger_merge_row") try: merge_account( row.account, @@ -79,8 +80,7 @@ def start_merge(docname): {"ledger_merge": ledger_merge.name, "current": successful_merges, "total": total}, ) except Exception: - if not frappe.in_test: - frappe.db.rollback() + frappe.db.rollback(save_point="ledger_merge_row") ledger_merge.log_error("Ledger merge failed") finally: if successful_merges == total: