Productos o variantes en Odoo?

Gustavo Orrillo
- 06/02/2022 - 1 min. de lectura


Una pregunta que surge en muchos productos es sobre la diferencia entre productos y variantes. O cuando se debe activar la opción de "Variantes". Y la verdad, esa separación es algo que confunde bastante a los usuarios. 

Un producto puede tener una o más variantes. Pero siempre tiene mínimo una variante. Cada vez que se crea un producto (modelo product.template) se crea también una variante (modelo product.product). Esto se debe al modelo de herencia que implementa la herencia por delegación. Por que la diferencia entre productos y variantes? Porque no uno solo? Porque nos encontramos conque hay productos (por ejemplo las remeras) que tienen múltiples atributos (como el color o el tamaño) entonces su administración es más sencillo separando al producto genérico (el producto) de los atributos (las variantes).

Cuando debe usarse esta funcionalidad? Primero recomiendo que la habiliten, ya que hace más facil el uso de los menues por parte de los usuarios. Ahora, a menos que sean un e-commerce o trabajen con MercadoLibre, no la usen. Por que? El utilizar atributos para clasificar productos parece una idea buenísima. Pero es dificil de mantener, sobre todo para los programadores. Supongamos que usted necesite hacer una consulta de las ventas para los productos de tamaño Small, o productos cuyo color sea amarillo. Como lo va a hacer? A menos que cuente con la columna tamaño o color en el producto, no lo puede hacer.

O supongamos que quiere aplicar una regla a las órdenes de producción donde solo se pueden consumir los productos del mismo espesor. Va a hacer el control a nivel atributos? O va a implementar una columna extra llamada espesor que implemente dicho dato. O supongamos que quieren conocer el stock de todos los productos de color naranja. Como lo haría con los atributos de las variantes?

Es por estos motivos prácticos que conviene siempre no utilizar las variantes. A menos que este trabajando con un e-commerce o con MercadoLibre, abstengase de utilizar variantes. Los programadores que van a tener que hacer mantenimiento al sistema se lo van a agradecer.


Acerca de:

Gustavo Orrillo

Passionate about programming, he has implemented Odoo for different types of businesses since 2010. In Moldeo Interactive he is a founding Partner and Programmer; In addition to writing on the Blog about different topics related to the developments he makes.