| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-barcode |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-barcode.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-barcode/tree/12.0/stock_scanner |
| VERSION | |
| VERSION | 1.0.3 |
| CATEGORY | |
| CATEGORY | Generic Modules/Inventory Control |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE SA/NV, Subteno IT |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE SA/NV, Subteno IT |
| COMMITTERS | |
| COMMITTERS | Denis Roussel, Florent de Labarre, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-barcode |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:14 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base_sparse_field - base - product - 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 |
|---|---|---|---|---|
res_config_settings_view_form |
res.config.settings | xpath | Inherits stock.res_config_settings_view_form | |
view_scanner_hardware_form |
scanner.hardware.form | scanner.hardware | form | New |
view_scanner_hardware_tree |
scanner.hardware.tree | scanner.hardware | tree | New |
view_scanner_scenario_diagram |
scanner.scenario.diagram | scanner.scenario | diagram | New |
view_scanner_scenario_form |
scanner.scenario.form | scanner.scenario | form | New |
view_scanner_scenario_search |
scanner.scenario.search | scanner.scenario | search | New |
view_scanner_scenario_step_form |
scanner.scenario.step.form | scanner.scenario.step | form | New |
view_scanner_scenario_step_search |
scanner.scenario.step.search | scanner.scenario.step | search | New |
view_scanner_scenario_step_tree |
scanner.scenario.step.tree | scanner.scenario.step | tree | New |
view_scanner_scenario_transition_form |
scanner.scenario.transition.form | scanner.scenario.transition | form | New |
view_scanner_scenario_transition_search |
scanner.scenario.transition.search | scanner.scenario.transition | search | New |
view_scanner_scenario_transition_tree |
scanner.scenario.transition.tree | scanner.scenario.transition | tree | New |
view_scanner_scenario_tree |
scanner.scenario.tree | scanner.scenario | tree | New |
No new fields.
Public methods (0)No public methods.
is_login_enabled
Boolean
session_timeout_delay
Integer
get_values(self)
set_values(self)
base_bg_color
Selection
default='blue'
help='Default color for the background.'
required=True
selection='_colors_get'
string='Base - Background Color'
base_fg_color
Selection
default='white'
help='Default color for the text.'
required=True
selection='_colors_get'
string='Base - Text Color'
code
Char
help='Code of this hardware.'
required=True
string='Code'
error_bg_color
Selection
default='red'
help='Color for the error background.'
required=True
selection='_colors_get'
string='Error - Background Color'
error_fg_color
Selection
default='yellow'
help='Color for the error text.'
required=True
selection='_colors_get'
string='Error - Text Color'
info_bg_color
Selection
default='blue'
help='Color for the info background.'
required=True
selection='_colors_get'
string='Info - Background Color'
info_fg_color
Selection
default='yellow'
help='Color for the info text.'
required=True
selection='_colors_get'
string='Info - Text Color'
last_call_dt
Datetime
help='Date and time of the last call to the system done by the scanner.'
string='Last call'
log_enabled
Boolean
default=False
help='Enable logging messages from scenarios.'
string='Log enabled'
name
Char
help='Name of the hardware.'
required=True
string='Name'
reference_document
Integer
default=0
help='ID of the reference document.'
readonly=True
required=False
string='Reference'
scenario_id
Many2one → scanner.scenario
comodel_name='scanner.scenario'
default=False
help='Scenario used for this hardware.'
ondelete='restrict'
readonly=True
required=False
string='Scenario'
screen_height
Integer
default=4
help="Height of the terminal's screen."
required=False
string='Screen Height'
screen_width
Integer
default=20
help="Width of the terminal's screen."
required=False
string='Screen Width'
step_history_ids
One2many → scanner.hardware.step.history
comodel_name='scanner.hardware.step.history'
help='History of all steps executed by this hardware during the current scenario.'
inverse_name='hardware_id'
readonly=True
string='Steps History'
step_id
Many2one → scanner.scenario.step
comodel_name='scanner.scenario.step'
default=False
help='Current step for this hardware.'
ondelete='restrict'
readonly=True
required=False
string='Current Step'
tmp_values
Serialized
readonly=True
tmp_values_display
Html
compute='_compute_tmp_values_display'
help='Debug tmp values'
user_id
Many2one → res.users
comodel_name='res.users'
help='Allow to define an other user for execute all scenarios with that scanner instead of default user.'
ondelete='restrict'
required=False
string='User'
warehouse_id
Many2one → stock.warehouse
comodel_name='stock.warehouse'
help='Warehouse where is located this hardware.'
ondelete='restrict'
required=True
string='Warehouse'
check_credentials(self, login, password)
clean_tmp_values(self, items)
empty_scanner_values(self)
get_tmp_value(self, key_name, default=None)
json_tmp_val1(self)
json_tmp_val1(self, value)
json_tmp_val2(self)
json_tmp_val2(self, value)
json_tmp_val3(self)
json_tmp_val3(self, value)
json_tmp_val4(self)
json_tmp_val4(self, value)
json_tmp_val5(self)
json_tmp_val5(self, value)
log(self, log_message)
login(self, login, password)
logout(self)
scanner_call(self, terminal_number, action, message=False, transition_type='keyboard')
scanner_check(self, terminal_number)
scanner_end(self, numterm=None)
set_tmp_value(self, key_name, value)
timeout_session(self)
update_tmp_values(self, values)
hardware_id
Many2one → scanner.hardware
comodel_name='scanner.hardware'
help='Hardware linked to this history line.'
required=True
string='Hardware'
message
Char
help='Message sent during execution of the step.'
string='Message'
step_id
Many2one → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step executed during this history line.'
string='Step'
transition_id
Many2one → scanner.scenario.transition
comodel_name='scanner.scenario.transition'
help='Transition executed during this history line.'
string='Transition'
No public methods.
active
Boolean
default=True
help='If check, this object is always available.'
string='Active'
child_ids
One2many → scanner.scenario
comodel_name='scanner.scenario'
inverse_name='parent_id'
string='Subordinates'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Company to be used on this scenario.'
ondelete='restrict'
required=True
string='Company'
group_ids
Many2many → res.groups
column1='scenario_id'
column2='group_id'
comodel_name='res.groups'
default=<expr>
relation='scanner_scenario_res_groups_rel'
string='Allowed Groups'
model_id
Many2one → ir.model
comodel_name='ir.model'
help='Model used for this scenario.'
ondelete='restrict'
required=False
string='Model'
name
Char
help='Appear on barcode reader screen.'
required=True
string='Name'
translate=True
notes
Text
default='Notes\n\n\n'
help='Store different notes, date and title for modification, etc...'
string='Notes'
parent_id
Many2one → scanner.scenario
comodel_name='scanner.scenario'
help='Parent scenario, used to create menus.'
ondelete='restrict'
required=False
string='Parent'
sequence
Integer
default=0
help='Sequence order.'
required=False
string='Sequence'
step_ids
One2many → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step of the current running scenario.'
inverse_name='scenario_id'
ondelete='cascade'
string='Scenario'
type
Selection
default='scenario'
help='Defines if this scenario is a menu or an executable scenario.'
required=True
selection='_type_get'
string='Type'
user_ids
Many2many → res.users
column1='scenario_id'
column2='user_id'
comodel_name='res.users'
relation='scanner_scenario_res_users_rel'
string='Allowed Users'
warehouse_ids
Many2many → stock.warehouse
column1='scenario_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
help='Warehouses for this scenario.'
relation='scanner_scenario_warehouse_rel'
string='Warehouses'
copy(self, default=None)
in_transition_ids
One2many → scanner.scenario.transition
comodel_name='scanner.scenario.transition'
help='Transitions which goes to the next step.'
inverse_name='to_id'
ondelete='cascade'
string='Incoming transitions'
name
Char
help='Name of the step.'
required=False
string='Name'
no_back
Boolean
default=False
help='Check this to prevent returning back this step.'
string='No back'
out_transition_ids
One2many → scanner.scenario.transition
comodel_name='scanner.scenario.transition'
help='Transitions which goes to this step.'
inverse_name='from_id'
ondelete='cascade'
string='Outgoing transitions'
python_code
Text
default=PYTHON_CODE_DEFAULT
help='Python code to execute.'
string='Python code'
scenario_id
Many2one → scanner.scenario
comodel_name='scanner.scenario'
help='Scenario for this step.'
ondelete='cascade'
required=True
string='Scenario'
scenario_notes
Text
readonly=False
related='scenario_id.notes'
step_back
Boolean
default=False
help='Check this to stop at this step when returning back.'
string='Step back'
step_start
Boolean
default=False
help='Check this if this is the first step of the scenario.'
string='Step start'
step_stop
Boolean
default=False
help='Check this if this is the last step of the scenario.'
string='Step stop'
No public methods.
condition
Char
default='True'
help='The transition is followed only if this condition is evaluated as True.'
required=True
string='Condition'
from_id
Many2one → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step which launches this transition.'
ondelete='cascade'
required=True
string='From'
name
Char
help='Name of the transition.'
required=True
string='Name'
scenario_id
Many2one → scanner.scenario
comodel_name='scanner.scenario'
ondelete='cascade'
readonly=True
related='from_id.scenario_id'
required=False
store=True
string='Scenario'
sequence
Integer
default=0
help='Sequence order.'
required=False
string='Sequence'
to_id
Many2one → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step which is reached by this transition.'
ondelete='cascade'
required=True
string='To'
tracer
Char
default=False
help='Used to determine fron which transition we arrive to the destination step.'
required=False
string='Tracer'
transition_type
Selection
default='keyboard'
help='Type of transition.'
selection='_transition_type_get'
string='Transition Type'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-barcode |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-barcode.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-barcode/tree/11.0/stock_scanner |
| VERSION | |
| VERSION | 1.3.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Inventory Control |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE SA/NV, Subteno IT |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE SA/NV, Subteno IT |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Jairo Llopis, Florent de Labarre, Andrii Skrypka, Lois Rilo, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Sylvain GARANCHER, xavierjimenez, Sylvain Garancher |
| WEBSITE | |
| WEBSITE | https://odoo-community.org/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:23:56 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base_sparse_field - base - product - 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 |
|---|---|---|---|---|
res_config_settings_view_form |
res.config.settings | xpath | Inherits stock.res_config_settings_view_form | |
view_scanner_hardware_form |
scanner.hardware.form | scanner.hardware | form | New |
view_scanner_hardware_tree |
scanner.hardware.tree | scanner.hardware | tree | New |
view_scanner_scenario_diagram |
scanner.scenario.diagram | scanner.scenario | diagram | New |
view_scanner_scenario_form |
scanner.scenario.form | scanner.scenario | form | New |
view_scanner_scenario_search |
scanner.scenario.search | scanner.scenario | search | New |
view_scanner_scenario_step_form |
scanner.scenario.step.form | scanner.scenario.step | form | New |
view_scanner_scenario_step_search |
scanner.scenario.step.search | scanner.scenario.step | search | New |
view_scanner_scenario_step_tree |
scanner.scenario.step.tree | scanner.scenario.step | tree | New |
view_scanner_scenario_transition_form |
scanner.scenario.transition.form | scanner.scenario.transition | form | New |
view_scanner_scenario_transition_search |
scanner.scenario.transition.search | scanner.scenario.transition | search | New |
view_scanner_scenario_transition_tree |
scanner.scenario.transition.tree | scanner.scenario.transition | tree | New |
view_scanner_scenario_tree |
scanner.scenario.tree | scanner.scenario | tree | New |
is_login_enabled
Boolean
session_timeout_delay
Integer
get_values(self)
set_values(self)
base_bg_color
Selection
default='blue'
help='Default color for the background.'
required=True
selection='_colors_get'
string='Base - Background Color'
base_fg_color
Selection
default='white'
help='Default color for the text.'
required=True
selection='_colors_get'
string='Base - Text Color'
code
Char
help='Code of this hardware.'
required=True
string='Code'
error_bg_color
Selection
default='red'
help='Color for the error background.'
required=True
selection='_colors_get'
string='Error - Background Color'
error_fg_color
Selection
default='yellow'
help='Color for the error text.'
required=True
selection='_colors_get'
string='Error - Text Color'
info_bg_color
Selection
default='blue'
help='Color for the info background.'
required=True
selection='_colors_get'
string='Info - Background Color'
info_fg_color
Selection
default='yellow'
help='Color for the info text.'
required=True
selection='_colors_get'
string='Info - Text Color'
last_call_dt
Datetime
help='Date and time of the last call to the system done by the scanner.'
string='Last call'
log_enabled
Boolean
default=False
help='Enable logging messages from scenarios.'
string='Log enabled'
name
Char
help='Name of the hardware.'
required=True
string='Name'
reference_document
Integer
default=0
help='ID of the reference document.'
readonly=True
required=False
string='Reference'
scenario_id
Many2one → scanner.scenario
comodel_name='scanner.scenario'
default=False
help='Scenario used for this hardware.'
ondelete='restrict'
readonly=True
required=False
string='Scenario'
screen_height
Integer
default=4
help="Height of the terminal's screen."
required=False
string='Screen Height'
screen_width
Integer
default=20
help="Width of the terminal's screen."
required=False
string='Screen Width'
step_history_ids
One2many → scanner.hardware.step.history
comodel_name='scanner.hardware.step.history'
help='History of all steps executed by this hardware during the current scenario.'
inverse_name='hardware_id'
readonly=True
string='Steps History'
step_id
Many2one → scanner.scenario.step
comodel_name='scanner.scenario.step'
default=False
help='Current step for this hardware.'
ondelete='restrict'
readonly=True
required=False
string='Current Step'
tmp_values
Serialized
readonly=True
tmp_values_display
Html
compute='_compute_tmp_values_display'
help='Debug tmp values'
user_id
Many2one → res.users
comodel_name='res.users'
help='Allow to define an other user for execute all scenarios with that scanner instead of default user.'
ondelete='restrict'
required=False
string='User'
warehouse_id
Many2one → stock.warehouse
comodel_name='stock.warehouse'
help='Warehouse where is located this hardware.'
ondelete='restrict'
required=True
string='Warehouse'
check_credentials(self, login, password)
clean_tmp_values(self, items)
empty_scanner_values(self)
get_tmp_value(self, key_name, default=None)
json_tmp_val1(self)
json_tmp_val1(self, value)
json_tmp_val2(self)
json_tmp_val2(self, value)
json_tmp_val3(self)
json_tmp_val3(self, value)
json_tmp_val4(self)
json_tmp_val4(self, value)
json_tmp_val5(self)
json_tmp_val5(self, value)
log(self, log_message)
login(self, login, password)
logout(self)
scanner_call(self, terminal_number, action, message=False, transition_type='keyboard')
scanner_check(self, terminal_number)
scanner_end(self, numterm=None)
set_tmp_value(self, key_name, value)
timeout_session(self)
update_tmp_values(self, values)
hardware_id
Many2one → scanner.hardware
comodel_name='scanner.hardware'
help='Hardware linked to this history line.'
required=True
string='Hardware'
message
Char
help='Message sent during execution of the step.'
string='Message'
step_id
Many2one → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step executed during this history line.'
string='Step'
transition_id
Many2one → scanner.scenario.transition
comodel_name='scanner.scenario.transition'
help='Transition executed during this history line.'
string='Transition'
No public methods.
active
Boolean
default=True
help='If check, this object is always available.'
string='Active'
child_ids
One2many → scanner.scenario
comodel_name='scanner.scenario'
inverse_name='parent_id'
string='Subordinates'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Company to be used on this scenario.'
ondelete='restrict'
required=True
string='Company'
group_ids
Many2many → res.groups
column1='scenario_id'
column2='group_id'
comodel_name='res.groups'
default=<expr>
relation='scanner_scenario_res_groups_rel'
string='Allowed Groups'
model_id
Many2one → ir.model
comodel_name='ir.model'
help='Model used for this scenario.'
ondelete='restrict'
required=False
string='Model'
name
Char
help='Appear on barcode reader screen.'
required=True
string='Name'
translate=True
notes
Text
help='Store different notes, date and title for modification, etc...'
string='Notes'
parent_id
Many2one → scanner.scenario
comodel_name='scanner.scenario'
help='Parent scenario, used to create menus.'
ondelete='restrict'
required=False
string='Parent'
sequence
Integer
default=0
help='Sequence order.'
required=False
string='Sequence'
step_ids
One2many → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step of the current running scenario.'
inverse_name='scenario_id'
ondelete='cascade'
string='Scenario'
type
Selection
default='scenario'
help='Defines if this scenario is a menu or an executable scenario.'
required=True
selection='_type_get'
string='Type'
user_ids
Many2many → res.users
column1='scenario_id'
column2='user_id'
comodel_name='res.users'
relation='scanner_scenario_res_users_rel'
string='Allowed Users'
warehouse_ids
Many2many → stock.warehouse
column1='scenario_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
help='Warehouses for this scenario.'
relation='scanner_scenario_warehouse_rel'
string='Warehouses'
No public methods.
in_transition_ids
One2many → scanner.scenario.transition
comodel_name='scanner.scenario.transition'
help='Transitions which goes to the next step.'
inverse_name='to_id'
ondelete='cascade'
string='Incoming transitions'
name
Char
help='Name of the step.'
required=False
string='Name'
no_back
Boolean
default=False
help='Check this to prevent returning back this step.'
string='No back'
out_transition_ids
One2many → scanner.scenario.transition
comodel_name='scanner.scenario.transition'
help='Transitions which goes to this step.'
inverse_name='from_id'
ondelete='cascade'
string='Outgoing transitions'
python_code
Text
default=PYTHON_CODE_DEFAULT
help='Python code to execute.'
string='Python code'
scenario_id
Many2one → scanner.scenario
comodel_name='scanner.scenario'
help='Scenario for this step.'
ondelete='cascade'
required=True
string='Scenario'
step_back
Boolean
default=False
help='Check this to stop at this step when returning back.'
string='Step back'
step_start
Boolean
default=False
help='Check this if this is the first step of the scenario.'
string='Step start'
step_stop
Boolean
default=False
help='Check this if this is the last step of the scenario.'
string='Step stop'
No public methods.
condition
Char
default='True'
help='The transition is followed only if this condition is evaluated as True.'
required=True
string='Condition'
from_id
Many2one → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step which launches this transition.'
ondelete='cascade'
required=True
string='From'
name
Char
help='Name of the transition.'
required=True
string='Name'
scenario_id
Many2one → scanner.scenario
comodel_name='scanner.scenario'
ondelete='cascade'
readonly=True
related='from_id.scenario_id'
required=False
store=True
string='Scenario'
sequence
Integer
default=0
help='Sequence order.'
required=False
string='Sequence'
to_id
Many2one → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step which is reached by this transition.'
ondelete='cascade'
required=True
string='To'
tracer
Char
default=False
help='Used to determine fron which transition we arrive to the destination step.'
required=False
string='Tracer'
transition_type
Selection
default='keyboard'
help='Type of transition.'
selection='_transition_type_get'
string='Transition Type'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-barcode |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-barcode.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-barcode/tree/10.0/stock_scanner |
| VERSION | |
| VERSION | 1.1.2 |
| CATEGORY | |
| CATEGORY | Generic Modules/Inventory Control |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE SA/NV, SYLEAM |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE SA/NV, SYLEAM |
| COMMITTERS | |
| COMMITTERS | Sebastien LANGE, Alexandre Fayolle, Pedro M. Baeza, GitHub, Denis Roussel, Stéphane Bidoul (ACSONE), Lois Rilo, OCA Transbot, Dave Lasley, oca-travis, Weblate, OCA-git-bot, Sylvain GARANCHER, Benjamin Willig, Adrià Gil Sorribes |
| WEBSITE | |
| WEBSITE | https://odoo-community.org/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:19:54 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - product - base - decimal_precision - base_setup - web_kanban - web - bus - web_tour - 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 |
|---|---|---|---|---|
stock_config_setting_view_form_inherit_stock_scanner |
stock.config.settings.form | stock.config.settings | data | Inherits stock.view_stock_config_settings |
view_scanner_hardware_form |
scanner.hardware.form | scanner.hardware | form | New |
view_scanner_hardware_tree |
scanner.hardware.tree | scanner.hardware | tree | New |
view_scanner_scenario_custom_form |
scanner.scenario.custom.form | scanner.scenario.custom | form | New |
view_scanner_scenario_custom_tree |
scanner.scenario.custom.tree | scanner.scenario.custom | tree | New |
view_scanner_scenario_diagram |
scanner.scenario.diagram | scanner.scenario | diagram | New |
view_scanner_scenario_form |
scanner.scenario.form | scanner.scenario | form | New |
view_scanner_scenario_search |
scanner.scenario.search | scanner.scenario | search | New |
view_scanner_scenario_step_form |
scanner.scenario.step.form | scanner.scenario.step | form | New |
view_scanner_scenario_step_search |
scanner.scenario.step.search | scanner.scenario.step | search | New |
view_scanner_scenario_step_tree |
scanner.scenario.step.tree | scanner.scenario.step | tree | New |
view_scanner_scenario_transition_form |
scanner.scenario.transition.form | scanner.scenario.transition | form | New |
view_scanner_scenario_transition_search |
scanner.scenario.transition.search | scanner.scenario.transition | search | New |
view_scanner_scenario_transition_tree |
scanner.scenario.transition.tree | scanner.scenario.transition | tree | New |
view_scanner_scenario_tree |
scanner.scenario.tree | scanner.scenario | tree | New |
hardware_id
Many2one → scanner.hardware
comodel_name='scanner.hardware'
help='Hardware linked to this history line.'
required=True
string='Hardware'
message
Char
help='Message sent during execution of the step.'
string='Message'
step_id
Many2one → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step executed during this history line.'
string='Step'
transition_id
Many2one → scanner.scenario.transition
comodel_name='scanner.scenario.transition'
help='Transition executed during this history line.'
string='Transition'
No public methods.
active
Boolean
default=True
help='If check, this object is always available.'
string='Active'
child_ids
One2many → scanner.scenario
comodel_name='scanner.scenario'
inverse_name='parent_id'
string='Subordinates'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Company to be used on this scenario.'
ondelete='restrict'
required=True
string='Company'
group_ids
Many2many → res.groups
column1='scenario_id'
column2='group_id'
comodel_name='res.groups'
default=<expr>
relation='scanner_scenario_res_groups_rel'
string='Allowed Groups'
model_id
Many2one → ir.model
comodel_name='ir.model'
help='Model used for this scenario.'
ondelete='restrict'
required=False
string='Model'
name
Char
help='Appear on barcode reader screen.'
required=True
string='Name'
translate=True
notes
Text
help='Store different notes, date and title for modification, etc...'
string='Notes'
parent_id
Many2one → scanner.scenario
comodel_name='scanner.scenario'
help='Parent scenario, used to create menus.'
ondelete='restrict'
required=False
string='Parent'
sequence
Integer
default=0
help='Sequence order.'
required=False
string='Sequence'
shared_custom
Boolean
default=False
help='Allows to share the custom values with a shared scanner in the same warehouse.'
string='Shared Custom'
step_ids
One2many → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step of the current running scenario.'
inverse_name='scenario_id'
ondelete='cascade'
string='Scenario'
type
Selection
default='scenario'
help='Defines if this scenario is a menu or an executable scenario.'
required=True
selection='_type_get'
string='Type'
user_ids
Many2many → res.users
column1='scenario_id'
column2='user_id'
comodel_name='res.users'
relation='scanner_scenario_res_users_rel'
string='Allowed Users'
warehouse_ids
Many2many → stock.warehouse
column1='scenario_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
help='Warehouses for this scenario.'
relation='scanner_scenario_warehouse_rel'
string='Warehouses'
No public methods.
char_val1
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 1'
char_val2
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 2'
char_val3
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 3'
char_val4
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 4'
char_val5
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 5'
float_val1
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 1'
float_val2
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 2'
float_val3
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 3'
float_val4
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 4'
float_val5
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 5'
int_val1
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 1'
int_val2
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 2'
int_val3
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 3'
int_val4
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 4'
int_val5
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 5'
model
Char
help='Model used for these data.'
required=True
string='Model'
res_id
Integer
default=0
help='ID of the model source.'
required=True
string='Values id'
scanner_id
Many2one → scanner.hardware
help='Values used for this scanner.'
ondelete='cascade'
required=False
string='Scanner'
args: 'scanner.hardware'
scenario_id
Many2one → scanner.scenario
help='Values used for this scenario.'
ondelete='cascade'
required=False
string='Scenario'
args: 'scanner.scenario'
text_val
Text
default=''
help='Temporary text value.'
required=False
string='Text'
No public methods.
is_login_enabled
Boolean
session_timeout_delay
Integer
get_default_scanner_config(self, fields)
set_default_scanner_config(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-barcode |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-barcode.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-barcode/tree/9.0/stock_scanner |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Inventory Control |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE SA/NV, SYLEAM |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE SA/NV, SYLEAM |
| COMMITTERS | |
| COMMITTERS | Alexandre Fayolle, Stéphane Bidoul (ACSONE), OCA Transbot, Dave Lasley, oca-travis, Weblate, OCA-git-bot, Sylvain GARANCHER |
| WEBSITE | |
| WEBSITE | https://odoo-community.org/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:19 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
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 |
|---|---|---|---|---|
stock_config_setting_view_form_inherit_stock_scanner |
stock.config.settings.form | stock.config.settings | data | Inherits stock.view_stock_config_settings |
view_scanner_hardware_form |
scanner.hardware.form | scanner.hardware | form | New |
view_scanner_hardware_tree |
scanner.hardware.tree | scanner.hardware | tree | New |
view_scanner_scenario_custom_form |
scanner.scenario.custom.form | scanner.scenario.custom | form | New |
view_scanner_scenario_custom_tree |
scanner.scenario.custom.tree | scanner.scenario.custom | tree | New |
view_scanner_scenario_diagram |
scanner.scenario.diagram | scanner.scenario | diagram | New |
view_scanner_scenario_form |
scanner.scenario.form | scanner.scenario | form | New |
view_scanner_scenario_search |
scanner.scenario.search | scanner.scenario | search | New |
view_scanner_scenario_step_form |
scanner.scenario.step.form | scanner.scenario.step | form | New |
view_scanner_scenario_step_search |
scanner.scenario.step.search | scanner.scenario.step | search | New |
view_scanner_scenario_step_tree |
scanner.scenario.step.tree | scanner.scenario.step | tree | New |
view_scanner_scenario_transition_form |
scanner.scenario.transition.form | scanner.scenario.transition | form | New |
view_scanner_scenario_transition_search |
scanner.scenario.transition.search | scanner.scenario.transition | search | New |
view_scanner_scenario_transition_tree |
scanner.scenario.transition.tree | scanner.scenario.transition | tree | New |
view_scanner_scenario_tree |
scanner.scenario.tree | scanner.scenario | tree | New |
hardware_id
Many2one → scanner.hardware
comodel_name='scanner.hardware'
help='Hardware linked to this history line.'
required=True
string='Hardware'
message
Char
help='Message sent during execution of the step.'
string='Message'
step_id
Many2one → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step executed during this history line.'
string='Step'
transition_id
Many2one → scanner.scenario.transition
comodel_name='scanner.scenario.transition'
help='Transition executed during this history line.'
string='Transition'
No public methods.
active
Boolean
default=True
help='If check, this object is always available.'
string='Active'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Company to be used on this scenario.'
ondelete='restrict'
required=True
string='Company'
group_ids
Many2many → res.groups
column1='scenario_id'
column2='group_id'
comodel_name='res.groups'
default=<expr>
relation='scanner_scenario_res_groups_rel'
string='Allowed Groups'
model_id
Many2one → ir.model
comodel_name='ir.model'
help='Model used for this scenario.'
ondelete='restrict'
required=False
string='Model'
name
Char
help='Appear on barcode reader screen.'
required=True
string='Name'
translate=True
notes
Text
help='Store different notes, date and title for modification, etc...'
string='Notes'
parent_id
Many2one → scanner.scenario
comodel_name='scanner.scenario'
help='Parent scenario, used to create menus.'
ondelete='restrict'
required=False
string='Parent'
sequence
Integer
default=0
help='Sequence order.'
required=False
string='Sequence'
shared_custom
Boolean
default=False
help='Allows to share the custom values with a shared scanner in the same warehouse.'
string='Shared Custom'
step_ids
One2many → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step of the current running scenario.'
inverse_name='scenario_id'
ondelete='cascade'
string='Scenario'
type
Selection
default='scenario'
help='Defines if this scenario is a menu or an executable scenario.'
required=True
selection='_type_get'
string='Type'
user_ids
Many2many → res.users
column1='scenario_id'
column2='user_id'
comodel_name='res.users'
relation='scanner_scenario_res_users_rel'
string='Allowed Users'
warehouse_ids
Many2many → stock.warehouse
column1='scenario_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
help='Warehouses for this scenario.'
relation='scanner_scenario_warehouse_rel'
string='Warehouses'
No public methods.
char_val1
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 1'
char_val2
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 2'
char_val3
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 3'
char_val4
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 4'
char_val5
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 5'
float_val1
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 1'
float_val2
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 2'
float_val3
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 3'
float_val4
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 4'
float_val5
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 5'
int_val1
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 1'
int_val2
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 2'
int_val3
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 3'
int_val4
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 4'
int_val5
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 5'
model
Char
help='Model used for these data.'
required=True
string='Model'
res_id
Integer
default=0
help='ID of the model source.'
required=True
string='Values id'
scanner_id
Many2one → scanner.hardware
help='Values used for this scanner.'
ondelete='cascade'
required=False
string='Scanner'
args: 'scanner.hardware'
scenario_id
Many2one → scanner.scenario
help='Values used for this scenario.'
ondelete='cascade'
required=False
string='Scenario'
args: 'scanner.scenario'
text_val
Text
default=''
help='Temporary text value.'
required=False
string='Text'
No public methods.
is_login_enabled
Boolean
session_timeout_delay
Integer
get_default_scanner_config(self, fields)
set_default_scanner_config(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-workflow |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-workflow/tree/8.0/stock_scanner |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Inventory Control |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE SA/NV, SYLEAM |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE SA/NV, SYLEAM |
| COMMITTERS | |
| COMMITTERS | Alexandre Fayolle, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), Alex Comba, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Sylvain GARANCHER |
| WEBSITE | |
| WEBSITE | https://odoo-community.org/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:24 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - product - base - decimal_precision - base_setup - web_kanban - web - report - stock - procurement - board - web_kanban_gauge - web_kanban_sparkline |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
stock_config_setting_view_form_inherit_stock_scanner |
stock.config.settings.form | stock.config.settings | data | Inherits stock.view_stock_config_settings |
view_scanner_hardware_form |
scanner.hardware.form | scanner.hardware | form | New |
view_scanner_hardware_tree |
scanner.hardware.tree | scanner.hardware | tree | New |
view_scanner_scenario_custom_form |
scanner.scenario.custom.form | scanner.scenario.custom | form | New |
view_scanner_scenario_custom_tree |
scanner.scenario.custom.tree | scanner.scenario.custom | tree | New |
view_scanner_scenario_diagram |
scanner.scenario.diagram | scanner.scenario | diagram | New |
view_scanner_scenario_form |
scanner.scenario.form | scanner.scenario | form | New |
view_scanner_scenario_search |
scanner.scenario.search | scanner.scenario | search | New |
view_scanner_scenario_step_form |
scanner.scenario.step.form | scanner.scenario.step | form | New |
view_scanner_scenario_step_search |
scanner.scenario.step.search | scanner.scenario.step | search | New |
view_scanner_scenario_step_tree |
scanner.scenario.step.tree | scanner.scenario.step | tree | New |
view_scanner_scenario_transition_form |
scanner.scenario.transition.form | scanner.scenario.transition | form | New |
view_scanner_scenario_transition_search |
scanner.scenario.transition.search | scanner.scenario.transition | search | New |
view_scanner_scenario_transition_tree |
scanner.scenario.transition.tree | scanner.scenario.transition | tree | New |
view_scanner_scenario_tree |
scanner.scenario.tree | scanner.scenario | tree | New |
hardware_id
Many2one → scanner.hardware
comodel_name='scanner.hardware'
help='Hardware linked to this history line.'
required=True
string='Hardware'
message
Char
help='Message sent during execution of the step.'
string='Message'
step_id
Many2one → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step executed during this history line.'
string='Step'
transition_id
Many2one → scanner.scenario.transition
comodel_name='scanner.scenario.transition'
help='Transition executed during this history line.'
string='Transition'
No public methods.
active
Boolean
default=True
help='If check, this object is always available.'
string='Active'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Company to be used on this scenario.'
ondelete='restrict'
required=True
string='Company'
group_ids
Many2many → res.groups
column1='scenario_id'
column2='group_id'
comodel_name='res.groups'
default=<expr>
relation='scanner_scenario_res_groups_rel'
string='Allowed Groups'
model_id
Many2one → ir.model
comodel_name='ir.model'
help='Model used for this scenario.'
ondelete='restrict'
required=False
string='Model'
name
Char
help='Appear on barcode reader screen.'
required=True
string='Name'
translate=True
notes
Text
help='Store different notes, date and title for modification, etc...'
string='Notes'
parent_id
Many2one → scanner.scenario
comodel_name='scanner.scenario'
help='Parent scenario, used to create menus.'
ondelete='restrict'
required=False
string='Parent'
sequence
Integer
default=0
help='Sequence order.'
required=False
string='Sequence'
shared_custom
Boolean
default=False
help='Allows to share the custom values with a shared scanner in the same warehouse.'
string='Shared Custom'
step_ids
One2many → scanner.scenario.step
comodel_name='scanner.scenario.step'
help='Step of the current running scenario.'
inverse_name='scenario_id'
ondelete='cascade'
string='Scenario'
type
Selection
default='scenario'
help='Defines if this scenario is a menu or an executable scenario.'
required=True
selection='_type_get'
string='Type'
user_ids
Many2many → res.users
column1='scenario_id'
column2='user_id'
comodel_name='res.users'
relation='scanner_scenario_res_users_rel'
string='Allowed Users'
warehouse_ids
Many2many → stock.warehouse
column1='scenario_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
help='Warehouses for this scenario.'
relation='scanner_scenario_warehouse_rel'
string='Warehouses'
No public methods.
char_val1
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 1'
char_val2
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 2'
char_val3
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 3'
char_val4
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 4'
char_val5
Char
default=''
help='Temporary char value.'
required=False
string='Char Value 5'
float_val1
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 1'
float_val2
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 2'
float_val3
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 3'
float_val4
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 4'
float_val5
Float
default=0.0
help='Temporary float value.'
required=False
string='Float Value 5'
int_val1
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 1'
int_val2
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 2'
int_val3
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 3'
int_val4
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 4'
int_val5
Integer
default=0
help='Temporary int value.'
required=False
string='Int Value 5'
model
Char
help='Model used for these data.'
required=True
string='Model'
res_id
Integer
default=0
help='ID of the model source.'
required=True
string='Values id'
scanner_id
Many2one → scanner.hardware
help='Values used for this scanner.'
ondelete='cascade'
required=False
string='Scanner'
args: 'scanner.hardware'
scenario_id
Many2one → scanner.scenario
help='Values used for this scenario.'
ondelete='cascade'
required=False
string='Scenario'
args: 'scanner.scenario'
text_val
Text
default=''
help='Temporary text value.'
required=False
string='Text'
No public methods.
is_login_enabled
Boolean
session_timeout_delay
Integer
get_default_scanner_config(self, fields)
set_default_scanner_config(self)