diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index c1bb61ef2f2013361c11e7ee21d1ba433574c60e..734d611712c17973103c739f143bdd31fe21ef8d 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -2129,15 +2129,18 @@ class AccountMove(models.Model): refund_repartition_line = tax_repartition_lines_mapping[invoice_repartition_line] # Find the right account. - account_id = self.env['account.move.line']._get_default_tax_account(refund_repartition_line).id - if not account_id: - if not invoice_repartition_line.account_id: - # Keep the current account as the current one comes from the base line. - account_id = line_vals['account_id'] - else: - tax = invoice_repartition_line.invoice_tax_id - base_line = self.line_ids.filtered(lambda line: tax in line.tax_ids.flatten_taxes_hierarchy())[0] - account_id = base_line.account_id.id + if cancel: + account_id = line_vals['account_id'] + else: + account_id = self.env['account.move.line']._get_default_tax_account(refund_repartition_line).id + if not account_id: + if not invoice_repartition_line.account_id: + # Keep the current account as the current one comes from the base line. + account_id = line_vals['account_id'] + else: + tax = invoice_repartition_line.invoice_tax_id + base_line = self.line_ids.filtered(lambda line: tax in line.tax_ids.flatten_taxes_hierarchy())[0] + account_id = base_line.account_id.id tags = refund_repartition_line.tag_ids if line_vals.get('tax_ids'): diff --git a/addons/account/tests/test_reconciliation.py b/addons/account/tests/test_reconciliation.py index 77bac475d32b45b8d5d9e5271353e1012c7c7935..36f6fa85c32849fa3c4216676b7a6757bc8bbc49 100644 --- a/addons/account/tests/test_reconciliation.py +++ b/addons/account/tests/test_reconciliation.py @@ -1913,15 +1913,12 @@ class TestReconciliationExec(TestReconciliation): def test_reconciliation_cash_basis_revert(self): company = self.env.ref('base.main_company') company.tax_cash_basis_journal_id = self.cash_basis_journal + tax_cash_basis10percent = self.tax_cash_basis.copy({'amount': 10}) + self.tax_waiting_account.reconcile = True tax_waiting_account10 = self.tax_waiting_account.copy({ 'name': 'TAX WAIT 10', 'code': 'TWAIT1', }) - tax_cash_basis10percent = self.tax_cash_basis.copy({ - 'amount': 10, - 'cash_basis_transition_account_id': tax_waiting_account10.id, - }) - self.tax_waiting_account.reconcile = True # Purchase purchase_move = self.env['account.move'].create({