From 5110e7f0fd2c966bb4f00c65ab8ee0585052ecd9 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Mon, 29 Jun 2026 22:45:21 +0530 Subject: [PATCH] fix(accounts): rollback before log_error in deferred-accounting in_test branch (Postgres) book_deferred_entries' make_gl_entries failure path: the else branch already rolls back before log_error, but the frappe.in_test branch ran doc.log_error then re-raised with no rollback -> on Postgres log_error hits InFailedSqlTransaction and masks the original error. Rollback before log_error in the in_test branch too. No-op on MariaDB. --- erpnext/accounts/deferred_revenue.py | 1 + 1 file changed, 1 insertion(+) diff --git a/erpnext/accounts/deferred_revenue.py b/erpnext/accounts/deferred_revenue.py index 83ab5badb50..ab4ee51eb6f 100644 --- a/erpnext/accounts/deferred_revenue.py +++ b/erpnext/accounts/deferred_revenue.py @@ -582,6 +582,7 @@ def make_gl_entries( frappe.db.commit() except Exception as e: if frappe.in_test: + frappe.db.rollback() doc.log_error(f"Error while processing deferred accounting for Invoice {doc.name}") raise e else: