From 755e6024b00c421a23fd396544c684ba67f06141 Mon Sep 17 00:00:00 2001 From: "Luis J. Salvatierra" Date: Tue, 19 Mar 2024 09:50:04 +0100 Subject: [PATCH] [FIX] account_payment_partner: payment mode compute --- account_payment_partner/models/account_move.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/account_payment_partner/models/account_move.py b/account_payment_partner/models/account_move.py index 5462b181a..cd31fbed6 100644 --- a/account_payment_partner/models/account_move.py +++ b/account_payment_partner/models/account_move.py @@ -65,23 +65,32 @@ class AccountMove(models.Model): move.payment_mode_id = False if move.partner_id: partner = move.with_company(move.company_id.id).partner_id - if move.move_type == "in_invoice": + if move.move_type == "in_invoice" and partner.supplier_payment_mode_id: move.payment_mode_id = partner.supplier_payment_mode_id - elif move.move_type == "out_invoice": + elif ( + move.move_type == "out_invoice" and partner.customer_payment_mode_id + ): move.payment_mode_id = partner.customer_payment_mode_id elif ( move.move_type in ["out_refund", "in_refund"] and move.reversed_entry_id + and move.reversed_entry_id.payment_mode_id.refund_payment_mode_id ): move.payment_mode_id = ( move.reversed_entry_id.payment_mode_id.refund_payment_mode_id ) elif not move.reversed_entry_id: - if move.move_type == "out_refund": + if ( + move.move_type == "out_refund" + and partner.customer_payment_mode_id.refund_payment_mode_id + ): move.payment_mode_id = ( partner.customer_payment_mode_id.refund_payment_mode_id ) - elif move.move_type == "in_refund": + elif ( + move.move_type == "in_refund" + and partner.supplier_payment_mode_id.refund_payment_mode_id + ): move.payment_mode_id = ( partner.supplier_payment_mode_id.refund_payment_mode_id )