docs/user/how-to/regional-wholesale.mdx
Regional wholesale pricing lets you show different contracted prices to wholesale buyers depending on which market they're shopping in. For example, a US wholesale customer sees USD wholesale prices, while a German wholesale customer sees EUR wholesale prices — and both see prices different from what a standard retail customer would see.
In Spree, you do this by combining a Customer Group rule and a Market rule on each Price List, using Match All logic. This means the price list only applies when a customer belongs to the wholesale group and is browsing in the correct regional market.
In this guide, we'll set up regional wholesale pricing for a US-based store expanding into Germany and France, with dedicated wholesale tiers for all three markets.
Before you start, you should have your products set up with base USD prices. If you're new to multi-currency or wholesale pricing in Spree, it's worth reading these first:
Each region needs its own Market before you can target it with a regional price list. If your DE and FR markets are already set up, skip to Step 2.
Navigate to Settings → Markets and click New Market. Create the Germany market first:
GermanyGermanyEURDE or ENClick Create, then repeat to create the France market with Default Country set to France and Default Locale to FR or EN.
With EUR markets in place, you'll need to set a base EUR price on every product you want to sell in Germany and France. These base prices are what standard retail customers in those markets will see — your wholesale price lists will override them for wholesale buyers.
Navigate to Products, open each product, and use the currency switcher in the Pricing or Variants section to enter the EUR base price. See <u>Set Up Multi-Currency Pricing</u> for the full walkthrough.
<Warning>Any product without a EUR base price will not appear to customers browsing in the Germany or France markets, including your wholesale buyers. Make sure base EUR prices are set before creating your wholesale price lists.</Warning>
You'll need a single Customer Group to represent all your wholesale buyers across all regions. A single group works here because the regional split is handled by the Market rule on each price list — not by separate groups.
Navigate to Customers → Customer Groups and click New Customer Group.
Fill in the details:
Wholesale BuyersRegistered trade accounts across all markets)<Note>Alternatively, you could set up different Customer Groups for each market.</Note>
Click Create, then click Add Customers to add your wholesale accounts to the group. Repeat as you onboard new trade customers.
You'll now create three price lists — one per market. Each will use Match All logic with two rules: a Customer Group rule targeting Wholesale Buyers, and a Market rule targeting the relevant market. This combination ensures the price list only activates for wholesale customers in that specific region.
Navigate to Products → Price Lists and click New Price List.
US Wholesale PricingUSD wholesale prices for US trade accounts)Click Create to open the price list editor.
In the Rules section, set the match logic to Match All, then add two rules:
Click Add Products, select the products to include, then click Edit Prices. Make sure USD is selected in the currency switcher and enter the wholesale USD prices in the Price column.
Click Save, then click Activate (or Schedule if it has a future start date) to make the price list live.
Repeat the same process for Germany and France. For each:
Germany Wholesale Pricing and France Wholesale PricingClick Save and Activate for each.
<Note>Wholesale prices don't need to be the same across markets. You can set independent EUR prices for Germany and France — for example, to account for local market conditions or distributor agreements.</Note>
To confirm the setup is working correctly, log in to your storefront using a customer account that belongs to the Wholesale Buyers group.
If wholesale prices are not appearing, check that: