From 36316c5af2a3fc0c3e189320662ef7d47508d440 Mon Sep 17 00:00:00 2001 From: Goffin Simon Date: Tue, 24 Mar 2020 10:08:10 +0000 Subject: [PATCH] [FIX] account: Printing invoices in multi companies/currencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Steps to reproduce the bug: - Lets consider two companies C1 in € and C2 in $ - Let's consider two customer invoices I1 in C1 and I2 in C2 - Select these two invoices in the list view of invoies and print it Bug: A traceback was raised because the function _convert expects a singleton opw:2222140 closes odoo/odoo#48323 X-original-commit: b66bcfe96dfdc62a1faa26ccf9c6adfa2b8929a4 Signed-off-by: Simon Goffin (sig) --- addons/account/models/account_move.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index d6bb81c206b..c1dd1901c81 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -1337,8 +1337,8 @@ class AccountMove(models.Model): res[line.tax_line_id.tax_group_id]['amount'] += line.price_subtotal tax_key_add_base = tuple(move._get_tax_key_for_group_add_base(line)) if tax_key_add_base not in done_taxes: - if line.currency_id != self.company_id.currency_id: - amount = self.company_id.currency_id._convert(line.tax_base_amount, line.currency_id, self.company_id, line.date or fields.Date.today()) + if line.currency_id and line.company_currency_id and line.currency_id != line.company_currency_id: + amount = line.company_currency_id._convert(line.tax_base_amount, line.currency_id, line.company_id, line.date or fields.Date.today()) else: amount = line.tax_base_amount res[line.tax_line_id.tax_group_id]['base'] += amount