From 1179514118a07465867e06ed336f7e885eab6c66 Mon Sep 17 00:00:00 2001 From: Logesh Periyasamy Date: Thu, 8 Jan 2026 12:05:36 +0530 Subject: [PATCH] fix(accounting-dimension): System-generated round-off GL entries fail to set the accounting dimension (#51167) * chore: remove disabled condition statement * fix: add default dimension for round off gle * fix: validate report type to handle opening entries roundoff (cherry picked from commit bc63c85dafff1e927526e9e3325e4738bfd910b7) --- erpnext/accounts/doctype/gl_entry/gl_entry.py | 2 -- .../payment_ledger_entry/payment_ledger_entry.py | 2 -- erpnext/accounts/general_ledger.py | 13 +++++++++++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/erpnext/accounts/doctype/gl_entry/gl_entry.py b/erpnext/accounts/doctype/gl_entry/gl_entry.py index 965f90a1266..cbf8745390e 100644 --- a/erpnext/accounts/doctype/gl_entry/gl_entry.py +++ b/erpnext/accounts/doctype/gl_entry/gl_entry.py @@ -187,7 +187,6 @@ class GLEntry(Document): account_type == "Profit and Loss" and self.company == dimension.company and dimension.mandatory_for_pl - and not dimension.disabled and not self.is_cancelled ): if not self.get(dimension.fieldname): @@ -201,7 +200,6 @@ class GLEntry(Document): account_type == "Balance Sheet" and self.company == dimension.company and dimension.mandatory_for_bs - and not dimension.disabled and not self.is_cancelled ): if not self.get(dimension.fieldname): diff --git a/erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py b/erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py index 2bc44893c20..c7cc97d7197 100644 --- a/erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py +++ b/erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py @@ -133,7 +133,6 @@ class PaymentLedgerEntry(Document): account_type == "Profit and Loss" and self.company == dimension.company and dimension.mandatory_for_pl - and not dimension.disabled ): if not self.get(dimension.fieldname): frappe.throw( @@ -146,7 +145,6 @@ class PaymentLedgerEntry(Document): account_type == "Balance Sheet" and self.company == dimension.company and dimension.mandatory_for_bs - and not dimension.disabled ): if not self.get(dimension.fieldname): frappe.throw( diff --git a/erpnext/accounts/general_ledger.py b/erpnext/accounts/general_ledger.py index 13201f4bcbc..60b3efd3cbc 100644 --- a/erpnext/accounts/general_ledger.py +++ b/erpnext/accounts/general_ledger.py @@ -12,6 +12,7 @@ from frappe.utils import cint, flt, formatdate, get_link_to_form, getdate, now import erpnext from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( get_accounting_dimensions, + get_checks_for_pl_and_bs_accounts, ) from erpnext.accounts.doctype.accounting_dimension_filter.accounting_dimension_filter import ( get_dimension_filter_map, @@ -612,6 +613,18 @@ def update_accounting_dimensions(round_off_gle): for dimension in dimensions: round_off_gle[dimension] = dimension_values.get(dimension) + else: + report_type = frappe.get_cached_value("Account", round_off_gle.account, "report_type") + for dimension in get_checks_for_pl_and_bs_accounts(): + if ( + round_off_gle.company == dimension.company + and ( + (report_type == "Profit and Loss" and dimension.mandatory_for_pl) + or (report_type == "Balance Sheet" and dimension.mandatory_for_bs) + ) + and dimension.default_dimension + ): + round_off_gle[dimension.fieldname] = dimension.default_dimension def get_round_off_account_and_cost_center(company, voucher_type, voucher_no, use_company_default=False):