Field Service - Maintenance

fieldservice_maintenance
REPOSITORY
REPOSITORYOCA/field-service
GIT
GIThttps://github.com/OCA/field-service.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/field-service/tree/17.0/fieldservice_maintenance
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYField Service
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Source Integrators
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Source Integrators
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Edilio Escalona Almira
WEBSITE
WEBSITEhttps://github.com/OCA/field-service
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/field-service:
    - fieldservice
    - base_territory
odoo/odoo:
    - base
    - base_geolocalize
    - base_setup
    - web
    - resource
    - contacts
    - mail
    - bus
    - web_tour
    - maintenance
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Odoo Maintenance App does not support Field Service operations for
equipments outside the company facilities. On the other hand, the Field
Service App does not support a maintenance schedule generating
preventive maintenance request.

This module allows you to merge equipments from Field Service and
Maintenance and have a maintenance schedule for FSM equipments as well
as Field Service capabilities for maintenance equipments.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
fsm_equipment_form_view_maintenance fsm.equipment.form.maintenance fsm.equipment group Inherits fieldservice.fsm_equipment_form_view
fsm_equipment_tree_view_model fsm.equipment.model fsm.equipment field Inherits fieldservice.fsm_equipment_tree_view
fsm_order_maintenance_form fsm.order.maintenance.form fsm.order field Inherits fieldservice.fsm_order_form
hr_equipment_request_view_form_fsm equipment.request.form.fsm maintenance.request xpath Inherits maintenance.hr_equipment_request_view_form
hr_equipment_view_form equipment.form.fsm maintenance.equipment field Inherits maintenance.hr_equipment_view_form
Models touched (5)

New fields (1)
  • maintenance_equipment_id Many2one → maintenance.equipment
    auto_join=True delegate=True index=True ondelete='restrict' required=True string='Related Maintenance Equipment' args: 'maintenance.equipment'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)

New fields (1)
  • request_id Many2one → maintenance.request
    string='Maintenance Request' args: 'maintenance.request'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (1)
  • internal_type Selection
    ondelete={'maintenance': 'cascade'} selection_add=[('maintenance', 'Maintenance')]
Public methods (0)

No public methods.

New fields (1)
  • is_fsm_equipment Boolean
    string='Is a FSM Equipment'
Public methods (0)

No public methods.

New fields (1)
  • fsm_order_id Many2one → fsm.order
    args: 'fsm.order', 'Field Service Order'
Public methods (1)
  • create(self, vals)
    @api.model
REPOSITORY
REPOSITORYOCA/field-service
GIT
GIThttps://github.com/OCA/field-service.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/field-service/tree/14.0/fieldservice_maintenance
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYField Service
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Source Integrators
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Source Integrators
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci, Freni-OSI, PicchiSeba, Sebastiano Picchi
WEBSITE
WEBSITEhttps://github.com/OCA/field-service
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:50
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/field-service:
    - fieldservice
    - base_territory
odoo/odoo:
    - base
    - base_geolocalize
    - base_setup
    - web
    - resource
    - contacts
    - mail
    - bus
    - web_tour
    - maintenance
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
fsm_equipment_form_view_maintenance fsm.equipment.form.maintenance fsm.equipment group Inherits fieldservice.fsm_equipment_form_view
fsm_equipment_tree_view_model fsm.equipment.model fsm.equipment field Inherits fieldservice.fsm_equipment_tree_view
fsm_order_maintenance_form fsm.order.maintenance.form fsm.order field Inherits fieldservice.fsm_order_form
hr_equipment_request_view_form_fsm equipment.request.form.fsm maintenance.request xpath Inherits maintenance.hr_equipment_request_view_form
hr_equipment_view_form equipment.form.fsm maintenance.equipment field Inherits maintenance.hr_equipment_view_form
Models touched (5)

New fields (1)
  • maintenance_equipment_id Many2one → maintenance.equipment
    auto_join=True delegate=True index=True ondelete='restrict' required=True string='Related Maintenance Equipment' args: 'maintenance.equipment'
Public methods (2)
  • create(self, vals)
    @api.model
  • unlink(self)

New fields (1)
  • request_id Many2one → maintenance.request
    string='Maintenance Request' args: 'maintenance.request'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (1)
  • internal_type Selection
    ondelete={'maintenance': 'cascade'} selection_add=[('maintenance', 'Maintenance')]
Public methods (0)

No public methods.

New fields (1)
  • is_fsm_equipment Boolean
    string='Is a FSM Equipment'
Public methods (0)

No public methods.

New fields (1)
  • fsm_order_id Many2one → fsm.order
    args: 'fsm.order', 'Field Service Order'
Public methods (1)
  • create(self, vals)
    @api.model
REPOSITORY
REPOSITORYOCA/field-service
GIT
GIThttps://github.com/OCA/field-service.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/field-service/tree/12.0/fieldservice_maintenance
VERSION
VERSION 1.2.1
CATEGORY
CATEGORYField Service
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Source Integrators
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Source Integrators
COMMITTERS
COMMITTERSMaxime Chambreuil, GitHub, Bhavesh Odedra, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci, brian10048, scampbell, Murtuza Saleh, Marcel Savegnago
WEBSITE
WEBSITEhttps://github.com/OCA/field-service
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/field-service:
    - fieldservice
OCA/partner-contact:
    - partner_fax
OCA/web:
    - web_timeline
odoo/odoo:
    - base_geolocalize
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - resource
    - contacts
    - maintenance
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
fsm_equipment_form_view_maintenance fsm.equipment.form.maintenance fsm.equipment group Inherits fieldservice.fsm_equipment_form_view
fsm_equipment_tree_view_model fsm.equipment.model fsm.equipment field Inherits fieldservice.fsm_equipment_tree_view
fsm_order_maintenance_form fsm.order.maintenance.form fsm.order field Inherits fieldservice.fsm_order_form
hr_equipment_request_view_form_fsm equipment.request.form.fsm maintenance.request xpath Inherits maintenance.hr_equipment_request_view_form
hr_equipment_view_form equipment.form.fsm maintenance.equipment field Inherits maintenance.hr_equipment_view_form
maintenance_fsm_wizard_view Convert to a FSM Equipment maintenance.equipment.wizard form New
Models touched (6)

New fields (1)
  • maintenance_equipment_id Many2one → maintenance.equipment
    auto_join=True delegate=True index=True ondelete='restrict' required=True string='Related Maintenance Equipment' args: 'maintenance.equipment'
Public methods (2)
  • create(self, vals)
    @api.model
  • unlink(self)
    @api.multi

New fields (1)
  • request_id Many2one → maintenance.request
    string='Maintenance Request' args: 'maintenance.request'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (1)
  • internal_type Selection
    selection_add=[('maintenance', 'Maintenance')]
Public methods (0)

No public methods.

New fields (2)
  • is_fsm_equipment Boolean
    string='Is a FSM Equipment'
  • product_id Many2one → product.product
    args: 'product.product', 'Product'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • convert_maintenance_equipment_fsm(self)
    @api.multi
  • get_fsm_equipment_vals(self, maintenance_id)

New fields (1)
  • fsm_order_id Many2one → fsm.order
    args: 'fsm.order', 'Field Service Order'
Public methods (1)
  • create(self, vals)
    @api.model
REPOSITORY
REPOSITORYOCA/field-service
GIT
GIThttps://github.com/OCA/field-service.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/field-service/tree/11.0/fieldservice_maintenance
VERSION
VERSION 0.2.0
CATEGORY
CATEGORYField Service
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Source Integrators
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Source Integrators
COMMITTERS
COMMITTERSMaxime Chambreuil, Bhavesh Odedra, OCA-git-bot, scampbell
WEBSITE
WEBSITEhttps://github.com/OCA/field-service
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/field-service:
    - fieldservice_stock
    - fieldservice
OCA/geospatial:
    - base_geoengine
OCA/web:
    - web_timeline
odoo/odoo:
    - base_geolocalize
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - resource
    - stock
    - product
    - decimal_precision
    - barcodes
    - web_planner
    - maintenance
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES geojson
shapely
simplejson
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
fsm_equipment_form_view_maintenance fsm.equipment.form.maintenance fsm.equipment group Inherits fieldservice.fsm_equipment_form_view
fsm_equipment_form_view_model fsm.equipment.model fsm.equipment field Inherits fieldservice_stock.fsm_equipment_form_view_stock
fsm_equipment_tree_view_model fsm.equipment.model fsm.equipment field Inherits fieldservice.fsm_equipment_tree_view
fsm_order_maintenance_form fsm.order.maintenance.form fsm.order field Inherits fieldservice.fsm_order_form
hr_equipment_request_view_form_fsm equipment.request.form.fsm maintenance.request xpath Inherits maintenance.hr_equipment_request_view_form
hr_equipment_view_form equipment.form.fsm maintenance.equipment field Inherits maintenance.hr_equipment_view_form
Models touched (4)

New fields (1)
  • maintenance_equipment_id Many2one → maintenance.equipment
    auto_join=True delegate=True index=True ondelete='restrict' required=True string='Related Maintenance Equipment' args: 'maintenance.equipment'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (1)
  • is_fsm_equipment Boolean
    string='Is a FSM Equipment'
Public methods (0)

No public methods.

New fields (1)
  • fsm_order_id Many2one → fsm.order
    args: 'fsm.order', 'Field Service Order'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (0)

No new fields.

Public methods (1)
  • prepare_equipment_values(self, move_line)
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/field-service
PULL REQUEST
PULL REQUEST[18.0] [MIG] fieldservice_maintenance: Migration to 18.0 (#1527)
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/field-service
PULL REQUEST
PULL REQUEST18.0 mig fieldservice maintenance (#1520)