Merge pull request #55970 from frappe/mergify/bp/version-16-hotfix/pr-55947

fix(accounts): clear clearance date when amending reconciled voucher (backport #55947)
This commit is contained in:
Nabin Hait
2026-07-02 13:22:20 +05:30
committed by GitHub
2 changed files with 50 additions and 0 deletions

View File

@@ -140,6 +140,26 @@ class AccountsController(TransactionBase):
if self.doctype in relevant_docs:
self.set_payment_schedule()
def before_insert(self):
self.clear_clearance_date_on_amend()
def clear_clearance_date_on_amend(self):
"""Drop the bank reconciliation clearance date copied over while amending.
The framework copies `no_copy` fields when amending, so a reconciled
voucher would carry a stale clearance date into its amendment even though
the linked bank transaction gets unreconciled on cancellation.
"""
if not self.get("amended_from"):
return
if self.meta.has_field("clearance_date"):
self.clearance_date = None
for payment in self.get("payments") or []:
if payment.meta.has_field("clearance_date"):
payment.clearance_date = None
def on_update(self):
from erpnext.controllers.taxes_and_totals import process_item_wise_tax_details