details:   https://code.tryton.org/tryton/commit/6c731676e722
branch:    default
user:      Cédric Krier <[email protected]>
date:      Thu May 21 16:13:34 2026 +0200
description:
        Filter lines by reconciliation date to calculate payable/receivable of 
party

        The lines reconciled after the date should be included in the sum as 
the other
        line may be filtered.

        Closes #14857
diffstat:

 modules/account/party.py |  8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diffs (36 lines):

diff -r 0016d22389b8 -r 6c731676e722 modules/account/party.py
--- a/modules/account/party.py  Fri Jun 05 15:50:42 2026 +0200
+++ b/modules/account/party.py  Thu May 21 16:13:34 2026 +0200
@@ -132,6 +132,7 @@
         Date = pool.get('ir.date')
         Move = pool.get('account.move')
         MoveLine = pool.get('account.move.line')
+        Reconciliation = pool.get('account.move.reconciliation')
 
         transaction = Transaction()
         context = transaction.context
@@ -139,6 +140,7 @@
         account_type = AccountType.__table__()
         move = Move.__table__()
         move_line = MoveLine.__table__()
+        reconciliation = Reconciliation.__table__()
 
         if date := context.get('date'):
             today = date
@@ -181,11 +183,15 @@
             .join(move, condition=move_line.move == move.id)
             .join(account, condition=move_line.account == account.id)
             .join(account_type, condition=account.type == account_type.id)
+            .left_join(
+                reconciliation,
+                condition=move_line.reconciliation == reconciliation.id)
             .select(
                 move_line.party.as_('party'),
                 *columns,
                 where=(
-                    (move_line.reconciliation == Null)
+                    ((move_line.reconciliation == Null)
+                        | (reconciliation.date > today))
                     & (account.company == company.id)
                     & party_where),
                 group_by=move_line.party))

Reply via email to