This question has been flagged
4 Replies
8454 Views

I would like to assign custom EAN13 codes for all products.

Is there any easy option to generate an EAN13 code for every new product?

It might be something simple like a sequence which is increased for every product introduced in the database, prefixed with the right manufacturer code and with the right appended control digit

Avatar
Discard
Best Answer

Hi,

Since none of the samples added actual code and only referred to apps to download I decided to add a minimal code sample for whoever lands here after:

import random

class ProductTemplate(models.Model):
_inherit = "product.template

def generate_new_ean13(self):
return self.env['barcode.nomenclature'].sudo().sanitize_ean(str("%0.13d" % random.randint(0, 999999999999)))

This will generate a random EAN13 based on a random number from 0-999999999999. By using Odoo's default "sanitize_ean" function Odoo will make sure it is a validly formatted EAN13.

Note: don't forget to cover some duplicate checks ;)

Regards,
Yenthe

Avatar
Discard
Author Best Answer

I tried https://www.odoo.com/apps/modules/8.0/product_barcode_generator/, without success.

I installed the module and reload everything.

I see you can select a sequence both in company and in product category. I populated both and tried to create a new product. Nothing happens to product EAN13 field

I wonder if this is just for POS (I am not using POS). or if I am just missing how it works.

I also tried to look for more specific documentation but I was not able to find it.

Avatar
Discard

Button 'Generate the EAN13' is visible only on product.product view (Product Variant view) not on product.template view. And works on demand.

Best Answer

this module is not automatically because you must use button.

https://www.odoo.com/apps/modules/8.0/product_barcode_generator/

Avatar
Discard