Inventory Mobile App

mobile_app_inventory
REPOSITORY
REPOSITORYOCA/stock-logistics-barcode
GIT
GIThttps://github.com/OCA/stock-logistics-barcode.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-barcode/tree/8.0/mobile_app_inventory
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYStock
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, GRAP
COMMITTERS
COMMITTERSGitHub, oca-travis, OCA-git-bot, Juanjo
WEBSITE
WEBSITEhttps://www.odoo-community.org
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - report
    - procurement
    - board
    - web_kanban_gauge
    - web_kanban_sparkline
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
view_res_company_form res.company xpath Inherits base.view_company_form
view_stock_inventory_form stock.inventory field Inherits stock.view_inventory_form
view_stock_inventory_tree stock.inventory field Inherits stock.view_inventory_tree
view_stock_location_form stock.location field Inherits stock.view_location_form
Models touched (5)

New fields (0)

No new fields.

Public methods (8)
  • add_inventory_line(self, params)
    @api.model
    Add a new inventory line. :param params: { 'inventory': inventory_vals, 'location': location_vals, 'product': product_vals, 'qty': qty, 'mode': mode} @qty : the quantity to set or to add depending of the mode; @mode : 'ask': Do nothing if there is a duplicate line; 'add': Add quantity to the duplicate line; 'replace': Replace quantity of the duplicate line; return: {'state': 'write_ok'}: Update / creation OK {'state': 'many_duplicate_lines'}: Too many duplicate lines. not possible to process {'state': 'duplicate', qty: xxx}: There is a duplicate. Qty is the current quantity
  • check_group(self, group_ext_id)
    @api.model
  • create_inventory(self, params)
    @api.model
    Create a new inventory, and set it to 'In Progress' State. :param params: {'inventory': inventory_vals} :return: inventory_vals .. seealso:: _export_inventory() for inventory vals details
  • get_inventories(self)
    @api.model
    Return Inventories available for the Mobile App :return: [inventory_1_vals, inventory_2_vals, ...] .. seealso:: _export_inventory() for inventory vals details.
  • get_inventory_lines(self, params)
    @api.model
    Return inventory lines of a given inventory. :param params: {'inventory': inventory_vals} :return: [inventory_line_1_vals, inventory_line_2_vals, ...] .. seealso:: _export_inventory() for inventory vals details _export_inventory_line() for inventory line vals details
  • get_locations(self, params)
    @api.model
    Return locations of a given inventory, or all locations available to realize an inventory, if inventory is not defined. :param params: {'inventory': inventory_1_vals} :return: [location_1_vals, location_2_vals, ...] .. seealso:: _export_inventory() for inventory vals details _export_location() for location vals details
  • get_settings(self)
    @api.model
    Return Mobile App Settings :return: {'key_1': value_1, 'key_2': value_2}
  • search_barcode(self, params)
    @api.model
    Realize a product, if found, given a barcode. :param params: {'barcode': string, 'location': location_vals} :return: product_1_vals .. seealso:: _export_location() for location vals details _export_product() for product vals details

New fields (4)
  • mobile_inventory_allow_unknown Boolean
    default=False help='By checking this box, users will have the possibility to scan unknown barcodes. The quantities and the barcodes will be displayed in an extra tabs, in the inventory view. If unchecked, an error message will be displayed to the user if he scans unknown barcode' string='Allown Unknown Barcodes'
  • mobile_inventory_create Boolean
    default=True help='By checking this box, users will have the possibility to create an inventory by the Mobile App. Otherwise, you should create and prepare the inventory in the back-office' string='Create Inventories'
  • mobile_inventory_mode Selection
    default='automate' help="Mode of the Mobile App UI:\n * 'Automate': The UI will display one screen per action. (select a product, set a quantity, etc...\n * 'One page': A single page will let the user scan a product or a location or set a quantity in a single input field" selection=_MOBILE_INVENTORY_MODE_SELECTION string='Mobile App Inventory Mode'
  • mobile_inventory_product_field_ids Many2many → ir.model.fields
    comodel_name='ir.model.fields' domain=[('model', 'in', ['product.product'])] string='Product Fields'
Public methods (0)

No public methods.

New fields (3)
  • mobile_available Boolean
    default=True help='Check this box if you want to make this inventory visible on the Mobile App' string='Available on Mobile'
  • unknown_line_ids One2many → stock.inventory.unknown.line
    comodel_name='stock.inventory.unknown.line' inverse_name='inventory_id' string='Unknown Barcode Lines'
  • unknown_line_qty Integer
    compute='_compute_unknown_line_qty' store=True string='Unknown Barcode Lines Quantity'
Public methods (0)

No public methods.

New fields (3)
  • barcode Char
    readonly=True required=True string='Barcode'
  • inventory_id Many2one → stock.inventory
    comodel_name='stock.inventory' ondelete='cascade' required=True string='Inventory'
  • quantity Float
    readonly=True string='Quantity'
Public methods (0)

No public methods.

New fields (1)
  • mobile_available Boolean
    help='Check this box if you want to make this location visible on the Mobile App' string='Available on Mobile'
Public methods (1)
  • onchange_location_type(self)
    @api.onchange('usage')
REPOSITORY
REPOSITORYOCA/stock-logistics-barcode
GIT
GIThttps://github.com/OCA/stock-logistics-barcode.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-barcode/tree/7.0/mobile_app_inventory
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYStock
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), GRAP
COMMITTERS
COMMITTERSSylvain LE GAL, OCA Transbot
WEBSITE
WEBSITEhttp://www.grap.coop
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - process
    - web
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - account
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
See README.rst file

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_res_company_form res.company xpath Inherits base.view_company_form
view_stock_inventory_form stock.inventory field Inherits stock.view_inventory_form
view_stock_inventory_tree stock.inventory field Inherits stock.view_inventory_tree
Models touched (5)

New fields (0)

No new fields.

Public methods (1)
  • mobile_app_inventory_load_product(self, cr, uid, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • check_group(self, cr, uid, group_ext_id, context=None)

New fields (0)

No new fields.

Public methods (3)
  • add_inventory_line_by_scan(self, cr, uid, id, location_id, product_id, qty, mode, context=None)
    Add a new line in the current inventory @param id: the inventory id; @param location_id, product_id ; @qty : the quantity to set or to add depending of the mode; @mode : 'ask': Do nothing if there is a duplicate line; 'add': Add quantity to the duplicate line; 'replace': Replace quantity of the duplicate line; return: {'state': 'write_ok'}: Update / creation OK {'state': 'many_duplicate_lines'}: Too many duplicate lines. not possible to process {'state': 'duplicate', qty: xxx}: There is a duplicate. Qty is the current quantity
  • compute_inventory_line_qty(self, cr, uid, ids, name, args, context=None)
  • create_by_scan(self, cr, uid, name, context=None)

New fields (0)

No new fields.

Public methods (1)
  • compute_parent_complete_name(self, cr, uid, ids, name, args, context=None)