fix: update expense payment status logic to track origin_payment_id instead of payment_id

This commit is contained in:
Suherdy Yacob 2026-04-21 10:33:37 +07:00
parent 4939587f93
commit 373211a09f

View File

@ -3,14 +3,14 @@ from odoo import api, models
class HrExpense(models.Model):
_inherit = 'hr.expense'
@api.depends('account_move_id.payment_state', 'account_move_id.payment_id.is_matched')
@api.depends('account_move_id.payment_state', 'account_move_id.origin_payment_id.is_matched')
def _compute_state(self):
super()._compute_state()
for expense in self:
if expense.payment_mode == 'company_account' and expense.account_move_id:
move = expense.account_move_id
if move.state == 'posted':
payment = move.payment_id
payment = move.origin_payment_id
if payment:
if not payment.is_matched:
expense.state = 'in_payment'