From 1b2ceadc93e3e8b8e4e06cdd55f2505b91de954e Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Mon, 5 Nov 2018 16:04:04 +0530 Subject: [PATCH] [Fix] Asset date validation (#15887) * [Fix] Asset date validation * Update asset.py --- erpnext/assets/doctype/asset/asset.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py index 6997776701..a38b40bc60 100644 --- a/erpnext/assets/doctype/asset/asset.py +++ b/erpnext/assets/doctype/asset/asset.py @@ -85,8 +85,17 @@ class Asset(AccountsController): elif not self.finance_books: frappe.throw(_("Enter depreciation details")) - if self.available_for_use_date and getdate(self.available_for_use_date) < getdate(nowdate()): - frappe.throw(_("Available-for-use Date is entered as past date")) + if self.is_existing_asset: + return + + date = nowdate() + docname = self.purchase_receipt or self.purchase_invoice + if docname: + doctype = 'Purchase Receipt' if self.purchase_receipt else 'Purchase Invoice' + date = frappe.db.get_value(doctype, docname, 'posting_date') + + if self.available_for_use_date and getdate(self.available_for_use_date) < getdate(date): + frappe.throw(_("Available-for-use Date should be after purchase date")) def make_depreciation_schedule(self): if self.depreciation_method != 'Manual':