.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 ============================================ Generate Barcodes for Products and Customers ============================================ This module expends Odoo functionnality, allowing user to generate barcode depending on a given barcode rule. For exemple, a typical pattern for products is "23.....{NNNDD}" that means that: * the EAN13 code will begin by '23' * followed by 5 digits (named Barcode Base in this module) * and after 5 others digits to define the variable price * a 13 digit control With this module, it is possible to: * Affect a pattern (barcode.rule) to a product.product or a res.partner * Generate the next Barcode base of a pattern. (to avoid duplicate barcode) * Generate a barcode, based on a pattern and a barcode base Installation ============ This module use an extra python librairy named 'pyBarcode' you should install to make barcode generation works properly. sudo pip install pyBarcode Configuration ============= To configure this module, you need to: * Go to Point Of Sale / Configuration / Barcode Nomenclatures and select * Select a Nomenclature * Create or select a rule .. image:: /barcodes_generate/static/description/barcode_rule_tree.png * Check 'Available for Products', or 'Available for Partners' Checkbox. .. image:: /barcodes_generate/static/description/barcode_rule_form.png Usage ===== To use this module, you need to: * Go to a Product form (or a Partner Form): * set a rule to the current object .. image:: /barcodes_generate/static/description/product_product_form_generate_base_barcode.png * Click on 'Generate Base and Barcode' .. image:: /barcodes_generate/static/description/product_product_form_generated.png Alternatively you can set manually a barcode base, and click only on Generate barcode. .. image:: /barcodes_generate/static/description/product_product_form_generate_barcode.png Try this module on Runbot .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot :target: https://runbot.odoo-community.org/runbot/184/9.0 Inheritance =========== If you want to generate barcode for another model, you can create a custom module that inherits on 'barcodes_generate' 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')]) Finally, you should inherit your model view adding buttons and fields. Note ---- Your model should have a field 'barcode' defined. Known issues / Roadmap ====================== 1. Dependency to point_of_sale is required because barcode field, defined in 'base' module (in the res.partner model), is defined in a 'point_of_sale' view. Furthermore, barcode nomenclature menu is available on Point Of Sale submenu. It's a relative problem, because product barcodes generation will occures mostly in a Point of Sale context. You could comment 'point_of_sale' dependencies if you want to use this module without point of sale installed. 2. On barcode.rule model, constraint and domain system could be set between 'type' and 'generate_model' fields. Bug Tracker =========== Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/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. Credits ======= Images ------ * Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_. * Icon of the module is based on the Oxygen Team work and is under LGPL licence: http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org.html Contributors ------------ * Sylvain LE GAL (https://twitter.com/legalsylvain) Maintainer ---------- .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org This module is maintained by the OCA. 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. To contribute to this module, please visit https://odoo-community.org.