Skip to content

Commit

Permalink
fix: allow fully depreciated existing assets (copy #36378) (#36379)
Browse files Browse the repository at this point in the history
* fix: allow fully depreciated existing assets

(cherry picked from commit 9489cba)

# Conflicts:
#	erpnext/assets/doctype/asset/asset.json
#	erpnext/assets/doctype/asset/depreciation.py

* chore: fix conflicts in asset.json

* chore: fix conflicts in depreciation.py

---------

Co-authored-by: anandbaburajan <anandbaburajan@gmail.com>
  • Loading branch information
mergify[bot] and anandbaburajan committed Aug 1, 2023
1 parent a93ae9c commit 3f09f81
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 11 deletions.
21 changes: 14 additions & 7 deletions erpnext/assets/doctype/asset/asset.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
"column_break_33",
"opening_accumulated_depreciation",
"number_of_depreciations_booked",
"is_fully_depreciated",
"section_break_36",
"finance_books",
"section_break_33",
Expand Down Expand Up @@ -205,6 +206,7 @@
"fieldname": "disposal_date",
"fieldtype": "Date",
"label": "Disposal Date",
"no_copy": 1,
"read_only": 1
},
{
Expand Down Expand Up @@ -244,19 +246,17 @@
"label": "Is Existing Asset"
},
{
"depends_on": "is_existing_asset",
"depends_on": "eval:(doc.is_existing_asset)",
"fieldname": "opening_accumulated_depreciation",
"fieldtype": "Currency",
"label": "Opening Accumulated Depreciation",
"no_copy": 1,
"options": "Company:company:default_currency"
},
{
"depends_on": "eval:(doc.is_existing_asset && doc.opening_accumulated_depreciation)",
"depends_on": "eval:(doc.is_existing_asset)",
"fieldname": "number_of_depreciations_booked",
"fieldtype": "Int",
"label": "Number of Depreciations Booked",
"no_copy": 1
"label": "Number of Depreciations Booked"
},
{
"collapsible": 1,
Expand Down Expand Up @@ -500,6 +500,13 @@
"fieldtype": "HTML",
"hidden": 1,
"label": "Depreciation Schedule View"
},
{
"default": "0",
"depends_on": "eval:(doc.is_existing_asset)",
"fieldname": "is_fully_depreciated",
"fieldtype": "Check",
"label": "Is Fully Depreciated"
}
],
"idx": 72,
Expand Down Expand Up @@ -533,7 +540,7 @@
"table_fieldname": "accounts"
}
],
"modified": "2023-07-26 13:33:36.821534",
"modified": "2023-07-28 15:47:01.137996",
"modified_by": "Administrator",
"module": "Assets",
"name": "Asset",
Expand Down Expand Up @@ -577,4 +584,4 @@
"states": [],
"title_field": "asset_name",
"track_changes": 1
}
}
13 changes: 9 additions & 4 deletions erpnext/assets/doctype/asset/asset.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,11 @@ def validate_asset_values(self):

if not self.calculate_depreciation:
return
elif not self.finance_books:
frappe.throw(_("Enter depreciation details"))
else:
if not self.finance_books:
frappe.throw(_("Enter depreciation details"))
if self.is_fully_depreciated:
frappe.throw(_("Depreciation cannot be calculated for fully depreciated assets"))

if self.is_existing_asset:
return
Expand Down Expand Up @@ -276,7 +279,7 @@ def validate_asset_finance_books(self, row):
depreciable_amount = flt(self.gross_purchase_amount) - flt(row.expected_value_after_useful_life)
if flt(self.opening_accumulated_depreciation) > depreciable_amount:
frappe.throw(
_("Opening Accumulated Depreciation must be less than equal to {0}").format(
_("Opening Accumulated Depreciation must be less than or equal to {0}").format(
depreciable_amount
)
)
Expand Down Expand Up @@ -412,7 +415,9 @@ def get_status(self):
expected_value_after_useful_life = self.finance_books[idx].expected_value_after_useful_life
value_after_depreciation = self.finance_books[idx].value_after_depreciation

if flt(value_after_depreciation) <= expected_value_after_useful_life:
if (
flt(value_after_depreciation) <= expected_value_after_useful_life or self.is_fully_depreciated
):
status = "Fully Depreciated"
elif flt(value_after_depreciation) < flt(self.gross_purchase_amount):
status = "Partially Depreciated"
Expand Down
9 changes: 9 additions & 0 deletions erpnext/assets/doctype/asset/depreciation.py
Original file line number Diff line number Diff line change
Expand Up @@ -398,6 +398,15 @@ def reverse_depreciation_entry_made_after_disposal(asset, date):

reverse_journal_entry = make_reverse_journal_entry(schedule.journal_entry)
reverse_journal_entry.posting_date = nowdate()

for account in reverse_journal_entry.accounts:
account.update(
{
"reference_type": "Asset",
"reference_name": asset.name,
}
)

frappe.flags.is_reverse_depr_entry = True
reverse_journal_entry.submit()

Expand Down

0 comments on commit 3f09f81

Please sign in to comment.