[IMP] Sales: updating product variants overview and config
closes odoo/documentation#1036 Task: 2055940 Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
@ -1,225 +1,187 @@
|
|||||||
======================
|
================
|
||||||
Using product variants
|
Product variants
|
||||||
======================
|
================
|
||||||
|
|
||||||
Product variants are used to manage products having different
|
Product variants are used to give single products a variety of different characteristics, such as
|
||||||
variations, like size, color, etc. It allows managing the product at the
|
size and color. Products using variants can be managed at the product template level (for all
|
||||||
template level (for all variations) and at the variant level (specific
|
attributes and variants of that product), and/or at the variant level (for individual variants).
|
||||||
attributes).
|
|
||||||
|
|
||||||
As an example, a company selling t-shirts may have the following
|
As an example, a company selling t-shirts may have the following product:
|
||||||
product:
|
|
||||||
|
|
||||||
- B&C T-shirt
|
- T-shirt
|
||||||
|
|
||||||
- Sizes: S, M, L, XL, XXL
|
- Color: Blue, Red, White, Black
|
||||||
- Colors: Blue, Red, White, Black
|
- Size: S, M, L, XL, XXL
|
||||||
|
|
||||||
In this example, **B&C T-Shirt** is called the product template and
|
In this example, the **T-Shirt** is the product template, and **T-Shirt, S, Blue** is a product
|
||||||
**B&C T-Shirt, S, Blue** is a variant. Sizes and color are
|
variant. **Color** and **size** are the attributes. **S** and **Blue** are values.
|
||||||
**attributes**.
|
|
||||||
|
|
||||||
The above example has a total of 20 different products (5 sizes x 4
|
The above example has a total of 20 different product variants (5 sizes x 4 colors). Each one of
|
||||||
colors). Each one of these products has its own inventory, sales, etc.
|
these has its own inventory, sales, etc.
|
||||||
|
|
||||||
Impact of variants
|
|
||||||
==================
|
|
||||||
|
|
||||||
- **Barcode**: the code and barcode is associated to a variant, not the
|
|
||||||
template. Every variant may have its own barcode / SKU.
|
|
||||||
|
|
||||||
- **Price**: every product variant has its own public price that is
|
|
||||||
computed based on the template price ($20) with an optional extra
|
|
||||||
for every variant (+$3 for color red). However, you can define
|
|
||||||
pricelist rules that apply on the template or the variant.
|
|
||||||
|
|
||||||
- **Inventory**: the inventory is managed by product variant. You don't
|
|
||||||
own t-shirts, you only own "T-shirts, S, Red", or "T-Shirts, M,
|
|
||||||
Blue". For information purpose, on the product template form, you
|
|
||||||
get the inventory that is the sum of every variant. (but the
|
|
||||||
actual inventory is computed by variant)
|
|
||||||
|
|
||||||
- **Picture**: the picture is related to the variant, every variation
|
|
||||||
of a product may have its own primary picture.
|
|
||||||
|
|
||||||
- **Other fields**: most of the other fields belongs to the product
|
|
||||||
template. If you update them, it updates automatically all the
|
|
||||||
variants. (example: Income Account, Taxes)
|
|
||||||
|
|
||||||
Should you use variants?
|
|
||||||
========================
|
|
||||||
|
|
||||||
When should you use variants?
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
Using variants has the following impacts:
|
|
||||||
|
|
||||||
- **eCommerce**: in your online shop, the customer will only see
|
|
||||||
product templates in the catalog page. Once the visitor click on
|
|
||||||
such a product, he will have options to choose amongst the
|
|
||||||
variants (colors, sizes, …)
|
|
||||||
|
|
||||||
- **Manufacturing**: Using variants allows to define only one bill of
|
|
||||||
material for a product template and slight variations for some of
|
|
||||||
the variants. Example: instead of creating a Bill of Material for
|
|
||||||
"T-shirt, Red, S", you create a bill of material for "T-shirt"
|
|
||||||
and add some lines that are specific to the dimension S, and
|
|
||||||
other lines specific to the color Red.
|
|
||||||
|
|
||||||
- **Pricing**: The default price of a product is computed using the
|
|
||||||
price of the product template and add the optional extra price on
|
|
||||||
each dimension of the variant. This way, variant prices are
|
|
||||||
easier to maintain since you don't have to set the price for
|
|
||||||
every variant. However, it's possible to create pricelist rules
|
|
||||||
to fix price per variants too.
|
|
||||||
|
|
||||||
When should you avoid using variants?
|
|
||||||
-------------------------------------
|
|
||||||
|
|
||||||
Using variants may add a level of complexity on the way you use Odoo.
|
|
||||||
You should consider using variants only if you need it to reduce the
|
|
||||||
complexity of managing lots of products that are similars.
|
|
||||||
|
|
||||||
As an example, importing your initial product catalog is more complex if
|
|
||||||
you use variants. You can't just import a list of products, you must
|
|
||||||
import product templates and all their related variations.
|
|
||||||
|
|
||||||
In addition to that, you should also carefully select the dimensions
|
|
||||||
that you manage as separate product templates and those as variants. As
|
|
||||||
an example, a company having these products:
|
|
||||||
|
|
||||||
- Quality: T-Shirts, Polos, Shirts
|
|
||||||
|
|
||||||
- Color: Red, Blue
|
|
||||||
|
|
||||||
- Size: S, M, L, XL
|
|
||||||
|
|
||||||
In such a use case, you could create 1 template with three dimensions of
|
|
||||||
variants (Layout, T-Shirts, Polos). But, it's recommended to create two
|
|
||||||
different product templates as T-shirts may highly differ from polos or
|
|
||||||
shirts and customer expect to see these as two different products in the
|
|
||||||
e-Commerce:
|
|
||||||
|
|
||||||
- Product Template: T-shirt
|
|
||||||
|
|
||||||
- Color: Red, Blue
|
|
||||||
- Size: S, M, L, XL
|
|
||||||
|
|
||||||
- Product Template: Polos
|
|
||||||
|
|
||||||
- Color: Red, Blue
|
|
||||||
- Size: S, M, L, XL
|
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Activate the variant feature
|
Activating product variants
|
||||||
----------------------------
|
---------------------------
|
||||||
|
|
||||||
Before you can use product variants, you must first activate the product
|
To use product variants, go to :menuselection:`Sales --> Configuration --> Settings -->
|
||||||
variants in the settings. To do so, you must go to the Sales app. In the
|
Product Catalog`, and enable the :guilabel:`Variants` feature. Finally, click :guilabel:`Save` to
|
||||||
menu :menuselection:`Configuration --> Settings`, locate the **Products Variants** line,
|
apply the setting.
|
||||||
and tick the option **Products can have several attributes**, then click
|
|
||||||
on **Apply**.
|
|
||||||
|
|
||||||
.. image:: variants/variant01.png
|
.. image:: variants/activating-variants-setting.png
|
||||||
:align: center
|
:align: center
|
||||||
|
:alt: Activating product variants.
|
||||||
|
|
||||||
Creating products with variants
|
Creating attributes
|
||||||
-------------------------------
|
-------------------
|
||||||
|
|
||||||
Once you have activated the variant option, you can add variants to your
|
Attributes need to be created before product variants can be set up. Attributes can be accessed
|
||||||
products. To do so, go to the Sales module, :menuselection:`Sales --> Products`.
|
via :menuselection:`Sales --> Configuration --> Products --> Attributes`.
|
||||||
It is also accessible from the Purchase and inventory modules.
|
|
||||||
|
|
||||||
Now, click on the product you wish to add variants to.
|
.. note::
|
||||||
|
The order of attributes on the :guilabel:`Attributes` page dictates how they appear on the
|
||||||
|
:guilabel:`Product Configurator`, :guilabel:`Point of Sale` dashboard, and :guilabel:`eCommerce`
|
||||||
|
pages.
|
||||||
|
|
||||||
In the product page, a new tab called Variants has appeared. The number
|
To create a new attribute, click :guilabel:`Create`. First, choose an attribute name, such as
|
||||||
in purple written on top is the number of variants this product
|
"Color" or "Size."
|
||||||
currently has. To add new variants, click on the tile. In the new
|
|
||||||
window, click on **Create**.
|
|
||||||
|
|
||||||
In **Attributes**, click on the rolldown menu and select the type of
|
.. image:: variants/attribute-creation.png
|
||||||
variance you wish to add. If the variant does not yet exist, you can
|
|
||||||
create it on the fly by clicking on Create and edit…
|
|
||||||
|
|
||||||
.. image:: variants/variant02.png
|
|
||||||
:align: center
|
:align: center
|
||||||
|
:alt: Attribute creation window.
|
||||||
|
|
||||||
In the Attributes window, the **Value** field is the description of the
|
Then, select a :guilabel:`Display Type`, which determines how this product will be shown on the
|
||||||
attribute such as Green, Plastic or 32GB. The **Attribute** field is the
|
:guilabel:`eCommerce` page, :guilabel:`Point of Sale` dashboard, and :guilabel:`Product
|
||||||
type of variant such as Color, Material or Memory.
|
Configurator`.
|
||||||
|
|
||||||
.. image:: variants/variant03.png
|
- :guilabel:`Radio`: options appear in a bullet style list.
|
||||||
|
- :guilabel:`Select`: options appear in a dropdown menu.
|
||||||
|
- :guilabel:`Color`: options appear as small colored squares, which reflect any HTML color codes
|
||||||
|
set.
|
||||||
|
|
||||||
|
.. image:: variants/display-types.png
|
||||||
:align: center
|
:align: center
|
||||||
|
:alt: Display Types on Product Configurator.
|
||||||
|
|
||||||
You can add a cost for the variant on the fly by adding it in the
|
The :guilabel:`Variants Creation Mode` informs Odoo when to automatically create a new variant once
|
||||||
**Attribute Price Extra** field, or choose to modify it later. Click on
|
an attribute is added to a product.
|
||||||
**Save**.
|
|
||||||
|
|
||||||
You can also add a different barcode and internal reference to the
|
- :guilabel:`Instantly`: creates all possible variants as soon as attributes and values are added
|
||||||
variant.
|
to a product template.
|
||||||
|
- :guilabel:`Dynamically`: creates variants only when corresponding attributes and values are added
|
||||||
|
to a sales order.
|
||||||
|
- :guilabel:`Never`: never automatically creates variants.
|
||||||
|
|
||||||
When you have entered all the specifications of the variant, click on
|
.. note::
|
||||||
**Save**.
|
Once added to a product, an attribute's :guilabel:`Variants Creation Mode` cannot be edited.
|
||||||
|
|
||||||
Managing Product Variants
|
Values should be added to an attribute before saving, but more values can be added at any time,
|
||||||
=========================
|
if needed. To add a value, click :guilabel:`Add a line`. From there, you can:
|
||||||
|
|
||||||
Introduction
|
#. Type in the value's name.
|
||||||
------------
|
#. Check a box to indicate whether or not the value is custom (i.e. the customer provides unique
|
||||||
|
specifications).
|
||||||
|
#. Specifically for colors, add an HTML color code to make it even easier for salespeople and
|
||||||
|
customers to know what they're selecting.
|
||||||
|
|
||||||
The examples below are all based on this product template that has two
|
A color code can be selected either by dragging the slider around or by entering a specific HTML
|
||||||
variant attributes :
|
color code (e.g. #FF0077).
|
||||||
|
|
||||||
- T-Shirt B&C
|
.. image:: variants/picking-a-color.png
|
||||||
|
|
||||||
- Color: Red, Blue, White
|
|
||||||
|
|
||||||
- Size: S, M, L, XL, XXL
|
|
||||||
|
|
||||||
Managing combination possibilities
|
|
||||||
----------------------------------
|
|
||||||
|
|
||||||
By default, with the above product template, you get 15 different
|
|
||||||
products (3 colors, 5 sizes). If the XXL size only exists for red and
|
|
||||||
blue t-shirts, you can deactivate the white product variant.
|
|
||||||
|
|
||||||
To do this, click on the **Variants** button, select the XXL, White
|
|
||||||
T-shirt. From the product form, uncheck the **Active** box of the T-shirt
|
|
||||||
White, XXL.
|
|
||||||
|
|
||||||
.. image:: variants/variant04.png
|
|
||||||
:align: center
|
:align: center
|
||||||
|
:alt: Selecting a color.
|
||||||
|
|
||||||
|
Finally, click :guilabel:`Save` to finish creating the attribute.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
|
Attributes can also be created directly from the product template by adding a new line and
|
||||||
|
typing the name into the :guilabel:`Variants` tab.
|
||||||
|
|
||||||
That deactivating a product is different than having an inventory of 0.
|
After an attribute is added to a product, a new tab appears on the attribute's page called
|
||||||
|
:guilabel:`Related Products`. This tab lists every product in the database that is currently using
|
||||||
|
the attribute.
|
||||||
|
|
||||||
|
Creating product variants
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
After creating an attribute, use the attribute to create a product variant by going to
|
||||||
|
:menuselection:`Sales --> Products --> Products`. Then, select an existing product and click
|
||||||
|
:guilabel:`Edit`, or create a new product by clicking :guilabel:`Create`.
|
||||||
|
|
||||||
|
The :guilabel:`Variants` smart button at the top of the product template indicates the number of
|
||||||
|
currently configured variants on the product.
|
||||||
|
|
||||||
|
To add a new variant, click on the :guilabel:`Variants` tab, then click on :guilabel:`Add a line`
|
||||||
|
to add any attributes and values. When all the attributes and values have been added, click
|
||||||
|
:guilabel:`Save`.
|
||||||
|
|
||||||
|
.. tip::
|
||||||
|
Similar product variant creation processes are accessible through the Purchase, Inventory, and
|
||||||
|
eCommerce applications.
|
||||||
|
|
||||||
|
Managing product exclusions
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
The following examples are all based on a product template that has two attributes:
|
||||||
|
|
||||||
|
- T-Shirt
|
||||||
|
|
||||||
|
- Color: Blue, Red, White
|
||||||
|
- Size: S, M, L, XL, XXL
|
||||||
|
|
||||||
|
With the above product template, there are 15 different t-shirt variants in three different colors
|
||||||
|
and five different sizes. If the white t-shirts are not available in the XXL size, then that
|
||||||
|
variant can be deactivated.
|
||||||
|
|
||||||
|
To deactivate a particular product variant, go to :menuselection:`Sales --> Products --> Products`
|
||||||
|
and select the relevant product. Next, click on the :guilabel:`Configure Variants` button, open the
|
||||||
|
relevant product variant attribute value form (in this example, the :guilabel:`White Color`
|
||||||
|
attribute), and then click on :guilabel:`Edit`.
|
||||||
|
|
||||||
|
In the :guilabel:`Exclude for` section, click :guilabel:`Add a line` and select any product(s)
|
||||||
|
and/or specific attribute values that are currently unavailable. Finally, click :guilabel:`Save` to
|
||||||
|
apply the setting, and Odoo will automatically show the product variant as unavailable on the
|
||||||
|
eCommerce page.
|
||||||
|
|
||||||
|
.. image:: variants/attributes-exclusions.png
|
||||||
|
:align: center
|
||||||
|
:alt: Excluding attributes.
|
||||||
|
|
||||||
Setting a price per variant
|
Setting a price per variant
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
You can add a cost over the main price for some of the variants of a
|
Extra costs can be added to a product's standard price for specific product variants.
|
||||||
product.
|
|
||||||
|
|
||||||
Once you have activated the variant option, you can add variants to your
|
To do this, open :menuselection:`Sales --> Products --> Products`, and click on the relevant
|
||||||
products. To do so, go to the Sales module, open :menuselection:`Sales --> Products`
|
product. Next, click on :guilabel:`Configure Variants` to access the list of product variant
|
||||||
and click on the product you want to modify. Click on the **Variant Prices**
|
values.
|
||||||
button to access the list of variant values.
|
|
||||||
|
|
||||||
.. image:: variants/variant05.png
|
Then, click on a variant value, and :guilabel:`Edit`. In the :guilabel:`Value Price Extra` field,
|
||||||
|
type in the additional cost for this particular value. This amount is added to the standard price.
|
||||||
|
Finally, click :guilabel:`Save` to apply the extra price to the value.
|
||||||
|
|
||||||
|
.. image:: variants/value-price-extra.png
|
||||||
:align: center
|
:align: center
|
||||||
|
:alt: Value Price Extra setting.
|
||||||
|
|
||||||
Click on the variant name you wish to add a value to, to make the 3
|
Impact of variants
|
||||||
fields editable. In the **Attribute Price Extra** field, add the cost of
|
==================
|
||||||
the variant that will be added to the original price.
|
|
||||||
|
|
||||||
.. image:: variants/variant06.png
|
- :guilabel:`Barcode`: barcodes are associated with each variant instead of the product template.
|
||||||
:align: center
|
Each individual variant can have its own unique barcode/SKU.
|
||||||
|
|
||||||
When you have entered all the extra values, click on **Save**.
|
- :guilabel:`Price`: every product variant has its own public price, which is the sum of the
|
||||||
|
product template price and any extra charges for particular attributes. For example, a red
|
||||||
|
shirt's cost is $23 because the shirt's template price is $20, plus an additional $3 for the red
|
||||||
|
color variant. Pricelist rules can be configured to apply to the product template or to the
|
||||||
|
variant.
|
||||||
|
|
||||||
.. seealso::
|
- :guilabel:`Inventory`: inventory is counted for each individual product variant. On the product
|
||||||
- `Accounting Memento: Details of Journal Entries
|
template form, the inventory reflects the sum of all variants, but the actual inventory is
|
||||||
</applications/finance/accounting/overview/main_concepts/memento.html#journal-entries>`_
|
computed by individual variants.
|
||||||
- :doc:`/applications/finance/accounting/getting_started/process_overview/supplier_bill`
|
|
||||||
|
- :guilabel:`Picture`: each product variant can have its own specific picture.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Changes to the product template automatically apply to every variant of that product.
|
||||||
|
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB |