diff --git a/addons/stock_account/models/stock_move.py b/addons/stock_account/models/stock_move.py index df278a7b6cf..624a532353d 100644 --- a/addons/stock_account/models/stock_move.py +++ b/addons/stock_account/models/stock_move.py @@ -51,7 +51,7 @@ class StockMove(models.Model): layers = layers.filtered(lambda l: float_compare(l.value, 0, precision_rounding=l.product_id.uom_id.rounding) <= 0) layers |= layers.stock_valuation_layer_ids quantity = sum(layers.mapped("quantity")) - return float_round(sum(layers.mapped("value")) / quantity, precision_digits=precision) if not float_is_zero(quantity, precision_rounding=layers.uom_id.rounding) else 0 + return sum(layers.mapped("value")) / quantity if not float_is_zero(quantity, precision_rounding=layers.uom_id.rounding) else 0 return price_unit if not float_is_zero(price_unit, precision) or self._should_force_price_unit() else self.product_id.standard_price @api.model diff --git a/addons/stock_account/tests/test_stockvaluationlayer.py b/addons/stock_account/tests/test_stockvaluationlayer.py index e3d3be0d894..aba0bc80ab9 100644 --- a/addons/stock_account/tests/test_stockvaluationlayer.py +++ b/addons/stock_account/tests/test_stockvaluationlayer.py @@ -590,6 +590,18 @@ class TestStockValuationAVCO(TestStockValuationCommon): self.assertEqual(self.product1.quantity_svl, 10) self.assertEqual(self.product1.standard_price, 2) + def test_return_delivery_rounding(self): + self.product1.product_tmpl_id.categ_id.property_valuation = 'manual_periodic' + self.product1.write({"standard_price": 1}) + self._make_in_move(self.product1, 1, unit_cost=13.13) + self._make_in_move(self.product1, 1, unit_cost=12.20) + move3 = self._make_out_move(self.product1, 2, create_picking=True) + move4 = self._make_return(move3, 2) + + self.assertAlmostEqual(abs(move3.stock_valuation_layer_ids[0].value), abs(move4.stock_valuation_layer_ids[0].value)) + self.assertAlmostEqual(self.product1.value_svl, 25.33) + self.assertEqual(self.product1.quantity_svl, 2) + class TestStockValuationFIFO(TestStockValuationCommon): @classmethod