diff --git a/addons/sale_mrp/tests/test_sale_mrp_anglo_saxon_valuation.py b/addons/sale_mrp/tests/test_sale_mrp_anglo_saxon_valuation.py index dde258af42c..2cbd8d735d9 100644 --- a/addons/sale_mrp/tests/test_sale_mrp_anglo_saxon_valuation.py +++ b/addons/sale_mrp/tests/test_sale_mrp_anglo_saxon_valuation.py @@ -472,8 +472,6 @@ class TestSaleMRPAngloSaxonValuation(ValuationReconciliationTestCommon): # pylint: disable=bad-whitespace {'account_id': self.company_data['default_account_revenue'].id, 'debit': 0, 'credit': 5}, {'account_id': self.company_data['default_account_receivable'].id, 'debit': 5, 'credit': 0}, - {'account_id': self.company_data['default_account_stock_out'].id, 'debit': 0, 'credit': 0}, - {'account_id': self.company_data['default_account_expense'].id, 'debit': 0, 'credit': 0}, ]) def test_kit_avco_partially_owned_and_delivered_invoice_post_delivery(self): diff --git a/addons/sale_stock/tests/test_anglo_saxon_valuation.py b/addons/sale_stock/tests/test_anglo_saxon_valuation.py index 1b8de31822b..e18dd97f176 100644 --- a/addons/sale_stock/tests/test_anglo_saxon_valuation.py +++ b/addons/sale_stock/tests/test_anglo_saxon_valuation.py @@ -668,8 +668,6 @@ class TestAngloSaxonValuation(ValuationReconciliationTestCommon): # pylint: disable=bad-whitespace {'account_id': self.company_data['default_account_revenue'].id, 'debit': 0, 'credit': 12}, {'account_id': self.company_data['default_account_receivable'].id, 'debit': 12, 'credit': 0}, - {'account_id': self.company_data['default_account_stock_out'].id, 'debit': 0, 'credit': 0}, - {'account_id': self.company_data['default_account_expense'].id, 'debit': 0, 'credit': 0}, ]) def test_avco_fully_owned_and_delivered_invoice_post_delivery(self): @@ -696,8 +694,6 @@ class TestAngloSaxonValuation(ValuationReconciliationTestCommon): # pylint: disable=bad-whitespace {'account_id': self.company_data['default_account_revenue'].id, 'debit': 0, 'credit': 24}, {'account_id': self.company_data['default_account_receivable'].id, 'debit': 24, 'credit': 0}, - {'account_id': self.company_data['default_account_stock_out'].id, 'debit': 0, 'credit': 0}, - {'account_id': self.company_data['default_account_expense'].id, 'debit': 0, 'credit': 0}, ]) # ------------------------------------------------------------------------- diff --git a/addons/stock_account/models/account_move.py b/addons/stock_account/models/account_move.py index 466d553ff35..c90c48f481a 100644 --- a/addons/stock_account/models/account_move.py +++ b/addons/stock_account/models/account_move.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from odoo import fields, models, api +from odoo.tools import float_is_zero class AccountMove(models.Model): @@ -106,6 +107,7 @@ class AccountMove(models.Model): :return: A list of Python dictionary to be passed to env['account.move.line'].create. ''' lines_vals_list = [] + price_unit_prec = self.env['decimal.precision'].precision_get('Product Price') for move in self: # Make the loop multi-company safe when accessing models like product.product move = move.with_company(move.company_id) @@ -131,6 +133,9 @@ class AccountMove(models.Model): price_unit = line._stock_account_get_anglo_saxon_price_unit() amount_currency = sign * line.quantity * price_unit + if move.currency_id.is_zero(amount_currency) or float_is_zero(price_unit, precision_digits=price_unit_prec): + continue + # Add interim account line. lines_vals_list.append({ 'name': line.name[:64],