TIP: You can type at any time to perform a new search.
Expense Exception
hr_expense_exception · OCA/hr-expense
- Repository
- OCA/hr-expense · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Human Resources
- Folder size
- 0.06 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), Ecosoft
- Maintainers
- Odoo Community Association (OCA), Ecosoft
- Committers
- Saran440, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
This module allows you attach several customizable exceptions to your expense report in a way that you can filter orders by exceptions type and fix them. This is especially useful in an scenario for mass expense import, because it's likely some expenses have errors when you import them (like product not found in Odoo, wrong line format etc.)
Code Analysis ⓘ
Views touched (3)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_expense_sheet_view_search |
hr_expense_exception.hr_expense_sheet_view_search | hr.expense.sheet | search | Inherits hr_expense.hr_expense_sheet_view_search |
view_hr_expense_sheet_form |
hr_expense_exception.view_hr_expense_sheet_form | hr.expense.sheet | form | Inherits hr_expense.view_hr_expense_sheet_form |
view_hr_expense_sheet_tree |
hr_expense_exception.view_hr_expense_sheet_tree | hr.expense.sheet | tree | Inherits hr_expense.view_hr_expense_sheet_tree |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (4)
New fields (2)
-
expense_sheet_idsMany2many → hr.expense.sheetcomodel_name='hr.expense.sheet'string='Expense Reports' -
modelSelectionondelete={'hr.expense.sheet': 'cascade', 'hr.expense': 'cascade'}selection_add=[('hr.expense.sheet', 'Expense Report'), ('hr.expense', 'Expense')]
No public methods.
New fields (1)
-
related_model_idMany2one → hr.expense.sheetargs: 'hr.expense.sheet', 'Expense Report'
-
action_confirm(self)
New fields (1)
-
ignore_exceptionBooleanrelated='sheet_id.ignore_exception'store=Truestring='Ignore Exceptions'
No public methods.
New fields (0)
No new fields.
Public methods (6)-
action_reset_expense_sheets(self) -
action_submit_sheet(self) -
detect_exceptions(self) -
expense_check_exception(self)@api.constrains('ignore_exception', 'expense_line_ids', 'state') -
onchange_ignore_exception(self)@api.onchange('expense_line_ids') -
test_all_draft_expenses(self)@api.model
Loading…
Loading…