| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/manufacture |
| GIT | |
| GIT | https://github.com/OCA/manufacture.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/manufacture/tree/12.0/quality_control_issue |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Quality Control |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Eficent |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Eficent |
| COMMITTERS | |
| COMMITTERS | Holger Brunn, Lois Rilo, OCA Transbot, oca-travis, Weblate, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/manufacture |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/manufacture: - quality_control - quality_control_team odoo/odoo: - product - base - decimal_precision - base_setup - web - bus - web_tour - uom - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
qc_issue_form |
qc.issue.form | qc.issue | form | New |
qc_issue_kanban_view |
qc.issue.kanban | qc.issue | kanban | New |
qc_issue_search |
qc.issue.search | qc.issue | search | New |
qc_issue_stage_tree |
qc.issue.stage.tree | qc.issue.stage | tree | New |
qc_issue_tree |
qc.issue.tree | qc.issue | tree | New |
qc_problem_form |
qc.problem.form | qc.problem | form | New |
qc_problem_group_form |
qc.problem.group.form | qc.problem.group | form | New |
qc_problem_group_tree |
qc.problem.group.tree | qc.problem.group | tree | New |
qc_problem_kanban_view |
qc.problem.kanban | qc.problem | kanban | New |
qc_problem_search |
qc.problem.search | qc.problem | search | New |
qc_problem_tree |
qc.problem.tree | qc.problem | tree | New |
qc_stage_tree |
qc.stage.tree | qc.stage | tree | New |
qc_team_view_kanban |
qc.team.dashboard - quality_control_issue | qc.team | xpath | Inherits quality_control_team.qc_team_view_kanban |
stock_scrap_form_view |
stock.scrap.form - quality_control_issue | stock.scrap | field | Inherits stock.stock_scrap_form_view |
stock_scrap_form_view2 |
stock.scrap.form2 - quality_control_issue | stock.scrap | field | Inherits stock.stock_scrap_form_view2 |
color
Integer
string='Color Index'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
description
Text
states={'done': [('readonly', True)]}
inspector_id
Many2one → res.users
comodel_name='res.users'
default=<expr>
readonly=True
required=True
states={'new': [('readonly', False)]}
string='Inspector'
track_visibility='onchange'
location_id
Many2one → stock.location
comodel_name='stock.location'
default=_get_default_location_id
readonly=True
states={'new': [('readonly', False)]}
string='Location'
lot_id
Many2one → stock.production.lot
comodel_name='stock.production.lot'
readonly=True
states={'new': [('readonly', False)]}
string='Lot/Serial Number'
name
Char
readonly=True
product_id
Many2one → product.product
comodel_name='product.product'
readonly=True
required=True
states={'new': [('readonly', False)]}
string='Product'
product_qty
Float
default=1.0
digits=dp.get_precision('Product Unit of Measure')
readonly=True
required=True
states={'new': [('readonly', False)]}
string='Product Quantity'
product_tracking
Selection
related='product_id.tracking'
product_uom
Many2one → uom.uom
comodel_name='uom.uom'
default=_get_uom
readonly=True
required=True
states={'new': [('readonly', False)]}
string='Product Unit of Measure'
qc_problem_ids
Many2many → qc.problem
column1='qc_issue_id'
column2='qc_problem_id'
comodel_name='qc.problem'
relation='qc_issue_problem_rel'
states={'done': [('readonly', True)]}
string='Problems'
qc_team_id
Many2one → qc.team
comodel_name='qc.team'
default=<expr>
index=True
string='QC Team'
track_visibility='onchange'
responsible_id
Many2one → res.users
comodel_name='res.users'
states={'done': [('readonly', True)]}
string='Assigned to'
track_visibility='onchange'
stage_id
Many2one → qc.issue.stage
comodel_name='qc.issue.stage'
default=_get_default_stage_id
domain="['|', ('qc_team_id', '=', False), ('qc_team_id', '=', qc_team_id)]"
group_expand='_read_group_stage_ids'
index=True
string='Stage'
track_visibility='onchange'
state
Selection
default='new'
readonly=True
selection=[('new', 'New'), ('progress', 'In Progress'), ('done', 'Done'), ('cancel', 'Cancel')]
track_visibility='onchange'
stock_scrap_ids
One2many → stock.scrap
comodel_name='stock.scrap'
inverse_name='qc_issue_id'
string='Scraps'
stock_scrap_qty
Integer
compute=_compute_stock_scrap_qty
action_cancel(self)
action_confirm(self)
action_done(self)
action_view_stock_scrap(self)
create(self, vals)
issue_stage_find(self, cases, team, domain=None, order='sequence')
scrap_products(self)
write(self, vals)
fold
Boolean
default=False
help='This stage is folded in the kanban view when there are no records in that stage to display.'
string='Folded in Pipeline'
name
Char
required=True
args: 'Stage Name'
qc_team_id
Many2one → qc.team
comodel_name='qc.team'
ondelete='set null'
string='Quality Control Team'
sequence
Integer
default=1
help='Used to order stages. Lower is better.'
string='Sequence'
state
Selection
selection=<expr>
string='QC State'
default_get(self, fields)
color
Integer
string='Color Index'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
issue_count
Integer
compute=_compute_count
store=True
string='Issues'
issue_ids
Many2many → qc.issue
column1='qc_problem_id'
column2='qc_issue_id'
comodel_name='qc.issue'
relation='qc_issue_problem_rel'
string='QC Issues'
name
Char
notes
Text
priority
Selection
default='0'
index=True
selection=AVAILABLE_PRIORITIES
string='Rating'
problem_group_id
Many2one → qc.problem.group
comodel_name='qc.problem.group'
string='Problem Group'
qc_team_id
Many2one → qc.team
comodel_name='qc.team'
default=<expr>
index=True
string='QC Team'
track_visibility='onchange'
stage_id
Many2one → qc.stage
comodel_name='qc.stage'
default=_get_default_stage_id
domain="['|', ('qc_team_id', '=', False), ('qc_team_id', '=', qc_team_id)]"
group_expand='_read_group_stage_ids'
index=True
string='Stage'
track_visibility='onchange'
stage_find(self, cases, team, domain=None, order='sequence')
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
name
Char
problem_ids
One2many → qc.problem
comodel_name='qc.problem'
inverse_name='problem_group_id'
No public methods.
fold
Boolean
default=False
help='This stage is folded in the kanban view when there are no records in that stage to display.'
string='Folded in Pipeline'
name
Char
required=True
args: 'Stage Name'
qc_team_id
Many2one → qc.team
comodel_name='qc.team'
ondelete='set null'
string='Quality Control Team'
sequence
Integer
default=1
help='Used to order stages. Lower is better.'
string='Sequence'
default_get(self, fields)
qc_issue_id
Many2one → qc.issue
comodel_name='qc.issue'
string='Quality Control Issue'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/manufacture |
| GIT | |
| GIT | https://github.com/OCA/manufacture.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/manufacture/tree/11.0/quality_control_issue |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Quality Control |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Eficent |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Eficent |
| COMMITTERS | |
| COMMITTERS | Jordi Ballester Alomar, OCA Transbot, oca-travis, Weblate, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://odoo-community.org/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:23:59 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/manufacture: - quality_control - quality_control_team odoo/odoo: - product - base - decimal_precision - base_setup - web - bus - web_tour - stock - barcodes - web_planner |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
qc_issue_form |
qc.issue.form | qc.issue | form | New |
qc_issue_kanban_view |
qc.issue.kanban | qc.issue | kanban | New |
qc_issue_search |
qc.issue.search | qc.issue | search | New |
qc_issue_stage_tree |
qc.issue.stage.tree | qc.issue.stage | tree | New |
qc_issue_tree |
qc.issue.tree | qc.issue | tree | New |
qc_problem_form |
qc.problem.form | qc.problem | form | New |
qc_problem_group_form |
qc.problem.group.form | qc.problem.group | form | New |
qc_problem_group_tree |
qc.problem.group.tree | qc.problem.group | tree | New |
qc_problem_kanban_view |
qc.problem.kanban | qc.problem | kanban | New |
qc_problem_search |
qc.problem.search | qc.problem | search | New |
qc_problem_tree |
qc.problem.tree | qc.problem | tree | New |
qc_stage_tree |
qc.stage.tree | qc.stage | tree | New |
qc_team_view_kanban |
qc.team.dashboard - quality_control_issue | qc.team | xpath | Inherits quality_control_team.qc_team_view_kanban |
stock_scrap_form_view |
stock.scrap.form - quality_control_issue | stock.scrap | field | Inherits stock.stock_scrap_form_view |
stock_scrap_form_view2 |
stock.scrap.form2 - quality_control_issue | stock.scrap | field | Inherits stock.stock_scrap_form_view2 |
color
Integer
string='Color Index'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
description
Text
states={'done': [('readonly', True)]}
inspector_id
Many2one → res.users
comodel_name='res.users'
default=<expr>
readonly=True
required=True
states={'new': [('readonly', False)]}
string='Inspector'
track_visibility='onchange'
location_id
Many2one → stock.location
comodel_name='stock.location'
default=_get_default_location_id
readonly=True
states={'new': [('readonly', False)]}
string='Location'
lot_id
Many2one → stock.production.lot
comodel_name='stock.production.lot'
readonly=True
states={'new': [('readonly', False)]}
string='Lot/Serial Number'
name
Char
readonly=True
product_id
Many2one → product.product
comodel_name='product.product'
readonly=True
required=True
states={'new': [('readonly', False)]}
string='Product'
product_qty
Float
default=1.0
digits=dp.get_precision('Product Unit of Measure')
readonly=True
required=True
states={'new': [('readonly', False)]}
string='Product Quantity'
product_tracking
Selection
related='product_id.tracking'
product_uom
Many2one → product.uom
comodel_name='product.uom'
default=_get_uom
readonly=True
required=True
states={'new': [('readonly', False)]}
string='Product Unit of Measure'
qc_problem_ids
Many2many → qc.problem
column1='qc_issue_id'
column2='qc_problem_id'
comodel_name='qc.problem'
relation='qc_issue_problem_rel'
states={'done': [('readonly', True)]}
string='Problems'
qc_team_id
Many2one → qc.team
comodel_name='qc.team'
default=<expr>
index=True
string='QC Team'
track_visibility='onchange'
responsible_id
Many2one → res.users
comodel_name='res.users'
states={'done': [('readonly', True)]}
string='Assigned to'
track_visibility='onchange'
stage_id
Many2one → qc.issue.stage
comodel_name='qc.issue.stage'
default=_get_default_stage_id
domain="['|', ('qc_team_id', '=', False), ('qc_team_id', '=', qc_team_id)]"
group_expand='_read_group_stage_ids'
index=True
string='Stage'
track_visibility='onchange'
state
Selection
default='new'
readonly=True
selection=[('new', 'New'), ('progress', 'In Progress'), ('done', 'Done'), ('cancel', 'Cancel')]
track_visibility='onchange'
stock_scrap_ids
One2many → stock.scrap
comodel_name='stock.scrap'
inverse_name='qc_issue_id'
string='Scraps'
stock_scrap_qty
Integer
compute=_compute_stock_scrap_qty
action_cancel(self)
action_confirm(self)
action_done(self)
action_view_stock_scrap(self)
create(self, vals)
issue_stage_find(self, cases, team, domain=None, order='sequence')
scrap_products(self)
write(self, vals)
fold
Boolean
default=False
help='This stage is folded in the kanban view when there are no records in that stage to display.'
string='Folded in Pipeline'
name
Char
required=True
args: 'Stage Name'
qc_team_id
Many2one → qc.team
comodel_name='qc.team'
ondelete='set null'
string='Quality Control Team'
sequence
Integer
default=1
help='Used to order stages. Lower is better.'
string='Sequence'
state
Selection
selection=<expr>
string='QC State'
default_get(self, fields)
color
Integer
string='Color Index'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
issue_count
Integer
compute=_compute_count
store=True
string='Issues'
issue_ids
Many2many → qc.issue
column1='qc_problem_id'
column2='qc_issue_id'
comodel_name='qc.issue'
relation='qc_issue_problem_rel'
string='QC Issues'
name
Char
notes
Text
priority
Selection
index=True
selection=AVAILABLE_PRIORITIES
string='Rating'
problem_group_id
Many2one → qc.problem.group
comodel_name='qc.problem.group'
string='Problem Group'
qc_team_id
Many2one → qc.team
comodel_name='qc.team'
default=<expr>
index=True
string='QC Team'
track_visibility='onchange'
stage_id
Many2one → qc.stage
comodel_name='qc.stage'
default=_get_default_stage_id
domain="['|', ('qc_team_id', '=', False), ('qc_team_id', '=', qc_team_id)]"
group_expand='_read_group_stage_ids'
index=True
string='Stage'
track_visibility='onchange'
stage_find(self, cases, team, domain=None, order='sequence')
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
name
Char
problem_ids
One2many → qc.problem
comodel_name='qc.problem'
inverse_name='problem_group_id'
No public methods.
fold
Boolean
default=False
help='This stage is folded in the kanban view when there are no records in that stage to display.'
string='Folded in Pipeline'
name
Char
required=True
args: 'Stage Name'
qc_team_id
Many2one → qc.team
comodel_name='qc.team'
ondelete='set null'
string='Quality Control Team'
sequence
Integer
default=1
help='Used to order stages. Lower is better.'
string='Sequence'
default_get(self, fields)
qc_issue_id
Many2one → qc.issue
comodel_name='qc.issue'
string='Quality Control Issue'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/manufacture |
| GIT | |
| GIT | https://github.com/OCA/manufacture.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/manufacture/tree/9.0/quality_control_issue |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Quality Control |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Eficent |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Eficent |
| COMMITTERS | |
| COMMITTERS | Jordi Ballester Alomar, oca-travis |
| WEBSITE | |
| WEBSITE | https://odoo-community.org/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:21 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/manufacture: - quality_control - quality_control_team OCA/stock-logistics-workflow: - stock_scrap odoo/odoo: - product - base - decimal_precision - base_setup - web_kanban - web - bus - report - stock - procurement - barcodes - web_planner |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
qc_issue_form |
qc.issue.form | qc.issue | form | New |
qc_issue_kanban_view |
qc.issue.kanban | qc.issue | kanban | New |
qc_issue_search |
qc.issue.search | qc.issue | search | New |
qc_issue_tree |
qc.issue.tree | qc.issue | tree | New |
qc_problem_form |
qc.problem.form | qc.problem | form | New |
qc_problem_group_form |
qc.problem.group.form | qc.problem.group | form | New |
qc_problem_group_tree |
qc.problem.group.tree | qc.problem.group | tree | New |
qc_problem_kanban_view |
qc.problem.kanban | qc.problem | kanban | New |
qc_problem_search |
qc.problem.search | qc.problem | search | New |
qc_problem_tree |
qc.problem.tree | qc.problem | tree | New |
qc_team_view_kanban |
qc.team.dashboard - quality_control_issue | qc.team | xpath | Inherits quality_control_team.qc_team_view_kanban |
stock_scrap_form_view |
stock.scrap.form - quality_control_issue | stock.scrap | field | Inherits stock_scrap.stock_scrap_form_view |
stock_scrap_form_view2 |
stock.scrap.form2 - quality_control_issue | stock.scrap | field | Inherits stock_scrap.stock_scrap_form_view2 |
color
Integer
string='Color Index'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
description
Text
states={'done': [('readonly', True)]}
inspector_id
Many2one → res.users
comodel_name='res.users'
default=<expr>
readonly=True
required=True
states={'new': [('readonly', False)]}
string='Inspector'
track_visibility='onchange'
location_id
Many2one → stock.location
comodel_name='stock.location'
readonly=True
states={'new': [('readonly', False)]}
string='Location'
lot_id
Many2one → stock.production.lot
comodel_name='stock.production.lot'
readonly=True
states={'new': [('readonly', False)]}
string='Lot/Serial Number'
name
Char
readonly=True
product_id
Many2one → product.product
comodel_name='product.product'
readonly=True
required=True
states={'new': [('readonly', False)]}
string='Product'
product_qty
Float
default=1.0
digits_compute=dp.get_precision('Product Unit of Measure')
readonly=True
required=True
states={'new': [('readonly', False)]}
string='Product Quantity'
product_tracking
Selection
related='product_id.tracking'
product_uom
Many2one → product.uom
comodel_name='product.uom'
default=_get_uom
readonly=True
required=True
states={'new': [('readonly', False)]}
string='Product Unit of Measure'
qc_problem_ids
Many2many → qc.problem
column1='qc_issue_id'
column2='qc_problem_id'
comodel_name='qc.problem'
relation='qc_issue_problem_rel'
states={'done': [('readonly', True)]}
string='Problems'
qc_team_id
Many2one → qc.team
comodel_name='qc.team'
default=<expr>
index=True
string='QC Team'
track_visibility='onchange'
responsible_id
Many2one → res.users
comodel_name='res.users'
states={'done': [('readonly', True)]}
string='Assigned to'
track_visibility='onchange'
stage_id
Many2one → qc.issue.stage
comodel_name='qc.issue.stage'
default=_get_default_stage_id
domain="['|', ('qc_team_id', '=', False), ('qc_team_id', '=', qc_team_id)]"
select=True
string='Stage'
track_visibility='onchange'
state
Selection
default='new'
readonly=True
selection=[('new', 'New'), ('progress', 'In Progress'), ('done', 'Done'), ('cancel', 'Cancel')]
track_visibility='onchange'
stock_scrap_ids
One2many → stock.scrap
comodel_name='stock.scrap'
inverse_name='qc_issue_id'
string='Scraps'
stock_scrap_qty
Integer
compute=_compute_stock_scrap_qty
action_cancel(self)
action_confirm(self)
action_done(self)
action_view_stock_scrap(self)
create(self, vals)
issue_stage_find(self, cases, team, domain=None, order='sequence')
scrap_products(self)
write(self, vals)
fold
Boolean
default=False
help='This stage is folded in the kanban view when there are no records in that stage to display.'
string='Folded in Pipeline'
name
Char
required=True
args: 'Stage Name'
qc_team_id
Many2one → qc.team
comodel_name='qc.team'
ondelete='set null'
string='Quality Control Team'
sequence
Integer
default=1
help='Used to order stages. Lower is better.'
string='Sequence'
state
Selection
selection=<expr>
string='QC State'
default_get(self, fields)
color
Integer
string='Color Index'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
issue_count
Integer
compute=_compute_count
store=True
string='Issues'
issue_ids
Many2many → qc.issue
column1='qc_problem_id'
column2='qc_issue_id'
comodel_name='qc.issue'
relation='qc_issue_problem_rel'
string='QC Issues'
name
Char
notes
Text
priority
Selection
index=True
selection=AVAILABLE_PRIORITIES
string='Rating'
problem_group_id
Many2one → qc.problem.group
comodel_name='qc.problem.group'
string='Problem Group'
qc_team_id
Many2one → qc.team
comodel_name='qc.team'
default=<expr>
index=True
string='QC Team'
track_visibility='onchange'
stage_id
Many2one → qc.stage
comodel_name='qc.stage'
default=_get_default_stage_id
domain="['|', ('qc_team_id', '=', False), ('qc_team_id', '=', qc_team_id)]"
select=True
string='Stage'
track_visibility='onchange'
stage_find(self, cases, team, domain=None, order='sequence')
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
name
Char
problem_ids
One2many → qc.problem
comodel_name='qc.problem'
inverse_name='problem_group_id'
No public methods.
fold
Boolean
default=False
help='This stage is folded in the kanban view when there are no records in that stage to display.'
string='Folded in Pipeline'
name
Char
required=True
args: 'Stage Name'
qc_team_id
Many2one → qc.team
comodel_name='qc.team'
ondelete='set null'
string='Quality Control Team'
sequence
Integer
default=1
help='Used to order stages. Lower is better.'
string='Sequence'
default_get(self, fields)
qc_issue_id
Many2one → qc.issue
comodel_name='qc.issue'
string='Quality Control Issue'
No public methods.