From f4088d48a11a35d3d6d62077afb9b3f05b070ec1 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 1 Jul 2026 21:16:20 +0530 Subject: [PATCH] fix: accept a scalar account filter in Invalid Ledger Entries report --- .../invalid_ledger_entries/invalid_ledger_entries.py | 3 ++- .../invalid_ledger_entries/test_invalid_ledger_entries.py | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/erpnext/accounts/report/invalid_ledger_entries/invalid_ledger_entries.py b/erpnext/accounts/report/invalid_ledger_entries/invalid_ledger_entries.py index 33fda705cf2..2ba0a7fb4ce 100644 --- a/erpnext/accounts/report/invalid_ledger_entries/invalid_ledger_entries.py +++ b/erpnext/accounts/report/invalid_ledger_entries/invalid_ledger_entries.py @@ -84,7 +84,8 @@ def build_query_filters(filters: dict | None = None) -> list: qb_filters = [] if filters: if filters.account: - qb_filters.append(qb.Field("account").isin(filters.account)) + accounts = filters.account if isinstance(filters.account, list | tuple) else [filters.account] + qb_filters.append(qb.Field("account").isin(accounts)) if filters.voucher_no: qb_filters.append(qb.Field("voucher_no").eq(filters.voucher_no)) diff --git a/erpnext/accounts/report/invalid_ledger_entries/test_invalid_ledger_entries.py b/erpnext/accounts/report/invalid_ledger_entries/test_invalid_ledger_entries.py index 3ce9f48fff3..9a193dc0779 100644 --- a/erpnext/accounts/report/invalid_ledger_entries/test_invalid_ledger_entries.py +++ b/erpnext/accounts/report/invalid_ledger_entries/test_invalid_ledger_entries.py @@ -109,6 +109,14 @@ class TestInvalidLedgerEntries(ERPNextTestSuite): flagged = {row.get("voucher_no") for row in self.run_report(account=[unrelated])} self.assertNotIn(orphan.name, flagged) + def test_account_filter_accepts_a_scalar(self): + """A scalar (non-list) account filter must not crash the query.""" + orphan = self.make_submitted_jv() + frappe.db.set_value("Journal Entry", orphan.name, "docstatus", 2, update_modified=False) + + flagged = {row.get("voucher_no") for row in self.run_report(account=self.debit_account)} + self.assertIn(orphan.name, flagged) + def test_period_filter_excludes_out_of_range(self): """Vouchers posted outside the from/to window must not be scanned.""" orphan = self.make_submitted_jv()