Repository
OCA/hr-expense · module folder · Try on Runboat
Module version
1.0.3
Category
Human Resources
Folder size
0.13 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/hr-expense
Last tracking update
2026-08-07 08:42:58
Authors
Odoo Community Association (OCA), Tecnativa
Maintainers
Odoo Community Association (OCA), Tecnativa
Committers
Pedro M. Baeza, Weblate, OCA-git-bot, oca-ci, David Bañón, christian-ramos-tecnativa, dtec-landoo
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module should be used when a supplier invoice is paid by an
employee. It allows to set a supplier invoice for each expense line,
adding the corresponding journal items to transfer the debt to the
employee.

There are 2 ways to reference expense to invoice.

1.  On expense, directly select one invoice.
2.  On expense report, use button "Create Vendor Bill" to create one
    invoice for multiple expenses.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
hr_expense_sheet_form_view_inherit_sale_expense hr.expense.sheet.form.inherit.sale.expense hr.expense.sheet form Inherits hr_expense.view_hr_expense_sheet_form
hr_expense_view_form hr.expense.form hr.expense form Inherits hr_expense.hr_expense_view_form
view_move_form account.move.form - Add expense smart-button account.move form Inherits account.view_move_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (2)
  • expense_ids One2many → hr.expense
    comodel_name='hr.expense' inverse_name='invoice_id' string='Expenses'
  • source_invoice_expense_id Many2one → hr.expense
    comodel_name='hr.expense' help='Reference to the expense with a linked invoice that generated thistransfer journal entry'
Public methods (2)
  • action_force_register_payment(self)
  • action_view_expense(self)

New fields (0)

No new fields.

Public methods (1)
  • reconcile(self)
    Mark expenses paid by employee having invoice when reconciling them.

New fields (4)
  • amount_residual Monetary
    compute='_compute_amount_residual' store=True string='Amount Due'
  • invoice_id Many2one → account.move
    comodel_name='account.move' copy=False domain=[('move_type', '=', 'in_invoice'), ('state', '=', 'posted'), ('payment_state', '=', 'not_paid'), ('expense_ids', '=', False)] string='Vendor Bill'
  • sheet_id_state Selection
    related='sheet_id.state' string='Sheet state'
  • transfer_move_ids One2many → account.move
    comodel_name='account.move' inverse_name='source_invoice_expense_id'
Public methods (1)
  • action_expense_create_invoice(self)

New fields (1)
  • invoice_count Integer
    compute='_compute_invoice_count'
Public methods (4)
  • action_sheet_move_post(self)
  • action_view_invoices(self)
  • get_expense_sheets_with_invoices(self, func)
  • set_to_paid(self)
    Don't mark sheet as paid when reconciling invoices.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Status
Open migration PR — not merged yet for this version
CI status
green — ready to merge
Open since
57 days ago
Last activity
1 day ago
Repository
OCA/hr-expense
Pull request
[19.0][MIG] hr_expense_invoice (#373)