From 3ef2a77cd488d21ee939fe4a2831f46e9994f581 Mon Sep 17 00:00:00 2001 From: Charles-Henri Decultot Date: Thu, 15 Feb 2024 15:20:57 +0100 Subject: [PATCH 1/2] fix: Always execute standard reconciliation methods after hooks --- .../bank_reconciliation/auto_bank_reconciliation.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/erpnext/accounts/page/bank_reconciliation/auto_bank_reconciliation.py b/erpnext/accounts/page/bank_reconciliation/auto_bank_reconciliation.py index 09b672da60b..82723055806 100644 --- a/erpnext/accounts/page/bank_reconciliation/auto_bank_reconciliation.py +++ b/erpnext/accounts/page/bank_reconciliation/auto_bank_reconciliation.py @@ -31,12 +31,11 @@ def _reconcile_transactions(bank_transactions): if not bank_transaction.get("amount"): continue - if frappe.get_hooks("auto_reconciliation_methods"): - for hook in frappe.get_hooks("auto_reconciliation_methods"): - frappe.get_attr(hook)(bank_transaction) - else: - bank_reconciliation = AutoBankReconciliation(bank_transaction) - bank_reconciliation.reconcile() + for hook in frappe.get_hooks("auto_reconciliation_methods") or []: + frappe.get_attr(hook)(bank_transaction) + + bank_reconciliation = AutoBankReconciliation(bank_transaction) + bank_reconciliation.reconcile() reconcile_stripe_payouts(bank_transactions) reconcile_gocardless_payouts(bank_transactions) -- GitLab From 1d937d1ad913501c98b35a050941c19fe5af42a4 Mon Sep 17 00:00:00 2001 From: Charles-Henri Decultot Date: Thu, 15 Feb 2024 18:59:36 +0100 Subject: [PATCH 2/2] fix: Change order for validations --- erpnext/accounts/doctype/bank_transaction/bank_transaction.py | 4 ++-- .../page/bank_reconciliation/auto_bank_reconciliation.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py index 2ea38fd8cef..4deb4373e84 100644 --- a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py +++ b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py @@ -112,8 +112,8 @@ class BankTransaction(StatusUpdater): self.check_reconciliation_amounts() def before_submit(self): - self.set_allocation_in_linked_docs() self.check_reconciliation_amounts() + self.set_allocation_in_linked_docs() self.set_allocation_in_bank_transaction() if frappe.db.get_single_value("Accounts Settings", "enable_party_matching"): @@ -128,8 +128,8 @@ class BankTransaction(StatusUpdater): self.check_payment_types() self.calculate_totals() - self.set_allocation_in_linked_docs() self.check_reconciliation_amounts() + self.set_allocation_in_linked_docs() self.set_allocation_in_bank_transaction() def on_update_after_submit(self): diff --git a/erpnext/accounts/page/bank_reconciliation/auto_bank_reconciliation.py b/erpnext/accounts/page/bank_reconciliation/auto_bank_reconciliation.py index 82723055806..e5bb72c7993 100644 --- a/erpnext/accounts/page/bank_reconciliation/auto_bank_reconciliation.py +++ b/erpnext/accounts/page/bank_reconciliation/auto_bank_reconciliation.py @@ -31,7 +31,7 @@ def _reconcile_transactions(bank_transactions): if not bank_transaction.get("amount"): continue - for hook in frappe.get_hooks("auto_reconciliation_methods") or []: + for hook in frappe.get_hooks("auto_reconciliation_methods"): frappe.get_attr(hook)(bank_transaction) bank_reconciliation = AutoBankReconciliation(bank_transaction) -- GitLab