| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/maintenance |
| GIT | |
| GIT | https://github.com/OCA/maintenance.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/maintenance/tree/19.0/maintenance_plan |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Maintenance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| COMMITTERS | |
| COMMITTERS | OCA-git-bot, oca-ci, JasminSForgeFlow |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/maintenance |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:48 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/maintenance: - base_maintenance odoo/odoo: - maintenance - base - base_setup - web - bus - web_tour - html_editor |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
python-dateutil |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module extends the functionality of Odoo Maintenance module by allowing an equipment to have different preventive maintenance kinds. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_equipment_request_view_form |
maintenance.request.form@maintenance_plan | maintenance.request | field | Inherits maintenance.hr_equipment_request_view_form |
hr_equipment_request_view_tree |
equipment.request.list@maintenance_plan | maintenance.request | xpath | Inherits maintenance.hr_equipment_request_view_tree |
hr_equipment_view_form |
equipment.form@maintenance_plan | maintenance.equipment | div | Inherits maintenance.hr_equipment_view_form |
hr_equipment_view_search |
equipment.search@maintenance_plan | maintenance.equipment | xpath | Inherits maintenance.hr_equipment_view_search |
maintenance_kind_view_tree |
maintenance.kind.list@maintenance_plan | maintenance.kind | list | New |
maintenance_plan_view_form |
maintenance.plan.form@maintenance_plan | maintenance.plan | form | New |
maintenance_plan_view_search |
maintenance.plan.search@maintenance_plan | maintenance.plan | search | New |
maintenance_plan_view_tree |
maintenance.plan.list@maintenance_plan | maintenance.plan | list | New |
report_maintenance_request_document |
report_maintenance_request_document | ir.ui.view | qweb | Inherits base_maintenance.report_maintenance_request_document |
res_config_settings_view_form |
res.config.settings.view.form@maintenance_plan | res.config.settings | xpath | Inherits maintenance.res_config_settings_view_form |
maintenance_plan_count
Integer
compute='_compute_maintenance_plan_count'
store=True
maintenance_plan_ids
One2many → maintenance.plan
comodel_name='maintenance.plan'
inverse_name='equipment_id'
string='Maintenance Plan'
maintenance_team_required
Boolean
compute='_compute_team_required'
search_maintenance_plan_count
Integer
compute='_compute_search_maintenance_plan_count'
string='Maintenance All Plan Count'
No public methods.
active
Boolean
default=True
required=True
args: 'Active Kind'
name
Char
required=True
translate=True
No public methods.
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
duration
Float
help='Maintenance duration in hours'
string='Duration (hours)'
equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
ondelete='cascade'
string='Equipment'
generate_domain
Char
string='Apply on'
generate_with_domain
Boolean
instruction_google_slide
Char
help='Paste the url of your Google Slide. Make sure the access to the document is public.'
args: 'Google Slide'
instruction_pdf
Binary
instruction_text
Html
instruction_type
Selection
default='text'
string='Instruction'
args: [('pdf', 'PDF'), ('google_slide', 'Google Slide'), ('text', 'Text')]
interval
Integer
default=1
help='Interval between each maintenance'
string='Frequency'
interval_step
Selection
default='year'
help='Let the event automatically repeat at that interval step'
string='Recurrence'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
maintenance_count
Integer
compute='_compute_maintenance_count'
store=True
string='Maintenance'
maintenance_ids
One2many → maintenance.request
string='Maintenance requests'
args: 'maintenance.request', 'maintenance_plan_id'
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance Kind'
maintenance_open_count
Integer
compute='_compute_maintenance_count'
store=True
string='Current Maintenance'
maintenance_plan_horizon
Integer
default=1
help='Maintenance planning horizon. Only the maintenance requests inside the horizon will be created.'
string='Planning Horizon period'
maintenance_team_id
Many2one → maintenance.team
name
Char
next_maintenance_date
Date
compute='_compute_next_maintenance'
store=True
planning_step
Selection
default='year'
help='Let the event automatically repeat at that interval'
string='Planning Horizon step'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
search_equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
compute='_compute_search_equipment'
search='_search_search_equipment'
skip_notify_follower_on_requests
Boolean
default=True
string='Do not notify to follower when creating requests?'
start_maintenance_date
Date
default=fields.Date.context_today
help='Date from which the maintenance will we active'
button_manual_request_generation(self)
get_relativedelta(self, interval, step)
unlink(self)
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance Kind'
maintenance_plan_id
Many2one → maintenance.plan
comodel_name='maintenance.plan'
ondelete='restrict'
string='Maintenance Plan'
No public methods.
module_maintenance_plan_only
Boolean
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/maintenance |
| GIT | |
| GIT | https://github.com/OCA/maintenance.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/maintenance/tree/18.0/maintenance_plan |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Maintenance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| COMMITTERS | |
| COMMITTERS | Yann Papouin, Weblate, OCA-git-bot, oca-ci, LauraCForgeFlow |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/maintenance |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/maintenance: - base_maintenance odoo/odoo: - maintenance - base - base_setup - web - bus - web_tour - html_editor |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
python-dateutil |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module extends the functionality of Odoo Maintenance module by allowing an equipment to have different preventive maintenance kinds. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_equipment_request_view_form |
maintenance.request.form@maintenance_plan | maintenance.request | field | Inherits maintenance.hr_equipment_request_view_form |
hr_equipment_request_view_tree |
equipment.request.list@maintenance_plan | maintenance.request | xpath | Inherits maintenance.hr_equipment_request_view_tree |
hr_equipment_view_form |
equipment.form@maintenance_plan | maintenance.equipment | div | Inherits maintenance.hr_equipment_view_form |
hr_equipment_view_search |
equipment.search@maintenance_plan | maintenance.equipment | xpath | Inherits maintenance.hr_equipment_view_search |
maintenance_kind_view_tree |
maintenance.kind.list@maintenance_plan | maintenance.kind | list | New |
maintenance_plan_view_form |
maintenance.plan.form@maintenance_plan | maintenance.plan | form | New |
maintenance_plan_view_search |
maintenance.plan.search@maintenance_plan | maintenance.plan | search | New |
maintenance_plan_view_tree |
maintenance.plan.list@maintenance_plan | maintenance.plan | list | New |
report_maintenance_request_document |
report_maintenance_request_document | ir.ui.view | qweb | Inherits base_maintenance.report_maintenance_request_document |
res_config_settings_view_form |
res.config.settings.view.form@maintenance_plan | res.config.settings | xpath | Inherits maintenance.res_config_settings_view_form |
maintenance_plan_count
Integer
compute='_compute_maintenance_plan_count'
store=True
maintenance_plan_ids
One2many → maintenance.plan
comodel_name='maintenance.plan'
inverse_name='equipment_id'
string='Maintenance Plan'
maintenance_team_required
Boolean
compute='_compute_team_required'
search_maintenance_plan_count
Integer
compute='_compute_search_maintenance_plan_count'
string='Maintenance All Plan Count'
No public methods.
active
Boolean
default=True
required=True
args: 'Active Kind'
name
Char
required=True
translate=True
No public methods.
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
duration
Float
help='Maintenance duration in hours'
string='Duration (hours)'
equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
ondelete='cascade'
string='Equipment'
generate_domain
Char
string='Apply on'
generate_with_domain
Boolean
instruction_google_slide
Char
help='Paste the url of your Google Slide. Make sure the access to the document is public.'
args: 'Google Slide'
instruction_pdf
Binary
instruction_text
Html
instruction_type
Selection
default='text'
string='Instruction'
args: [('pdf', 'PDF'), ('google_slide', 'Google Slide'), ('text', 'Text')]
interval
Integer
default=1
help='Interval between each maintenance'
string='Frequency'
interval_step
Selection
default='year'
help='Let the event automatically repeat at that interval step'
string='Recurrence'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
maintenance_count
Integer
compute='_compute_maintenance_count'
store=True
string='Maintenance'
maintenance_ids
One2many → maintenance.request
string='Maintenance requests'
args: 'maintenance.request', 'maintenance_plan_id'
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance Kind'
maintenance_open_count
Integer
compute='_compute_maintenance_count'
store=True
string='Current Maintenance'
maintenance_plan_horizon
Integer
default=1
help='Maintenance planning horizon. Only the maintenance requests inside the horizon will be created.'
string='Planning Horizon period'
maintenance_team_id
Many2one → maintenance.team
name
Char
next_maintenance_date
Date
compute='_compute_next_maintenance'
store=True
planning_step
Selection
default='year'
help='Let the event automatically repeat at that interval'
string='Planning Horizon step'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
search_equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
compute='_compute_search_equipment'
search='_search_search_equipment'
skip_notify_follower_on_requests
Boolean
default=True
string='Do not notify to follower when creating requests?'
start_maintenance_date
Date
default=fields.Date.context_today
help='Date from which the maintenance will we active'
button_manual_request_generation(self)
get_relativedelta(self, interval, step)
unlink(self)
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance Kind'
maintenance_plan_id
Many2one → maintenance.plan
comodel_name='maintenance.plan'
ondelete='restrict'
string='Maintenance Plan'
No public methods.
module_maintenance_plan_only
Boolean
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/maintenance |
| GIT | |
| GIT | https://github.com/OCA/maintenance.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/maintenance/tree/17.0/maintenance_plan |
| VERSION | |
| VERSION | 1.1.2 |
| CATEGORY | |
| CATEGORY | Maintenance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| COMMITTERS | |
| COMMITTERS | Carlos Lopez, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Vincent Hatakeyama, FernandoRomera |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/maintenance |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:06 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/maintenance: - base_maintenance odoo/odoo: - maintenance - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
python-dateutil |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module extends the functionality of Odoo Maintenance module by allowing an equipment to have different preventive maintenance kinds. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_equipment_request_view_form |
equipment.request.form.inherit | maintenance.request | field | Inherits base_maintenance.equipment_request_view_form |
hr_equipment_request_view_tree |
equipment.request.tree | maintenance.request | xpath | Inherits maintenance.hr_equipment_request_view_tree |
hr_equipment_view_form |
equipment.form.inherit | maintenance.equipment | div | Inherits maintenance.hr_equipment_view_form |
hr_equipment_view_search |
equipment.search-oxigen | maintenance.equipment | xpath | Inherits maintenance.hr_equipment_view_search |
maintenance_kind_view_tree |
maintenance.kind.tree | maintenance.kind | tree | New |
maintenance_plan_view_form |
maintenance.plan.form | maintenance.plan | form | New |
maintenance_plan_view_search |
maintenance.plan.search | maintenance.plan | search | New |
maintenance_plan_view_tree |
maintenance.plan.tree | maintenance.plan | tree | New |
report_maintenance_request_document |
report_maintenance_request_document | ir.ui.view | qweb | Inherits base_maintenance.report_maintenance_request_document |
maintenance_plan_count
Integer
compute='_compute_maintenance_plan_count'
store=True
maintenance_plan_ids
One2many → maintenance.plan
comodel_name='maintenance.plan'
inverse_name='equipment_id'
string='Maintenance plan'
maintenance_team_required
Boolean
compute='_compute_team_required'
notes
Text
search_maintenance_plan_count
Integer
compute='_compute_search_maintenance_plan_count'
string='Maintenance All Plan Count'
No public methods.
active
Boolean
default=True
required=True
args: 'Active Kind'
name
Char
required=True
translate=True
No public methods.
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
duration
Float
help='Maintenance duration in hours'
string='Duration (hours)'
equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
ondelete='cascade'
string='Equipment'
generate_domain
Char
string='Apply on'
generate_with_domain
Boolean
interval
Integer
default=1
help='Interval between each maintenance'
string='Frequency'
interval_step
Selection
default='year'
help='Let the event automatically repeat at that interval step'
string='Recurrence'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
maintenance_count
Integer
compute='_compute_maintenance_count'
store=True
string='Maintenance'
maintenance_ids
One2many → maintenance.request
string='Maintenance requests'
args: 'maintenance.request', 'maintenance_plan_id'
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance Kind'
maintenance_open_count
Integer
compute='_compute_maintenance_count'
store=True
string='Current Maintenance'
maintenance_plan_horizon
Integer
default=1
help='Maintenance planning horizon. Only the maintenance requests inside the horizon will be created.'
string='Planning Horizon period'
maintenance_team_id
Many2one → maintenance.team
name
Char
next_maintenance_date
Date
compute='_compute_next_maintenance'
store=True
note
Html
planning_step
Selection
default='year'
help='Let the event automatically repeat at that interval'
string='Planning Horizon step'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
search_equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
compute='_compute_search_equipment'
search='_search_search_equipment'
skip_notify_follower_on_requests
Boolean
default=True
string='Do not notify to follower when creating requests?'
start_maintenance_date
Date
default=fields.Date.context_today
help='Date from which the maintenance will we active'
button_manual_request_generation(self)
get_relativedelta(self, interval, step)
name_get(self)
unlink(self)
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance kind'
maintenance_plan_id
Many2one → maintenance.plan
comodel_name='maintenance.plan'
ondelete='restrict'
string='Maintenance plan'
note
Html
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/maintenance |
| GIT | |
| GIT | https://github.com/OCA/maintenance.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/maintenance/tree/16.0/maintenance_plan |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Maintenance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| COMMITTERS | |
| COMMITTERS | Weblate, oca-ci, Alexei Rivera |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/maintenance |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:49 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/maintenance: - base_maintenance odoo/odoo: - maintenance - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
python-dateutil |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_equipment_request_view_form |
equipment.request.form.inherit | maintenance.request | field | Inherits base_maintenance.equipment_request_view_form |
hr_equipment_request_view_tree |
equipment.request.tree | maintenance.request | xpath | Inherits maintenance.hr_equipment_request_view_tree |
hr_equipment_view_form |
equipment.form.inherit | maintenance.equipment | div | Inherits maintenance.hr_equipment_view_form |
hr_equipment_view_search |
equipment.search-oxigen | maintenance.equipment | xpath | Inherits maintenance.hr_equipment_view_search |
maintenance_kind_view_tree |
maintenance.kind.tree | maintenance.kind | tree | New |
maintenance_plan_view_form |
maintenance.plan.form | maintenance.plan | form | New |
maintenance_plan_view_search |
maintenance.plan.search | maintenance.plan | search | New |
maintenance_plan_view_tree |
maintenance.plan.tree | maintenance.plan | tree | New |
report_maintenance_request_document |
report_maintenance_request_document | ir.ui.view | qweb | Inherits base_maintenance.report_maintenance_request_document |
maintenance_plan_count
Integer
compute='_compute_maintenance_plan_count'
store=True
maintenance_plan_ids
One2many → maintenance.plan
comodel_name='maintenance.plan'
inverse_name='equipment_id'
string='Maintenance plan'
maintenance_team_required
Boolean
compute='_compute_team_required'
notes
Text
search_maintenance_plan_count
Integer
compute='_compute_search_maintenance_plan_count'
string='Maintenance All Plan Count'
No public methods.
active
Boolean
default=True
required=True
args: 'Active Kind'
name
Char
required=True
translate=True
No public methods.
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
duration
Float
help='Maintenance duration in hours'
string='Duration (hours)'
equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
ondelete='cascade'
string='Equipment'
generate_domain
Char
string='Apply on'
generate_with_domain
Boolean
interval
Integer
default=1
help='Interval between each maintenance'
string='Frequency'
interval_step
Selection
default='year'
help='Let the event automatically repeat at that interval step'
string='Recurrence'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
maintenance_count
Integer
compute='_compute_maintenance_count'
store=True
string='Maintenance'
maintenance_ids
One2many → maintenance.request
string='Maintenance requests'
args: 'maintenance.request', 'maintenance_plan_id'
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance Kind'
maintenance_open_count
Integer
compute='_compute_maintenance_count'
store=True
string='Current Maintenance'
maintenance_plan_horizon
Integer
default=1
help='Maintenance planning horizon. Only the maintenance requests inside the horizon will be created.'
string='Planning Horizon period'
maintenance_team_id
Many2one → maintenance.team
name
Char
next_maintenance_date
Date
compute='_compute_next_maintenance'
store=True
note
Html
planning_step
Selection
default='year'
help='Let the event automatically repeat at that interval'
string='Planning Horizon step'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
search_equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
compute='_compute_search_equipment'
search='_search_search_equipment'
skip_notify_follower_on_requests
Boolean
default=True
string='Do not notify to follower when creating requests?'
start_maintenance_date
Date
default=fields.Date.context_today
help='Date from which the maintenance will we active'
button_manual_request_generation(self)
get_relativedelta(self, interval, step)
name_get(self)
unlink(self)
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance kind'
maintenance_plan_id
Many2one → maintenance.plan
comodel_name='maintenance.plan'
ondelete='restrict'
string='Maintenance plan'
note
Html
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/maintenance |
| GIT | |
| GIT | https://github.com/OCA/maintenance.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/maintenance/tree/15.0/maintenance_plan |
| VERSION | |
| VERSION | 1.7.2 |
| CATEGORY | |
| CATEGORY | Maintenance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| COMMITTERS | |
| COMMITTERS | Enric Tobella, Lois Rilo, OCA Transbot, Miquel Raïch, Víctor Martínez, Weblate, OCA-git-bot, sergiocorato, oca-ci, Stefano Consolaro, mariadforgeflow, Bernat Puig Font |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/maintenance |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:35 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/maintenance: - base_maintenance odoo/odoo: - maintenance - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
python-dateutil |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_equipment_request_view_form |
equipment.request.form.inherit | maintenance.request | field | Inherits base_maintenance.equipment_request_view_form |
hr_equipment_request_view_tree |
equipment.request.tree | maintenance.request | xpath | Inherits maintenance.hr_equipment_request_view_tree |
hr_equipment_view_form |
equipment.form.inherit | maintenance.equipment | div | Inherits maintenance.hr_equipment_view_form |
hr_equipment_view_search |
equipment.search-oxigen | maintenance.equipment | xpath | Inherits maintenance.hr_equipment_view_search |
maintenance_kind_view_tree |
maintenance.kind.tree | maintenance.kind | tree | New |
maintenance_plan_view_form |
maintenance.plan.form | maintenance.plan | form | New |
maintenance_plan_view_search |
maintenance.plan.search | maintenance.plan | search | New |
maintenance_plan_view_tree |
maintenance.plan.tree | maintenance.plan | tree | New |
report_maintenance_request_document |
report_maintenance_request_document | ir.ui.view | qweb | Inherits base_maintenance.report_maintenance_request_document |
maintenance_plan_count
Integer
compute='_compute_maintenance_plan_count'
store=True
maintenance_plan_ids
One2many → maintenance.plan
comodel_name='maintenance.plan'
inverse_name='equipment_id'
string='Maintenance plan'
maintenance_team_required
Boolean
compute='_compute_team_required'
notes
Text
search_maintenance_plan_count
Integer
compute='_compute_search_maintenance_plan_count'
string='Maintenance All Plan Count'
No public methods.
active
Boolean
default=True
required=True
args: 'Active Kind'
name
Char
required=True
translate=True
No public methods.
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
duration
Float
help='Maintenance duration in hours'
string='Duration (hours)'
equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
ondelete='cascade'
string='Equipment'
generate_domain
Char
string='Apply on'
generate_with_domain
Boolean
interval
Integer
default=1
help='Interval between each maintenance'
string='Frequency'
interval_step
Selection
default='year'
help='Let the event automatically repeat at that interval step'
string='Recurrence'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
maintenance_count
Integer
compute='_compute_maintenance_count'
store=True
string='Maintenance'
maintenance_ids
One2many → maintenance.request
string='Maintenance requests'
args: 'maintenance.request', 'maintenance_plan_id'
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance Kind'
maintenance_open_count
Integer
compute='_compute_maintenance_count'
store=True
string='Current Maintenance'
maintenance_plan_horizon
Integer
default=1
help='Maintenance planning horizon. Only the maintenance requests inside the horizon will be created.'
string='Planning Horizon period'
maintenance_team_id
Many2one → maintenance.team
name
Char
next_maintenance_date
Date
compute='_compute_next_maintenance'
store=True
note
Html
planning_step
Selection
default='year'
help='Let the event automatically repeat at that interval'
string='Planning Horizon step'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
search_equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
compute='_compute_search_equipment'
search='_search_search_equipment'
skip_notify_follower_on_requests
Boolean
default=True
string='Do not notify to follower when creating requests?'
start_maintenance_date
Date
default=fields.Date.context_today
help='Date from which the maintenance will we active'
button_manual_request_generation(self)
get_relativedelta(self, interval, step)
name_get(self)
unlink(self)
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance kind'
maintenance_plan_id
Many2one → maintenance.plan
comodel_name='maintenance.plan'
ondelete='restrict'
string='Maintenance plan'
note
Html
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/maintenance |
| GIT | |
| GIT | https://github.com/OCA/maintenance.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/maintenance/tree/14.0/maintenance_plan |
| VERSION | |
| VERSION | 1.6.5 |
| CATEGORY | |
| CATEGORY | Maintenance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Enric Tobella, Lois Rilo, David Alonso, OCA Transbot, Miquel Raïch, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, sergiocorato, oca-ci, Stefano Consolaro, mariadforgeflow, pedrocasi, Kevin Luna, oca-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/maintenance |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:01 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/maintenance: - base_maintenance odoo/odoo: - maintenance - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
python-dateutil |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_equipment_request_view_form |
equipment.request.form.inherit | maintenance.request | field | Inherits base_maintenance.equipment_request_view_form |
hr_equipment_request_view_tree |
equipment.request.tree | maintenance.request | xpath | Inherits maintenance.hr_equipment_request_view_tree |
hr_equipment_view_form |
equipment.form.inherit | maintenance.equipment | div | Inherits maintenance.hr_equipment_view_form |
hr_equipment_view_search |
equipment.search-oxigen | maintenance.equipment | xpath | Inherits maintenance.hr_equipment_view_search |
maintenance_kind_view_tree |
maintenance.kind.tree | maintenance.kind | tree | New |
maintenance_plan_view_form |
maintenance.plan.form | maintenance.plan | form | New |
maintenance_plan_view_search |
maintenance.plan.search | maintenance.plan | search | New |
maintenance_plan_view_tree |
maintenance.plan.tree | maintenance.plan | tree | New |
report_maintenance_request_document |
report_maintenance_request_document | ir.ui.view | qweb | Inherits base_maintenance.report_maintenance_request_document |
maintenance_plan_count
Integer
compute='_compute_maintenance_plan_count'
store=True
string='Maintenance Plan Count'
maintenance_plan_ids
One2many → maintenance.plan
comodel_name='maintenance.plan'
inverse_name='equipment_id'
string='Maintenance plan'
maintenance_team_required
Boolean
compute='_compute_team_required'
notes
Text
string='Notes'
search_maintenance_plan_count
Integer
compute='_compute_search_maintenance_plan_count'
string='Maintenance All Plan Count'
No public methods.
active
Boolean
default=True
required=True
args: 'Active Kind'
name
Char
required=True
translate=True
args: 'Name'
No public methods.
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
duration
Float
help='Maintenance duration in hours'
string='Duration (hours)'
equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
ondelete='cascade'
string='Equipment'
generate_domain
Char
string='Apply on'
generate_with_domain
Boolean
interval
Integer
default=1
help='Interval between each maintenance'
string='Frequency'
interval_step
Selection
default='year'
help='Let the event automatically repeat at that interval step'
string='Recurrence'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
maintenance_count
Integer
compute='_compute_maintenance_count'
store=True
string='Maintenance'
maintenance_ids
One2many → maintenance.request
string='Maintenance requests'
args: 'maintenance.request', 'maintenance_plan_id'
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance Kind'
maintenance_open_count
Integer
compute='_compute_maintenance_count'
store=True
string='Current Maintenance'
maintenance_plan_horizon
Integer
default=1
help='Maintenance planning horizon. Only the maintenance requests inside the horizon will be created.'
string='Planning Horizon period'
maintenance_team_id
Many2one → maintenance.team
name
Char
next_maintenance_date
Date
compute='_compute_next_maintenance'
store=True
args: 'Next maintenance date'
note
Html
planning_step
Selection
default='year'
help='Let the event automatically repeat at that interval'
string='Planning Horizon step'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
search_equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
compute='_compute_search_equipment'
search='_search_search_equipment'
skip_notify_follower_on_requests
Boolean
default=True
string='Do not notify to follower when creating requests?'
start_maintenance_date
Date
default=fields.Date.context_today
help='Date from which the maintenance will we active'
string='Start maintenance date'
button_manual_request_generation(self)
get_relativedelta(self, interval, step)
name_get(self)
unlink(self)
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance kind'
maintenance_plan_id
Many2one → maintenance.plan
comodel_name='maintenance.plan'
ondelete='restrict'
string='Maintenance plan'
note
Html
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/maintenance |
| GIT | |
| GIT | https://github.com/OCA/maintenance.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/maintenance/tree/13.0/maintenance_plan |
| VERSION | |
| VERSION | 1.9.0 |
| CATEGORY | |
| CATEGORY | Maintenance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ForgeFlow, Camptocamp SA |
| COMMITTERS | |
| COMMITTERS | Enric Tobella, Lois Rilo, OCA Transbot, Miquel Raïch, Víctor Martínez, ahenriquez, oca-travis, Weblate, OCA-git-bot, sergiocorato, oca-ci, Stefano Consolaro, mariadforgeflow, Joan Sisquella, Alba Riera, Núria Martín Xifré |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/maintenance |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:14 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/maintenance: - base_maintenance odoo/odoo: - maintenance - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
python-dateutil |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_equipment_request_view_form |
equipment.request.form.inherit | maintenance.request | field | Inherits base_maintenance.equipment_request_view_form |
hr_equipment_request_view_tree |
equipment.request.tree | maintenance.request | xpath | Inherits maintenance.hr_equipment_request_view_tree |
hr_equipment_view_form |
equipment.form.inherit | maintenance.equipment | div | Inherits maintenance.hr_equipment_view_form |
maintenance_kind_view_tree |
maintenance.kind.tree | maintenance.kind | tree | New |
maintenance_plan_view_form |
maintenance.plan.form | maintenance.plan | form | New |
maintenance_plan_view_search |
maintenance.plan.search | maintenance.plan | search | New |
maintenance_plan_view_tree |
maintenance.plan.tree | maintenance.plan | tree | New |
report_maintenance_request_document |
report_maintenance_request_document | ir.ui.view | qweb | Inherits base_maintenance.report_maintenance_request_document |
maintenance_plan_count
Integer
compute='_compute_maintenance_plan_count'
store=True
string='Maintenance Plan Count'
maintenance_plan_ids
One2many → maintenance.plan
comodel_name='maintenance.plan'
inverse_name='equipment_id'
string='Maintenance plan'
maintenance_team_required
Boolean
compute='_compute_team_required'
notes
Text
string='Notes'
No public methods.
active
Boolean
default=True
required=True
args: 'Active Kind'
name
Char
required=True
translate=True
args: 'Name'
No public methods.
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
duration
Float
help='Maintenance duration in hours'
string='Duration (hours)'
equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
ondelete='cascade'
string='Equipment'
interval
Integer
default=1
help='Interval between each maintenance'
string='Frequency'
interval_step
Selection
default='year'
help='Let the event automatically repeat at that interval step'
string='Recurrence'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
maintenance_count
Integer
compute='_compute_maintenance_count'
store=True
string='Maintenance'
maintenance_ids
One2many → maintenance.request
string='Maintenance requests'
args: 'maintenance.request', 'maintenance_plan_id'
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance Kind'
maintenance_open_count
Integer
compute='_compute_maintenance_count'
store=True
string='Current Maintenance'
maintenance_plan_horizon
Integer
default=1
help='Maintenance planning horizon. Only the maintenance requests inside the horizon will be created.'
string='Planning Horizon period'
maintenance_team_id
Many2one → maintenance.team
name
Char
next_maintenance_date
Date
compute='_compute_next_maintenance'
store=True
args: 'Next maintenance date'
note
Html
planning_step
Selection
default='year'
help='Let the event automatically repeat at that interval'
string='Planning Horizon step'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
skip_notify_follower_on_requests
Boolean
default=True
string='Do not notify to follower when creating requests?'
start_maintenance_date
Date
default=fields.Date.context_today
help='Date from which the maintenance will we active'
string='Start maintenance date'
button_manual_request_generation(self)
get_relativedelta(self, interval, step)
name_get(self)
unlink(self)
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance kind'
maintenance_plan_id
Many2one → maintenance.plan
comodel_name='maintenance.plan'
ondelete='restrict'
string='Maintenance plan'
note
Html
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/maintenance |
| GIT | |
| GIT | https://github.com/OCA/maintenance.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/maintenance/tree/12.0/maintenance_plan |
| VERSION | |
| VERSION | 3.2.4 |
| CATEGORY | |
| CATEGORY | Maintenance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Eficent, Camptocamp SA |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Eficent, Camptocamp SA |
| COMMITTERS | |
| COMMITTERS | Enric Tobella, Lois Rilo, OCA Transbot, ahenriquez, oca-travis, Weblate, OCA-git-bot, sergiocorato, Jaime Arroyo, Stefano Consolaro, David Alonso (Solvos), mariadforgeflow, David Alonso // Solvos |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/maintenance |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:19 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - maintenance - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_equipment_request_view_form |
equipment.request.form.inherit | maintenance.request | field | Inherits maintenance.hr_equipment_request_view_form |
hr_equipment_view_form |
equipment.form.inherit | maintenance.equipment | div | Inherits maintenance.hr_equipment_view_form |
maintenance_kind_view_tree |
maintenance.kind.tree | maintenance.kind | tree | New |
maintenance_plan_view_form |
maintenance.plan.form | maintenance.plan | form | New |
maintenance_plan_view_search |
maintenance.plan.search | maintenance.plan | search | New |
maintenance_plan_view_tree |
maintenance.plan.tree | maintenance.plan | tree | New |
maintenance_plan_count
Integer
compute='_compute_maintenance_plan_count'
store=True
string='Maintenance Plan Count'
maintenance_plan_ids
One2many → maintenance.plan
comodel_name='maintenance.plan'
inverse_name='equipment_id'
string='Maintenance plan'
maintenance_team_required
Boolean
compute='_compute_team_required'
notes
Text
string='Notes'
No public methods.
active
Boolean
default=True
required=True
args: 'Active Kind'
name
Char
required=True
translate=True
args: 'Name'
No public methods.
active
Boolean
default=True
duration
Float
help='Maintenance duration in hours'
string='Duration (hours)'
equipment_id
Many2one → maintenance.equipment
auto_join=True
comodel_name='maintenance.equipment'
ondelete='cascade'
string='Equipment'
interval
Integer
default=1
help='Interval between each maintenance'
string='Frequency'
interval_step
Selection
default='year'
help='Let the event automatically repeat at that interval step'
string='Recurrence'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
maintenance_count
Integer
compute='_compute_maintenance_count'
store=True
string='Maintenance'
maintenance_ids
One2many → maintenance.request
string='Maintenance requests'
args: 'maintenance.request', 'maintenance_plan_id'
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance Kind'
maintenance_open_count
Integer
compute='_compute_maintenance_count'
store=True
string='Current Maintenance'
maintenance_plan_horizon
Integer
default=1
help='Maintenance planning horizon. Only the maintenance requests inside the horizon will be created.'
string='Planning Horizon period'
maintenance_team_id
Many2one → maintenance.team
name
Char
oldname='description'
args: 'Description'
next_maintenance_date
Date
compute='_compute_next_maintenance'
store=True
args: 'Next maintenance date'
note
Html
planning_step
Selection
default='year'
help='Let the event automatically repeat at that interval'
string='Planning Horizon step'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
start_maintenance_date
Date
default=fields.Date.context_today
help='Date from which the maintenance will we active'
string='Start maintenance date'
get_relativedelta(self, interval, step)
name_get(self)
unlink(self)
write(self, vals)
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance kind'
maintenance_plan_id
Many2one → maintenance.plan
comodel_name='maintenance.plan'
ondelete='restrict'
string='Maintenance plan'
note
Html
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/maintenance |
| GIT | |
| GIT | https://github.com/OCA/maintenance.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/maintenance/tree/11.0/maintenance_plan |
| VERSION | |
| VERSION | 2.4.1 |
| CATEGORY | |
| CATEGORY | Maintenance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Eficent, Camptocamp SA |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Eficent, Camptocamp SA |
| COMMITTERS | |
| COMMITTERS | Enric Tobella, Lois Rilo, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Adrià Gil Sorribes, Jaime Arroyo, Stefano Consolaro, David Alonso (Solvos), Matteo Mazzoni, mariadforgeflow |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/maintenance |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:23:58 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - maintenance - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_equipment_request_view_form |
equipment.request.form.inherit | maintenance.request | field | Inherits maintenance.hr_equipment_request_view_form |
hr_equipment_request_view_tree |
equipment.request.tree | maintenance.request | xpath | Inherits maintenance.hr_equipment_request_view_tree |
hr_equipment_view_form |
equipment.form.inherit | maintenance.equipment | div | Inherits maintenance.hr_equipment_view_form |
maintenance_kind_view_tree |
maintenance.kind.tree | maintenance.kind | tree | New |
maintenance_plan_view_form |
maintenance.plan.form | maintenance.plan | form | New |
maintenance_plan_view_search |
maintenance.plan.search | maintenance.plan | search | New |
maintenance_plan_view_tree |
maintenance.plan.tree | maintenance.plan | tree | New |
maintenance_plan_count
Integer
compute='_compute_maintenance_plan_count'
store=True
string='Maintenance Plan Count'
maintenance_plan_ids
One2many → maintenance.plan
comodel_name='maintenance.plan'
inverse_name='equipment_id'
string='Maintenance plan'
maintenance_team_required
Boolean
compute='_compute_team_required'
notes
Text
string='Notes'
No public methods.
active
Boolean
default=True
required=True
args: 'Active Kind'
name
Char
required=True
translate=True
args: 'Name'
No public methods.
active
Boolean
default=True
duration
Float
help='Maintenance duration in hours'
string='Duration (hours)'
equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
ondelete='cascade'
string='Equipment'
interval
Integer
default=1
help='Interval between each maintenance'
string='Frequency'
interval_step
Selection
default='year'
help='Let the event automatically repeat at that interval step'
string='Recurrence'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
maintenance_count
Integer
compute='_compute_maintenance_count'
store=True
string='Maintenance'
maintenance_ids
One2many → maintenance.request
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance Kind'
maintenance_open_count
Integer
compute='_compute_maintenance_count'
store=True
string='Current Maintenance'
maintenance_plan_horizon
Integer
default=1
help='Maintenance planning horizon. Only the maintenance requests inside the horizon will be created.'
string='Planning Horizon period'
maintenance_team_id
Many2one → maintenance.team
name
Char
oldname='description'
args: 'Description'
next_maintenance_date
Date
compute='_compute_next_maintenance'
store=True
args: 'Next maintenance date'
note
Html
planning_step
Selection
default='year'
help='Let the event automatically repeat at that interval'
string='Planning Horizon step'
args: [('day', 'Day(s)'), ('week', 'Week(s)'), ('month', 'Month(s)'), ('year', 'Year(s)')]
start_maintenance_date
Date
default=fields.Date.context_today
help='Date from which the maintenance will we active'
string='Start maintenance date'
get_relativedelta(self, interval, step)
name_get(self)
unlink(self)
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance kind'
maintenance_plan_id
Many2one → maintenance.plan
comodel_name='maintenance.plan'
ondelete='restrict'
string='Maintenance plan'
note
Html
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/maintenance |
| GIT | |
| GIT | https://github.com/OCA/maintenance.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/maintenance/tree/10.0/maintenance_plan |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Maintenance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp SA |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp SA |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Andrea, OCA-git-bot |
| WEBSITE | |
| WEBSITE | http://www.camptocamp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:19:57 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - maintenance - base - base_setup - web_kanban - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_equipment_request_view_form |
equipment.request.form.inherit | maintenance.request | field | Inherits maintenance.hr_equipment_request_view_form |
hr_equipment_view_form |
equipment.form.inherit | maintenance.equipment | xpath | Inherits maintenance.hr_equipment_view_form |
maintenance_kind_view_tree |
maintenance.kind.tree | maintenance.kind | tree | New |
maintenance_plan_view_form |
maintenance.plan.form | maintenance.plan | form | New |
maintenance_plan_view_tree |
maintenance.plan.tree | maintenance.plan | tree | New |
maintenance_plan_ids
One2many → maintenance.plan
comodel_name='maintenance.plan'
inverse_name='equipment_id'
string='Maintenance plan'
maintenance_team_required
Boolean
compute='_compute_team_required'
No public methods.
active
Boolean
default=True
required=True
args: 'Active Kind'
name
Char
required=True
translate=True
args: 'Name'
No public methods.
duration
Float
help='Maintenance duration in hours'
string='Duration'
equipment_id
Many2one → maintenance.equipment
comodel_name='maintenance.equipment'
ondelete='cascade'
string='Equipment'
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance kind'
next_maintenance_date
Date
compute='_compute_next_maintenance'
args: 'Next maintenance date'
period
Integer
help='Days between each maintenance'
string='Period'
unlink(self)
maintenance_kind_id
Many2one → maintenance.kind
comodel_name='maintenance.kind'
ondelete='restrict'
string='Maintenance kind'
No public methods.