Skip to main content

Generate Barcodes for Any Models

Project description

Odoo Community Association

Generate Barcodes (Abstract)

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

This module extends Odoo functionality, allowing user to generate barcode depending on a given barcode rule for any Model.

For example, if the barcode pattern is “20…..{NNNDD}”:

  • the EAN13 code will begin with ‘20’,

  • followed by 5 digits (named Barcode Base in this module),

  • followed by 5 others digits to define the variable price with 2 decimals,

  • the last digit (the 13rd digit) is the control digit (i.e. the checksum).

With this module, it is possible to:

  • Affect a pattern (barcode.rule) to a model

  • Define a Barcode base:

    • manually, if the base of the barcode must be set by a user (typically an internal code defined in your company).

    • automatically by a sequence, if you want to let Odoo increment a sequence (typical case of a customer number incrementation).

  • Generate a barcode, based on the defined pattern and the barcode base

Table of contents

Installation

This module use an extra python library named ‘python-barcode’ you should install to make barcode generation works properly.

sudo pip install python-barcode

Configuration

To configure this module, you need to:

  • Go to Settings / Technical / Sequences & Identifiers / Barcode Nomenclatures

  • Select a Nomenclature

  • Create or select a rule

image

  • For manual generation, set:

    • ‘Base set Manually’ in ‘Generate Type’

    • Set the model

image1

  • For automatic generation, set:

    • ‘Base managed by Sequence’ in ‘Generate Type’

    • Set the model

    • Generate a new sequence by button, or affect a existing one

image2

In all cases, padding will be computed automaticaly, based on the number of ‘.’ in the Barcode Pattern field.

Usage

This module is an abstract module. You can configure Barcode Rule, but to enable this feature, you need to install an extra module for a given model. This repository provide ‘barcodes_generator_product’ and ‘barcodes_generator_partner’ module to generate barcode for product or partner model.

Alternatively, you can develop a custom module for a custom model. See ‘Inheritance’ parts.

If you want to generate barcode for another model, you can create a custom module that depend on ‘barcodes_generator_abstract’ and inherit your model like that:

class MyModel(models.Model):
    _name = 'my.model'
    _inherit = ['my.model', 'barcode.generate.mixin']

class barcode_rule(models.Model):
    _inherit = 'barcode.rule'

    generate_model = fields.Selection(selection_add=[('my.model', 'My Model')])

Eventually, you should inherit your model view adding buttons and fields.

Note

Your model should have a field ‘barcode’ defined.

Known issues / Roadmap

  • On barcode.rule model, constraint and domain system could be set between ‘type’ and ‘generate_model’ fields.

  • Cache is being cleared in a constraint in barcode.rule. Mutating in a constraint is bad practice & should be moved somewhere.

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 to smash it by providing a detailed and welcomed feedback.

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

Credits

Authors

  • GRAP

  • La Louve

  • LasLabs

Contributors

Other credits

Images

The migration of this module from 17.0 to 18.0 was financially supported by:

  • Camptocamp

Maintainers

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.

Current maintainer:

legalsylvain

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

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

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

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file odoo_addon_barcodes_generator_abstract-19.0.1.0.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for odoo_addon_barcodes_generator_abstract-19.0.1.0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a2e19568d0c4f103eaeeab6275431acda97c79d04ffb9b977906e490d921e6df
MD5 4e429e5c667e1eb1b3604bc0a2b5832d
BLAKE2b-256 a27a1dd445af25e54853566928f29813a78427120c0254a758c7d11f4c88e28e

See more details on using hashes here.

Supported by

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