Repository
OCA/stock-logistics-barcode · module folder · Try on Runboat
Module version
2.0.0
Category
Stock
Folder size
3.01 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://www.odoo-community.org
Last tracking update
2026-08-07 07:03:09
Authors
Akretion, Odoo Community Association (OCA), GRAP
Maintainers
Akretion, Odoo Community Association (OCA), GRAP
Committers
GitHub, OCA-git-bot, oca-travis, Juanjo
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
view_res_company_form res.company form Inherits base.view_company_form
view_stock_inventory_form stock.inventory form Inherits stock.view_inventory_form
view_stock_inventory_tree stock.inventory tree Inherits stock.view_inventory_tree
view_stock_location_form stock.location form Inherits stock.view_location_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

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')

Loading…