Skip to main content

Decoding API for GS1-128 (aka UCC/EAN-128) and GS1-Datamatrix

Project description

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

GS1 Barcodes

This module provides an API to decoding the content of structured barcodes like GS1-128 or GS1-Datamatrix.

GS1-128 (formerly known as UCC-128, EAN 128 or UCC/EAN-128), and GS1-Datamatrix are standards for encoding item identification and logistics data. Physically, GS1-128 is represented as a 1-dimension Code-128 barcode and GS1-Datamtrix is represented as a 2-dimensions Datamatrix barcode.

When those barcodes are read, their content can be decode into multiple values using a set of standard “Application Identifiers”. For example, most pharmacy items have a GS1-Datamatrix barcode containg their GTIN, lot number and expiry date.

This module does not directly allow you to print or scan barcodes. Instead, the focus of this module is on decoding the data contained in barcodes. To this end, it provides objects to fine-tune the Application Identifiers and the associated data types.

Table of contents


You can use the functionality provided by this module in your own customization or other OCA modules.

Known issues / Roadmap

Group separator

When an “Application Identifiers” has variable-length data, the barcodes must contain a special character (<GS>, group separator) but as this is not an ASCII character. Some barcode readers will not include this character: decoding the structured data will then be impossible. Other readers will translate GS1 to ASCII character 29, but this character is not printable, and some applications may not record it. Yet other readers will let you configure how to map <GS>, which may help improve compatibility.

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.



  • Numérigraphe



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

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page