[FIX] Wrong amount currency compute in case of change in liquidity line

pull/808/head
Florian da Costa 2025-01-22 13:02:48 +01:00 committed by Jordi Ballester Alomar
parent 0e4f79c908
commit eae996e13f
2 changed files with 6 additions and 2 deletions

View File

@ -438,10 +438,11 @@ class AccountBankStatementLine(models.Model):
"debit": self.manual_amount if self.manual_amount > 0 else 0.0,
"analytic_distribution": self.analytic_distribution,
}
if self.manual_line_id:
liquidity_lines, _suspense_lines, _other_lines = self._seek_for_lines()
if self.manual_line_id and self.manual_line_id.id not in liquidity_lines.ids:
vals.update(
{
"currency_amount": self.manual_line_id.currency_id._convert(
"currency_amount": self.manual_currency_id._convert(
self.manual_amount,
self.manual_in_currency_id,
self.company_id,

View File

@ -1315,7 +1315,10 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
)
f.manual_reference = "account.move.line;%s" % line["id"]
# simulate click on statement line, check amount does not recompute
f.manual_partner_id = inv1.partner_id
self.assertEqual(f.manual_amount, 83.33)
# check currency amount is still fine
self.assertEqual(f.reconcile_data_info["data"][0]["currency_amount"], 100)
f.add_account_move_line_id = inv1.line_ids.filtered(
lambda line: line.account_id.account_type == "asset_receivable"
)