A price in an EU store is regulated from the first digit on the product page to the last line before the order button. Two directives carry almost all of it: the Price Indication Directive 98/6/EC, which governs the selling price, the unit price and, since the Omnibus amendment, every price reduction; and the Consumer Rights Directive 2011/83/EU, which governs the total price, delivery charges, the order button and personalised prices. Both reach a Shopify store anywhere in the world as soon as it sells to consumers in the EU. This page lists the rules side by side and links to the Omnibus library for the one that catches most stores.
In short
- Selling price: final, with VAT and all taxes, clearly legible (98/6/EC, Articles 2 to 4).
- Unit price: per kilo, litre, metre, square or cubic metre for goods sold by quantity (98/6/EC, Article 3).
- Total price: with delivery and all charges, shown right before the order button (2011/83/EU, Articles 6 and 8).
- Discounts: the lowest price of the prior 30 days next to every reduction (98/6/EC, Article 6a).
- Personalised prices: say so before the order (2011/83/EU, Article 6(1)(ea)).
- Enforcement: national authorities and national penalties. The Omnibus Directive's 4% of turnover floor for the fine ceiling in cross-border cases sits in the Consumer Rights Directive (Article 24) and the Unfair Commercial Practices Directive, not in Directive 98/6/EC.
1. The five rules, side by side
| Rule | Legal source | What it asks | On Shopify |
|---|---|---|---|
| Selling price with VAT | Directive 98/6/EC, Articles 2 and 3 | The price shown is the final price for a unit of the product, including VAT and all other taxes, unambiguous, easily identifiable and clearly legible. | Set tax-inclusive prices for your EU markets. A net price with tax added at checkout is not a selling price. |
| Unit price | Directive 98/6/EC, Articles 2 to 5 | Goods sold by weight, volume, length or area also show the price per kilogramme, litre, metre, square metre or cubic metre, unless it equals the selling price. Countries may exempt products where a unit price would not help. | Fill in the unit price fields on each variant (quantity, unit and base measure) so the theme shows it next to the price. |
| Total price before the order | Directive 2011/83/EU, Articles 6(1)(e) and 8(2) | Right before the consumer orders: the total price with taxes, delivery and any other charges, or how they are calculated. The button reads "order with obligation to pay" or words as plain. | Shopify checkout shows the total with shipping and taxes before the pay button; keep the button wording unambiguous and show delivery charges early. |
| The prior price on every discount | Directive 98/6/EC, Article 6a (added by Directive (EU) 2019/2161) | Every announcement of a price reduction shows the lowest price the trader applied in the 30 days before it, and the discount is measured from that price. | Shopify keeps no price history, so the store needs a dated record per variant and market and a line on the product page. Compare-at price alone does not meet it. |
| Personalised prices | Directive 2011/83/EU, Article 6(1)(ea) | Where a price was personalised on the basis of automated decision-making, the consumer is told before the order. | Most stores do not personalise prices. If you do, say so on the product page and in checkout. |
2. The selling price and the unit price
Directive 98/6/EC defines the selling price as the final price for a unit of the product, or for a given quantity of it, including VAT and all other taxes (Article 2). It must be indicated for every product a trader offers to consumers (Article 3) and be unambiguous, easily identifiable and clearly legible (Article 4). For a store that sells into several EU countries this means tax-inclusive prices per market, not one net price with tax added at the end.
The unit price is the same final price per kilogramme, litre, metre, square metre or cubic metre, or per another single unit widely used in that country. It accompanies the selling price for goods sold by quantity, unless the two are identical. Countries may waive it for products where it would not be useful or would confuse (Article 5), and some kept a transitional waiver for small retail businesses (Article 6), so the exact list differs between Germany, France, Poland and the rest. Shopify's unit price fields on the variant cover the display once you know which products need it.
3. The total price and the order button
The Consumer Rights Directive adds the checkout side. Before the consumer is bound, the trader gives the total price inclusive of taxes, or the manner in which it is calculated, plus all additional freight, delivery or postal charges, or the fact that they may be payable (Article 6(1)(e)). Article 8(2) then requires the main characteristics, the total price and the contract length to appear directly before the consumer places the order, and the order button to be labelled “order with obligation to pay” or in a similarly unambiguous way. An order placed through a button that hides the payment obligation does not bind the consumer.
4. Price reductions: the 30-day prior price
Article 6a, added to Directive 98/6/EC by the Omnibus Directive (EU) 2019/2161 and applicable since 28 May 2022, is the rule most stores get wrong. Any announcement of a price reduction must indicate the prior price, defined as the lowest price the trader applied during a period of not less than 30 days before the reduction. The percentage off is measured from that price. Several countries add their own display rules: Poland requires a separate “lowest price in the 30 days before the reduction” line on every discounted product, and the Netherlands, Portugal, Hungary, Croatia and Germany expect it in practice. Our 30-day prior price guide covers the edge cases, and Omnibus rules by country lists the wording each market expects.
5. Personalised prices
Where a price was personalised on the basis of automated decision-making, the consumer must be told before the order (Directive 2011/83/EU, Article 6(1)(ea), also added by the Omnibus Directive). Dynamic pricing that changes for everyone, such as a price that rises as stock runs out, is not personalised. Pricing that depends on who the shopper is, is.
6. Who enforces it
Each EU country enforces both directives through its own consumer authority and its own penalties. The Omnibus Directive added one common floor to the Consumer Rights Directive (Article 24) and the Unfair Commercial Practices Directive: in coordinated cross-border cases the maximum fine must reach at least 4% of the trader's annual turnover in the member states concerned, or at least EUR 2 million where turnover data is not available. Directive 98/6/EC got no such floor; its Article 8 only asks for effective, proportionate and dissuasive penalties, so a wrong prior price meets the 4% rule only when it is treated as a misleading practice. For the national detail, read Omnibus fines explained.
7. First steps for a Shopify store
- Switch each EU market to tax-inclusive pricing and check that the product page and checkout show the same number.
- List the products sold by weight, volume, length or area and fill in their unit price fields.
- Show delivery charges, or the fact that they apply, before checkout, and keep the order button unambiguous.
- Keep a dated price record per variant and market, and show the lowest price of the prior 30 days on every discount.
- If you personalise prices, say so on the product page and before the order.
Sources (EUR-Lex): Directive 98/6/EC (price indication, Article 6a), Directive 2011/83/EU (consumer rights), Directive (EU) 2019/2161 (Omnibus).
Frequently asked questions
Must a Shopify store show prices with VAT to EU consumers?
Does every product need a unit price?
What must appear right before the order button?
Where is the 30-day prior price rule?
Do I have to say when a price is personalised?
