Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: Expenses

Entity: hr.expense

Compute Method: _compute_account_id

Inputs Method Outputs
for _expense in self:
            expense = _expense.with_company(_expense.company_id)
            account = False

            if expense.existing_bill_id:
                payable_line = expense.existing_bill_id.line_ids.filtered(lambda l: l.account_type == 'liability_payable')
                account = payable_line[:1].account_id

            elif expense.has_existing_bill:
                account = expense.vendor_id.commercial_partner_id.property_account_payable_id or expense.company_id.payable_account_id

            elif expense.product_id:
                account = expense.product_id.product_tmpl_id._get_product_accounts()['expense']

            expense.account_id = account or expense.company_id.expense_account_id

Back to entity