| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/18.0/fieldservice_sale |
| VERSION | |
| VERSION | 1.2.1 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, Iván Todorovich, oca-ci, Vincent Van Rossem, christian-ramos-tecnativa, EdgarRetes |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:06 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - base_territory - fieldservice_account odoo/odoo: - base - base_geolocalize - base_setup - web - resource - contacts - bus - web_tour - html_editor - sale_management - sale - sales_team - account_payment - account - onboarding - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - payment - utm |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | The module integrates the Field Service application with the Sales one and allows you to sell products that generate field service orders. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view |
fsm.location.form | fsm.location | page | Inherits fieldservice.fsm_location_form_view |
view_fsm_order_form_inherit_sale |
fsm.order | xpath | Inherits fieldservice.fsm_order_form | |
view_order_form_inherit_sale_fieldservice |
sale.order.form.sale.fieldservice | sale.order | xpath | Inherits sale.view_order_form |
view_product_fieldservice_form |
product.template.fieldservice.form | product.template | group | Inherits product.product_template_form_view |
sale_id
Many2one → sale.order
sale_line_id
Many2one → sale.order.line
action_view_sales(self)
field_service_tracking
Selection
default='no'
help='Determines what happens upon sale order confirmation:\n - None: nothing additional, default behavior.\n - Per Sale Order: One FSM Order will be created for the sale.\n - Per Sale Order Line: One FSM Order for each sale order line\n will be created.'
args: [('no', "Don't create FSM order"), ('sale', 'Create one FSM order per sale order'), ('line', 'Create one FSM order per sale order line')]
fsm_order_template_id
Many2one → fsm.template
help='Select the field service order template to be created'
args: 'fsm.template', 'Field Service Order Template'
service_type
Selection
ondelete={'field': 'cascade'}
selection_add=[('field', 'Field Service Orders')]
No public methods.
fsm_location_id
Many2one → fsm.location
compute='_compute_fsm_location_id'
help='SO Lines generating a FSM order will be for this location'
precompute=True
readonly=False
store=True
string='Service Location'
args: 'fsm.location'
fsm_order_count
Integer
compute='_compute_fsm_order_ids'
string='FSM Orders'
fsm_order_ids
Many2many → fsm.order
compute='_compute_fsm_order_ids'
string='Field Service orders associated to this sale'
args: 'fsm.order'
action_view_fsm_order(self)
write(self, values)
fsm_order_id
Many2one → fsm.order
copy=False
help='Field Service Order generated by the sales order item'
index=True
args: 'fsm.order', 'Order'
qty_delivered_method
Selection
ondelete={'field_service': 'cascade'}
selection_add=[('field_service', 'Field Service Order')]
create(self, vals_list)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/17.0/fieldservice_sale |
| VERSION | |
| VERSION | 1.3.1 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, Iván Todorovich, oca-ci, Brian McMaster, Antoni Marroig Campomar, christian-ramos-tecnativa, Santiago Rodriguez |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:00 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - base_territory - fieldservice_account odoo/odoo: - base - base_geolocalize - base_setup - web - resource - contacts - bus - web_tour - sale_management - sale - sales_team - account_payment - account - onboarding - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - payment - utm |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | The module integrates the Field Service application with the Sales one and allows you to sell products that generate field service orders. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view |
fsm.location.form | fsm.location | page | Inherits fieldservice.fsm_location_form_view |
view_fsm_order_form_inherit_sale |
fsm.order | xpath | Inherits fieldservice.fsm_order_form | |
view_order_form_inherit_sale_fieldservice |
sale.order.form.sale.fieldservice | sale.order | xpath | Inherits sale.view_order_form |
view_product_fieldservice_form |
product.template.fieldservice.form | product.template | group | Inherits product.product_template_form_view |
sale_id
Many2one → sale.order
sale_line_id
Many2one → sale.order.line
action_view_sales(self)
field_service_tracking
Selection
default='no'
help='Determines what happens upon sale order confirmation:\n - None: nothing additional, default behavior.\n - Per Sale Order: One FSM Order will be created for the sale.\n - Per Sale Order Line: One FSM Order for each sale order line\n will be created.'
args: [('no', "Don't create FSM order"), ('sale', 'Create one FSM order per sale order'), ('line', 'Create one FSM order per sale order line')]
fsm_order_template_id
Many2one → fsm.template
help='Select the field service order template to be created'
args: 'fsm.template', 'Field Service Order Template'
service_type
Selection
ondelete={'field': 'cascade'}
selection_add=[('field', 'Field Service Orders')]
No public methods.
fsm_location_id
Many2one → fsm.location
compute='_compute_fsm_location_id'
help='SO Lines generating a FSM order will be for this location'
precompute=True
readonly=False
store=True
string='Service Location'
args: 'fsm.location'
fsm_order_count
Integer
compute='_compute_fsm_order_ids'
string='FSM Orders'
fsm_order_ids
Many2many → fsm.order
compute='_compute_fsm_order_ids'
string='Field Service orders associated to this sale'
args: 'fsm.order'
action_view_fsm_order(self)
fsm_order_id
Many2one → fsm.order
copy=False
help='Field Service Order generated by the sales order item'
index=True
args: 'fsm.order', 'Order'
qty_delivered_method
Selection
ondelete={'field_service': 'cascade'}
selection_add=[('field_service', 'Field Service Order')]
create(self, vals_list)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/16.0/fieldservice_sale |
| VERSION | |
| VERSION | 1.3.1 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | eLBati, Víctor Martínez, Weblate, OCA-git-bot, Iván Todorovich, oca-ci, Brian McMaster, Stefan, Adam Patyk |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:41 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - base_territory - fieldservice_account odoo/odoo: - base - base_geolocalize - base_setup - web - resource - contacts - bus - web_tour - sale_management - sale - sales_team - account_payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - payment - utm |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view |
fsm.location.form | fsm.location | page | Inherits fieldservice.fsm_location_form_view |
view_fsm_order_form_inherit_sale |
fsm.order | xpath | Inherits fieldservice.fsm_order_form | |
view_order_form_inherit_sale_fieldservice |
sale.order.form.sale.fieldservice | sale.order | xpath | Inherits sale.view_order_form |
view_product_fieldservice_form |
product.template.fieldservice.form | product.template | group | Inherits product.product_template_form_view |
sale_id
Many2one → sale.order
copy=False
args: 'sale.order'
sale_line_id
Many2one → sale.order.line
copy=False
args: 'sale.order.line'
action_view_sales(self)
field_service_tracking
Selection
default='no'
help='Determines what happens upon sale order confirmation:\n - None: nothing additional, default behavior.\n - Per Sale Order: One FSM Order will be created for the sale.\n - Per Sale Order Line: One FSM Order for each sale order line\n will be created.'
args: [('no', "Don't create FSM order"), ('sale', 'Create one FSM order per sale order'), ('line', 'Create one FSM order per sale order line')]
fsm_order_template_id
Many2one → fsm.template
help='Select the field service order template to be created'
args: 'fsm.template', 'Field Service Order Template'
service_type
Selection
ondelete={'field': 'cascade'}
selection_add=[('field', 'Field Service Orders')]
No public methods.
fsm_location_id
Many2one → fsm.location
compute='_compute_fsm_location_id'
help='SO Lines generating a FSM order will be for this location'
precompute=True
readonly=False
store=True
string='Service Location'
args: 'fsm.location'
fsm_order_count
Integer
compute='_compute_fsm_order_ids'
string='FSM Orders'
fsm_order_ids
Many2many → fsm.order
compute='_compute_fsm_order_ids'
string='Field Service orders associated to this sale'
args: 'fsm.order'
action_view_fsm_order(self)
fsm_order_id
Many2one → fsm.order
copy=False
help='Field Service Order generated by the sales order item'
index=True
args: 'fsm.order', 'Order'
qty_delivered_method
Selection
ondelete={'field_service': 'cascade'}
selection_add=[('field_service', 'Field Service Order')]
create(self, vals_list)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/15.0/fieldservice_sale |
| VERSION | |
| VERSION | 2.4.1 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, Iván Todorovich, oca-ci, Maksym Yankin, Brian McMaster, David Alonso // Solvos, Freni-OSI, Patryk Pyczko, ppyczko |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:30 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - base_territory - fieldservice_account odoo/odoo: - base - base_geolocalize - base_setup - web - resource - contacts - bus - web_tour - sale_management - sale - sales_team - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - utm |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view |
fsm.location.form | fsm.location | page | Inherits fieldservice.fsm_location_form_view |
view_fsm_order_form_inherit_sale |
fsm.order | xpath | Inherits fieldservice.fsm_order_form | |
view_order_form_inherit_sale_fieldservice |
sale.order.form.sale.fieldservice | sale.order | xpath | Inherits sale.view_order_form |
view_product_fieldservice_form |
product.template.fieldservice.form | product.template | group | Inherits sale.product_template_form_view_invoice_policy |
sale_id
Many2one → sale.order
sale_line_id
Many2one → sale.order.line
action_view_sales(self)
field_service_tracking
Selection
default='no'
help='Determines what happens upon sale order confirmation:\n - None: nothing additional, default behavior.\n - Per Sale Order: One FSM Order will be created for the sale.\n - Per Sale Order Line: One FSM Order for each sale order line\n will be created.'
args: [('no', "Don't create FSM order"), ('sale', 'Create one FSM order per sale order'), ('line', 'Create one FSM order per sale order line')]
fsm_order_template_id
Many2one → fsm.template
help='Select the field service order template to be created'
args: 'fsm.template', 'Field Service Order Template'
service_type
Selection
ondelete={'field': 'cascade'}
selection_add=[('field', 'Field Service Orders')]
No public methods.
fsm_location_id
Many2one → fsm.location
help='SO Lines generating a FSM order will be for this location'
string='Service Location'
args: 'fsm.location'
fsm_order_count
Integer
compute='_compute_fsm_order_ids'
string='FSM Orders'
fsm_order_ids
Many2many → fsm.order
compute='_compute_fsm_order_ids'
string='Field Service orders associated to this sale'
args: 'fsm.order'
action_view_fsm_order(self)
onchange_partner_id(self)
fsm_order_id
Many2one → fsm.order
copy=False
help='Field Service Order generated by the sales order item'
index=True
args: 'fsm.order', 'Order'
qty_delivered_method
Selection
ondelete={'field_service': 'cascade'}
selection_add=[('field_service', 'Field Service Order')]
create(self, vals_list)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/14.0/fieldservice_sale |
| VERSION | |
| VERSION | 2.3.0 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Iván Todorovich, hparfr, oca-ci, Murtuza Saleh, Brian McMaster, Florian Mounier, Freni-OSI |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:50 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - base_territory - fieldservice_account odoo/odoo: - base - base_geolocalize - base_setup - web - resource - contacts - bus - web_tour - sale_management - sale - sales_team - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - utm |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view |
fsm.location.form | fsm.location | page | Inherits fieldservice.fsm_location_form_view |
view_fsm_order_form_inherit_sale |
fsm.order | xpath | Inherits fieldservice.fsm_order_form | |
view_order_form_inherit_sale_fieldservice |
sale.order.form.sale.fieldservice | sale.order | xpath | Inherits sale.view_order_form |
view_product_fieldservice_form |
product.template.fieldservice.form | product.template | xpath | Inherits sale.product_template_form_view_invoice_policy |
sale_id
Many2one → sale.order
sale_line_id
Many2one → sale.order.line
action_view_sales(self)
field_service_tracking
Selection
default='no'
help='Determines what happens upon sale order confirmation:\n - None: nothing additional, default behavior.\n - Per Sale Order: One FSM Order will be created for the sale.\n - Per Sale Order Line: One FSM Order for each sale order line\n will be created.'
string='Field Service Tracking'
args: [('no', "Don't create FSM order"), ('sale', 'Create one FSM order per sale order'), ('line', 'Create one FSM order per sale order line')]
fsm_order_template_id
Many2one → fsm.template
help='Select the field service order template to be created'
args: 'fsm.template', 'Field Service Order Template'
service_type
Selection
ondelete={'field': 'cascade'}
selection_add=[('field', 'Field Service Orders')]
No public methods.
fsm_location_id
Many2one → fsm.location
help='SO Lines generating a FSM order will be for this location'
string='Service Location'
args: 'fsm.location'
fsm_order_count
Integer
compute='_compute_fsm_order_ids'
string='FSM Orders'
fsm_order_ids
Many2many → fsm.order
compute='_compute_fsm_order_ids'
string='Field Service orders associated to this sale'
args: 'fsm.order'
action_view_fsm_order(self)
onchange_partner_id(self)
fsm_order_id
Many2one → fsm.order
copy=False
help='Field Service Order generated by the sales order item'
index=True
args: 'fsm.order', 'Order'
qty_delivered_method
Selection
ondelete={'field_service': 'cascade'}
selection_add=[('field_service', 'Field Service Order')]
create(self, values)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/13.0/fieldservice_sale |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | oca-travis, Weblate, OCA-git-bot, Benoit Aimont, brian10048, Brian McMaster |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:10 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - base_territory - fieldservice_account odoo/odoo: - base - base_geolocalize - base_setup - web - resource - contacts - bus - web_tour - sale_management - sale - sales_team - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - utm |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view |
fsm.location.form | fsm.location | page | Inherits fieldservice.fsm_location_form_view |
res_branch_form_view_pricelist |
res.branch.form.pricelist | res.branch | field | Inherits base_territory.res_branch_form_view |
view_fsm_order_form_inherit_sale |
fsm.order | xpath | Inherits fieldservice.fsm_order_form | |
view_order_form_inherit_sale_fieldservice |
sale.order.form.sale.fieldservice | sale.order | xpath | Inherits sale.view_order_form |
view_product_fieldservice_form |
product.template.fieldservice.form | product.template | xpath | Inherits sale.product_template_form_view_invoice_policy |
sales_territory_id
Many2one → res.territory
string='Sales Territory'
args: 'res.territory'
No public methods.
sale_id
Many2one → sale.order
sale_line_id
Many2one → sale.order.line
action_view_sales(self)
field_service_tracking
Selection
default='no'
help='Determines what happens upon sale order confirmation:\n - None: nothing additional, default behavior.\n - Per Sale Order: One FSM Order will be created for the sale.\n - Per Sale Order Line: One FSM Order for each sale order line\n will be created.'
string='Field Service Tracking'
args: [('no', "Don't create FSM order"), ('sale', 'Create one FSM order per sale order'), ('line', 'Create one FSM order per sale order line')]
fsm_order_template_id
Many2one → fsm.template
help='Select the field service order template to be created'
args: 'fsm.template', 'Field Service Order Template'
service_type
Selection
selection_add=[('field', 'Field Service Orders')]
No public methods.
pricelist_id
Many2one → product.pricelist
help='Default pricelist for new customers of this branch.'
string='Default Pricelist'
args: 'product.pricelist'
No public methods.
fsm_location_id
Many2one → fsm.location
help='SO Lines generating a FSM order will be for this location'
string='Service Location'
args: 'fsm.location'
fsm_order_count
Integer
compute='_compute_fsm_order_ids'
string='FSM Orders'
fsm_order_ids
Many2many → fsm.order
compute='_compute_fsm_order_ids'
string='Field Service orders associated to this sale'
args: 'fsm.order'
action_view_fsm_order(self)
onchange_partner_id(self)
fsm_order_id
Many2one → fsm.order
help='Field Service Order generated by the sales order item'
index=True
args: 'fsm.order', 'Order'
qty_delivered_method
Selection
selection_add=[('field_service', 'Field Service Order')]
create(self, values)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/12.0/fieldservice_sale |
| VERSION | |
| VERSION | 2.5.2 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | Maxime Chambreuil, GitHub, OCA Transbot, oca-travis, Weblate, OCA-git-bot, hparfr, clementmbr, brian10048, scampbell, Murtuza Saleh, Miguel Poyatos |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - fieldservice_account OCA/partner-contact: - partner_fax OCA/web: - web_timeline odoo/odoo: - base_geolocalize - base - base_setup - web - bus - web_tour - resource - contacts - sale_management - sale - sales_team - payment - account - product - decimal_precision - uom - analytic - portal - http_routing - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_branch_form_view_pricelist |
fsm.branch.form.pricelist | fsm.branch | field | Inherits fieldservice.fsm_branch_form_view |
fsm_location_form_view |
fsm.location.form | fsm.location | page | Inherits fieldservice.fsm_location_form_view |
view_fsm_order_form_inherit_sale |
fsm.order | xpath | Inherits fieldservice.fsm_order_form | |
view_order_form_inherit_sale_fieldservice |
sale.order.form.sale.fieldservice | sale.order | xpath | Inherits sale.view_order_form |
view_product_fieldservice_form |
product.template.fieldservice.form | product.template | xpath | Inherits sale.product_template_form_view_invoice_policy |
pricelist_id
Many2one → product.pricelist
help='Default pricelist for new customers of this branch.'
string='Default Pricelist'
args: 'product.pricelist'
No public methods.
sales_territory_id
Many2one → fsm.territory
string='Sales Territory'
args: 'fsm.territory'
No public methods.
sale_id
Many2one → sale.order
sale_line_id
Many2one → sale.order.line
action_view_sales(self)
field_service_tracking
Selection
default='no'
help='Determines what happens upon sale order confirmation:\n - None: nothing additional, default behavior.\n - Per Sale Order: One FSM Order will be created for the sale.\n - Per Sale Order Line: One FSM Order for each sale order line\n will be created.'
string='Field Service Tracking'
args: [('no', "Don't create FSM order"), ('sale', 'Create one FSM order per sale order'), ('line', 'Create one FSM order per sale order line')]
fsm_order_template_id
Many2one → fsm.template
help='Select the field service order template to be created'
args: 'fsm.template', 'Field Service Order Template'
service_type
Selection
selection_add=[('field', 'Field Service Orders')]
No public methods.
fsm_location_id
Many2one → fsm.location
help='SO Lines generating a FSM order will be for this location'
string='Service Location'
args: 'fsm.location'
fsm_order_count
Integer
compute='_compute_fsm_order_ids'
string='FSM Orders'
fsm_order_ids
Many2many → fsm.order
compute='_compute_fsm_order_ids'
string='Field Service orders associated to this sale'
args: 'fsm.order'
action_invoice_create(self, grouped=False, final=False)
action_view_fsm_order(self)
onchange_partner_id(self)
fsm_order_id
Many2one → fsm.order
help='Field Service Order generated by the sales order item'
index=True
args: 'fsm.order', 'Order'
qty_delivered_method
Selection
selection_add=[('field_service', 'Field Service Order')]
create(self, values)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/field-service |
| GIT | |
| GIT | https://github.com/OCA/field-service.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/field-service/tree/11.0/fieldservice_sale |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Field Service |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Open Source Integrators |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Open Source Integrators |
| COMMITTERS | |
| COMMITTERS | Maxime Chambreuil, OCA-git-bot, brian10048 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/field-service |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:23:55 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/field-service: - fieldservice - fieldservice_recurring OCA/geospatial: - base_geoengine OCA/web: - web_timeline odoo/odoo: - base_geolocalize - base - base_setup - web - bus - web_tour - resource - sale_management - sale - sales_team - account - product - decimal_precision - analytic - web_planner - portal - http_routing - account_invoicing |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
geojson shapely simplejson |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fsm_location_form_view |
fsm.location.form | fsm.location | page | Inherits fieldservice.fsm_location_form_view |
fsm_recurring_form_view_inherit_sale |
fsm.recurring | xpath | Inherits fieldservice_recurring.fsm_recurring_form_view | |
view_fsm_order_form_inherit_sale |
fsm.order | xpath | Inherits fieldservice.fsm_order_form | |
view_order_form_inherit_sale_fieldservice |
sale.order.form.sale.fieldservice | sale.order | xpath | Inherits sale.view_order_form |
view_product_fieldservice_form |
product.template.fieldservice.form | product.template | xpath | Inherits sale.product_template_form_view_invoice_policy |
sale_line_id
Many2one → sale.order.line
action_view_sales(self)
field_service_tracking
Selection
default='no'
help='On Sales order confirmation, this product can generate a field\n service order or field service recurring order.'
string='Field Service Tracking'
args: [('no', "Don't create order"), ('order', 'Create a single order'), ('recurring', 'Create a recurring order')]
fsm_order_template_id
Many2one → fsm.template
help='Select the field service order template to be created'
args: 'fsm.template', 'Field Service Order Template'
fsm_recurring_template_id
Many2one → fsm.recurring.template
help='Select a field service recurring order template to be created'
args: 'fsm.recurring.template', 'Field Service Recurring Template'
service_type
Selection
selection_add=[('field', 'Field Service Orders')]
No public methods.
date_fsm_request
Datetime
copy=False
default=fields.Datetime.now
readonly=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Requested Service Date'
fsm_location_id
Many2one → fsm.location
help='SO Lines generating a FSM order will be for this location'
string='Service Location'
args: 'fsm.location'
fsm_order_count
Float
compute='_compute_fsm_order_ids'
string='Field Service Orders'
fsm_order_ids
Many2many → fsm.order
compute='_compute_fsm_order_ids'
string='Field Service orders associated to this sale'
args: 'fsm.order'
fsm_recurring_count
Float
compute='_compute_fsm_recurring_ids'
string='FSM Recurring Orders'
fsm_recurring_ids
Many2many → fsm.recurring
compute='_compute_fsm_recurring_ids'
string='Field Service Recurring orders associated to this sale'
args: 'fsm.recurring'
action_confirm(self)
action_view_fsm_order(self)
action_view_fsm_recurring(self)
fsm_order_id
Many2one → fsm.order
help='Field Service Order generated by the sales order item'
index=True
args: 'fsm.order', 'Order'
fsm_recurring_id
Many2one → fsm.recurring
help='Field Service Recurring Order generated by the sale order line'
index=True
args: 'fsm.recurring', 'Recurring Order'
is_field_service
Boolean
compute='_compute_is_field_service'
help='Sales Order item should generate an Order and/or\n Order Recurrence, depending on the product settings.'
store=True
args: 'Is a Field Service'
create(self, values)
| STATUS | |
|---|---|
| STATUS | Open migration PR - not merged yet for this version |
| REPOSITORY | |
| REPOSITORY | OCA/field-service |
| PULL REQUEST | |
| PULL REQUEST | [19.0][MIG] fieldservice_sale: Migration to 19.0 (#1501) |