[FIX] account_reconcile_oca: Don't apply max_amount on intermediate counterparts

Steps to reproduce:

- Have 3 or more items to reconcile. Example: 200, -350, 150.
- One of the intermediate items should be higher than the current
  running balance.
- Select all the items, and click on Action > Reconcile.

Current behavior:

The second item appears with its amount strike-throughed (and putting
the current runnning balance as the amount to reconcile).

Expected behavior:

Only strike-through the amount if the last balance is not matching
the amount.

The solution to this is to only put a maximum amount when checking
the reconciliability of the last line of the counterparts.

TT50888
pull/808/head
Pedro M. Baeza 2024-09-20 21:55:24 +02:00 committed by Jordi Ballester Alomar
parent 2347728bd1
commit b923cd71c9
1 changed files with 2 additions and 1 deletions

View File

@ -162,8 +162,9 @@ class AccountAccountReconcile(models.Model):
counterparts = data["counterparts"]
amount = 0.0
for line_id in counterparts:
max_amount = amount if line_id == counterparts[-1] else 0
line = self._get_reconcile_line(
self.env["account.move.line"].browse(line_id), "other", True, amount
self.env["account.move.line"].browse(line_id), "other", True, max_amount
)
new_data["data"].append(line)
amount += line["amount"]