Skip to Content
Menu
This question has been flagged

Hello there,


I'm looking for a way to add properties to products without extra coding.


Use case:

A company runs a wholesale operation that sells laptops. The product page has to store the laptops' properties (CPU, RAM, HDD, display size, has wifi, etc). The company also plans to introduce many new products shortly like mobile phones, etc. All the new product lines would require a completely different set of properties.


Is there such a way to do this without the company needing to touch code every time they introduce a new product, or just come up with a few new necessary properties? It's better if the method is end-user friendly and not developer-oriented. 


Odoo version is 13.


If this was already posted, just add the link to that post.


Thank you in advance!

Avatar
Discard
Best Answer

Product attributes in Odoo (which seem to be what you call "properties") can or can not create product variants, depending on the setting of such an attribute. If you create attributes, which do not create variants, then these attributes are descriptive only and available for search and filters (especially on the website). It is up to you and your business case, what is supposed to be a product (template) and what a product variant.

So variants are not a workaround, but a basic concept of product object modeling. You have to thoroughly understand Odoo's concepts of product modeling and adapt your vendor/business terms to the proper Odoo terms, such as properties and attributes, product types and product templates etc. You should also make yourself familiar with product categories, website product categories, product components (product kits using bill of materials) and product tracking (serial numbers) for example to complete a sound product object modeling suiting your business case.

Example:
Product template ASUS A123KY55:
If this product is only available in exact one specification/configuration, without any variants, then you simply define the relevant attributes, such as CPU, Processor, RAM, Storage etc. and enter the corresponding values without creating variants. Filtering and grouping is available by default.

If you want to avoid "pollution" of attribute values, you may want to create different attributes ("CPU" and "Mobile CPU" for example).

There are also third-party modules available to relate attributes to particular website categories, so that each website product category has its own set of attributes for filtering.

If you believe your product admins are not able to follow your product modeling guidelines, then you still can create custom modules to ensure proper data entry or just fire them.

These are just my 2 cents to help you get going with an appropriate product modeling.

Avatar
Discard
Author Best Answer

Hi Ricardo and thank you for your answer.

I'd argue with using variants in this case. Suppliers/manufacturers ship products with a specific configuration. Let's say I use variants to create Attributes for CPU, Memory, HDD type, etc. A supplier ships a product type under the name "ASUS A123KY55". This has a predefined set of properties (Intel i5 3GHz, 16 GB RAM, 128 GB SSD, etc). These can't be changed for the product.

Now I understand that variants can be used as a workaround to store these custom properties. There are a number of problems with this approach in this case though:

  1. Variants are optional. For these products, providing these data is mandatory and essential

  2. Variants are "multi-values". If an admin accidentally sets 2 values for a CPU under a product, 2 variants will be created for it instantly

  3. Can't filter and group them by default

  4. It's problematic to modify or add variants to existing products according to this article: https://odootricks.tips/about/odoo-applications/using-variants-colour-size-fit/

  5. If the type of products will be expanded, the values for certain variant attributes will expand greatly. If they start to sell mobile products, either the generic CPU attribute gets "polluted" with both notebook and mobile CPUs, or they create "CPU(Notebooks)" and "CPU(mobile)" attributes. Both approaches are horrible.

So yes, variants are one approach for it, but it's far away from good.

So my question still remains: is there a way to define a set of custom properties for certain product types without custom coding.

Avatar
Discard
Best Answer

Hi

You can solve this using Product variants: https://www.odoo.com/documentation/user/13.0/sales/products_prices/products/variants.html

BR

Ricardo

Avatar
Discard
Related Posts Replies Views Activity
1
May 15
5663
2
Jun 24
1279
4
May 24
4111
1
Apr 23
1154
2
Feb 23
1705