From aa8e8da29f188a441373f9d817574b44cf1bdfbe Mon Sep 17 00:00:00 2001 From: khushi8112 Date: Wed, 17 Dec 2025 17:03:24 +0530 Subject: [PATCH] fix: check and update depreciation if depreciation method was changed --- erpnext/assets/doctype/asset/asset.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py index 9d051850773..429a5203550 100644 --- a/erpnext/assets/doctype/asset/asset.py +++ b/erpnext/assets/doctype/asset/asset.py @@ -187,13 +187,15 @@ class Asset(AccountsController): def has_depreciation_settings_changed(self, schedule_doc, fb_row): """Check if depreciation calculation settings have changed""" - # For non-manual depreciation methods, always check for changes - if schedule_doc.depreciation_method != "Manual": + if not schedule_doc.get("depreciation_schedule"): + return True + + if fb_row.depreciation_method != "Manual": return True - # For manual depreciation, check specific parameters return ( - fb_row.total_number_of_depreciations != schedule_doc.total_number_of_depreciations + fb_row.depreciation_method != schedule_doc.depreciation_method + or fb_row.total_number_of_depreciations != schedule_doc.total_number_of_depreciations or fb_row.frequency_of_depreciation != schedule_doc.frequency_of_depreciation or getdate(fb_row.depreciation_start_date) != schedule_doc.get("depreciation_schedule")[0].schedule_date