From a31fb2ac6cd94c1b2bbab920747dc4cfb0ca01c0 Mon Sep 17 00:00:00 2001 From: 0xD0M1M0 <76812428+0xD0M1M0@users.noreply.github.com> Date: Tue, 2 Dec 2025 16:09:56 +0100 Subject: [PATCH] fix: Adjust asset purchase amounts based on docstatus allows cancelation --- .../doctype/asset_capitalization/asset_capitalization.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py b/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py index ab3bb9ab406..4179ceccb59 100644 --- a/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py +++ b/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py @@ -139,6 +139,7 @@ class AssetCapitalization(StockController): self.make_gl_entries() self.repost_future_sle_and_gle() self.restore_consumed_asset_items() + self.update_target_asset() def set_title(self): self.title = self.target_asset_name or self.target_item_name or self.target_item_code @@ -607,8 +608,12 @@ class AssetCapitalization(StockController): total_target_asset_value = flt(self.total_value, self.precision("total_value")) asset_doc = frappe.get_doc("Asset", self.target_asset) - asset_doc.gross_purchase_amount += total_target_asset_value - asset_doc.purchase_amount += total_target_asset_value + if self.docstatus == 2: + asset_doc.gross_purchase_amount -= total_target_asset_value + asset_doc.purchase_amount -= total_target_asset_value + else: + asset_doc.gross_purchase_amount += total_target_asset_value + asset_doc.purchase_amount += total_target_asset_value asset_doc.set_status("Work In Progress") asset_doc.flags.ignore_validate = True asset_doc.save()