This module builds on sale_input_barcode, making use of the full barcode information given by a barcode/datamatrix device.
This module may also create lot and/or select lot if used in combination with sale_order_lot_selection
auto_awesome What this module does
AI-generated from the code · Odoo 14.0Scan GS1 barcodes (with GTIN, lot and expiry date) to add sale order lines, automatically finding or creating the matching lot.
This module extends the barcode input on sale orders so that full GS1 barcodes (the kind used on product packaging, often as a datamatrix) can be scanned instead of simple product barcodes.
When a user scans a GS1 barcode, the system decodes all the information it contains. It requires a valid GTIN (the product identifier) and refuses the scan with an error message if that segment is missing.
If the barcode also contains a lot number, the module looks for an existing lot with that number for the scanned product. If no lot exists, it creates a new one automatically, using the lot number and the expiry date read from the barcode. This new lot is linked to the product and to the current company.
The module works on the product.barcode.line.mixin model, which is the shared logic behind barcode line creation. It does not add menus or screens of its own; it changes the behaviour of the existing barcode scanning feature in sales. It depends on base_gs1_barcode for decoding and on sale_input_barcode for the sale order barcode input.
Developers can override the lot creation method to change what happens when an unknown lot is scanned, for example to block the scan instead of creating a lot.
Depends on
Models and fields (1)
- product.barcode.line.mixin · extends an existing model
Text generated by AI (DeepSeek) from reading the Odoo 14.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/stock-logistics-barcode.
terminal Installation and usage
OCA documentation · Odoo 14.0Configuration
Source · Odoo 14.0Optionnaly you may prevent to create unknown lot if you add this code in your custom code.
class SaleOrderLine(models.Model):
_inherit = "sale.order.line"
def _create_unknown_lot(self, barcode):
return FalseNo verified information in OCA: Installation, Usage.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.