From 56efe5e82c3b1eba78be4b16d183131b1f5d5c44 Mon Sep 17 00:00:00 2001 From: Sagar Vora <16315650+sagarvora@users.noreply.github.com> Date: Fri, 13 Mar 2026 23:03:13 +0530 Subject: [PATCH] fix: exempt ledger entries and account closing balance from auto-cancellation --- erpnext/hooks.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/erpnext/hooks.py b/erpnext/hooks.py index 1132ce8814c..955d7dc4ef4 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -418,11 +418,19 @@ naming_series_variables = { for variable in naming_series_variables_list } -# On cancel event Payment Entry will be exempted and all linked submittable doctype will get cancelled. -# to maintain data integrity we exempted payment entry. it will un-link when sales invoice get cancelled. -# if payment entry not in auto cancel exempted doctypes it will cancel payment entry. auto_cancel_exempted_doctypes = [ + # On cancel event Payment Entry will be exempted and all linked submittable doctype will get cancelled. + # to maintain data integrity we exempted payment entry. it will un-link when sales invoice get cancelled. + # if payment entry not in auto cancel exempted doctypes it will cancel payment entry. "Payment Entry", + # Reverse ledger entries are created instead to ensure ledger immutability. + "GL Entry", + "Stock Ledger Entry", + "Payment Ledger Entry", + "Advance Payment Ledger Entry", + # May be linked to Period Closing Voucher, but cancelled with custom logic in PCV. + # This is better to avoid stale docs when cancelling PCV from backend. + "Account Closing Balance", ] scheduler_events = {