# Differences

This shows you the differences between two versions of the page.

vovanin [How to handle Quantity for line items]
vovanin [How to handle Quantity for line items]
Line 1: Line 1:
+====== Handling Quantities ======
+
+
+===== Problem =====
+
+There are a few different ways that you can handle the quantity for an attribute and its values. Quantity can be entered by a user for an attribute at the attribute level or at the attribute value level. This is determined by what the attribute is set as at in the Attribute administration section. The goal is to demonstrate the few ways to handle quantities for main and line items. \\
+
+
+
+
+===== Solution =====
+
+
+==== How to handle quantity for Main item/Product =====
+
+
+=== Use Case 1: ItemQuantity for Main Item Quantity ===
+
+
+A special attribute added to a products configuration named **ItemQuantity** can be used to control the quantity of the main item in the cart. The system looks specifically for the attribute named **ItemQuantity**. This will not only control the main item, but if any pricing schemes are attached to it, then prices in the cart will be affected also.
+There are a few different ways that you can use the **ItemQuantity** attribute as highlighted below. \\
+   - You can expose the attribute to the user so that they can pick their quantity, which will then be reflected in the cart.  In this situation you would likely not allow the users to edit the quantity of the main item in the cart.  Quantity for the product would be handled within the configuration.
+   - Calculate ItemQuantity as a hidden attribute, which then is reflected in the cart.  ItemQuantity in this situation would be based on selections made from the user.
+   - Calculate pricing base on ItemQuantity, then allow users to edit the quantity in the cart.  This situation is ideal for products which offer discounts when higher quantities are purchased. For example, a product may cost \$5 when buying 1, \$9 when buying two, or \$13 when buying three. If a user adds the product to the cart with a quantity of 1, the price will be \$5.  If when in the cart they change the quantity to 2, then the system passes that new quantity back into the configuration through the ItemQuantity attribute.  Because pricing is based off this attribute, the price of the product will change accordingly.  \\
+
+
+=== Use Case 1.1 - Number of Users ===
+
+Let’s assume, to determine the main item quantity for a license renewal based on number of users.  Create an attribute named **ItemQuantity**. If you want users to enter desired quantities, then set the display type as **free input, no matching**. In this example, the user picks quantity from pre-defined values in a dropdown and the total price will be the number of users multiplied by the sum of all item options.\\
+
+;#;//Total Price = (Number of Users * price of selected options)//;#;
+
+
+==== How to handle Quantity for line items ====
+
+**//List As Line Item//** – If checked, Attributes (options) marked as line items will be listed as separate items in the shopping cart and in the quote. If checked, the Attribute will show up in the Quote/Cart separate from the Product being configured or base product. If the attribute is set for multiple selections, such as a check box or multi-select listbox, then each selected attribute will be displayed as a separate line item in the cart/quote.\\
+
+**//Inherit Quantity from Parent//** - Determines if the quantity of this attribute changes when the quantity of the main product changes. Make sure this is checked for line items that inherits quantity from the main item.\\
+
+;#;//Product Attribute definition page//;#;
+
+<note>Quantity propagation works properly for the maximum second level propagation. What this means is that, if your attribute has been listed as line item, **Inherit Quantity from Parent** option has been checked off, and product reference is used, it would result in the correct quantity and price in parent product responder (that is, product in which that line item attribute is located).
+
+But, if that product is a child product itself, the child’s parent product will not end up having the correct quantity and prices for the line item attribute in the referenced product in responder; that is, it would always display the default product quantity and price.
+</note>
+
+**Quantity for line items can be handled by using:**\\
+