fix: filter opening entries in first year in custom financial statement

This commit is contained in:
vorasmit
2026-04-17 22:27:48 +05:30
parent ba01d66c24
commit 3c8a066484

View File

@@ -464,6 +464,7 @@ class FinancialQueryBuilder:
self.periods = periods
self.company = filters.get("company")
self.account_meta = {} # {name: {account_name, account_number}}
self.ignore_opening_entries = False
def fetch_account_balances(self, accounts: list[dict]) -> dict[str, AccountData]:
"""
@@ -501,6 +502,8 @@ class FinancialQueryBuilder:
"""
Return opening balances for *all accounts* defaulting to zero.
"""
self.ignore_opening_entries = False
if frappe.get_single_value("Accounts Settings", "ignore_account_closing_balance"):
return self._get_opening_balances_from_gl(accounts)
@@ -522,6 +525,8 @@ class FinancialQueryBuilder:
closing_data = self._get_closing_balances(accounts, closing_voucher.name)
if sum(closing_data.values()) != 0.0:
# opening in current period
self.ignore_opening_entries = True
return self._rebase_closing_balances(closing_data, closing_voucher.period_end_date)
return self._get_opening_balances_from_gl(accounts)
@@ -616,7 +621,10 @@ class FinancialQueryBuilder:
.groupby(gl_table.account)
)
if not frappe.get_single_value("Accounts Settings", "ignore_is_opening_check_for_reporting"):
ignore_is_opening = frappe.get_single_value(
"Accounts Settings", "ignore_is_opening_check_for_reporting"
)
if self.ignore_opening_entries and not ignore_is_opening:
query = query.where(gl_table.is_opening == "No")
# Add period-specific columns