From d69c97a9cf0e7d24c158d07adf792a55cc4798e6 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 a0230afebb8e..d1bfc4b58d2e 100644 --- a/account_payment_partner/models/account_move.py +++ b/account_payment_partner/models/account_move.py @@ -65,23 +65,32 @@ def _compute_payment_mode_id(self): 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 )