| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/19.0/mrp_subcontracting |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Supply Chain/Manufacturing |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo S.A. |
| MAINTAINERS | |
| MAINTAINERS | Odoo S.A. |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Aaron Bohy, Jorge Pinna Puissant, Arnold Moyaux, Julien Castiaux, Victor Feyens, William Henrotin, svs-odoo, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, William Braeckman, Romain Estievenart, JF Aubert, luvi, clesgow, Djamel Touati, Pieter Claeys (clpi), Dylan Kiss (dyki), Paweł Fertyk, Ethan Vincent, lase@odoo.com, Quentin Wolfs, kcv-odoo, mega, nihp-odoo, Agustin Castro Bugallo, Stéphane Diez, dhha-odoo, kawkb, David Van Droogenbroeck (DROD), Mohammad Abdulmoneim (abdu), djameltouati, Bastien PIERRE, MaximeNoirhomme, Vincent Sevestre, plha-odoo, Krzysztof Magusiak (krma), Omar (OSAH), Lulu Grimalkin (lugr), temo-odoo, Lancelot Semal, Quentin Colla (qucol), ABE-Mark45, Waleed Elgamal, sako-odoo, Sanket Tank(stan) |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/app/manufacturing |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:51:42 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - mrp - product - base - base_setup - web - bus - web_tour - html_editor - uom - stock - barcodes_gs1_nomenclature - barcodes - digest - portal - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mrp_bom_form_view |
mrp.bom.form.view | mrp.bom | xpath | Inherits mrp.mrp_bom_form_view |
mrp_production_subcontracting_filter |
mrp.production.subcontracting.select | mrp.production | xpath | Inherits mrp.view_mrp_production_filter |
mrp_production_subcontracting_form_view |
mrp.production.subcontracting.form.view | mrp.production | xpath | Inherits mrp.mrp_production_form_view |
mrp_production_subcontracting_portal_form_view |
mrp.production.subcontracting.portal.form.view | mrp.production | xpath | Inherits mrp_production_subcontracting_form_view |
mrp_production_subcontracting_tree_view |
mrp.production.subcontracting.list | mrp.production | xpath | Inherits mrp.mrp_production_tree_view |
mrp_subcontracting_move_form_view |
mrp.subcontracting.move.form.view | stock.move | form | New |
mrp_subcontracting_move_tree_view |
mrp.subcontracting.move.list.view | stock.move | list | New |
mrp_subcontracting_portal_move_form_view |
mrp.subcontracting.portal.move.form.view | stock.move | xpath | Inherits mrp_subcontracting_move_form_view |
mrp_subcontracting_portal_stock_move_line_tree_view |
mrp.subcontracting.portal.stock.move.line.list.view | stock.move.line | xpath | Inherits mrp_subcontracting_stock_move_line_tree_view |
mrp_subcontracting_stock_move_line_tree_view |
mrp.subcontracting.stock.move.line.list.view | stock.move.line | list | New |
mrp_subcontracting_view_stock_move_line_operation_tree |
mrp.subcontracting.stock.move.line.operations.list | stock.move.line | xpath | Inherits stock.view_stock_move_line_operation_tree |
mrp_subcontracting_view_stock_move_operations |
mrp.subcontracting.stock.move.operations.form | stock.move | xpath | Inherits stock.view_stock_move_operations |
portal_my_home_menu_production |
Portal layout : production menu entries | ir.ui.view | qweb | Inherits portal.portal_breadcrumbs |
portal_my_home_productions |
Productions | ir.ui.view | qweb | Inherits portal.portal_my_home |
portal_my_productions |
My Productions | ir.ui.view | qweb | New |
product_supplierinfo_subcontractor_tree_view |
product.supplierinfo.subcontractor.list.view | product.supplierinfo | xpath | Inherits product.product_supplierinfo_tree_view |
quant_subcontracting_search_view |
stock.quant.subcontracting.search | stock.quant | xpath | Inherits stock.quant_search_view |
stock_picking_form_view |
stock.picking.form.view | stock.picking | xpath | Inherits stock.view_picking_form |
subcontracting |
Subcontracting Portal View | ir.ui.view | qweb | New |
subcontracting_portal |
Subcontracting View in Portal | ir.ui.view | qweb | New |
subcontracting_portal_embed |
Subcontracting Portal | ir.ui.view | qweb | New |
subcontracting_portal_production_form_view |
subcontracting.portal.production.view.form | stock.picking | form | New |
view_move_search |
stock.move.search | stock.move | xpath | Inherits stock.view_move_search |
view_partner_mrp_subcontracting_filter |
res.partner.select.inherit | res.partner | xpath | Inherits base.view_res_partner_filter |
view_partner_mrp_subcontracting_form |
res.partner.mrp_subcontracting.property.form.inherit | res.partner | xpath | Inherits stock.view_partner_stock_form |
view_warehouse_inherit_mrp_subcontracting |
Stock Warehouse Inherit Subcontracting | stock.warehouse | xpath | Inherits mrp.view_warehouse_inherit_mrp |
No new fields.
Public methods (0)No public methods.
subcontractor_ids
Many2many → res.partner
check_company=True
string='Subcontractors'
args: 'res.partner', 'mrp_bom_subcontractor'
type
Selection
ondelete={'subcontract': <expr>}
selection_add=[('subcontract', 'Subcontracting')]
No public methods.
bom_product_ids
Many2many → product.product
compute='_compute_bom_product_ids'
help='List of Products used in the BoM, used to filter the list of products in the subcontracting portal view'
args: 'product.product'
incoming_picking
Many2one
related='move_finished_ids.move_dest_ids.picking_id'
move_line_raw_ids
One2many → stock.move.line
compute='_compute_move_line_raw_ids'
inverse='_inverse_move_line_raw_ids'
readonly=False
string='Detail Component'
args: 'stock.move.line'
subcontracting_has_been_recorded
Boolean
copy=False
args: 'Has been recorded?'
subcontractor_id
Many2one → res.partner
help='Used to restrict access to the portal user through Record Rules'
string='Subcontractor'
args: 'res.partner'
action_merge(self)
action_split_subcontracting(self)
pre_button_mark_done(self)
write(self, vals)
No new fields.
Public methods (1)button_unbuild(self)
No new fields.
Public methods (1)action_apply(self)
No new fields.
Public methods (0)No public methods.
is_subcontractor
Boolean
compute='_compute_is_subcontractor'
help='Choose a vendor of type subcontractor if you want to subcontract the product'
args: 'Subcontracted'
No public methods.
No new fields.
Public methods (0)No public methods.
subcontracting_location_id
Many2one → stock.location
No public methods.
bom_ids
Many2many → mrp.bom
compute='_compute_bom_ids'
string='BoMs for which the Partner is one of the subcontractors'
args: 'mrp.bom'
is_subcontractor
Boolean
compute='_compute_is_subcontractor'
search='_search_is_subcontractor'
store=False
string='Subcontractor'
picking_ids
Many2many → stock.picking
compute='_compute_picking_ids'
string='Stock Pickings for which the Partner is the subcontractor'
args: 'stock.picking'
production_ids
Many2many → mrp.production
compute='_compute_production_ids'
string='MRP Productions for which the Partner is the subcontractor'
args: 'mrp.production'
property_stock_subcontractor
Many2one → stock.location
company_dependent=True
help='The stock location used as source and destination when sending goods to this contact during a subcontracting process.'
string='Subcontractor Location'
args: 'stock.location'
No public methods.
subcontractor_ids
One2many → res.partner
is_subcontract(self)
is_subcontract
Boolean
show_subcontracting_details_visible
Boolean
compute='_compute_show_subcontracting_details_visible'
action_show_details(self)
action_show_subcontract_details(self, lot_id=None)
copy_data(self, default=None)
create(self, vals_list)
write(self, vals)
No new fields.
Public methods (3)create(self, vals_list)
unlink(self)
write(self, vals)
show_subcontracting_details_visible
Boolean
compute='_compute_show_subcontracting_details_visible'
action_show_subcontract_details(self)
is_subcontract
Boolean
search='_search_is_subcontract'
store=False
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
subcontracting_mto_pull_id
Many2one → stock.rule
copy=False
args: 'stock.rule', 'Subcontracting MTO Rule'
subcontracting_pull_id
Many2one → stock.rule
copy=False
args: 'stock.rule', 'Subcontracting MTS Rule'
subcontracting_resupply_type_id
Many2one → stock.picking.type
copy=False
domain=[('code', '=', 'internal')]
args: 'stock.picking.type', 'Subcontracting Resupply Operation Type'
subcontracting_route_id
Many2one → stock.route
copy=False
ondelete='restrict'
args: 'stock.route', 'Resupply Subcontractor'
subcontracting_to_resupply
Boolean
default=True
args: 'Resupply Subcontractors'
subcontracting_type_id
Many2one → stock.picking.type
copy=False
domain=[('code', '=', 'mrp_operation')]
args: 'stock.picking.type', 'Subcontracting Operation Type'
create(self, vals_list)
get_rules_dict(self)
write(self, vals)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mrp_bom_form_view |
mrp.bom.form.view | mrp.bom | xpath | Inherits mrp.mrp_bom_form_view |
mrp_production_subcontracting_filter |
mrp.production.subcontracting.select | mrp.production | xpath | Inherits mrp.view_mrp_production_filter |
mrp_production_subcontracting_form_view |
mrp.production.subcontracting.form.view | mrp.production | xpath | Inherits mrp.mrp_production_form_view |
mrp_production_subcontracting_portal_form_view |
mrp.production.subcontracting.portal.form.view | mrp.production | xpath | Inherits mrp_production_subcontracting_form_view |
mrp_production_subcontracting_tree_view |
mrp.production.subcontracting.list | mrp.production | xpath | Inherits mrp.mrp_production_tree_view |
mrp_subcontracting_move_form_view |
mrp.subcontracting.move.form.view | stock.move | form | New |
mrp_subcontracting_move_tree_view |
mrp.subcontracting.move.list.view | stock.move | list | New |
mrp_subcontracting_portal_move_form_view |
mrp.subcontracting.portal.move.form.view | stock.move | xpath | Inherits mrp_subcontracting_move_form_view |
mrp_subcontracting_portal_stock_move_line_tree_view |
mrp.subcontracting.portal.stock.move.line.list.view | stock.move.line | xpath | Inherits mrp_subcontracting_stock_move_line_tree_view |
mrp_subcontracting_stock_move_line_tree_view |
mrp.subcontracting.stock.move.line.list.view | stock.move.line | list | New |
mrp_subcontracting_view_stock_move_line_operation_tree |
mrp.subcontracting.stock.move.line.operations.list | stock.move.line | xpath | Inherits stock.view_stock_move_line_operation_tree |
mrp_subcontracting_view_stock_move_operations |
mrp.subcontracting.stock.move.operations.form | stock.move | xpath | Inherits stock.view_stock_move_operations |
portal_my_home_menu_production |
Portal layout : production menu entries | ir.ui.view | qweb | Inherits portal.portal_breadcrumbs |
portal_my_home_productions |
Productions | ir.ui.view | qweb | Inherits portal.portal_my_home |
portal_my_productions |
My Productions | ir.ui.view | qweb | New |
product_supplierinfo_subcontractor_tree_view |
product.supplierinfo.subcontractor.list.view | product.supplierinfo | xpath | Inherits product.product_supplierinfo_tree_view |
quant_subcontracting_search_view |
stock.quant.subcontracting.search | stock.quant | xpath | Inherits stock.quant_search_view |
stock_picking_form_view |
stock.picking.form.view | stock.picking | xpath | Inherits stock.view_picking_form |
subcontracting |
Subcontracting Portal View | ir.ui.view | qweb | New |
subcontracting_portal |
Subcontracting View in Portal | ir.ui.view | qweb | New |
subcontracting_portal_embed |
Subcontracting Portal | ir.ui.view | qweb | New |
subcontracting_portal_production_form_view |
subcontracting.portal.production.view.form | stock.picking | form | New |
view_location_form |
stock.location.form | stock.location | xpath | Inherits stock.view_location_form |
view_move_search |
stock.move.search | stock.move | xpath | Inherits stock.view_move_search |
view_partner_mrp_subcontracting_filter |
res.partner.select.inherit | res.partner | xpath | Inherits base.view_res_partner_filter |
view_partner_mrp_subcontracting_form |
res.partner.mrp_subcontracting.property.form.inherit | res.partner | xpath | Inherits stock.view_partner_stock_form |
view_warehouse_inherit_mrp_subcontracting |
Stock Warehouse Inherit Subcontracting | stock.warehouse | xpath | Inherits mrp.view_warehouse_inherit_mrp |
No new fields.
Public methods (0)No public methods.
subcontractor_ids
Many2many → res.partner
check_company=True
string='Subcontractors'
args: 'res.partner', 'mrp_bom_subcontractor'
type
Selection
ondelete={'subcontract': <expr>}
selection_add=[('subcontract', 'Subcontracting')]
No public methods.
No new fields.
Public methods (2)action_cancel(self)
action_confirm(self)
bom_product_ids
Many2many → product.product
compute='_compute_bom_product_ids'
help='List of Products used in the BoM, used to filter the list of products in the subcontracting portal view'
args: 'product.product'
incoming_picking
Many2one
related='move_finished_ids.move_dest_ids.picking_id'
move_line_raw_ids
One2many → stock.move.line
compute='_compute_move_line_raw_ids'
inverse='_inverse_move_line_raw_ids'
readonly=False
string='Detail Component'
args: 'stock.move.line'
subcontracting_has_been_recorded
Boolean
copy=False
args: 'Has been recorded?'
subcontractor_id
Many2one → res.partner
help='Used to restrict access to the portal user through Record Rules'
string='Subcontractor'
args: 'res.partner'
action_merge(self)
pre_button_mark_done(self)
subcontracting_record_component(self)
write(self, vals)
No new fields.
Public methods (1)button_unbuild(self)
No new fields.
Public methods (0)No public methods.
is_subcontractor
Boolean
compute='_compute_is_subcontractor'
help='Choose a vendor of type subcontractor if you want to subcontract the product'
args: 'Subcontracted'
No public methods.
No new fields.
Public methods (0)No public methods.
subcontracting_location_id
Many2one → stock.location
No public methods.
bom_ids
Many2many → mrp.bom
compute='_compute_bom_ids'
string='BoMs for which the Partner is one of the subcontractors'
args: 'mrp.bom'
is_subcontractor
Boolean
compute='_compute_is_subcontractor'
search='_search_is_subcontractor'
store=False
string='Subcontractor'
picking_ids
Many2many → stock.picking
compute='_compute_picking_ids'
string='Stock Pickings for which the Partner is the subcontractor'
args: 'stock.picking'
production_ids
Many2many → mrp.production
compute='_compute_production_ids'
string='MRP Productions for which the Partner is the subcontractor'
args: 'mrp.production'
property_stock_subcontractor
Many2one → stock.location
company_dependent=True
help='The stock location used as source and destination when sending goods to this contact during a subcontracting process.'
string='Subcontractor Location'
args: 'stock.location'
No public methods.
is_subcontracting_location
Boolean
help='Check this box to create a new dedicated subcontracting location for this company. Note that standard subcontracting routes will be adapted so as to take these into account automatically.'
args: 'Is a Subcontracting Location?'
subcontractor_ids
One2many → res.partner
create(self, vals_list)
write(self, values)
is_subcontract
Boolean
show_subcontracting_details_visible
Boolean
compute='_compute_show_subcontracting_details_visible'
action_show_details(self)
action_show_subcontract_details(self)
copy_data(self, default=None)
create(self, vals_list)
write(self, values)
No new fields.
Public methods (1)write(self, vals)
display_action_record_components
Selection
compute='_compute_display_action_record_components'
args: [('hide', 'Hide'), ('facultative', 'Facultative'), ('mandatory', 'Mandatory')]
move_line_ids_without_package
One2many
domain=['&', '|', ('location_dest_id.usage', '!=', 'production'), ('move_id.picking_code', '!=', 'outgoing'), '|', ('package_level_id', '=', False), ('picking_type_entire_packs', '=', False)]
action_record_components(self)
is_subcontract
Boolean
search='_search_is_subcontract'
store=False
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
subcontracting_mto_pull_id
Many2one → stock.rule
copy=False
args: 'stock.rule', 'Subcontracting MTO Rule'
subcontracting_pull_id
Many2one → stock.rule
copy=False
args: 'stock.rule', 'Subcontracting MTS Rule'
subcontracting_resupply_type_id
Many2one → stock.picking.type
copy=False
domain=[('code', '=', 'internal')]
args: 'stock.picking.type', 'Subcontracting Resupply Operation Type'
subcontracting_route_id
Many2one → stock.route
copy=False
ondelete='restrict'
args: 'stock.route', 'Resupply Subcontractor'
subcontracting_to_resupply
Boolean
default=True
args: 'Resupply Subcontractors'
subcontracting_type_id
Many2one → stock.picking.type
copy=False
domain=[('code', '=', 'mrp_operation')]
args: 'stock.picking.type', 'Subcontracting Operation Type'
create(self, vals_list)
get_rules_dict(self)
write(self, vals)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mrp_bom_form_view |
mrp.bom.form.view | mrp.bom | xpath | Inherits mrp.mrp_bom_form_view |
mrp_production_subcontracting_filter |
mrp.production.subcontracting.select | mrp.production | xpath | Inherits mrp.view_mrp_production_filter |
mrp_production_subcontracting_form_view |
mrp.production.subcontracting.form.view | mrp.production | xpath | Inherits mrp.mrp_production_form_view |
mrp_production_subcontracting_portal_form_view |
mrp.production.subcontracting.portal.form.view | mrp.production | xpath | Inherits mrp_production_subcontracting_form_view |
mrp_production_subcontracting_tree_view |
mrp.production.subcontracting.tree | mrp.production | xpath | Inherits mrp.mrp_production_tree_view |
mrp_subcontracting_move_form_view |
mrp.subcontracting.move.form.view | stock.move | form | New |
mrp_subcontracting_move_tree_view |
mrp.subcontracting.move.tree.view | stock.move | tree | New |
mrp_subcontracting_portal_move_form_view |
mrp.subcontracting.portal.move.form.view | stock.move | xpath | Inherits mrp_subcontracting_move_form_view |
mrp_subcontracting_portal_stock_move_line_tree_view |
mrp.subcontracting.portal.stock.move.line.tree.view | stock.move.line | xpath | Inherits mrp_subcontracting_stock_move_line_tree_view |
mrp_subcontracting_product_template_search_view |
mrp.subcontracting.product.template.search | product.template | xpath | Inherits product.product_template_search_view |
mrp_subcontracting_stock_move_line_tree_view |
mrp.subcontracting.stock.move.line.tree.view | stock.move.line | tree | New |
mrp_subcontracting_view_stock_move_line_operation_tree |
mrp.subcontracting.stock.move.line.operations.tree | stock.move.line | xpath | Inherits stock.view_stock_move_line_operation_tree |
mrp_subcontracting_view_stock_move_operations |
mrp.subcontracting.stock.move.operations.form | stock.move | xpath | Inherits stock.view_stock_move_operations |
portal_my_home_menu_production |
Portal layout : production menu entries | ir.ui.view | qweb | Inherits portal.portal_breadcrumbs |
portal_my_home_productions |
Productions | ir.ui.view | qweb | Inherits portal.portal_my_home |
portal_my_productions |
My Productions | ir.ui.view | qweb | New |
product_supplierinfo_subcontractor_tree_view |
product.supplierinfo.subcontractor.tree.view | product.supplierinfo | xpath | Inherits product.product_supplierinfo_tree_view |
quant_subcontracting_search_view |
stock.quant.subcontracting.search | stock.quant | xpath | Inherits stock.quant_search_view |
stock_picking_form_view |
stock.picking.form.view | stock.picking | xpath | Inherits stock.view_picking_form |
subcontracting |
Subcontracting Portal View | ir.ui.view | qweb | New |
subcontracting_portal |
Subcontracting View in Portal | ir.ui.view | qweb | New |
subcontracting_portal_embed |
Subcontracting Portal | ir.ui.view | qweb | New |
subcontracting_portal_production_form_view |
subcontracting.portal.production.view.form | stock.picking | form | New |
view_location_form |
stock.location.form | stock.location | xpath | Inherits stock.view_location_form |
view_move_search |
stock.move.search | stock.move | xpath | Inherits stock.view_move_search |
view_partner_mrp_subcontracting_filter |
res.partner.select.inherit | res.partner | xpath | Inherits base.view_res_partner_filter |
view_partner_mrp_subcontracting_form |
res.partner.mrp_subcontracting.property.form.inherit | res.partner | xpath | Inherits stock.view_partner_stock_form |
view_stock_return_picking_form_subcontracting |
Return lines | stock.return.picking | xpath | Inherits stock.view_stock_return_picking_form |
view_warehouse_inherit_mrp_subcontracting |
Stock Warehouse Inherit Subcontracting | stock.warehouse | xpath | Inherits mrp.view_warehouse_inherit_mrp |
No new fields.
Public methods (0)No public methods.
subcontractor_ids
Many2many → res.partner
check_company=True
string='Subcontractors'
args: 'res.partner', 'mrp_bom_subcontractor'
type
Selection
ondelete={'subcontract': <expr>}
selection_add=[('subcontract', 'Subcontracting')]
No public methods.
No new fields.
Public methods (2)action_cancel(self)
action_confirm(self)
bom_product_ids
Many2many → product.product
compute='_compute_bom_product_ids'
help='List of Products used in the BoM, used to filter the list of products in the subcontracting portal view'
args: 'product.product'
incoming_picking
Many2one
related='move_finished_ids.move_dest_ids.picking_id'
move_line_raw_ids
One2many → stock.move.line
compute='_compute_move_line_raw_ids'
inverse='_inverse_move_line_raw_ids'
readonly=False
string='Detail Component'
args: 'stock.move.line'
subcontracting_has_been_recorded
Boolean
copy=False
args: 'Has been recorded?'
subcontractor_id
Many2one → res.partner
help='Used to restrict access to the portal user through Record Rules'
string='Subcontractor'
args: 'res.partner'
action_merge(self)
pre_button_mark_done(self)
subcontracting_record_component(self)
write(self, vals)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
is_subcontractor
Boolean
compute='_compute_is_subcontractor'
help='Choose a vendor of type subcontractor if you want to subcontract the product'
args: 'Subcontracted'
No public methods.
No new fields.
Public methods (0)No public methods.
subcontracting_location_id
Many2one → stock.location
No public methods.
bom_ids
Many2many → mrp.bom
compute='_compute_bom_ids'
string='BoMs for which the Partner is one of the subcontractors'
args: 'mrp.bom'
is_subcontractor
Boolean
compute='_compute_is_subcontractor'
search='_search_is_subcontractor'
store=False
string='Subcontractor'
picking_ids
Many2many → stock.picking
compute='_compute_picking_ids'
string='Stock Pickings for which the Partner is the subcontractor'
args: 'stock.picking'
production_ids
Many2many → mrp.production
compute='_compute_production_ids'
string='MRP Productions for which the Partner is the subcontractor'
args: 'mrp.production'
property_stock_subcontractor
Many2one → stock.location
company_dependent=True
help='The stock location used as source and destination when sending goods to this contact during a subcontracting process.'
string='Subcontractor Location'
args: 'stock.location'
No public methods.
is_subcontracting_location
Boolean
help='Check this box to create a new dedicated subcontracting location for this company. Note that standard subcontracting routes will be adapted so as to take these into account automatically.'
args: 'Is a Subcontracting Location?'
subcontractor_ids
One2many → res.partner
create(self, vals_list)
write(self, values)
is_subcontract
Boolean
show_subcontracting_details_visible
Boolean
compute='_compute_show_subcontracting_details_visible'
action_show_details(self)
action_show_subcontract_details(self)
copy(self, default=None)
create(self, vals_list)
write(self, values)
No new fields.
Public methods (1)write(self, vals)
display_action_record_components
Selection
compute='_compute_display_action_record_components'
args: [('hide', 'Hide'), ('facultative', 'Facultative'), ('mandatory', 'Mandatory')]
move_line_ids_without_package
One2many
domain=['&', '|', ('location_dest_id.usage', '!=', 'production'), ('move_id.picking_code', '!=', 'outgoing'), '|', ('package_level_id', '=', False), ('picking_type_entire_packs', '=', False)]
action_record_components(self)
is_subcontract
Boolean
search='_search_is_subcontract'
store=False
No public methods.
subcontract_location_id
Many2one → stock.location
compute='_compute_subcontract_location_id'
args: 'stock.location'
No public methods.
No new fields.
Public methods (0)No public methods.
subcontracting_mto_pull_id
Many2one → stock.rule
copy=False
args: 'stock.rule', 'Subcontracting MTO Rule'
subcontracting_pull_id
Many2one → stock.rule
copy=False
args: 'stock.rule', 'Subcontracting MTS Rule'
subcontracting_resupply_type_id
Many2one → stock.picking.type
copy=False
domain=[('code', '=', 'outgoing')]
args: 'stock.picking.type', 'Subcontracting Resupply Operation Type'
subcontracting_route_id
Many2one → stock.route
copy=False
ondelete='restrict'
args: 'stock.route', 'Resupply Subcontractor'
subcontracting_to_resupply
Boolean
default=True
args: 'Resupply Subcontractors'
subcontracting_type_id
Many2one → stock.picking.type
copy=False
domain=[('code', '=', 'mrp_operation')]
args: 'stock.picking.type', 'Subcontracting Operation Type'
create(self, vals_list)
get_rules_dict(self)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/16.0/mrp_subcontracting |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Manufacturing/Manufacturing |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Denis Ledoux, Nicolas Martinelli, Géry Debongnie, GitHub, Yannick Tivisse, Christophe Monniez, Arnold Moyaux, Xavier-Do, Romeo Fragomeli, Victor Feyens, William Henrotin, Anh Thao Pham (pta), Adrien Widart, Touati Djamel (otd), Tiffany Chang (tic), Rémy Voet (ryv), Gorash, MerlinGuillaume, David (dafr), JF Aubert, PNO, yhu-odoo, niyasraphy, Adrien Widart (awt), clesgow, Pieter Claeys (clpi), Nicolas Pierre, arsi, Chong Wang (cwg), Martin Maes, Ahmed Khalaf (ahkh), Khushi Vakil, BernatPForgeFlow, lase@odoo.com, Aurelien MARIE (auma), Martin Trigaux (mat), djameltouati |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/app/manufacturing |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:49 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - mrp - product - base - base_setup - web - bus - web_tour - uom - stock - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mrp_bom_form_view |
mrp.bom.form.view | mrp.bom | xpath | Inherits mrp.mrp_bom_form_view |
mrp_production_subcontracting_filter |
mrp.production.subcontracting.select | mrp.production | xpath | Inherits mrp.view_mrp_production_filter |
mrp_production_subcontracting_form_view |
mrp.production.subcontracting.form.view | mrp.production | xpath | Inherits mrp.mrp_production_form_view |
mrp_production_subcontracting_portal_form_view |
mrp.production.subcontracting.portal.form.view | mrp.production | xpath | Inherits mrp_production_subcontracting_form_view |
mrp_production_subcontracting_tree_view |
mrp.production.subcontracting.tree | mrp.production | xpath | Inherits mrp.mrp_production_tree_view |
mrp_subcontracting_move_form_view |
mrp.subcontracting.move.form.view | stock.move | form | New |
mrp_subcontracting_move_tree_view |
mrp.subcontracting.move.tree.view | stock.move | tree | New |
mrp_subcontracting_portal_move_form_view |
mrp.subcontracting.portal.move.form.view | stock.move | xpath | Inherits mrp_subcontracting_move_form_view |
mrp_subcontracting_portal_stock_move_line_tree_view |
mrp.subcontracting.portal.stock.move.line.tree.view | stock.move.line | xpath | Inherits mrp_subcontracting_stock_move_line_tree_view |
mrp_subcontracting_product_template_search_view |
mrp.subcontracting.product.template.search | product.template | xpath | Inherits product.product_template_search_view |
mrp_subcontracting_stock_move_line_tree_view |
mrp.subcontracting.stock.move.line.tree.view | stock.move.line | tree | New |
mrp_subcontracting_view_stock_move_line_operation_tree |
mrp.subcontracting.stock.move.line.operations.tree | stock.move.line | xpath | Inherits stock.view_stock_move_line_operation_tree |
mrp_subcontracting_view_stock_move_nosuggest_operations |
mrp.subcontracting.stock.move.operations.nosuggest.form | stock.move | xpath | Inherits stock.view_stock_move_nosuggest_operations |
mrp_subcontracting_view_stock_move_operations |
mrp.subcontracting.stock.move.operations.form | stock.move | xpath | Inherits stock.view_stock_move_operations |
portal_my_home_menu_production |
Portal layout : production menu entries | ir.ui.view | qweb | Inherits portal.portal_breadcrumbs |
portal_my_home_productions |
Productions | ir.ui.view | qweb | Inherits portal.portal_my_home |
portal_my_productions |
My Productions | ir.ui.view | qweb | New |
product_supplierinfo_subcontractor_tree_view |
product.supplierinfo.subcontractor.tree.view | product.supplierinfo | xpath | Inherits product.product_supplierinfo_tree_view |
quant_subcontracting_search_view |
stock.quant.subcontracting.search | stock.quant | xpath | Inherits stock.quant_search_view |
stock_picking_form_view |
stock.picking.form.view | stock.picking | xpath | Inherits stock.view_picking_form |
subcontracting |
Subcontracting Portal View | ir.ui.view | qweb | New |
subcontracting_portal |
Subcontracting View in Portal | ir.ui.view | qweb | New |
subcontracting_portal_embed |
Subcontracting Portal | ir.ui.view | qweb | New |
subcontracting_portal_production_form_view |
subcontracting.portal.production.view.form | stock.picking | form | New |
view_location_form |
stock.location.form | stock.location | xpath | Inherits stock.view_location_form |
view_move_search |
stock.move.search | stock.move | xpath | Inherits stock.view_move_search |
view_partner_mrp_subcontracting_filter |
res.partner.select.inherit | res.partner | xpath | Inherits base.view_res_partner_filter |
view_partner_mrp_subcontracting_form |
res.partner.mrp_subcontracting.property.form.inherit | res.partner | xpath | Inherits stock.view_partner_stock_form |
view_stock_return_picking_form_subcontracting |
Return lines | stock.return.picking | xpath | Inherits stock.view_stock_return_picking_form |
view_warehouse_inherit_mrp_subcontracting |
Stock Warehouse Inherit Subcontracting | stock.warehouse | xpath | Inherits mrp.view_warehouse_inherit_mrp |
No new fields.
Public methods (0)No public methods.
subcontractor_ids
Many2many → res.partner
check_company=True
string='Subcontractors'
args: 'res.partner', 'mrp_bom_subcontractor'
type
Selection
ondelete={'subcontract': <expr>}
selection_add=[('subcontract', 'Subcontracting')]
No public methods.
No new fields.
Public methods (2)action_cancel(self)
action_confirm(self)
bom_product_ids
Many2many → product.product
compute='_compute_bom_product_ids'
help='List of Products used in the BoM, used to filter the list of products in the subcontracting portal view'
args: 'product.product'
incoming_picking
Many2one
related='move_finished_ids.move_dest_ids.picking_id'
move_line_raw_ids
One2many → stock.move.line
compute='_compute_move_line_raw_ids'
inverse='_inverse_move_line_raw_ids'
readonly=False
string='Detail Component'
args: 'stock.move.line'
subcontracting_has_been_recorded
Boolean
copy=False
args: 'Has been recorded?'
subcontractor_id
Many2one → res.partner
help='Used to restrict access to the portal user through Record Rules'
string='Subcontractor'
args: 'res.partner'
action_merge(self)
name_get(self)
subcontracting_record_component(self)
write(self, vals)
No new fields.
Public methods (0)No public methods.
is_subcontractor
Boolean
compute='_compute_is_subcontractor'
help='Choose a vendor of type subcontractor if you want to subcontract the product'
args: 'Subcontracted'
No public methods.
No new fields.
Public methods (0)No public methods.
subcontracting_location_id
Many2one → stock.location
No public methods.
bom_ids
Many2many → mrp.bom
compute='_compute_bom_ids'
string='BoMs for which the Partner is one of the subcontractors'
args: 'mrp.bom'
is_subcontractor
Boolean
compute='_compute_is_subcontractor'
search='_search_is_subcontractor'
store=False
string='Subcontractor'
picking_ids
Many2many → stock.picking
compute='_compute_picking_ids'
string='Stock Pickings for which the Partner is the subcontractor'
args: 'stock.picking'
production_ids
Many2many → mrp.production
compute='_compute_production_ids'
string='MRP Productions for which the Partner is the subcontractor'
args: 'mrp.production'
property_stock_subcontractor
Many2one → stock.location
company_dependent=True
help='The stock location used as source and destination when sending goods to this contact during a subcontracting process.'
string='Subcontractor Location'
args: 'stock.location'
No public methods.
is_subcontracting_location
Boolean
help='Check this box to create a new dedicated subcontracting location for this company. Note that standard subcontracting routes will be adapted so as to take these into account automatically.'
args: 'Is a Subcontracting Location?'
subcontractor_ids
One2many → res.partner
create(self, vals_list)
write(self, values)
is_subcontract
Boolean
show_subcontracting_details_visible
Boolean
compute='_compute_show_subcontracting_details_visible'
action_show_details(self)
action_show_subcontract_details(self)
copy(self, default=None)
create(self, vals_list)
write(self, values)
No new fields.
Public methods (1)write(self, vals)
display_action_record_components
Selection
compute='_compute_display_action_record_components'
args: [('hide', 'Hide'), ('facultative', 'Facultative'), ('mandatory', 'Mandatory')]
move_line_ids_without_package
One2many
domain=['&', '|', ('location_dest_id.usage', '!=', 'production'), ('move_id.picking_code', '!=', 'outgoing'), '|', ('package_level_id', '=', False), ('picking_type_entire_packs', '=', False)]
move_line_nosuggest_ids
One2many
domain=['&', '|', ('location_dest_id.usage', '!=', 'production'), ('move_id.picking_code', '!=', 'outgoing'), '|', ('reserved_qty', '=', 0.0), '&', ('reserved_qty', '!=', 0.0), ('qty_done', '!=', 0.0)]
action_record_components(self)
is_subcontract
Boolean
search='_search_is_subcontract'
store=False
No public methods.
subcontract_location_id
Many2one → stock.location
compute='_compute_subcontract_location_id'
args: 'stock.location'
No public methods.
No new fields.
Public methods (0)No public methods.
subcontracting_mto_pull_id
Many2one → stock.rule
subcontracting_pull_id
Many2one → stock.rule
subcontracting_resupply_type_id
Many2one → stock.picking.type
domain=[('code', '=', 'outgoing')]
args: 'stock.picking.type', 'Subcontracting Resupply Operation Type'
subcontracting_route_id
Many2one → stock.route
ondelete='restrict'
args: 'stock.route', 'Resupply Subcontractor'
subcontracting_to_resupply
Boolean
default=True
args: 'Resupply Subcontractors'
subcontracting_type_id
Many2one → stock.picking.type
domain=[('code', '=', 'mrp_operation')]
args: 'stock.picking.type', 'Subcontracting Operation Type'
create(self, vals_list)
get_rules_dict(self)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/15.0/mrp_subcontracting |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Manufacturing/Manufacturing |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Goffin Simon, Nicolas Lempereur, Arnold Moyaux, Xavier-Do, William Henrotin, svs-odoo, Adrien Widart, Touati Djamel (otd), Tiffany Chang (tic), Rémy Voet (ryv), Kevin Baptiste, william-andre, Merlin (megu), David (dafr), JF Aubert, PNO, yhu-odoo, niyasraphy, Adrien Widart (awt), clesgow, Khushi Vakil, Aurelien MARIE (auma), Anjali |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/app/manufacturing |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:25:27 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - mrp - product - base - base_setup - web - bus - web_tour - uom - stock - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mrp_bom_form_view |
mrp.bom.form.view | mrp.bom | xpath | Inherits mrp.mrp_bom_form_view |
mrp_production_subcontracting_form_view |
mrp.production.subcontracting.form.view | mrp.production | xpath | Inherits mrp.mrp_production_form_view |
mrp_subcontracting_move_form_view |
mrp.subcontracting.move.form.view | stock.move | form | New |
mrp_subcontracting_move_tree_view |
mrp.subcontracting.move.tree.view | stock.move | tree | New |
mrp_subcontracting_product_template_search_view |
mrp.subcontracting.product.template.search | product.template | xpath | Inherits product.product_template_search_view |
mrp_subcontracting_stock_move_line_tree_view |
mrp.subcontracting.stock.move.line.tree.view | stock.move.line | tree | New |
product_supplierinfo_subcontractor_tree_view |
product.supplierinfo.subcontractor.tree.view | product.supplierinfo | xpath | Inherits product.product_supplierinfo_tree_view |
quant_subcontracting_search_view |
stock.quant.subcontracting.search | stock.quant | xpath | Inherits stock.quant_search_view |
report_mrp_bom_line_inherit_mrp_subcontracting |
report_mrp_bom_line_inherit_mrp_subcontracting | ir.ui.view | qweb | Inherits mrp.report_mrp_bom_line |
stock_picking_form_view |
stock.picking.form.view | stock.picking | xpath | Inherits stock.view_picking_form |
view_partner_mrp_subcontracting_filter |
res.partner.select.inherit | res.partner | xpath | Inherits base.view_res_partner_filter |
view_partner_mrp_subcontracting_form |
res.partner.mrp_subcontracting.property.form.inherit | res.partner | xpath | Inherits stock.view_partner_stock_form |
view_stock_return_picking_form_subcontracting |
Return lines | stock.return.picking | xpath | Inherits stock.view_stock_return_picking_form |
view_warehouse_inherit_mrp_subcontracting |
Stock Warehouse Inherit Subcontracting | stock.warehouse | xpath | Inherits mrp.view_warehouse_inherit_mrp |
subcontractor_ids
Many2many → res.partner
check_company=True
string='Subcontractors'
args: 'res.partner', 'mrp_bom_subcontractor'
type
Selection
ondelete={'subcontract': <expr>}
selection_add=[('subcontract', 'Subcontracting')]
No public methods.
No new fields.
Public methods (2)action_cancel(self)
action_confirm(self)
incoming_picking
Many2one
related='move_finished_ids.move_dest_ids.picking_id'
move_line_raw_ids
One2many → stock.move.line
compute='_compute_move_line_raw_ids'
inverse='_inverse_move_line_raw_ids'
readonly=False
string='Detail Component'
args: 'stock.move.line'
subcontracting_has_been_recorded
Boolean
copy=False
args: 'Has been recorded?'
name_get(self)
subcontracting_record_component(self)
No new fields.
Public methods (0)No public methods.
is_subcontractor
Boolean
compute='_compute_is_subcontractor'
help='Choose a vendor of type subcontractor if you want to subcontract the product'
args: 'Subcontracted'
No public methods.
No new fields.
Public methods (0)No public methods.
subcontracting_location_id
Many2one → stock.location
create_missing_subcontracting_location(self)
is_subcontractor
Boolean
search='_search_is_subcontractor'
store=False
string='Subcontractor'
property_stock_subcontractor
Many2one → stock.location
company_dependent=True
help='The stock location used as source and destination when sending goods to this contact during a subcontracting process.'
string='Subcontractor Location'
args: 'stock.location'
No public methods.
is_subcontract
Boolean
show_subcontracting_details_visible
Boolean
compute='_compute_show_subcontracting_details_visible'
action_show_details(self)
action_show_subcontract_details(self)
copy(self, default=None)
write(self, values)
No new fields.
Public methods (0)No public methods.
display_action_record_components
Selection
compute='_compute_display_action_record_components'
args: [('hide', 'Hide'), ('facultative', 'Facultative'), ('mandatory', 'Mandatory')]
move_line_ids_without_package
One2many
domain=['&', '|', ('location_dest_id.usage', '!=', 'production'), ('move_id.picking_code', '!=', 'outgoing'), '|', ('package_level_id', '=', False), ('picking_type_entire_packs', '=', False)]
move_line_nosuggest_ids
One2many
domain=['&', '|', ('location_dest_id.usage', '!=', 'production'), ('move_id.picking_code', '!=', 'outgoing'), '|', ('product_qty', '=', 0.0), '&', ('product_qty', '!=', 0.0), ('qty_done', '!=', 0.0)]
action_record_components(self)
is_subcontract
Boolean
search='_search_is_subcontract'
store=False
No public methods.
subcontract_location_id
Many2one → stock.location
compute='_compute_subcontract_location_id'
args: 'stock.location'
No public methods.
No new fields.
Public methods (0)No public methods.
subcontracting_mto_pull_id
Many2one → stock.rule
subcontracting_pull_id
Many2one → stock.rule
subcontracting_resupply_type_id
Many2one → stock.picking.type
domain=[('code', '=', 'outgoing')]
args: 'stock.picking.type', 'Subcontracting Resupply Operation Type'
subcontracting_route_id
Many2one → stock.location.route
ondelete='restrict'
args: 'stock.location.route', 'Resupply Subcontractor'
subcontracting_to_resupply
Boolean
default=True
help='Resupply subcontractors with components'
args: 'Resupply Subcontractors'
subcontracting_type_id
Many2one → stock.picking.type
domain=[('code', '=', 'mrp_operation')]
args: 'stock.picking.type', 'Subcontracting Operation Type'
get_rules_dict(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/14.0/mrp_subcontracting |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Manufacturing/Manufacturing |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Olivier Dony, Christophe Simonis, Goffin Simon, Simon Lejeune, Nicolas Martinelli, Nicolas Lempereur, Pedro M. Baeza, Dharmraj Jhala, Arnold Moyaux, Julien Castiaux, Xavier-Do, Victor Feyens, Florent de Labarre, fw-bot, svs-odoo, Adrien Widart, Touati Djamel (otd), Tiffany Chang (tic), Rémy Voet (ryv), JF Aubert, PNO, yhu-odoo, niyasraphy, Adrien Widart (awt) |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/manufacturing |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:14:29 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - mrp - product - base - base_setup - web - bus - web_tour - uom - stock - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mrp_bom_form_view |
mrp.bom.form.view | mrp.bom | xpath | Inherits mrp.mrp_bom_form_view |
mrp_production_subcontracting_form_view |
mrp.production.subcontracting.form.view | mrp.production | xpath | Inherits mrp.mrp_production_form_view |
mrp_subcontracting_move_form_view |
mrp.subcontracting.move.form.view | stock.move | form | New |
mrp_subcontracting_move_tree_view |
mrp.subcontracting.move.tree.view | stock.move | tree | New |
mrp_subcontracting_product_template_search_view |
mrp.subcontracting.product.template.search | product.template | xpath | Inherits product.product_template_search_view |
mrp_subcontracting_stock_move_line_tree_view |
mrp.subcontracting.stock.move.line.tree.view | stock.move.line | tree | New |
product_supplierinfo_subcontractor_tree_view |
product.supplierinfo.subcontractor.tree.view | product.supplierinfo | xpath | Inherits product.product_supplierinfo_tree_view |
stock_picking_form_view |
stock.picking.form.view | stock.picking | xpath | Inherits stock.view_picking_form |
view_partner_mrp_subcontracting_filter |
res.partner.select.inherit | res.partner | xpath | Inherits base.view_res_partner_filter |
view_partner_mrp_subcontracting_form |
res.partner.mrp_subcontracting.property.form.inherit | res.partner | xpath | Inherits stock.view_partner_stock_form |
view_stock_return_picking_form_subcontracting |
Return lines | stock.return.picking | xpath | Inherits stock.view_stock_return_picking_form |
view_warehouse_inherit_mrp_subcontracting |
Stock Warehouse Inherit Subcontracting | stock.warehouse | xpath | Inherits mrp.view_warehouse_inherit_mrp |
subcontractor_ids
Many2many → res.partner
check_company=True
string='Subcontractors'
args: 'res.partner', 'mrp_bom_subcontractor'
type
Selection
ondelete={'subcontract': <expr>}
selection_add=[('subcontract', 'Subcontracting')]
No public methods.
incoming_picking
Many2one
related='move_finished_ids.move_dest_ids.picking_id'
move_line_raw_ids
One2many → stock.move.line
compute='_compute_move_line_raw_ids'
inverse='_inverse_move_line_raw_ids'
readonly=False
string='Detail Component'
args: 'stock.move.line'
action_subcontracting_discard_remaining_components(self)
name_get(self)
subcontracting_record_component(self)
is_subcontractor
Boolean
compute='_compute_is_subcontractor'
help='Choose a vendor of type subcontractor if you want to subcontract the product'
args: 'Subcontracted'
No public methods.
subcontracting_location_id
Many2one → stock.location
create_missing_subcontracting_location(self)
is_subcontractor
Boolean
search='_search_is_subcontractor'
store=False
string='Subcontractor'
property_stock_subcontractor
Many2one → stock.location
company_dependent=True
help='The stock location used as source and destination when sending goods to this contact during a subcontracting process.'
string='Subcontractor Location'
args: 'stock.location'
No public methods.
is_subcontract
Boolean
show_subcontracting_details_visible
Boolean
compute='_compute_show_subcontracting_details_visible'
action_show_details(self)
action_show_subcontract_details(self)
copy(self, default=None)
write(self, values)
No new fields.
Public methods (0)No public methods.
display_action_record_components
Boolean
compute='_compute_display_action_record_components'
action_record_components(self)
subcontract_location_id
Many2one → stock.location
compute='_compute_subcontract_location_id'
args: 'stock.location'
No public methods.
No new fields.
Public methods (0)No public methods.
subcontracting_mto_pull_id
Many2one → stock.rule
subcontracting_pull_id
Many2one → stock.rule
subcontracting_route_id
Many2one → stock.location.route
ondelete='restrict'
args: 'stock.location.route', 'Resupply Subcontractor'
subcontracting_to_resupply
Boolean
default=True
help='Resupply subcontractors with components'
args: 'Resupply Subcontractors'
subcontracting_type_id
Many2one → stock.picking.type
domain=[('code', '=', 'mrp_operation')]
args: 'stock.picking.type', 'Subcontracting Operation Type'
get_rules_dict(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/13.0/mrp_subcontracting |
| VERSION | |
| VERSION | 0.1 |
| CATEGORY | |
| CATEGORY | Manufacturing/Manufacturing |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Denis Ledoux, Christophe Simonis, Goffin Simon, Simon Lejeune, Nicolas Martinelli, Aaron Bohy, Pedro M. Baeza, Yannick Tivisse, Arnold Moyaux, Xavier-Do, Victor Feyens, William Henrotin, svs-odoo, Adrien Widart, Jinal Patel, Arnaud Baes |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/manufacturing |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:06:42 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - mrp - product - base - base_setup - web - bus - web_tour - uom - stock - barcodes - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mrp_bom_form_view |
mrp.bom.form.view | mrp.bom | xpath | Inherits mrp.mrp_bom_form_view |
mrp_subcontracting_move_form_view |
mrp.subcontracting.move.form.view | stock.move | form | New |
mrp_subcontracting_move_tree_view |
mrp.subcontracting.move.tree.view | stock.move | xpath | Inherits mrp.view_stock_move_raw_tree |
product_supplierinfo_subcontractor_tree_view |
product.supplierinfo.subcontractor.tree.view | product.supplierinfo | xpath | Inherits product.product_supplierinfo_tree_view |
stock_picking_form_view |
stock.picking.form.view | stock.picking | xpath | Inherits stock.view_picking_form |
view_partner_mrp_subcontracting_form |
res.partner.mrp_subcontracting.property.form.inherit | res.partner | xpath | Inherits stock.view_partner_stock_form |
view_warehouse_inherit_mrp_subcontracting |
Stock Warehouse Inherit Subcontracting | stock.warehouse | xpath | Inherits mrp.view_warehouse_inherit_mrp |
subcontractor_ids
Many2many → res.partner
check_company=True
string='Subcontractors'
args: 'res.partner', 'mrp_bom_subcontractor'
type
Selection
selection_add=[('subcontract', 'Subcontracting')]
No public methods.
subcontract_move_id
Many2one → stock.move
check_company=True
args: 'stock.move', 'stock move from the subcontract picking'
continue_production(self)
is_subcontractor
Boolean
compute='_compute_is_subcontractor'
help='Choose a vendor of type subcontractor if you want to subcontract the product'
args: 'Subcontracted'
No public methods.
subcontracting_location_id
Many2one → stock.location
create_missing_subcontracting_location(self)
property_stock_subcontractor
Many2one → stock.location
company_dependent=True
help='The stock location used as source and destination when sending goods to this contact during a subcontracting process.'
string='Subcontractor Location'
args: 'stock.location'
No public methods.
is_subcontract
Boolean
show_subcontracting_details_visible
Boolean
compute='_compute_show_subcontracting_details_visible'
action_show_details(self)
action_show_subcontract_details(self)
copy(self, default=None)
write(self, values)
No new fields.
Public methods (2)create(self, vals_list)
write(self, values)
display_action_record_components
Boolean
compute='_compute_display_action_record_components'
action_done(self)
action_record_components(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
subcontracting_mto_pull_id
Many2one → stock.rule
subcontracting_pull_id
Many2one → stock.rule
subcontracting_route_id
Many2one → stock.location.route
ondelete='restrict'
args: 'stock.location.route', 'Resupply Subcontractor'
subcontracting_to_resupply
Boolean
default=True
help='Resupply subcontractors with components'
args: 'Resupply Subcontractors'
subcontracting_type_id
Many2one → stock.picking.type
domain=[('code', '=', 'mrp_operation')]
args: 'stock.picking.type', 'Subcontracting Operation Type'
get_rules_dict(self)