Multiple Prices based on User in Craft Commerce This is my first time using Craft Commerce.  I have a client which needs to have multiple prices for a product.  Customers are in one of three price level groups.  Each price level group has a price unique to them as a variant.  How do I get only the one variant for the appropriate price?

Here is what I tried, but returned all the variants for each price level instead of just one.

                &lt;select name="purchasableId"&gt;
                    {% set purchasable = craft.commerce.products %}
                    {% for purchasable in product.variants %}
                        &lt;option 
                            {% if purchasable.stock &lt;= 0 and purchasable.unlimitedStock == false %}disabled {% endif %} 
                            value="{{ purchasable.purchasableId }}"&gt;

                                Product Number: {{ product.stockDescription1 }} | 
                                Price: 

                                {% if currentUser.isInGroup( 'priceLevelOne' ) %}

                                    {% set variant = craft.commerce.variants %}
                                    {% for variant in product.variants %}
                                        {% if variant.priceLevel1 == 1 %}
                                            Product Number: {{ product.stockDescription1 }} |
                                            Price:
                                            {{ variant.price|currency(cart.currency) }}
                                        {% endif %}
                                    {% endfor %}

                                {% elseif currentUser.isInGroup( 'priceLevelTwo' ) %}

                                    {% set variant = craft.commerce.variants %}
                                    {% for variant in product.variants %}
                                        {% if variant.priceLevel1 == 2 %}
                                            Product Number: {{ product.stockDescription1 }} |
                                            Price:
                                            {{ variant.price|currency(cart.currency) }}
                                        {% endif %}
                                    {% endfor %}


                                {% elseif currentUser.isInGroup( 'priceLevelThree' ) %}

                                    {% set variant = craft.commerce.variants %}
                                    {% for variant in product.variants %}
                                        {% if variant.priceLevel1 == 3 %}
                                            Product Number: {{ product.stockDescription1 }} |
                                            Price:
                                            {{ variant.price|currency(cart.currency) }}
                                        {% endif %}
                                    {% endfor %}

                                {% endif %}
                        &lt;/option&gt;
                    {% endfor %}
                &lt;/select&gt;
User groups are not a FieldType so you can create a category that matches the title of the userGroup or put the actual category as a field on the User and the Variant. Then in your template do something like this:

{% set userGroup = currentUser.userGroup.first() %}

{% set variants = craft.commerce.variants.product(product).relatedTo(userGroup) %}

This would probably be the best way since you aren't reliant on string matching a title to find the correct variants.