Skip to content

Country-Specific EU Compliance Guide

While the European Union establishes a harmonized baseline for consumer rights, member states retain national variations in e-commerce law. Failure to adhere to these local rules (such as ordering button wording in Germany or warranty duration in Spain) can result in competitors issuing formal cease-and-desist letters (Abmahnungen) or regulatory fines.

Shoplex consolidates these member state specifics under the country_compliance module.


To apply destination-specific legal requirements before an order is placed, Shoplex determines the buyer’s country using a 5-step fallback hierarchy:

┌────────────────────────────────────────────────────────┐
│ 1. Active POST billing_country / country │
└──────────────────────────┬─────────────────────────────┘
│ (if empty)
┌──────────────────────────▼─────────────────────────────┐
│ 2. WooCommerce Session Billing Country │
└──────────────────────────┬─────────────────────────────┘
│ (if empty)
┌──────────────────────────▼─────────────────────────────┐
│ 3. WooCommerce Session Shipping Country │
└──────────────────────────┬─────────────────────────────┘
│ (if empty)
┌──────────────────────────▼─────────────────────────────┐
│ 4. WC_Geolocation IP Lookup │
└──────────────────────────┬─────────────────────────────┘
│ (if empty)
┌──────────────────────────▼─────────────────────────────┐
│ 5. Store Base Country (wc_get_base_location) │
└────────────────────────────────────────────────────────┘
  1. Active POST parameters: Reads billing_country or country during checkout submissions and background AJAX calculations (update_order_review).
  2. Customer session billing country: Reads WC()->customer->get_billing_country() from the current session.
  3. Customer session shipping country: Reads WC()->customer->get_shipping_country().
  4. Geolocation: Uses WC_Geolocation::geolocate_ip() based on customer IP address.
  5. Store base country: Falls back to the WooCommerce default store country (wc_get_base_location()).

Under Article 8(2) of Directive 2011/83/EU, online merchants must ensure that consumers explicitly acknowledge that placing an order implies an obligation to pay. Member states have codified specific, statutory wording that the final submission button must carry. Generic labels such as “Register”, “Continue”, or “Order” do not satisfy these requirements.

Country Code Statutory Button Label Legal Source
Germany DE Zahlungspflichtig bestellen § 312j Abs. 3 BGB
Austria AT Zahlungspflichtig bestellen § 8 FAGG
France FR Commande avec obligation de paiement Art. L. 221-14 Code de la consommation
Italy IT Ordina e paga Art. 51 comma 2 Codice del Consumo
Spain ES Pedido con obligation de pago Art. 98.2 Real Decreto Legislativo 1/2007
Poland PL Zamówienie z obowiązkiem zapłaty Art. 17 Ustawy o prawach konsumenta

Shoplex adjusts the button label across both WooCommerce checkout systems:

  • Classic Checkout: Uses the woocommerce_order_button_text filter.
  • Block Checkout: Enqueues an inline JavaScript filter using window.wc.blocksCheckout.registerCheckoutFilters:
window.wc.blocksCheckout.registerCheckoutFilters({
name: 'shoplex-country-compliance',
placeOrderButtonLabel: function(label, args) {
return localizedStatutoryLabel;
}
});

You can customize or override the default wording under WooCommerce > Shoplex settings > Country compliance.


Germany & Austria: PAngV § 6 & Button-Lösung

Section titled “Germany & Austria: PAngV § 6 & Button-Lösung”

German consumer protection law requires strict pricing transparency on product pages under the Preisangabenverordnung (PAngV).

Under § 6 PAngV, every displayed retail price must include:

  1. VAT disclosure: Indication that VAT is included (e.g., inkl. 19% MwSt.).
  2. Shipping cost disclaimer: Indication of whether shipping is charged separately (zzgl. Versandkosten).
  3. Direct shipping page link: The shipping disclaimer must contain an active link directly navigating to a transparent shipping table explaining rates and delivery countries.

Shoplex structures the storefront price markup to keep the VAT notice and linked shipping disclaimer directly below the price block, satisfying PAngV placement rules:

<p class="price">
<span class="woocommerce-Price-amount">19,90 €</span>
<span class="shoplex-tax-notice">inkl. 19% MwSt.</span>
<span class="shoplex-shipping-notice">
<a href="/versand/">zzgl. Versandkosten</a>
</span>
</p>

Article L. 221-14 of the French Consumer Code mandates that the button used to validate an order must be marked with the easily legible words “Commande avec obligation de paiement” or similar unambiguous formula. Using “Commander” or “Valider” alone exposes the seller to contract invalidation.

Anti-Waste and Circular Economy Law (AGEC)

Section titled “Anti-Waste and Circular Economy Law (AGEC)”

Under the French AGEC Law (Loi Anti-Gaspillage pour une Économie Circulaire) and Environmental Code Article L. 541-10-13, companies placing packaged goods, electronics, textiles, or furniture on the French market must register with ADEME (Agence de la transition écologique) through a certified eco-organization (e.g., Citeo, Léko).

Upon registration, the business is issued an Identifiant Unique REP (IDU).

  • Format example: FR123456_01ABCD
  • The IDU must be published in legal notices (Mentions Légales), general terms and conditions (CGV), and the site footer.

In Shoplex, enter your IDU in WooCommerce > Shoplex settings > Country compliance > Identifiant Unique REP (EPR). Shoplex prints this number automatically in trader information blocks.


Spain: Real Decreto-ley 7/2021 (3-Year Warranty)

Section titled “Spain: Real Decreto-ley 7/2021 (3-Year Warranty)”

While EU Directive 2019/771 establishes a minimum 2-year legal guarantee, Spain implemented Real Decreto-ley 7/2021 (amending the General Consumer Defense Law - TRLGDCU), effective January 1, 2022:

  • 3-year guarantee: The statutory legal conformity period for consumer goods sold in Spain is 3 years (36 months) from the date of delivery.
  • 10-year spare parts availability: Manufacturers must guarantee technical service and spare parts for a minimum of 10 years after a product ceases production.

When the destination country is resolved as ES, Shoplex intercepts the guarantee output via the shoplex/consumer_info/guarantee_text filter and changes the standard notice:

  • Standard EU notice: “All goods are covered by the seller’s legal guarantee of conformity for a minimum of two years from delivery.”
  • Spanish resolved notice: “All goods are covered by the seller’s legal guarantee of conformity for three years from delivery.”

In accordance with D.Lgs. 206/2005 (Codice del Consumo), the checkout button must indicate an immediate obligation to pay: “Ordina e paga”.

Section titled “Legal Conformity Notice (Art. 128-135 septies)”

Italian consumer regulations require distance sellers to clearly remind buyers of the 24-month statutory conformity guarantee (garanzia legale di conformità) prior to purchase. Shoplex renders this disclosure alongside the product details and within the statutory complaint form template.


Packaging & Producer Registers (LUCID, EPR, BDO)

Section titled “Packaging & Producer Registers (LUCID, EPR, BDO)”

Online retailers shipping physical products across borders are subject to Extended Producer Responsibility (EPR) packaging laws in each destination country.

┌────────────────────────────────────────────────────────────────────────┐
│ Environmental Register Storage in Shoplex │
├────────────────────┬───────────────────────────────────────────────────┤
│ Country & Law │ Register Identifier & Storage Key │
├────────────────────┼───────────────────────────────────────────────────┤
│ Germany (VerpackG) │ LUCID Registration Number (`lucid_number`) │
│ France (AGEC) │ Identifiant Unique REP (`epr_number`) │
│ Poland (Ust. Odp.) │ Numer BDO (`bdo_number`) │
└────────────────────┴───────────────────────────────────────────────────┘

Every retailer shipping packaged goods to German end consumers must register with the Zentrale Stelle Verpackungsregister (ZSVR) in the LUCID register and participate in a dual system (e.g., Interseroh, Der Grüne Punkt).

  • Setting: shoplex_country_compliance['lucid_number']
  • Storefront output: LUCID Reg. Nr.: DE1234567890123

Retailers shipping into France must register with eco-organizations covering each applicable waste category (packaging, WEEE, batteries).

  • Setting: shoplex_country_compliance['epr_number']
  • Storefront output: Identifiant Unique REP (EPR): FR123456_01ABCD

Under the Polish Waste Act (Ustawa o odpadach), companies introducing packaged goods, batteries, or electronic equipment onto the Polish market must obtain a registration number in the Baza danych o produktach i opakowaniach oraz o gospodarce odpadami (BDO).

  • Setting: shoplex_country_compliance['bdo_number']
  • Storefront output: Numer BDO: 000123456

When entered, these numbers are automatically appended to the business information block rendered via the shoplex/business_info/lines filter:

<div class="shoplex-business-info">
<p>Harbor Goods GmbH<br />Hafenstrasse 12, 20359 Hamburg, Germany</p>
<p>VAT ID: DE123456789 | Reg: HRB 123456</p>
<p>
<strong>LUCID Reg. Nr.:</strong> DE1234567890123<br />
<strong>Identifiant Unique REP (EPR):</strong> FR123456_01ABCD<br />
<strong>Numer BDO:</strong> 000123456
</p>
</div>

All national button labels and legal statements are registered for localization:

  • WPML & Polylang: Shoplex includes a packaged wpml-config.xml that maps all option keys under shoplex_country_compliance to string translation contexts.
  • TranslatePress & Loco Translate: All default strings are wrapped in __() and _x() gettext calls under the shoplex text domain.