From e6255f44182cf06573f45a20e3dab90e1f372045 Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Wed, 12 May 2021 15:49:23 -0700 Subject: [PATCH] [FIX] account_payment_disperse: sign when paying existing vendor bills with applied credits --- account_payment_disperse/wizard/register_payment_wizard.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/account_payment_disperse/wizard/register_payment_wizard.py b/account_payment_disperse/wizard/register_payment_wizard.py index 6622d1fa..68f0d462 100644 --- a/account_payment_disperse/wizard/register_payment_wizard.py +++ b/account_payment_disperse/wizard/register_payment_wizard.py @@ -159,7 +159,7 @@ class AccountRegisterPaymentsInvoiceLine(models.TransientModel): due_behavior = line.wizard_id.due_date_behavior total_amount = 0.0 total_reconciled = 0.0 - # TODO partial reconcile will need sign check + if due_behavior == 'due': for move_line in invoice.line_ids.filtered(lambda r: ( not r.reconciled @@ -169,7 +169,7 @@ class AccountRegisterPaymentsInvoiceLine(models.TransientModel): amount = move_line.debit - move_line.credit total_amount += amount for partial_line in move_line.matched_debit_ids: - total_reconciled += partial_line.amount + total_reconciled -= partial_line.amount for partial_line in move_line.matched_credit_ids: total_reconciled += partial_line.amount else: @@ -182,13 +182,12 @@ class AccountRegisterPaymentsInvoiceLine(models.TransientModel): amount = move_line.debit - move_line.credit total_amount += amount for partial_line in move_line.matched_debit_ids: - total_reconciled += partial_line.amount + total_reconciled -= partial_line.amount for partial_line in move_line.matched_credit_ids: total_reconciled += partial_line.amount values = { 'residual': residual, 'residual_due': sign * (total_amount - total_reconciled), - # 'difference': sign * ((line.amount or 0.0) - residual), 'difference': (line.amount or 0.0) - residual, 'partner_id': invoice.partner_id.id, }