diff --git a/erpnext/accounts/doctype/accounts_settings/accounts_settings.json b/erpnext/accounts/doctype/accounts_settings/accounts_settings.json index 35b33b7a195..02f7eeb7095 100644 --- a/erpnext/accounts/doctype/accounts_settings/accounts_settings.json +++ b/erpnext/accounts/doctype/accounts_settings/accounts_settings.json @@ -93,6 +93,7 @@ "receivable_payable_remarks_length", "accounts_receivable_payable_tuning_section", "receivable_payable_fetch_method", + "default_ageing_range", "column_break_ntmi", "drop_ar_procedures", "legacy_section", @@ -657,6 +658,12 @@ "fieldname": "show_party_balance", "fieldtype": "Check", "label": "Show Party Balance" + }, + { + "default": "30, 60, 90, 120", + "fieldname": "default_ageing_range", + "fieldtype": "Data", + "label": "Default Ageing Range" } ], "icon": "icon-cog", @@ -664,7 +671,7 @@ "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2025-11-06 17:48:07.682837", + "modified": "2025-12-26 19:46:55.093717", "modified_by": "Administrator", "module": "Accounts", "name": "Accounts Settings", @@ -694,4 +701,4 @@ "sort_order": "ASC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/erpnext/accounts/doctype/accounts_settings/accounts_settings.py b/erpnext/accounts/doctype/accounts_settings/accounts_settings.py index c54ae9bac65..793f44bd5c8 100644 --- a/erpnext/accounts/doctype/accounts_settings/accounts_settings.py +++ b/erpnext/accounts/doctype/accounts_settings/accounts_settings.py @@ -41,6 +41,7 @@ class AccountsSettings(Document): check_supplier_invoice_uniqueness: DF.Check create_pr_in_draft_status: DF.Check credit_controller: DF.Link | None + default_ageing_range: DF.Data | None delete_linked_ledger_entries: DF.Check determine_address_tax_category_from: DF.Literal["Billing Address", "Shipping Address"] enable_common_party_accounting: DF.Check diff --git a/erpnext/accounts/report/accounts_payable/accounts_payable.js b/erpnext/accounts/report/accounts_payable/accounts_payable.js index 9af8c93a52e..c061b0c3902 100644 --- a/erpnext/accounts/report/accounts_payable/accounts_payable.js +++ b/erpnext/accounts/report/accounts_payable/accounts_payable.js @@ -165,6 +165,10 @@ frappe.query_reports["Accounts Payable"] = { var filters = report.get_values(); frappe.set_route("query-report", "Accounts Payable Summary", { company: filters.company }); }); + + if (frappe.boot.sysdefaults.default_ageing_range) { + report.set_filter_value("range", frappe.boot.sysdefaults.default_ageing_range); + } }, }; diff --git a/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js b/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js index 6a043f5e185..a4cb0584bf1 100644 --- a/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js +++ b/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js @@ -114,6 +114,10 @@ frappe.query_reports["Accounts Payable Summary"] = { var filters = report.get_values(); frappe.set_route("query-report", "Accounts Payable", { company: filters.company }); }); + + if (frappe.boot.sysdefaults.default_ageing_range) { + report.set_filter_value("range", frappe.boot.sysdefaults.default_ageing_range); + } }, }; diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.js b/erpnext/accounts/report/accounts_receivable/accounts_receivable.js index b052d50838d..4255568d1f9 100644 --- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.js +++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.js @@ -192,6 +192,10 @@ frappe.query_reports["Accounts Receivable"] = { var filters = report.get_values(); frappe.set_route("query-report", "Accounts Receivable Summary", { company: filters.company }); }); + + if (frappe.boot.sysdefaults.default_ageing_range) { + report.set_filter_value("range", frappe.boot.sysdefaults.default_ageing_range); + } }, }; diff --git a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js index 1ac2b27ca71..c8e59d6e054 100644 --- a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js +++ b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js @@ -137,6 +137,10 @@ frappe.query_reports["Accounts Receivable Summary"] = { var filters = report.get_values(); frappe.set_route("query-report", "Accounts Receivable", { company: filters.company }); }); + + if (frappe.boot.sysdefaults.default_ageing_range) { + report.set_filter_value("range", frappe.boot.sysdefaults.default_ageing_range); + } }, }; diff --git a/erpnext/startup/boot.py b/erpnext/startup/boot.py index 83816f6cc09..ff1141fb07e 100644 --- a/erpnext/startup/boot.py +++ b/erpnext/startup/boot.py @@ -64,6 +64,9 @@ def boot_session(bootinfo): bootinfo.party_account_types = frappe._dict(party_account_types) bootinfo.sysdefaults.demo_company = frappe.db.get_single_value("Global Defaults", "demo_company") + bootinfo.sysdefaults.default_ageing_range = frappe.db.get_single_value( + "Accounts Settings", "default_ageing_range" + ) def update_page_info(bootinfo):