Merge pull request #47754 from khushi8112/asset-value-adjustment-of-zero-cost

fix: updated value after depreciation after value adjustment
This commit is contained in:
Khushi Rawat
2025-05-27 15:28:11 +05:30
committed by GitHub
2 changed files with 15 additions and 6 deletions

View File

@@ -255,8 +255,10 @@ class AssetDepreciationSchedule(Document):
value_after_depreciation, value_after_depreciation,
): ):
asset_doc.validate_asset_finance_books(row) asset_doc.validate_asset_finance_books(row)
if (
if not value_after_depreciation: not value_after_depreciation
and not asset_doc.flags.decrease_in_asset_value_due_to_value_adjustment
):
value_after_depreciation = _get_value_after_depreciation_for_making_schedule(asset_doc, row) value_after_depreciation = _get_value_after_depreciation_for_making_schedule(asset_doc, row)
row.value_after_depreciation = value_after_depreciation row.value_after_depreciation = value_after_depreciation
@@ -1068,8 +1070,6 @@ def make_new_active_asset_depr_schedules_and_cancel_current_ones(
) )
new_asset_depr_schedule_doc = frappe.copy_doc(current_asset_depr_schedule_doc) new_asset_depr_schedule_doc = frappe.copy_doc(current_asset_depr_schedule_doc)
if asset_doc.flags.decrease_in_asset_value_due_to_value_adjustment and not value_after_depreciation:
value_after_depreciation = row.value_after_depreciation - difference_amount
if asset_doc.flags.increase_in_asset_value_due_to_repair and row.depreciation_method in ( if asset_doc.flags.increase_in_asset_value_due_to_repair and row.depreciation_method in (
"Written Down Value", "Written Down Value",

View File

@@ -5,7 +5,7 @@
import frappe import frappe
from frappe import _ from frappe import _
from frappe.model.document import Document from frappe.model.document import Document
from frappe.utils import flt, formatdate, get_link_to_form, getdate from frappe.utils import cstr, flt, formatdate, get_link_to_form, getdate
from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
get_checks_for_pl_and_bs_accounts, get_checks_for_pl_and_bs_accounts,
@@ -188,12 +188,21 @@ class AssetValueAdjustment(Document):
get_link_to_form(self.get("doctype"), self.get("name")), get_link_to_form(self.get("doctype"), self.get("name")),
) )
difference_amount = self.difference_amount if self.docstatus == 1 else -1 * self.difference_amount
if asset.calculate_depreciation:
for row in asset.finance_books:
if cstr(row.finance_book) == cstr(self.finance_book):
row.value_after_depreciation += flt(difference_amount)
row.db_update()
asset.db_update()
make_new_active_asset_depr_schedules_and_cancel_current_ones( make_new_active_asset_depr_schedules_and_cancel_current_ones(
asset, asset,
notes, notes,
value_after_depreciation=asset_value, value_after_depreciation=asset_value,
ignore_booked_entry=True, ignore_booked_entry=True,
difference_amount=self.difference_amount, difference_amount=difference_amount,
) )
asset.flags.ignore_validate_update_after_submit = True asset.flags.ignore_validate_update_after_submit = True
asset.save() asset.save()