diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index 56a1cccb331..bbe63e03c50 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -912,14 +912,11 @@ class HrExpenseSheet(models.Model): expense_line_ids = self.mapped('expense_line_ids')\ .filtered(lambda r: not float_is_zero(r.total_amount, precision_rounding=(r.currency_id or self.env.company.currency_id).rounding)) res = expense_line_ids.action_move_create() - - if not self.accounting_date: - self.accounting_date = self.account_move_id.date - - if self.payment_mode == 'own_account' and expense_line_ids: - self.write({'state': 'post'}) - else: - self.write({'state': 'done'}) + for sheet in self.filtered(lambda s: not s.accounting_date): + sheet.accounting_date = sheet.account_move_id.date + to_post = self.filtered(lambda sheet: sheet.payment_mode == 'own_account' and sheet.expense_line_ids) + to_post.write({'state': 'post'}) + (self - to_post).write({'state': 'done'}) self.activity_update() return res