Stock Barcodes

It provides read barcode on stock operations.
  • Odoo Version

Terms and Conditions 

Stock Barcodes

Beta License: AGPL-3 OCA/stock-logistics-barcode Translate me on Weblate Try me on Runbot

This module provides a barcode reader interface for stock module.

This module contains a base wizard read barcode that can be extended by other modules.

This module also makes use of this wizard for providing barcode support for doing inventories and picking operations.

Table of contents


Barcode interface for inventory operations

To use the barcode interface on inventory:

  1. Go to Inventory > operations > Inventory Adjustments.
  2. Create new inventory with "Select products manually" option.
  3. Start inventory.
  4. Click to "Scan barcodes" smart button.
  5. Start reading barcodes.

Barcode interface for picking operations

You can use the barcode interface in a picking or an operation type, the main difference is that if you open the barcode interface from a picking, this picking is locked and you read products for it.

To use the barcode interface on picking operations:

  1. Go to Inventory.
  2. Click on scanner button on any operation type.
  3. Start reading barcodes.

To use the barcode interface on a picking:

  1. Go to Inventory > Transfers.
  2. Click to "Scan barcodes" smart button.
  3. Start reading barcodes.

The barcode scanner interface has two operation modes. In both of them user can scan:

  1. Warehouse locations with barcode.
  2. Product packaging with barcode.
  3. Product with barcode.
  4. Product Lots (The barcode is name field in this case).

Automatic operation mode

This is the default mode, all screen controls are locked to avoid scan into fields.

The user only has to scan barcode in physical warehouse locations with a scanner hardward, the interface read the barcode and do operations in this order:

  1. Try search a product, if found, is assigned to product_id field and creates or update inventory line with 1.0 unit. (If product has tracking by lots the interface wait for a lot to be scanned).
  2. Try search a product packaging, if found, the product_id related is set, product quantities are updated and create or update inventory line with product quantities defined in the product packaging.
  3. Try search a lot (The product is mandatory in this case so you first scan a product and then scann a lot), this lot field is not erased until that product change, so for each product scann the interface add or update a inventory line with this lot.
  4. Try to search a location, if found the field location is set and next scan action will be done with this warehouse location.

If barcode has not found, when message is displayed you can create this lot scanning the product.

Manual entry mode

You can change to "manual entry data" to allow to select data without scanner hardware, but hardward scanner still active on, so a use case would be when user wants set quantities manually instead increment 1.0 unit peer scan action.

Scan logs

All scanned barcodes are saved into model. Barcode scanning interface display 10 last records linked to model, the goal of this log is show to user other reads with the same product and location done by other users. User can remove the last read scan.

Known issues / Roadmap

  • Excute action_done() method outside onchange environment.
  • Allow create product when a barcode has not been found.
  • Allow to select picking reading its barcode.
  • Allow to select multiple pickings to process scanned products.

Changelog (2019-09-24)

  • [ADD] New feature. User can uses barcode interface in picking operations.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.



  • Tecnativa


  • Tecnativa:
    • Sergio Teruel
    • Carlos Dauden
    • Pedro M. Baeza


This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/stock-logistics-barcode project on GitHub.

You are welcome to contribute. To learn how please visit

This is a preview of the recently viewed products by the user.
Once the user has seen at least one product this snippet will be visible.

Recently viewed Products