OdooWiki OCA HUB

Sale Input Barcode GS1

sale_input_barcode_gs1 folder_open OCA/stock-logistics-barcode open_in_new
Tools License: AGPL-3

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.0

Scan 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.

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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation 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.0

Optionnaly 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 False

No verified information in OCA: Installation, Usage.

info

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.