From f72c5feccc4ab363f1c7f6c5dbd4dcb3a7d2d632 Mon Sep 17 00:00:00 2001 From: alt-odoo Date: Thu, 2 Apr 2020 06:35:55 +0000 Subject: [PATCH] [FIX] account: wrong journal for cash basis entry In some situations, the context can contain a default journal id. When creating the cash basis entry, we are correctly retrieving the Cash Basis Journal for the account.move, but as we do not explicitly set the journal on the account.move.line also, it is using the context default value for journal_id (usually the customer invoices journal). As journal_id on account.move.line is a related field to journal_id of account.move, we are wrongly updating it. We should populate journal_id on account.move.line explicitly to avoid this. closes odoo/odoo#48837 X-original-commit: 73bcbdfddf0751d9aba27c9d101f60e6e844edb2 Signed-off-by: oco-odoo Signed-off-by: Alex Tuyls --- addons/account/models/account_move.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index 5fc262766ce..31dbac1e80b 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -4476,6 +4476,7 @@ class AccountPartialReconcile(models.Model): 'currency_id': line.currency_id.id, 'move_id': newly_created_move.id, 'partner_id': line.partner_id.id, + 'journal_id': newly_created_move.journal_id.id, }) # Group by cash basis account and tax self.env['account.move.line'].with_context(check_move_validity=False).create({ @@ -4490,6 +4491,7 @@ class AccountPartialReconcile(models.Model): 'currency_id': line.currency_id.id, 'move_id': newly_created_move.id, 'partner_id': line.partner_id.id, + 'journal_id': newly_created_move.journal_id.id, 'tax_repartition_line_id': line.tax_repartition_line_id.id, 'tax_base_amount': line.tax_base_amount, 'tax_tag_ids': [(6, 0, line.tax_tag_ids.ids)], @@ -4517,6 +4519,7 @@ class AccountPartialReconcile(models.Model): 'currency_id': line.currency_id.id, 'amount_currency': self.amount_currency and line.currency_id.round(line.amount_currency * amount / line.balance) or 0.0, 'partner_id': line.partner_id.id, + 'journal_id': newly_created_move.journal_id.id, 'tax_repartition_line_id': line.tax_repartition_line_id.id, 'tax_base_amount': line.tax_base_amount, 'tax_tag_ids': [(6, 0, line.tax_tag_ids.ids)], @@ -4531,6 +4534,7 @@ class AccountPartialReconcile(models.Model): 'currency_id': line.currency_id.id, 'amount_currency': self.amount_currency and line.currency_id.round(-line.amount_currency * amount / line.balance) or 0.0, 'partner_id': line.partner_id.id, + 'journal_id': newly_created_move.journal_id.id, }) if newly_created_move: self._set_tax_cash_basis_entry_date(move_date, newly_created_move)