From 8f5879287493783ccfb33b40b28eb1eef7feba01 Mon Sep 17 00:00:00 2001 From: "Luis M. Ontalba" Date: Wed, 13 Dec 2017 14:43:37 +0100 Subject: [PATCH] [FIX] account_asset_disposal: rounding value_residual --- .../models/account_asset_asset.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/account_asset_disposal/models/account_asset_asset.py b/account_asset_disposal/models/account_asset_asset.py index 03292370a..7db0756f3 100644 --- a/account_asset_disposal/models/account_asset_asset.py +++ b/account_asset_disposal/models/account_asset_asset.py @@ -5,6 +5,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import models, fields, api, _ +from odoo.tools import float_is_zero class AccountAssetAsset(models.Model): @@ -31,7 +32,10 @@ class AccountAssetAsset(models.Model): def _disposal_line_depreciation_prepare(self, date): self.ensure_one() - loss_value = self.salvage_value + self.value_residual + loss_value = self.salvage_value + if not float_is_zero(self.value_residual, + precision_rounding=self.currency_id.rounding): + loss_value += self.value_residual depreciation_value = self.value - loss_value return { 'name': _('Asset depreciation'), @@ -44,7 +48,10 @@ class AccountAssetAsset(models.Model): def _disposal_line_loss_prepare(self, date, loss_account): self.ensure_one() - loss_value = self.salvage_value + self.value_residual + loss_value = self.salvage_value + if not float_is_zero(self.value_residual, + precision_rounding=self.currency_id.rounding): + loss_value += self.value_residual return { 'name': _('Asset loss'), 'journal_id': self.category_id.journal_id.id, @@ -62,7 +69,10 @@ class AccountAssetAsset(models.Model): (0, False, self._disposal_line_asset_prepare(date)), (0, False, self._disposal_line_depreciation_prepare(date)), ] - loss_value = self.salvage_value + self.value_residual + loss_value = self.salvage_value + if not float_is_zero(self.value_residual, + precision_rounding=self.currency_id.rounding): + loss_value += self.value_residual if loss_value: lines.append(( 0, False, self._disposal_line_loss_prepare(date, loss_account)