# How to Set Up Wholesale Pricing & Customer Groups

> Source: https://blog.wcart.io/wholesale-pricing-customer-groups/  
> Published: 2026-08-25 · Author: wcart_admin  
> A hands-on guide to wholesale pricing customer groups: group structures, fixed vs percentage vs tiered pricing, tax display, approval-gated signup, and quotes.

---

**Quick answer:** To set up wholesale pricing and customer groups, first create the customer groups that match how you actually sell (for example Retail, Wholesale, and VIP). Then assign approved buyers to a group, define group-specific prices using either fixed prices, percentage discounts, or quantity (tiered) breaks, and decide whether wholesale prices show tax-exclusive and require login to view. Finally, gate registration behind an approval step so only verified B2B buyers see trade pricing. In Wcart this is configured under customer groups and product pricing rules, and it works alongside minimum-order quantities and request-a-quote for larger deals.

*By the Wcart team, we build and support white-label ecommerce and multi-vendor marketplace software, so this is written from hands-on platform experience.*

Selling at one flat price to everyone works fine right up until you land real buyers. Distributors who order in cases. Repeat accounts who’ve earned loyalty pricing. Trade customers who expect tax-exclusive quotes. Once those show up, you need **wholesale pricing customer groups**: a way to show different prices to different people, automatically, without spreadsheets or manual discount codes. This guide walks through the full setup, the decisions that trip merchants up, and the gotchas we see most often.

Table of Contents

[Toggle](#)

- [What customer groups actually do](#What_customer_groups_actually_do)
[Common group structures](#Common_group_structures)

- [The three ways to price for a group](#The_three_ways_to_price_for_a_group)
[Fixed prices](#Fixed_prices)
- [Percentage discounts](#Percentage_discounts)
- [Quantity / tiered pricing](#Quantity_tiered_pricing)

- [Step-by-step setup in Wcart](#Step-by-step_setup_in_Wcart)
[1. Create your customer groups](#1_Create_your_customer_groups)
- [2. Set group-level rules](#2_Set_group-level_rules)
- [3. Apply pricing to products](#3_Apply_pricing_to_products)
- [4. Gate registration with approval](#4_Gate_registration_with_approval)
- [5. Test as a real buyer](#5_Test_as_a_real_buyer)

- [Decisions that trip merchants up](#Decisions_that_trip_merchants_up)
[Tax-inclusive vs tax-exclusive display](#Tax-inclusive_vs_tax-exclusive_display)
- [Hiding prices until login](#Hiding_prices_until_login)
- [Minimum order quantity and value](#Minimum_order_quantity_and_value)
- [Stacking with promotions](#Stacking_with_promotions)

- [When groups are not enough: move to quotes](#When_groups_are_not_enough_move_to_quotes)
- [Frequently asked questions](#Frequently_asked_questions)
[What is the difference between wholesale pricing and a coupon code?](#What_is_the_difference_between_wholesale_pricing_and_a_coupon_code)
- [Can one product have several different prices at once?](#Can_one_product_have_several_different_prices_at_once)
- [Should wholesale prices show tax-inclusive or tax-exclusive?](#Should_wholesale_prices_show_tax-inclusive_or_tax-exclusive)
- [How do I stop competitors from signing up for wholesale pricing?](#How_do_I_stop_competitors_from_signing_up_for_wholesale_pricing)
- [How many customer groups should I create?](#How_many_customer_groups_should_I_create)
- [Can group pricing be combined with sale prices and coupons?](#Can_group_pricing_be_combined_with_sale_prices_and_coupons)
- [Do I need a minimum order for wholesale?](#Do_I_need_a_minimum_order_for_wholesale)

- [Related guides](#Related_guides)

## What customer groups actually do

A customer group is a label attached to a buyer account that the store uses to decide which prices, visibility rules, and checkout behaviors apply. Think of it as a switch. The same product can carry several prices, and the buyer’s group determines which one they see. Everyone starts in a default group (usually “Retail” or “General”), and you create additional groups for the segments you treat differently.

The power is that groups are *account-level*, not cart-level. Once a buyer is approved into the Wholesale group, every visit shows their pricing. No codes to remember, no risk of a public coupon leaking. This is the foundation of B2B selling, and the difference between a consumer store with a discount field and a genuine trade channel.

### Common group structures

Most stores need fewer groups than they think. Start lean and add only when a real pricing difference justifies it. A typical structure looks like this:

- **Retail / General**, the public, list-price default for anonymous and consumer shoppers.

- **Wholesale**, approved trade buyers who see tax-exclusive, discounted pricing and often face a minimum order value.

- **VIP / Tier 2 wholesale**, high-volume accounts that earn deeper discounts than standard wholesale.

- **Staff / Internal**, optional, for team purchases at cost.

Resist the urge to create a group per customer. If pricing genuinely differs per account, that is a sign you need negotiated quotes (see our [Request-a-Quote (RFQ) workflow guide](https://blog.wcart.io/request-a-quote-b2b-workflow)) rather than dozens of micro-groups that become impossible to maintain.

## The three ways to price for a group

Wholesale pricing isn’t a single mechanism. It’s a choice between three pricing models, and you can mix them across your catalog. Picking the right one per product range is the single biggest factor in keeping the setup maintainable.

Method |
How it works |
Best for |
Watch out for |

**Fixed group price** |
You set an explicit price per product for the group. |
Hero SKUs, contract pricing, products with thin margins where you need exact control. |
Manual to maintain across a large catalog; easy to forget when costs change. |

**Percentage discount** |
The group gets X% off list price automatically. |
Broad catalogs where a consistent margin rule applies (e.g. all wholesale = 30% off). |
Can erode margin on already-discounted or low-margin lines if applied blindly. |

**Quantity / tiered breaks** |
Price drops as order quantity crosses thresholds (e.g. 10+, 50+, 100+). |
Case-pack and volume selling; encouraging larger orders. |
Tier boundaries must align with how customers actually buy, or they feel arbitrary. |

### Fixed prices

A fixed group price overrides everything else for that product and group. Use it where precision matters more than convenience: a flagship product, a private-label line, or anything where a percentage rule would produce an ugly or unprofitable number. The cost is upkeep. Every fixed price is a value you have to revisit when your costs move.

### Percentage discounts

A blanket percentage is the lowest-effort way to launch wholesale. Set “Wholesale = 30% off list” once and the entire catalog inherits it. The risk is uniformity. A 30% cut is healthy on a 70%-margin item and ruinous on a 20%-margin one. Many merchants apply percentages at the category level so high-margin and low-margin ranges can carry different rules.

### Quantity / tiered pricing

Tiered breaks reward volume and are the heart of true wholesale. The art is in the thresholds. Set them where they nudge buyers up a level they were already close to. If customers naturally order 8 units, a break at 10 pulls them up; a break at 500 they will never reach is just decoration. Keep the number of tiers small (three is plenty for most catalogs) so the table stays readable on a product page.

## Step-by-step setup in Wcart

Here is the order of operations we recommend. Doing it in this sequence avoids the rework that comes from pricing products before your groups and tax rules exist.

### 1. Create your customer groups

In the admin, define each group with a clear internal name and a customer-facing label if it is ever shown. Keep the list short. Mark which group is the default for new self-service signups.

### 2. Set group-level rules

For each group decide the cross-cutting behavior: whether prices display tax-inclusive or tax-exclusive, whether pricing is hidden until login, and whether a minimum order value applies. Wholesale buyers almost always expect tax-exclusive (net) pricing, and getting this wrong is the most common complaint we hear after launch.

### 3. Apply pricing to products

Now layer prices onto the catalog using the three methods above. Start with a default percentage for the whole group, then override specific products or categories with fixed or tiered pricing where the percentage does not fit. This “broad rule plus targeted overrides” pattern scales far better than pricing every SKU by hand.

### 4. Gate registration with approval

Open public signup to the Wholesale group and you will collect competitors and bargain hunters. Instead, let buyers *request* a wholesale account, collect a business identifier (tax/VAT/EIN or a resale certificate), and approve manually or with a lightweight check. Until approved, the buyer stays in the Retail group and sees public pricing.

### 5. Test as a real buyer

Create a test account in each group and walk the full path: browse, add to cart, hit any minimum-order rule, and reach checkout. Confirm the displayed price, the tax treatment, and the totals all match what you intended. Pricing bugs are invisible to you as an admin. You have to shop your own store. The one that bites people: a percentage rule and a tiered break both apply to the same SKU, and the totals quietly land lower than either was meant to. You won’t catch that from the admin grid, only from the cart.

## Decisions that trip merchants up

### Tax-inclusive vs tax-exclusive display

Retail shoppers usually want to see the price they pay (tax included). Trade buyers want the net figure they can reclaim or resell against (tax excluded). Set this per group, not globally. If your jurisdiction has strict display rules, check them. Guidance on consumer price display varies by region and is summarized well on [Wikipedia’s VAT overview](https://en.wikipedia.org/wiki/Value-added_tax).

### Hiding prices until login

Some B2B sellers hide all pricing from anonymous visitors so competitors cannot scrape the catalog and so wholesale numbers never appear publicly. This protects margin but adds friction, and it can hurt how product pages are understood by search engines. Google’s own guidance on serving the same content to users and crawlers is worth reading before you gate everything. See [Google Search Essentials](https://developers.google.com/search/docs/essentials). A common middle ground is to show retail prices publicly and reveal wholesale pricing only after login.

### Minimum order quantity and value

Wholesale economics usually require a floor, either a minimum order value or per-product minimum quantities (case packs). Decide whether the floor is enforced at the cart level (block checkout until met) or merely suggested. Enforced floors keep small unprofitable orders out; suggested floors are friendlier but leak margin.

### Stacking with promotions

Decide early whether group pricing can combine with coupons and sale prices. Letting a wholesale buyer stack a percentage group discount on top of a public sale and a coupon is a fast route to selling below cost. Here’s what actually happens if you leave it open: someone forwards a “20% off everything” promo email to their whole purchasing team, and you spend a Monday morning cancelling orders. Most stores set group prices as the floor and disallow further automatic stacking for wholesale groups.

## When groups are not enough: move to quotes

Customer groups handle *standardized* tiers beautifully. They struggle when every large account negotiates bespoke pricing, freight, and terms. At that point, forcing each deal into its own group becomes unmanageable. The cleaner pattern is a request-a-quote workflow where the buyer assembles a cart and submits it for a custom quote, which your team prices individually. Groups and quotes are complementary: groups serve your repeatable trade tiers, quotes handle the one-off enterprise deals. We cover the full setup in the [RFQ workflow guide](https://blog.wcart.io/request-a-quote-b2b-workflow), and the broader strategy in our [B2B ecommerce platform guide](https://blog.wcart.io/b2b-ecommerce-platform-guide).

If you are evaluating whether your current store can support all of this natively, [explore the Wcart platform](https://www.wcart.io). Wholesale pricing, customer groups, approval-gated registration, minimum orders, and RFQ are built in rather than bolted on with plugins.

## Frequently asked questions

### What is the difference between wholesale pricing and a coupon code?

A coupon is a one-time, cart-level discount that anyone with the code can use, so it can leak publicly. Wholesale pricing is account-level, it is tied to a customer group, applies automatically on every visit, and is only visible to approved buyers. Wholesale pricing is the durable, scalable way to run a trade channel; coupons are for short-term promotions.

### Can one product have several different prices at once?

Yes. A single product can carry a public list price plus separate prices for each customer group, and within a group it can also have quantity-based tiers. The buyer’s group and order quantity determine which price they actually see and pay.

### Should wholesale prices show tax-inclusive or tax-exclusive?

Trade buyers almost always expect tax-exclusive (net) pricing because they reclaim or resell against it, while retail shoppers usually want tax-inclusive prices. Set the display rule per customer group rather than globally, and confirm it complies with the price-display rules in your jurisdiction.

### How do I stop competitors from signing up for wholesale pricing?

Gate wholesale registration behind an approval step. Collect a business identifier such as a tax/VAT ID, EIN, or resale certificate at signup, keep the applicant in the default retail group until you approve them, and only then move them into the wholesale group so they see trade pricing.

### How many customer groups should I create?

Fewer than you expect, typically Retail plus one or two wholesale tiers. Create a new group only when a genuine, repeatable pricing difference justifies it. If pricing differs per individual account, use a request-a-quote workflow instead of creating a group per customer.

### Can group pricing be combined with sale prices and coupons?

It can, but you should decide the rule deliberately. Allowing a group discount to stack on top of a sale price and a coupon can push orders below cost. Most merchants treat the group price as the floor for wholesale buyers and disable further automatic stacking.

### Do I need a minimum order for wholesale?

Not technically, but wholesale economics usually call for one. You can enforce a minimum order value or per-product case-pack quantities at the cart level to keep small, unprofitable orders out, or apply them as soft suggestions if you prefer a lower-friction experience.

## Related guides

- [B2B Ecommerce Platform Guide: Wholesale Selling Online](https://blog.wcart.io/b2b-ecommerce-platform-guide) (hub)

- [Request-a-Quote (RFQ) Workflow for B2B Stores](https://blog.wcart.io/request-a-quote-b2b-workflow)

- [Wcart, white-label ecommerce & marketplace platform](https://www.wcart.io)
