| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/19.0/sale_elaboration |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Sale |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | OCA-git-bot, oca-ci, Bhavesh Heliconia |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:48 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - html_editor - account_payment - account - onboarding - product - uom - analytic - portal - http_routing - auth_signup - digest - resource - payment - utm - stock_account - stock - barcodes_gs1_nomenclature - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module extends the functionality of sales orders to allow to set an elaboration on lines that will add an extra order line with an elaboration product linked to it when the delivery order is validated. An **elaboration** is a process that needs to be done over the product, usually on picking/handling phase. It doesn't modify too much the product for needing an specific product, but it adds a surcharge on the final price. If the elaboration has a defined route, selecting the elaboration, it is set on the order line, which will result in the generation of multiple delivery notes depending on the established route. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
elaboration_notes |
elaboration_notes | ir.ui.view | qweb | New |
elaboration_view_form |
Elaborations | product.elaboration | form | New |
elaboration_view_search |
Elaborations | product.elaboration | search | New |
elaboration_view_tree |
Elaborations | product.elaboration | list | New |
product_elaboration_profile_form_view |
product.elaboration.profile.form.view | product.elaboration.profile | form | New |
product_elaboration_profile_tree_view |
product.elaboration.profile.tree.view | product.elaboration.profile | list | New |
product_template_form_view |
product.template | xpath | Inherits product.product_template_form_view | |
product_template_only_form_view |
product.template | field | Inherits product.product_template_only_form_view | |
report_delivery_document |
report_delivery_document | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_picking |
report_picking | ir.ui.view | qweb | Inherits stock.report_picking |
report_stock_move_elaboration_view_tree |
Elaborations | stock.move | list | New |
res_config_settings_view |
res.config.settings | xpath | Inherits stock.res_config_settings_view_form | |
sale_elaboration_product_category_view_form_inherit_elaboration_id |
product.category.view.form.sale.elaboration | product.category | xpath | Inherits product.product_category_form_view |
sale_order_line_view_form_readonly |
sale.order.line | xpath | Inherits sale.sale_order_line_view_form_readonly | |
stock_report_delivery_has_serial_move_line |
stock_report_delivery_has_serial_move_line | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
view_move_line_tree_detailed |
stock.move.line | field | Inherits stock.view_move_line_tree_detailed | |
view_move_search |
stock.move | field | Inherits stock.view_move_search | |
view_order_form |
Sale Elaboration | sale.order | xpath | Inherits sale.view_order_form |
view_picking_form |
stock.picking | xpath | Inherits stock.view_picking_form | |
view_stock_move_line_detailed_operation_tree |
stock.move.line | field | Inherits stock.view_stock_move_line_detailed_operation_tree | |
view_stock_move_line_operation_tree |
stock.move.line | field | Inherits stock.view_stock_move_line_operation_tree |
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
string='Elaboration Profile'
No public methods.
active
Boolean
default=True
help='If unchecked, it will allow you to hide the product elaborations without removing it.'
code
Char
string='Short Code'
name
Char
required=True
translate=True
product_id
Many2one → product.product
comodel_name='product.product'
domain=[('type', '=', 'service'), ('is_elaboration', '=', True)]
ondelete='restrict'
required=True
string='Product'
profile_ids
Many2many → product.elaboration.profile
column1='elaboration_id'
column2='profile_id'
comodel_name='product.elaboration.profile'
relation='product_elaboration_profile_rel'
route_ids
Many2many → stock.route
comodel_name='stock.route'
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Routes'
name_search(self, name, args=None, operator='ilike', limit=100)
elaboration_ids
Many2many → product.elaboration
comodel_name='product.elaboration'
string='Elaborations'
elaboration_note
Char
is_elaboration
Boolean
compute='_compute_is_elaboration'
readonly=False
store=True
onchange_elaboration_ids(self)
active
Boolean
default=True
code
Char
string='Short Code'
elaboration_ids
Many2many → product.elaboration
column1='profile_id'
column2='elaboration_id'
comodel_name='product.elaboration'
relation='product_elaboration_profile_rel'
string='Elaborations'
name
Char
required=True
translate=True
No public methods.
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
help='Keep this field empty to use the default value from the product category.'
ondelete='restrict'
No public methods.
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
compute='_compute_elaboration_profile_id'
help='Keep this field empty to use the default value from the product category.'
inverse='_inverse_elaboration_profile_id'
store=True
is_elaboration
Boolean
create(self, vals_list)
group_elaboration_note_on_delivery_slip
Boolean
implied_group='sale_elaboration.group_elaboration_note_on_delivery_slip'
args: 'Display Elaboration notes on Delivery Slips'
group_elaboration_note_on_picking_operations
Boolean
implied_group='sale_elaboration.group_elaboration_note_on_picking_operations'
args: 'Display Elaboration notes on Picking Operations'
No public methods.
No new fields.
Public methods (0)No public methods.
date_order
Datetime
related='order_id.date_order'
string='Date'
elaboration_price_unit
Float
compute='_compute_elaboration_price_unit'
store=True
args: 'Elab. Price'
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
compute='_compute_elaboration_profile_id'
route_id
Many2one → stock.route
comodel_name='stock.route'
compute='_compute_route_id'
readonly=False
store=True
get_elaboration_stock_route(self)
order_date
Datetime
compute='_compute_sale_related_data'
sale_id
Many2one → sale.order
comodel_name='sale.order'
compute='_compute_sale_related_data'
salesman_id
Many2one → res.users
comodel_name='res.users'
compute='_compute_sale_related_data'
sequence_code
Char
compute='_compute_sale_related_data'
write(self, vals)
elaboration_ids
Many2many
related='move_id.elaboration_ids'
elaboration_note
Char
related='move_id.elaboration_note'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/18.0/sale_elaboration |
| VERSION | |
| VERSION | 1.3.1 |
| CATEGORY | |
| CATEGORY | Sale |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, David Vidal, oca-ci, Carlos Roca |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:11 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - html_editor - account_payment - account - onboarding - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - payment - utm - stock_account - stock - barcodes_gs1_nomenclature - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module extends the functionality of sales orders to allow to set an elaboration on lines that will add an extra order line with an elaboration product linked to it when the delivery order is validated. An **elaboration** is a process that needs to be done over the product, usually on picking/handling phase. It doesn't modify too much the product for needing an specific product, but it adds a surcharge on the final price. If the elaboration has a defined route, selecting the elaboration, it is set on the order line, which will result in the generation of multiple delivery notes depending on the established route. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
elaboration_notes |
elaboration_notes | ir.ui.view | qweb | New |
elaboration_view_form |
Elaborations | product.elaboration | form | New |
elaboration_view_search |
Elaborations | product.elaboration | search | New |
elaboration_view_tree |
Elaborations | product.elaboration | list | New |
product_elaboration_profile_form_view |
product.elaboration.profile.form.view | product.elaboration.profile | form | New |
product_elaboration_profile_tree_view |
product.elaboration.profile.tree.view | product.elaboration.profile | list | New |
product_template_form_view |
product.template | xpath | Inherits product.product_template_form_view | |
product_template_only_form_view |
product.template | field | Inherits product.product_template_only_form_view | |
report_delivery_document |
report_delivery_document | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_picking |
report_picking | ir.ui.view | qweb | Inherits stock.report_picking |
report_stock_move_elaboration_view_tree |
Elaborations | stock.move | list | New |
res_config_settings_view |
res.config.settings | xpath | Inherits stock.res_config_settings_view_form | |
sale_elaboration_product_category_view_form_inherit_elaboration_id |
product.category.view.form.sale.elaboration | product.category | xpath | Inherits product.product_category_form_view |
sale_order_line_view_form_readonly |
sale.order.line | xpath | Inherits sale.sale_order_line_view_form_readonly | |
stock_report_delivery_has_serial_move_line |
stock_report_delivery_has_serial_move_line | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
view_move_line_tree_detailed |
stock.move.line | field | Inherits stock.view_move_line_tree_detailed | |
view_move_search |
stock.move | field | Inherits stock.view_move_search | |
view_order_form |
Sale Elaboration | sale.order | xpath | Inherits sale.view_order_form |
view_picking_form |
stock.picking | xpath | Inherits stock.view_picking_form | |
view_stock_move_line_detailed_operation_tree |
stock.move.line | field | Inherits stock.view_stock_move_line_detailed_operation_tree | |
view_stock_move_line_operation_tree |
stock.move.line | field | Inherits stock.view_stock_move_line_operation_tree |
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
string='Elaboration Profile'
No public methods.
active
Boolean
default=True
help='If unchecked, it will allow you to hide the product elaborations without removing it.'
code
Char
string='Short Code'
name
Char
required=True
translate=True
product_id
Many2one → product.product
comodel_name='product.product'
domain=[('type', '=', 'service'), ('is_elaboration', '=', True)]
ondelete='restrict'
required=True
string='Product'
profile_ids
Many2many → product.elaboration.profile
column1='elaboration_id'
column2='profile_id'
comodel_name='product.elaboration.profile'
relation='product_elaboration_profile_rel'
route_ids
Many2many → stock.route
comodel_name='stock.route'
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Routes'
name_search(self, name, args=None, operator='ilike', limit=100)
elaboration_ids
Many2many → product.elaboration
comodel_name='product.elaboration'
string='Elaborations'
elaboration_note
Char
is_elaboration
Boolean
compute='_compute_is_elaboration'
readonly=False
store=True
onchange_elaboration_ids(self)
active
Boolean
default=True
code
Char
string='Short Code'
elaboration_ids
Many2many → product.elaboration
column1='profile_id'
column2='elaboration_id'
comodel_name='product.elaboration'
relation='product_elaboration_profile_rel'
string='Elaborations'
name
Char
required=True
translate=True
No public methods.
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
help='Keep this field empty to use the default value from the product category.'
ondelete='restrict'
No public methods.
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
compute='_compute_elaboration_profile_id'
help='Keep this field empty to use the default value from the product category.'
inverse='_inverse_elaboration_profile_id'
store=True
is_elaboration
Boolean
create(self, vals_list)
group_elaboration_note_on_delivery_slip
Boolean
implied_group='sale_elaboration.group_elaboration_note_on_delivery_slip'
args: 'Display Elaboration notes on Delivery Slips'
group_elaboration_note_on_picking_operations
Boolean
implied_group='sale_elaboration.group_elaboration_note_on_picking_operations'
args: 'Display Elaboration notes on Picking Operations'
No public methods.
No new fields.
Public methods (0)No public methods.
date_order
Datetime
related='order_id.date_order'
string='Date'
elaboration_price_unit
Float
compute='_compute_elaboration_price_unit'
store=True
args: 'Elab. Price'
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
compute='_compute_elaboration_profile_id'
route_id
Many2one
compute='_compute_route_id'
readonly=False
store=True
get_elaboration_stock_route(self)
order_date
Datetime
compute='_compute_sale_related_data'
sale_id
Many2one → sale.order
comodel_name='sale.order'
compute='_compute_sale_related_data'
salesman_id
Many2one → res.users
comodel_name='res.users'
compute='_compute_sale_related_data'
sequence_code
Char
compute='_compute_sale_related_data'
write(self, vals)
elaboration_ids
Many2many
related='move_id.elaboration_ids'
elaboration_note
Char
related='move_id.elaboration_note'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/17.0/sale_elaboration |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Sale |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, David Vidal, oca-ci, Antoni Marroig Campomar |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - account_payment - account - onboarding - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - payment - utm - stock_account - stock - barcodes_gs1_nomenclature - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module extends the functionality of sales orders to allow to set an elaboration on lines that will add an extra order line with an elaboration product linked to it when the delivery order is validated. An **elaboration** is a process that needs to be done over the product, usually on picking/handling phase. It doesn't modify too much the product for needing an specific product, but it adds a surcharge on the final price. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
elaboration_notes |
elaboration_notes | ir.ui.view | qweb | New |
elaboration_view_form |
Elaborations | product.elaboration | form | New |
elaboration_view_search |
Elaborations | product.elaboration | search | New |
elaboration_view_tree |
Elaborations | product.elaboration | tree | New |
product_elaboration_profile_form_view |
product.elaboration.profile.form.view | product.elaboration.profile | form | New |
product_elaboration_profile_tree_view |
product.elaboration.profile.tree.view | product.elaboration.profile | tree | New |
product_template_form_view |
product.template | xpath | Inherits product.product_template_form_view | |
product_template_only_form_view |
product.template | field | Inherits product.product_template_only_form_view | |
report_delivery_document |
report_delivery_document | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_elaboration_view_tree |
Elaborations | sale.order.line | tree | New |
report_picking |
report_picking | ir.ui.view | qweb | Inherits stock.report_picking |
res_config_settings_view |
res.config.settings | xpath | Inherits stock.res_config_settings_view_form | |
sale_elaboration_product_category_view_form_inherit_elaboration_id |
product.category.view.form.sale.elaboration | product.category | xpath | Inherits product.product_category_form_view |
stock_report_delivery_has_serial_move_line |
stock_report_delivery_has_serial_move_line | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
view_move_line_tree_detailed |
stock.move.line | field | Inherits stock.view_move_line_tree_detailed | |
view_order_form |
Sale Elaboration | sale.order | xpath | Inherits sale.view_order_form |
view_picking_form |
stock.picking | xpath | Inherits stock.view_picking_form | |
view_sales_order_line_filter |
sale.order.line | field | Inherits sale.view_sales_order_line_filter | |
view_stock_move_line_detailed_operation_tree |
stock.move.line | field | Inherits stock.view_stock_move_line_detailed_operation_tree | |
view_stock_move_line_operation_tree |
stock.move.line | field | Inherits stock.view_stock_move_line_operation_tree | |
view_stock_move_operations_sale_operation |
stock.move.operation.sale | stock.move | xpath | Inherits stock.view_stock_move_operations |
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
string='Elaboration Profile'
No public methods.
active
Boolean
default=True
help='If unchecked, it will allow you to hide the product elaborations without removing it.'
code
Char
string='Short Code'
name
Char
required=True
translate=True
product_id
Many2one → product.product
comodel_name='product.product'
domain=[('type', '=', 'service'), ('is_elaboration', '=', True)]
ondelete='restrict'
required=True
string='Product'
profile_ids
Many2many → product.elaboration.profile
column1='elaboration_id'
column2='profile_id'
comodel_name='product.elaboration.profile'
relation='product_elaboration_profile_rel'
route_ids
Many2many → stock.route
comodel_name='stock.route'
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Routes'
name_search(self, name, args=None, operator='ilike', limit=100)
elaboration_ids
Many2many → product.elaboration
comodel_name='product.elaboration'
string='Elaborations'
elaboration_note
Char
store=True
is_elaboration
Boolean
compute='_compute_is_elaboration'
readonly=False
store=True
No public methods.
active
Boolean
default=True
code
Char
string='Short Code'
elaboration_ids
Many2many → product.elaboration
column1='profile_id'
column2='elaboration_id'
comodel_name='product.elaboration'
relation='product_elaboration_profile_rel'
string='Elaborations'
name
Char
required=True
translate=True
No public methods.
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
help='Keep this field empty to use the default value from the product category.'
ondelete='restrict'
No public methods.
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
compute='_compute_elaboration_profile_id'
help='Keep this field empty to use the default value from the product category.'
inverse='_inverse_elaboration_profile_id'
store=True
is_elaboration
Boolean
create(self, vals_list)
group_elaboration_note_on_delivery_slip
Boolean
implied_group='sale_elaboration.group_elaboration_note_on_delivery_slip'
args: 'Display Elaboration notes on Delivery Slips'
group_elaboration_note_on_picking_operations
Boolean
implied_group='sale_elaboration.group_elaboration_note_on_picking_operations'
args: 'Display Elaboration notes on Picking Operations'
No public methods.
No new fields.
Public methods (0)No public methods.
date_order
Datetime
related='order_id.date_order'
string='Date'
elaboration_price_unit
Float
compute='_compute_elaboration_price_unit'
store=True
args: 'Elab. Price'
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
compute='_compute_elaboration_profile_id'
is_prepared
Boolean
compute=<expr>
help='Dummy field to be able to find prepared lines'
search='_search_is_prepared'
route_id
Many2one
compute='_compute_route_id'
readonly=False
store=True
get_elaboration_stock_route(self)
No new fields.
Public methods (0)No public methods.
elaboration_ids
Many2many
related='move_id.elaboration_ids'
elaboration_note
Char
related='move_id.elaboration_note'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/16.0/sale_elaboration |
| VERSION | |
| VERSION | 1.8.0 |
| CATEGORY | |
| CATEGORY | Sale |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | Jairo Llopis, Ernesto Tejeda, Weblate, OCA-git-bot, David Vidal, oca-ci, Eduardo De Miguel, Carlos Roca, pilarvargas-tecnativa, Emilio Pascual |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:45 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - account_payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - payment - utm - stock_account - stock - barcodes_gs1_nomenclature - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
elaboration_notes |
elaboration_notes | ir.ui.view | qweb | New |
elaboration_view_form |
Elaborations | product.elaboration | form | New |
elaboration_view_search |
Elaborations | product.elaboration | search | New |
elaboration_view_tree |
Elaborations | product.elaboration | tree | New |
product_elaboration_profile_form_view |
product.elaboration.profile.form.view | product.elaboration.profile | form | New |
product_elaboration_profile_tree_view |
product.elaboration.profile.tree.view | product.elaboration.profile | tree | New |
product_template_form_view |
product.template | xpath | Inherits product.product_template_form_view | |
product_template_only_form_view |
product.template | field | Inherits product.product_template_only_form_view | |
report_delivery_document |
report_delivery_document | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_elaboration_view_tree |
Elaborations | sale.order.line | tree | New |
report_picking |
report_picking | ir.ui.view | qweb | Inherits stock.report_picking |
res_config_settings_view |
res.config.settings | xpath | Inherits stock.res_config_settings_view_form | |
sale_elaboration_product_category_view_form_inherit_elaboration_id |
product.category.view.form.sale.elaboration | product.category | xpath | Inherits product.product_category_form_view |
stock_report_delivery_has_serial_move_line |
stock_report_delivery_has_serial_move_line | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
view_move_line_tree_detailed |
stock.move.line | field | Inherits stock.view_move_line_tree_detailed | |
view_order_form |
Sale Elaboration | sale.order | xpath | Inherits sale.view_order_form |
view_picking_form |
stock.picking | xpath | Inherits stock.view_picking_form | |
view_sales_order_line_filter |
sale.order.line | field | Inherits sale.view_sales_order_line_filter | |
view_stock_move_line_detailed_operation_tree |
stock.move.line | field | Inherits stock.view_stock_move_line_detailed_operation_tree | |
view_stock_move_line_operation_tree |
stock.move.line | field | Inherits stock.view_stock_move_line_operation_tree |
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
string='Elaboration Profile'
No public methods.
active
Boolean
default=True
help='If unchecked, it will allow you to hide the product elaborations without removing it.'
code
Char
string='Short Code'
name
Char
required=True
translate=True
product_id
Many2one → product.product
comodel_name='product.product'
domain=[('type', '=', 'service'), ('is_elaboration', '=', True)]
ondelete='restrict'
required=True
string='Product'
profile_ids
Many2many → product.elaboration.profile
column1='elaboration_id'
column2='profile_id'
comodel_name='product.elaboration.profile'
relation='product_elaboration_profile_rel'
route_ids
Many2many → stock.route
check_company=True
comodel_name='stock.route'
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Routes'
name_search(self, name, args=None, operator='ilike', limit=100)
elaboration_ids
Many2many → product.elaboration
comodel_name='product.elaboration'
string='Elaborations'
elaboration_note
Char
store=True
is_elaboration
Boolean
compute='_compute_is_elaboration'
readonly=False
store=True
No public methods.
active
Boolean
default=True
code
Char
string='Short Code'
elaboration_ids
Many2many → product.elaboration
column1='profile_id'
column2='elaboration_id'
comodel_name='product.elaboration'
relation='product_elaboration_profile_rel'
string='Elaborations'
name
Char
required=True
translate=True
No public methods.
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
help='Keep this field empty to use the default value from the product category.'
ondelete='restrict'
No public methods.
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
compute='_compute_elaboration_profile_id'
help='Keep this field empty to use the default value from the product category.'
inverse='_inverse_elaboration_profile_id'
store=True
is_elaboration
Boolean
create(self, vals_list)
group_elaboration_note_on_delivery_slip
Boolean
implied_group='sale_elaboration.group_elaboration_note_on_delivery_slip'
args: 'Display Elaboration notes on Delivery Slips'
group_elaboration_note_on_picking_operations
Boolean
implied_group='sale_elaboration.group_elaboration_note_on_picking_operations'
args: 'Display Elaboration notes on Picking Operations'
No public methods.
No new fields.
Public methods (0)No public methods.
date_order
Datetime
related='order_id.date_order'
string='Date'
elaboration_price_unit
Float
compute='_compute_elaboration_price_unit'
store=True
args: 'Elab. Price'
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
compute='_compute_elaboration_profile_id'
is_prepared
Boolean
compute=<expr>
help='Dummy field to be able to find prepared lines'
search='_search_is_prepared'
route_id
Many2one
compute='_compute_route_id'
readonly=False
store=True
get_elaboration_stock_route(self)
No new fields.
Public methods (0)No public methods.
elaboration_ids
Many2many
related='move_id.elaboration_ids'
elaboration_note
Char
related='move_id.elaboration_note'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/15.0/sale_elaboration |
| VERSION | |
| VERSION | 4.1.0 |
| CATEGORY | |
| CATEGORY | Sale |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | Carlos Dauden, sergio-teruel, Ernesto Tejeda, Weblate, OCA-git-bot, oca-ci, Carlos Roca, pilarvargas-tecnativa, CarlosRoca13, josep-tecnativa |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:33 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
elaboration_view_form |
Elaborations | product.elaboration | form | New |
elaboration_view_search |
Elaborations | product.elaboration | search | New |
elaboration_view_tree |
Elaborations | product.elaboration | tree | New |
product_elaboration_profile_form_view |
product.elaboration.profile.form.view | product.elaboration.profile | form | New |
product_elaboration_profile_tree_view |
product.elaboration.profile.tree.view | product.elaboration.profile | tree | New |
product_template_form_view |
product.template | xpath | Inherits product.product_template_form_view | |
product_template_only_form_view |
product.template | field | Inherits product.product_template_only_form_view | |
report_delivery_document |
report_delivery_document | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_stock_move_elaboration_view_tree |
Elaborations | stock.move | tree | New |
res_config_settings_view |
res.config.settings | xpath | Inherits stock.res_config_settings_view_form | |
stock_report_delivery_has_serial_move_line |
stock_report_delivery_has_serial_move_line | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
view_move_search |
stock.move | field | Inherits stock.view_move_search | |
view_order_form |
Sale Elaboration | sale.order | xpath | Inherits sale.view_order_form |
view_picking_form |
stock.picking | xpath | Inherits stock.view_picking_form | |
view_stock_move_line_detailed_operation_tree |
stock.move.line | field | Inherits stock.view_stock_move_line_detailed_operation_tree | |
view_stock_move_line_operation_tree |
stock.move.line | field | Inherits stock.view_stock_move_line_operation_tree |
active
Boolean
default=True
help='If unchecked, it will allow you to hide the product elaborations without removing it.'
code
Char
string='Short Code'
name
Char
required=True
translate=True
product_id
Many2one → product.product
comodel_name='product.product'
domain=[('type', '=', 'service'), ('is_elaboration', '=', True)]
ondelete='restrict'
required=True
string='Product'
profile_ids
Many2many → product.elaboration.profile
column1='elaboration_id'
column2='profile_id'
comodel_name='product.elaboration.profile'
relation='product_elaboration_profile_rel'
route_ids
Many2many → stock.location.route
check_company=True
comodel_name='stock.location.route'
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Routes'
name_search(self, name, args=None, operator='ilike', limit=100)
elaboration_ids
Many2many → product.elaboration
comodel_name='product.elaboration'
string='Elaborations'
elaboration_note
Char
is_elaboration
Boolean
compute='_compute_is_elaboration'
readonly=False
store=True
onchange_elaboration_ids(self)
active
Boolean
default=True
code
Char
string='Short Code'
elaboration_ids
Many2many → product.elaboration
column1='profile_id'
column2='elaboration_id'
comodel_name='product.elaboration'
relation='product_elaboration_profile_rel'
string='Elaborations'
name
Char
required=True
translate=True
No public methods.
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
ondelete='restrict'
No public methods.
elaboration_profile_id
Many2one → product.elaboration.profile
comodel_name='product.elaboration.profile'
compute='_compute_elaboration_profile_id'
inverse='_inverse_elaboration_profile_id'
store=True
is_elaboration
Boolean
create(self, vals_list)
group_elaboration_note_on_delivery_slip
Boolean
implied_group='sale_elaboration.group_elaboration_note_on_delivery_slip'
args: 'Display Elaboration notes on Delivery Slips'
No public methods.
No new fields.
Public methods (0)No public methods.
date_order
Datetime
related='order_id.date_order'
string='Date'
elaboration_price_unit
Float
compute='_compute_elaboration_price_unit'
store=True
args: 'Elab. Price'
elaboration_profile_id
Many2one
related='product_id.elaboration_profile_id'
route_id
Many2one
compute='_compute_route_id'
readonly=False
store=True
get_elaboration_stock_route(self)
order_date
Datetime
compute='_compute_sale_related_data'
sale_id
Many2one → sale.order
comodel_name='sale.order'
compute='_compute_sale_related_data'
salesman_id
Many2one → res.users
comodel_name='res.users'
compute='_compute_sale_related_data'
sequence_code
Char
compute='_compute_sale_related_data'
write(self, vals)
elaboration_ids
Many2many
related='move_id.elaboration_ids'
elaboration_note
Char
related='move_id.elaboration_note'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/14.0/sale_elaboration |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Sale |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, CarlosRoca13, Alessandro Uffreduzzi |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:57 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
elaboration_view_form |
Elaborations | product.elaboration | form | New |
elaboration_view_search |
Elaborations | product.elaboration | search | New |
elaboration_view_tree |
Elaborations | product.elaboration | tree | New |
product_template_only_form_view |
product.template | field | Inherits product.product_template_only_form_view | |
report_delivery_document |
report_delivery_document | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_elaboration_view_tree |
Elaborations | sale.order.line | tree | New |
view_order_form |
Sale Elaboration | sale.order | xpath | Inherits sale.view_order_form |
view_sales_order_line_filter |
sale.order.line | field | Inherits sale.view_sales_order_line_filter |
active
Boolean
default=True
help='If unchecked, it will allow you to hide the product elaborations without removing it.'
string='Active'
code
Char
string='Short Code'
name
Char
required=True
translate=True
product_id
Many2one → product.product
comodel_name='product.product'
domain=[('type', '=', 'service'), ('is_elaboration', '=', True)]
ondelete='restrict'
required=True
string='Product'
name_search(self, name, args=None, operator='ilike', limit=100)
is_elaboration
Boolean
string='Is elaboration'
No public methods.
No new fields.
Public methods (0)No public methods.
date_order
Datetime
related='order_id.date_order'
string='Date'
elaboration_id
Many2one → product.elaboration
comodel_name='product.elaboration'
ondelete='restrict'
string='Elaboration'
elaboration_note
Char
compute='_compute_elaboration_note'
readonly=False
store=True
string='Elaboration Note'
is_elaboration
Boolean
compute='_compute_is_elaboration'
readonly=False
store=True
string='Is Elaboration'
No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/13.0/sale_elaboration |
| VERSION | |
| VERSION | 1.1.1 |
| CATEGORY | |
| CATEGORY | Sale |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | OCA Transbot, sergio-teruel, Sergio Teruel, oca-travis, OCA-git-bot, oca-ci, CarlosRoca13 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:12 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
elaboration_view_form |
Elaborations | product.elaboration | form | New |
elaboration_view_search |
Elaborations | product.elaboration | search | New |
elaboration_view_tree |
Elaborations | product.elaboration | tree | New |
product_template_only_form_view |
product.template | field | Inherits product.product_template_only_form_view | |
report_delivery_document |
report_delivery_document | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_elaboration_view_tree |
Elaborations | sale.order.line | tree | New |
view_order_form |
Sale Elaboration | sale.order | xpath | Inherits sale.view_order_form |
view_sales_order_line_filter |
sale.order.line | field | Inherits sale.view_sales_order_line_filter |
active
Boolean
default=True
help='If unchecked, it will allow you to hide the product elaborations without removing it.'
string='Active'
code
Char
string='Short Code'
name
Char
required=True
translate=True
product_id
Many2one → product.product
comodel_name='product.product'
domain=[('type', '=', 'service'), ('is_elaboration', '=', True)]
ondelete='restrict'
required=True
string='Product'
name_search(self, name, args=None, operator='ilike', limit=100)
is_elaboration
Boolean
string='Is elaboration'
No public methods.
No new fields.
Public methods (0)No public methods.
date_order
Datetime
related='order_id.date_order'
string='Date'
elaboration_id
Many2one → product.elaboration
comodel_name='product.elaboration'
ondelete='restrict'
string='Elaboration'
elaboration_note
Char
compute='_compute_elaboration_note'
readonly=False
store=True
string='Elaboration Note'
is_elaboration
Boolean
compute='_compute_is_elaboration'
readonly=False
store=True
string='Is Elaboration'
No public methods.
No new fields.
Public methods (1)action_done(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/12.0/sale_elaboration |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Sale |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, OCA Transbot, Sergio Teruel, oca-travis, Weblate, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:17 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - decimal_precision - uom - analytic - portal - http_routing - digest - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
elaboration_view_form |
Elaborations | product.elaboration | form | New |
elaboration_view_search |
Elaborations | product.elaboration | search | New |
elaboration_view_tree |
Elaborations | product.elaboration | tree | New |
product_template_only_form_view |
product.template | field | Inherits product.product_template_only_form_view | |
report_delivery_document |
report_delivery_document | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_elaboration_view_tree |
Elaborations | sale.order.line | tree | New |
view_order_form |
Sale Elaboration | sale.order | xpath | Inherits sale.view_order_form |
view_sales_order_line_filter |
sale.order.line | field | Inherits sale.view_sales_order_line_filter |
active
Boolean
default=True
help='If unchecked, it will allow you to hide the product elaborations without removing it.'
string='Active'
code
Char
string='Short Code'
name
Char
required=True
translate=True
product_id
Many2one → product.product
comodel_name='product.product'
domain=[('type', '=', 'service'), ('is_elaboration', '=', True)]
ondelete='restrict'
required=True
string='Product'
name_search(self, name, args=None, operator='ilike', limit=100)
is_elaboration
Boolean
string='Is elaboration'
No public methods.
No new fields.
Public methods (0)No public methods.
confirmation_date
Datetime
readonly=True
related='order_id.confirmation_date'
string='Date'
elaboration_id
Many2one → product.elaboration
comodel_name='product.elaboration'
ondelete='restrict'
string='Elaboration'
elaboration_note
Char
string='Elaboration Note'
is_elaboration
Boolean
string='Is Elaboration'
onchange_elaboration_id(self)
product_id_change(self)
No new fields.
Public methods (1)action_done(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/11.0/sale_elaboration |
| VERSION | |
| VERSION | 1.1.1 |
| CATEGORY | |
| CATEGORY | Sale |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, OCA Transbot, Sergio Teruel, oca-travis, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:23:57 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale_management - sale - sales_team - base - base_setup - web - bus - web_tour - account - product - decimal_precision - analytic - web_planner - portal - http_routing - account_invoicing - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
elaboration_view_form |
Elaborations | product.elaboration | form | New |
elaboration_view_search |
Elaborations | product.elaboration | search | New |
elaboration_view_tree |
Elaborations | product.elaboration | tree | New |
product_template_only_form_view |
product.template | field | Inherits product.product_template_only_form_view | |
report_delivery_document |
report_delivery_document | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_elaboration_view_tree |
Elaborations | sale.order.line | tree | New |
view_order_form |
Sale Elaboration | sale.order | xpath | Inherits sale.view_order_form |
view_sales_order_line_filter |
sale.order.line | field | Inherits sale.view_sales_order_line_filter |
active
Boolean
default=True
help='If unchecked, it will allow you to hide the product elaborations without removing it.'
string='Active'
code
Char
string='Short Code'
name
Char
required=True
translate=True
product_id
Many2one → product.product
comodel_name='product.product'
domain=[('type', '=', 'service'), ('is_elaboration', '=', True)]
ondelete='restrict'
required=True
string='Product'
name_search(self, name, args=None, operator='ilike', limit=100)
is_elaboration
Boolean
string='Is elaboration'
No public methods.
No new fields.
Public methods (0)No public methods.
confirmation_date
Datetime
readonly=True
related='order_id.confirmation_date'
string='Date'
elaboration_id
Many2one → product.elaboration
comodel_name='product.elaboration'
ondelete='restrict'
string='Elaboration'
elaboration_note
Char
string='Elaboration Note'
is_elaboration
Boolean
string='Is Elaboration'
onchange_elaboration_id(self)
product_id_change(self)
No new fields.
Public methods (1)action_done(self)