Wholesale means selling goods in bulk to businesses that resell them or use them in their own operations. Retail means selling single units to consumers. The product can be identical; the buyer, the price, the order size and the information that buyer needs are not.
Most comparisons stop there and ask you to pick one model. Plenty of brands run both: a webshop for consumers, plus trade accounts for shops, salons, hotels or installers. This guide covers that hybrid case: how to price one product for two audiences, how tier prices and minimum order quantities work, and which fields in your catalog have to differ between the trade record and the consumer record.
Wholesale and retail side by side: buyer, price, order size and paperwork
- Buyer: wholesale sells to a business with a VAT number and a resale purpose; retail sells to a private person.
- Price shown: trade prices are usually shown excluding VAT and can differ per customer group or contract; consumer prices in the EU must include VAT.
- Order size: wholesale orders come in cases, with a minimum order quantity (MOQ) and order multiples; retail orders are single units.
- Payment: trade buyers often pay on invoice terms such as 30 days; consumers pay at checkout.
- Margin per unit: lower on wholesale, higher on retail, but retail carries the cost of marketing, picking single units, parcel shipping and returns.
- What the buyer reads: a trade buyer scans for pack size, case price, lead time and barcode; a consumer reads the description, looks at photos and checks size, delivery and returns.
That last line is the one that shapes your product data. A buyer at a garden center ordering 48 planters wants to know how many fit in a carton and when the next batch ships. A consumer buying one planter wants to know whether it has a drainage hole and how it looks on a balcony. Same SKU, different questions.
Pricing one product for both channels: wholesale price, RRP and keystone
Hybrid brands usually set prices from the bottom up: unit cost, then a wholesale price that leaves the brand a margin, then a recommended retail price (RRP) that leaves the reseller one. A common shortcut is keystone pricing, where the retail price is double the wholesale price. As Shopify explains, that is a 100% markup and roughly a 50% margin for the retailer.
Your own webshop then sells at that same RRP. If you undercut your stockists online, they stop reordering, so the RRP is also your direct price floor in practice. Markup and margin are easy to confuse here: a 100% markup on EUR 9.00 adds EUR 9.00, while the margin is EUR 9.00 out of EUR 18.00, which is 50%.
Worked example: a 350 ml stoneware mug for three kinds of buyer
Take a stoneware mug, 350 ml, sage glaze, with a landed unit cost of EUR 4.20. The brand sells it wholesale at EUR 9.00 excluding VAT for small orders, with lower tier prices for larger ones. Keystone gives EUR 18.00 excluding VAT, or EUR 21.78 including 21% Dutch VAT, which the brand rounds to an RRP of EUR 21.95 (EUR 18.14 excluding VAT). These figures are illustrative.
Example mug: brand gross profit per unit by channel and tier
Illustrative example| Channel and order size | Gross profit per unit (EUR) |
|---|---|
| Own webshop at RRP | €13.94 |
| Wholesale, 12 to 47 units | €4.80 |
| Wholesale, 48 to 95 units | €4.30 |
| Wholesale, 96+ units | €3.80 |
The direct sale looks far better per unit, but it is one mug in one parcel with a payment fee and a return risk. The wholesale order is 48 mugs in eight cartons on one invoice. Compare channels on profit after fulfillment and acquisition cost, not on gross margin alone, and write down the floor price you will not go below for each tier.
Tier prices and customer groups instead of one wholesale price
Very few brands have a single wholesale price. Trade buyers get quantity breaks (lower unit prices at higher volumes) and customer-group prices (a different list for distributors, independent shops or hospitality). Both need to live in structured fields, not in a PDF price list someone updates by hand.
Platforms model this in different ways. Adobe Commerce sets tier prices per website, customer group and quantity, as a fixed price or a percentage off the regular price. Shopify B2B uses catalogs with volume pricing and quantity rules, allowing up to 10 price breaks per product, and Shopify's help center lists B2B on its Basic, Grow, Advanced and Plus plans. Whatever the platform, the price break quantities should line up with your case pack, which the next section covers.
In WISEPIM, volume discounts and customer groups sit next to the product data: a discount can apply to selected products, a category or the whole catalog, for all customers or specific groups, with a start and end date. Separately, channel pricing rules add a markup per channel, feed or brand portal on export, with a margin floor, so your stored prices stay as they are.
MOQ, case packs and order multiples belong in the product record
A minimum order quantity is only useful if the buyer can see it before they build an order. Three numbers work together:
- Case pack (units per case): how many consumer units ship in one outer carton. For the mug: 6.
- Order multiple (increment): the step size an order must follow. Set it to the case pack, 6, so nobody orders 13 mugs and forces you to split a carton.
- MOQ: the smallest order you accept. Two cases, so 12 units. Shopify calls this a minimum quantity rule and applies it per variant.
Make your price breaks multiples of the case pack too: 12, 48 and 96 in the example. Shopify enforces this for B2B catalogs, where price break quantities must be above the minimum and multiples of the increment. A tier at 50 units on a product packed in sixes invites support tickets.
The case barcode is usually an ITF-14 or GS1-128 symbol carrying a GTIN-14, which is different from the EAN-13 on the consumer unit. Our barcode types guide covers which symbol goes where.
Where a trade record and a consumer record differ, field by field
Most fields are shared: name, brand, material, dimensions of the unit, care instructions, images. The differences sit in pricing, logistics and tone. Here is the mug, field by field.
Stoneware mug: retail record vs wholesale record
| Price | EUR 21.95 including 21% VAT | EUR 9.00 excluding VAT, per unit |
|---|---|---|
| Tier prices | None | 12+: 9.00, 48+: 8.50, 96+: 8.00 |
| Sell unit | 1 mug | Case of 6 |
| MOQ and order multiple | None | MOQ 12, multiples of 6 |
| Lead time | Ships in 1 to 2 days | In stock: 5 working days; reorder: 6 weeks |
| Barcode | EAN-13 on the unit | Unit EAN-13 plus case GTIN-14 (ITF-14) |
| Dimensions and weight | Unit: 9 x 12 cm, 380 g | Unit plus carton: 30 x 20 x 13 cm, 2.6 kg |
| Title | Stoneware Mug 350 ml, Sage Glaze | Stoneware Mug 350 ml Sage, Case of 6 |
| Description | Feel, use, gift angle, care | Specs, pack, display tips, reorder info |
| Images | Lifestyle, in hand, detail of the glaze | Packshot, case, shelf or display set-up |
| Returns | EU 14-day withdrawal right | Your trade terms |
Keep the shared attributes in one place. If the glaze color is "sage" in the trade catalog and "mint" on the webshop, a stockist will put the wrong label on the shelf and a consumer will return the mug because it looked different.
Consumer sales add EU price rules a trade buyer does not trigger
In the EU, the Price Indication Directive (98/6/EC) covers products offered by traders to consumers. The selling price must be the final price including VAT and all other taxes, and products sold by weight or volume need a unit price, for example per kilogram or per liter. A trade price list excluding VAT is fine for a business buyer; the same number on a consumer page is not.
So if the same brand sells 250 g bags of coffee next to its mugs, the consumer page shows EUR 8.95 and EUR 35.80 per kg, while the trade record shows a case price excluding VAT. Store net weight and content as numbers with a unit so the unit price can be calculated, not typed. The unit price calculator shows the arithmetic. Consumer rules on withdrawal and returns also apply only to the retail side, which is why the returns row in the table differs.
One master record, two published catalogs
The practical setup for a hybrid brand is one master record per product with every shared attribute, plus the trade and consumer fields described above, and then two outputs: the consumer webshop or marketplace listing, and the trade channel. The trade channel can be a B2B storefront, a price list, a dealer portal or a file export to distributors.
One product record feeding trade and consumer channels
WISEPIM covers the product data side of this. Brand Portals publish a live, read-only catalog with the products and columns you choose, optionally behind a password, which stockists can browse, download or import into their own WISEPIM project. A pricing rule can show trade prices on that portal while the webshop gets the RRP. The free price list template is an option if you still send spreadsheets.
What WISEPIM does not do: it has no ERP connector, so contract prices per individual account, credit limits and live stock usually stay in your ERP or B2B platform. Decide which system owns each field before you connect anything.
Channel conflict when you sell direct next to your stockists
Selling direct earns more per unit, and your stockists know it. The friction points are predictable: you discount online while they pay full trade price, you launch new colors on your webshop weeks before they can order them, or your product pages outrank theirs with better copy and images.
- Keep your own webshop at the RRP you recommend to stockists, and announce sales to them before they go live.
- Release new products to the trade catalog first, or at the same time, so stockists can preorder.
- Give stockists the same images and descriptions you use, through a portal or export, so their pages are not worse than yours.
- Reserve some variants or bundles for wholesale accounts if you want a reason for shops to carry you.
Some brands go further and set a minimum advertised price. Our guide to MAP policy covers how that works and where it stops; WISEPIM does not monitor or enforce MAP.
Five hybrid catalog errors that cost margin or trust
- Tier breaks that ignore the case pack. A break at 50 on a product packed in sixes forces split cartons or confused buyers.
- Trade prices leaking into consumer feeds. One wrong column mapping and Google Shopping shows EUR 9.00 for a mug your stockists sell at EUR 21.95.
- VAT shown the wrong way round. Consumer pages excluding VAT break EU price rules; trade pages including VAT make you look expensive to buyers who reclaim it.
- Two copies of the shared attributes. Separate trade and consumer spreadsheets drift apart within one season: colors, materials and dimensions stop matching.
- No lead time on the trade side. Shops plan shelf space months ahead; a product without a reorder lead time is a product they cannot plan.
If you already run a wholesale catalog and want to see how a PIM handles supplier files, dealer data and B2B portals, the PIM for wholesalers page covers it, and the B2B ecommerce features guide lists what trade buyers expect from the store itself. WISEPIM keeps one record per product, with customer groups, volume discounts and per-channel pricing rules on top, and publishes it to your webshop, a brand portal or an export.

