Odoo18-Base/addons/project_sale_expense/models/hr_expense_sheet.py
2025-01-06 10:57:38 +07:00

21 lines
854 B
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import models
class HrExpenseSheet(models.Model):
_inherit = "hr.expense.sheet"
def _do_create_moves(self):
""" When creating the move of the expense, if the AA is given in the project of the SO, we take it as reference in the distribution.
Otherwise, we create a AA for the project of the SO and set the distribution to it.
"""
for expense in self.expense_line_ids:
project = expense.sale_order_id.project_id
if not project or expense.analytic_distribution:
continue
if not project.account_id:
project._create_analytic_account()
expense.analytic_distribution = project._get_analytic_distribution()
return super()._do_create_moves()