diff --git a/addons/account_asset/i18n/account_asset.pot b/addons/account_asset/i18n/account_asset.pot
index d3da1903c2c..619c9d65d36 100644
--- a/addons/account_asset/i18n/account_asset.pot
+++ b/addons/account_asset/i18n/account_asset.pot
@@ -941,6 +941,12 @@ msgstr ""
msgid "The number of depreciations needed to depreciate your asset"
msgstr ""
+#. module: account_asset
+#: code:addons/account_asset/models/account_asset.py:477
+#, python-format
+msgid "This depreciation is already linked to a journal entry! Please post or delete it."
+msgstr ""
+
#. module: account_asset
#: model:ir.ui.view,arch_db:account_asset.view_asset_depreciation_confirmation_wizard
msgid "This wizard will post installment/depreciation lines for the selected month.
\n"
diff --git a/addons/account_asset/models/account_asset.py b/addons/account_asset/models/account_asset.py
index fd8d5efb8db..188ea8f5d16 100644
--- a/addons/account_asset/models/account_asset.py
+++ b/addons/account_asset/models/account_asset.py
@@ -473,6 +473,8 @@ class AccountAssetDepreciationLine(models.Model):
created_moves = self.env['account.move']
prec = self.env['decimal.precision'].precision_get('Account')
for line in self:
+ if line.move_id:
+ raise UserError(_('This depreciation is already linked to a journal entry! Please post or delete it.'))
category_id = line.asset_id.category_id
depreciation_date = self.env.context.get('depreciation_date') or line.depreciation_date or fields.Date.context_today(self)
company_currency = line.asset_id.company_id.currency_id
diff --git a/addons/account_asset/static/src/js/account_asset.js b/addons/account_asset/static/src/js/account_asset.js
index 5fe995a98a8..9b3b4d9b3ee 100644
--- a/addons/account_asset/static/src/js/account_asset.js
+++ b/addons/account_asset/static/src/js/account_asset.js
@@ -25,8 +25,8 @@ var WidgetOnButton = core.list_widget_registry.get('field').extend({
}
return $('