MSRP stands for manufacturer's suggested retail price: the price a brand or manufacturer recommends that retailers charge consumers for a product. It is a recommendation, not a rule. A retailer can sell at, above or below the MSRP, and in both the United States and the European Union a supplier may suggest a price as long as it does not force resellers to follow it. In Europe the same idea is usually called the RRP (recommended retail price); in Dutch it is the adviesprijs.
For sellers, MSRP matters in three places: when you set your own price against it, when you show it next to your price as a comparison, and when you store it in your product data and pass it to shops, feeds and resellers. Each has its own rules. This guide covers the definitions, how a suggested price is built, what US and EU law allow, how compare-at prices work in Shopify, and where the MSRP belongs in a product data model.
MSRP, RRP, SRP and list price compared
The terms overlap, but they are used in different contexts:
- MSRP (manufacturer's suggested retail price): the common US term, best known from cars and consumer electronics; car buyers also call it the sticker price. In the US it excludes sales tax, which is added at checkout.
- RRP (recommended retail price): the usual term in the UK and the EU. Because EU consumer prices must include VAT, an RRP for consumers is normally quoted including VAT.
- SRP (suggested retail price): a shorter form of MSRP, often used by distributors and importers that are not the manufacturer.
- List price: in B2B, the catalog price before trade discounts, volume tiers or negotiated customer prices. A wholesaler's list price is not necessarily a consumer price at all.
- Wholesale price: what the retailer pays the supplier. The gap between wholesale price and MSRP is the retailer's planned gross margin.
One more term often gets mixed in: the minimum advertised price. MAP limits the price a reseller may advertise and is treated very differently in US and EU law. We cover it separately in our guide to minimum advertised price policies, so this post sticks to recommended prices.
How brands set a suggested retail price, with a worked example
A brand usually works backward from the shelf. It starts with its wholesale price, adds the margin a retailer needs to stock and sell the product, adds consumer taxes where they belong in the shelf price, and rounds to a price point that fits the category. A common shortcut is keystone pricing: the suggested retail price is double the wholesale price, which gives the retailer a 50% gross margin on the net selling price (a 100% markup). Our markup calculator and profit margin calculator convert between the two.
From wholesale price to suggested retail price in three markets
| Wholesale price, excl. tax | USD 40.00 | EUR 40.00 | EUR 40.00 |
|---|---|---|---|
| Keystone (x2), net retail price | USD 80.00 | EUR 80.00 | EUR 80.00 |
| Consumer tax in the shelf price | none, sales tax added at checkout | 21% VAT: EUR 96.80 | 19% VAT: EUR 95.20 |
| Rounded suggested price | USD 79.99 | EUR 99.95 | EUR 94.95 |
| Retailer margin at that price, excl. tax | 50.0% | 51.6% | 49.9% |
The example is illustrative: real suggested prices also account for competing products, the price points shoppers expect in a category, shipping and return costs and any margin a distributor in between needs. The VAT calculator helps when you convert a net price into a consumer price for several EU countries. Rounding is where the markets drift apart: EUR 96.80 rounded up to 99.95 gives the Dutch retailer a little more margin, while EUR 95.20 rounded down to 94.95 gives the German retailer a little less.
Is MSRP legally binding? US and EU rules for recommended prices
No. In both markets a recommended price is lawful because it is a recommendation. The trouble starts when a supplier turns it into a fixed or minimum price. This section summarizes the rules; it is not legal advice.
United States: suggested prices and the rule of reason
A manufacturer may publish a suggested retail price, and retailers may ignore it. Agreements that set minimum resale prices used to be illegal per se, until the Supreme Court decided Leegin Creative Leather Products v. PSKS on 28 June 2007. The Court held that vertical price restraints are judged under the rule of reason, weighing pro-competitive and anti-competitive effects case by case. Some states still take a stricter view, which is one reason brands that want price discipline use a unilateral MAP policy rather than an agreed minimum price.
European Union: recommended prices versus resale price maintenance
In the EU, Regulation (EU) 2022/720 lists restricting a buyer's ability to set its own sale price as a hardcore restriction in Article 4(a). The same article explicitly allows a supplier to impose a maximum sale price or to recommend a sale price, provided that neither amounts to a fixed or minimum price as a result of pressure from, or incentives offered by, any of the parties.
The Commission's Guidelines on vertical restraints show where the line is. Paragraph 188 gives examples of a recommendation that turns into resale price maintenance: reimbursing a retailer's promotion costs only if it sticks to the recommended price, or threatening to cut supplies when it sells below. Paragraphs 198 to 200 add that recommended prices are covered by the block exemption when each party's market share stays at or below 30%, and that above that threshold the risk is that a strong brand's recommendation becomes a focal point that most resellers follow.
When an EU recommended retail price stays a recommendation
Showing the MSRP next to your price: comparison rules
Retailers like to print the MSRP next to their own price, struck through or labeled, because it makes the offer look better. That is allowed in principle, but it is a price comparison, and price comparisons have their own rules in both markets.
- EU, the 30-day rule does not apply to RRP comparisons as such. The Commission's guidance on Article 6a of the Price Indication Directive says that comparisons with other prices, including the manufacturer's recommended retail price, fall outside Article 6a and remain subject to the Unfair Commercial Practices Directive.
- EU, but it can apply if shoppers read it as a discount. The same guidance warns that a seller must make sure the average consumer does not perceive an RRP comparison as a price reduction. If the presentation makes it look like a reduction, it can breach both the unfair practices rules and Article 6a, which requires the struck-through price to be your own lowest price of the past 30 days.
- US, the list price must be a real selling price. Under the FTC's Guides Against Deceptive Pricing, 16 CFR 233.3, advertising a reduction from a manufacturer's list or suggested price is deceptive when that price is not one at which substantial sales are made in the retailer's trade area. A suggested price nobody charges is not a fair reference.
In practice that means labels. "RRP EUR 99.95" shown in plain text next to "Our price EUR 84.95" is a comparison. The same RRP struck through, with a red "-15%" badge, reads as a reduction, and then the EU 30-day rule applies to it. Use a different visual style for RRP comparisons than for your own sale prices, and only quote an RRP that the brand actually published for that market.
Compare-at price in Shopify and sale fields on other channels
Shopify has no MSRP field. It has a Compare-at price next to the Price of each variant. Shopify's help center tells you to put the original price in the compare-at field, and a sale only shows when the compare-at value is higher than the price. Your theme decides whether and where both prices appear on product and collection pages, and Shopify notes that a theme might add a badge with a message or a percentage off. Shopify does not check whether the compare-at value is your own former price, an RRP or something else; that responsibility stays with you.
So decide what your compare-at field means and stick to it across the catalog. Two clean options:
- Compare-at holds your own prior price only. Use it for real reductions, filled with your lowest price of the past 30 days for EU shoppers. Show the RRP elsewhere on the page, for example in a line under the price driven by a metafield.
- Compare-at holds the RRP. Then change the theme so the label says RRP rather than showing a generic struck-through price with a discount badge, and keep real sales in a separate flow.
Other channels follow the same split. WooCommerce has a regular price and a sale price. In Google Merchant Center, sale_price is meant for your own sale against the regular price you charged. None of these fields is built for an RRP, so an RRP passed into a sale field turns into a discount claim on that channel.
Where MSRP belongs in your product data model
In product data, the MSRP is a reference attribute, not your price. Keeping it apart from the fields that drive your selling price prevents the most common errors: an RRP exported as a sale price, a German RRP shown in a Belgian shop, or last year's RRP shown after the brand raised it. A practical attribute set looks like this:
- rrp_eur, rrp_gbp, msrp_usd: one decimal attribute per currency, or per market when VAT-inclusive prices differ between countries. Store consumer RRPs including VAT, and say so in the attribute name or description.
- rrp_valid_from: the date the brand's current price list took effect, so you can tell a current RRP from an outdated one.
- rrp_source: the price list or supplier file the value came from, which you will want when a shopper or regulator asks.
- price, sale price and cost: your own regular price, your own temporary price with start and end dates, and your purchase price. These drive what you charge and your margin; the RRP drives none of them.
Brands and wholesalers usually publish the RRP next to the wholesale price on a price list or line sheet, often as one column per market. Importing that file into a custom attribute instead of overwriting your price keeps the supplier's recommendation visible to your team without touching what you charge. Our price list template shows a column layout that keeps wholesale price, RRP and VAT apart.
Keeping RRP and channel prices apart in WISEPIM
WISEPIM has no dedicated MSRP field, no MAP feature and no price monitoring of other sellers. An RRP lives in a custom attribute you define, per currency or market, next to the product's own price, special price and cost price.
Your selling prices per channel come from pricing rules, which change the price at export time for a platform, one shop, a CSV or Excel export or a feed, without changing the price stored in WISEPIM. A rule can add a percentage markup or a fixed amount, calculate from cost with a markup or a target margin, or set a fixed price, then round to two decimals, whole numbers or charm endings of .99 or .95. Safeguards set a minimum or maximum price, a minimum margin and a maximum deviation from the base price, and rules can target products by brand, category or custom attributes.
For brands that sell to retailers, a Brand Portal publishes a read-only catalog with the products and columns you choose, including the price column and a custom attribute such as your RRP, so retailers can browse, download or import your current prices into their own WISEPIM project instead of working from an old spreadsheet.

