Linux 软件免费装
Banner图

Shoplex - EU Compliance for WooCommerce

开发者 motylanogha
更新时间 2026年11月9日 23:44
PHP版本: 8.1 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

eu woocommerce compliance omnibus gpsr

下载

1.3.0 1.5.0 1.5.2 1.5.3 1.4.0 1.7.0 1.7.1 1.5.1 1.7.2 1.2.2 1.2.3 1.2.4 1.2.1 1.3.1 1.4.1 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.4.2 1.6.0 1.8.0 1.8.1 1.8.2 1.8.3

详情介绍:

Selling to consumers in the European Union requires specific information across the product page, the shopping cart, the checkout flow, and post-purchase order management. Requirements differ across EU member states: German law (§ 312j Abs. 3 BGB) prescribes the order button wording under the Button-Lösung rule, French law penalizes missing payment warnings, Spanish law requires a three-year statutory warranty rather than the standard two-year period, and packaging laws require specific register numbers (LUCID in Germany, EPR in France, BDO in Poland). Shoplex provides tools for these rules as twenty-three distinct, independent modules; it does not make a shop compliant. Each module can be switched on or off individually under WooCommerce > Shoplex. The administration interface explicitly references the corresponding EU directive or national statute for each requirement. The Twenty-Three Modules
  1. Unit Price (Price per Reference Unit) Directive 98/6/EC requires showing the price per standard unit (such as per kilogram, 100 grams, litre, or metre) alongside the final selling price for packaged goods sold by weight or volume. Shoplex calculates this ratio automatically from the product's net content and chosen reference unit. Works across simple and variable products, and supports archive catalogue loops.
  2. Lowest Price in the Last 30 Days (Omnibus Directive) Directive 2019/2161 (the Enforcement and Modernisation Directive, commonly called Omnibus) dictates that any price reduction announcement must state the lowest price applied during a period of at least 30 days prior to the reduction. Shoplex maintains a local database log of every price update across regular, sale, and variation prices. Unscheduled sales calculate against historical records, and daily scheduled cleanup retains the window without deleting the active base price.
  3. VAT Notice (Tax Display Indication) Directive 2011/83/EU requires stating the total price inclusive of taxes, and in Germany PAngV § 6(1) requires stating that prices include VAT. Shoplex prints the rate applied to each product (e.g. "incl. 19% VAT" or "excl. VAT" for net display). For merchants qualifying for the small business scheme (Article 284 of Directive 2006/112/EC, such as § 19 UStG in Germany), a dedicated exemption notice replaces standard tax percentages.
  4. Shipping Costs Notice & PAngV Link Directive 2011/83/EU art. 6(1)(e) requires that when shipping costs cannot be calculated in advance, the fact that such costs are payable must be stated. The German Price Indication Ordinance (PAngV § 6) requires stating that VAT is included and whether, and how much, shipping is charged; a link from "plus shipping" ("zzgl. Versandkosten") to the shipping page is common practice. Shoplex allows designating a specific shipping page or falls back cleanly to the shop's legal terms page.
  5. From-Price for Variable Products When product variants carry different prices, a wide range ("€10.00 - €90.00") is harder to read. Shoplex replaces ranges with a clean "from €10.00" label reflecting the lowest currently purchasable variation.
  6. Delivery Time Indication Directive 2011/83/EU art. 6(1)(g), as amended by Directive (EU) 2024/825, requires "the arrangements for payment, delivery, including environmentally friendly delivery options where available, performance, the time by which the trader undertakes to deliver the goods or to perform the services and, where applicable, the trader's complaint handling policy". Shoplex registers a dedicated delivery time taxonomy allowing unified terms ("2 - 4 business days", "ready to ship in 24h") applied per product, per variation, or shop-wide.
  7. Legal Guarantee of Conformity and Durability Directive (EU) 2019/771 on consumer sales of goods and Directive (EU) 2019/770 on digital content require informing consumers of their statutory conformity guarantee. For Spain, where Real Decreto-ley 7/2021 amended the LGDCU to require a 3-year statutory warranty (36 months) starting January 1, 2022, Shoplex automatically provides the 3-year warranty statement when resolving customers in Spain. Also supports displaying commercial guarantees of durability, digital software update periods, and repair information. The output is a plain-text reminder, not the harmonised notice or label of Implementing Regulation (EU) 2025/1960; the free Durabix plugin adds both.
  8. Country-Specific EU Rules (Button-Lösung & Packaging Registers) Article 8(2) of the Consumer Rights Directive requires the order button to read "order with obligation to pay" or a corresponding unambiguous formulation. The defaults follow the art. 8(2) wording in each language or an equivalent; check national law:
  9. Germany & Austria (§ 312j Abs. 3 BGB / § 8 FAGG): Zahlungspflichtig bestellen
  10. France (Art. L. 221-14 Code de la consommation): Commande avec obligation de paiement
  11. Italy (Art. 51 comma 2 Codice del Consumo): Ordine con obbligo di pagare
  12. Spain (Art. 98.2 LGDCU): Pedido con obligación de pago
  13. Poland (Art. 17 ust. 3 Ustawy o prawach konsumenta): Zamówienie z obowiązkiem zapłaty Works on both the classic checkout and the WooCommerce Block Checkout via client-side registration filters. Also displays packaging and environmental registry numbers (LUCID register number for Germany under § 6 VerpackDG, formerly § 9 VerpackG, Identifiant Unique REP / EPR for France under AGEC, and the BDO number for Poland under the Waste Act).
  14. 14-Day Right of Withdrawal (Declaration Form) The 14-day right of withdrawal comes from Directive 2011/83/EU art. 9; art. 6(1)(h) and Annex I(B) cover the information and the model form. This module is a withdrawal declaration form, not the art. 11a withdrawal function; for that, use the Withdraw plugin. The 14 days are counted from the date the order was completed. It provides:
  15. Public shortcode [shoplex_withdrawal_form] allowing guest lookups with anti-enumeration protection and rate limiting.
  16. Secure single-use magic links sent directly to the customer's billing email with a 30-minute expiry.
  17. Authenticated declaration form listing remaining withdrawable items with clamped quantities to prevent returning more units than ordered.
  18. Direct High-Performance Order Storage (HPOS) metadata storage (_shoplex_withdrawals), audit trails in WooCommerce order notes, and automated confirmation emails to both customer and store administrator.
  19. General Product Safety Regulation (GPSR) & Barcode Validation Regulation (EU) 2023/988 (GPSR), in effect since December 13, 2024, requires online listings to publish manufacturer identity details, postal address, electronic address, the EU responsible person (for manufacturers outside the EU), and required safety warnings or instructions. Shoplex provides dedicated per-product and default fields for all required GPSR disclosures, plus real-time GS1 check-digit validation (GTIN-8, GTIN-12, GTIN-13, GTIN-14) on the native WooCommerce barcode field to prevent invalid identifiers.
  20. Checkout Consents & Consent Recording Directive 2011/83/EU art. 8 and GDPR art. 7 demand unambiguous, affirmative agreement for specific contractual conditions, particularly waiving withdrawal rights for immediate access to digital downloads. Shoplex renders terms, privacy policy, right of withdrawal acknowledgment, digital content waivers, newsletter consents, and carrier delivery updates. Each recorded consent captures the verbatim text displayed, the customer decision, and the exact timestamp stored in HPOS order meta. Compatible with classic and block checkouts.
  21. Trader Identity (Impressum / Legal Notice) Directive 2000/31/EC art. 5 and national legislation (such as § 5 DDG in Germany) require commercial websites to give easy, direct and permanent access to the name, geographic address, details for rapid electronic contact including an email address, the trade register and number, and the VAT identification number. Shoplex renders these through the [shoplex_business_info] shortcode or the native block.
  22. Dispute Resolution Notice Directive 2013/11/EU as amended by Directive (EU) 2025/2647, plus national rules, set when a trader has to inform consumers about alternative dispute resolution. The ODR platform regulation 524/2013 was repealed from 20 July 2025. Shoplex provides a dispute notice for store footers or legal pages.
  23. Intra-EU B2B VAT Validation (VIES REST API & Swiss UID) Under Directive 2006/112/EC art. 138, exempting cross-border intra-EU B2B supplies at 0% VAT requires verifying that the customer is a taxable person with a valid VAT number in another member state. Shoplex queries the European Commission's official VIES REST endpoint in real time across all 27 member states and Northern Ireland (XI). When configured with your own VAT ID, it performs a qualified check and stores the official consultation number (requestIdentifier) directly in the order meta and order notes as audit-proof evidence for tax authorities. Also validates Swiss enterprise identification numbers (UID / CHE) for cross-border trade with Switzerland.
  24. Statutory Complaint Form Template (Formularz Reklamacyjny) Under Directive (EU) 2019/771, consumers are entitled to remedies (repair, replacement, price reduction, contract termination) for non-conforming goods. Shoplex provides a ready-to-print or embed complaint form via shortcode [shoplex_complaint_template] and an administrative preview with one-click standalone HTML download, automatically populated with the merchant's company details.
  25. Cyber Resilience Act Disclosure (CRA / RFC 9116 security.txt) Shoplex serves an RFC 9116 security disclosure policy at /.well-known/security.txt (RFC 9116). Merchants can specify their security contact email, vulnerability disclosure policy URL, and expiration date. This is not a Cyber Resilience Act (Regulation EU 2024/2847) requirement for shops; the CRA binds manufacturers.
  26. Digital Services Act Notice & Action Mechanism (DSA Reporting) Article 16 of Regulation (EU) 2022/2065 (Digital Services Act) binds hosting providers, so it is relevant if your shop hosts third-party content (marketplace sellers, reviews). Shoplex provides the public notice form via [shoplex_dsa_report] with structured reason selection, validation, rate limiting, and instant email dispatch to store administrators.
  27. Packaging Deposit (German Pfand) Germany: § 46 VerpackDG sets a deposit of at least 0.25 EUR incl. VAT on single-use beverage containers; reusable (Mehrweg) deposits are set by the trade. Shoplex calculates the deposit per item and packaging unit count, adds it as a cart fee at checkout, taxed at the VAT rate of the product it belongs to (UStG section 10(1); UStAE 10.1(8), administrative guidance), and displays refund notices on product pages. The default reusable amounts (0.08 and 0.15 EUR) are common trade amounts, not statutory ones.
  28. Food Information & LMIV Nutrition Table (Regulation EU 1169/2011) For food sold online, Regulation (EU) No 1169/2011 (LMIV) art. 9 lists the mandatory particulars, available before purchase: nutrition declaration (per 100g / 100ml: energy kJ/kcal, fat, saturates, carbohydrates, sugars, protein, salt), the 14 allergens, net quantity and food business operator. Alcohol by volume is required above 1.2% vol, and origin only where art. 26 requires it. Nutri-Score is voluntary.
  29. Cookie & Consent Management (ePrivacy Directive, TDDDG & Google Consent Mode v2) Under Directive 2002/58/EC (ePrivacy Directive) and national laws (such as Section 25 TDDDG in Germany and GDPR Art. 7), storing or accessing non-essential data on user devices requires prior, informed consent. Shoplex provides a lightweight cookie banner with granular category opt-ins (Essential, Analytics, Marketing), Google Consent Mode v2 signals, a reopen consent badge for withdrawal at any time, and an automated content blocker for third-party media embeds (YouTube, Vimeo, Google Maps, OpenStreetMap, SoundCloud) that loads embeds only after consent is granted.
  30. Local Google and Bunny Fonts (GDPR & Core Web Vitals) Under GDPR Art. 6(1) and established EU case law (e.g. Landgericht München I, judgment of 20 January 2022, Az. 3 O 17493/20), loading fonts directly from third-party US-based servers transmits visitor IP addresses without prior consent. Shoplex intercepts external Google Fonts and Bunny Fonts stylesheets, downloads the WOFF2 font files directly into the local wp-content/uploads/shoplex-fonts/ directory, rewrites the CSS to point exclusively to the local web server with font-display: swap, and strips external preconnect or dns-prefetch resource hints. In addition, key WOFF2 font files can be automatically preloaded in <head> to prevent flash of invisible text (FOIT) and eliminate cumulative layout shift (CLS).
  31. Energy Label (Regulation EU 2017/1369) Regulation (EU) 2017/1369 art. 5(1)(a) requires the dealer to show the energy label, including in online distance selling; the delegated act for each product group sets the scale and the display. Following the pattern of Delegated Regulation (EU) 2019/2014 Annex VIII, Shoplex prints an arrow in the colour of the product's class next to the price, with the range of the scale, linking to the supplier's label, plus a "Product information sheet" link. Enter the class, the scale (A to G, or an older range), and the label and sheet URLs from the supplier or EPREL per product; variations use the parent product's label. Nothing shows on a product without both a class and a label.
  32. Croatia: Price List and Anchor Price (NN 101/26) From 17 November 2026, Croatian decisions NN 101/26 (amended by NN 110/26) ask traders with a website for the regular price of 10 September 2026 next to the price and a daily .csv or .xml price list. Shoplex shows the anchor price you enter per product or variation, publishes the .csv every morning and lists the files with the [shoplex_cjenik] shortcode.
Multilingual and Translation Compatibility Shoplex includes comprehensive multilingual support: Technical Architecture

安装:

  1. Ensure your store runs WordPress 6.5 or newer and WooCommerce 8.0 or newer.
  2. Upload the shoplex folder to your /wp-content/plugins/ directory or install via the WordPress Plugins menu.
  3. Activate the plugin through the 'Plugins' menu in WordPress.
  4. Navigate to WooCommerce > Shoplex to review and toggle individual compliance modules.
  5. Navigate to WooCommerce > Shoplex settings to customize store identity, notices, registry numbers, and country rules.
  6. For the withdrawal declaration form, create a returns page and insert the shortcode [shoplex_withdrawal_form]. The My Account "Withdraw" link points to that page.

屏幕截图:

  • Single product page displaying unit price, Omnibus lowest-price notice, VAT details, and statutory conformity guarantee.
  • GPSR product safety information panel showing manufacturer and EU responsible person disclosures.
  • Country-specific checkout button rules: Button-Lösung for Germany/Austria, France, Spain (3-year warranty), Italy, and Poland.
  • 14-day withdrawal declaration workflow: guest lookup, anti-enumeration security, and itemized declaration form.
  • Shoplex settings screen with country compliance options, packaging register inputs (LUCID, EPR, BDO), and native WPML/Polylang configuration.

升级注意事项:

1.8.0 Adds a Croatia module for the anchor price and the daily price list required from 17 November 2026. Off by default. 1.7.2 Security release. It matters when someone you do not fully trust, such as an author or contributor, can write posts on your site. Update, nothing else to do. 1.6.5 Security release. Default installations are not exposed; request input read by the withdrawal form, the security.txt route and checkout conditions is now sanitized. Update, nothing else to do. 1.6.0 The deposit fee is now taxed at the product's VAT rate; the amount the customer pays stays the same, except for VAT-exempt customers, who pay the net amount. Set the shoplex_deposit_taxable filter to false if your tax adviser rules otherwise. 1.5.3 Security release. Only sites showing the DSA notice form are exposed. Update, nothing else to do.

常见问题:

Does Shoplex cover rules across all 27 EU member states?

Shoplex provides tools for these rules; it does not make a shop compliant. Under Directive 2011/83/EU (Consumer Rights Directive) Art. 8(2), the order button must read "order with obligation to pay" or a corresponding unambiguous formulation. Shoplex ships default button labels for all 27 EU countries that follow the art. 8(2) wording or an equivalent; check national law (such as Germany and Austria: "Zahlungspflichtig bestellen", France and Luxembourg: "Commande avec obligation de paiement", Italy: "Ordine con obbligo di pagare", Spain: "Pedido con obligación de pago", Netherlands and Belgium: "Bestelling met betalingsverplichting", Poland: "Zamówienie z obowiązkiem zapłaty", Sweden: "Beställning förenad med betalningsskyldighet", etc.). It also adapts consumer conformity warranties (such as the Spanish 3-year requirement under RDL 7/2021) and packaging register numbers.

How does customer country detection work at checkout?

Shoplex determines the destination country using a five-tier hierarchy:

  1. Active form submission during checkout or AJAX updates (billing_country).
  2. Customer billing country stored in the active WooCommerce session.
  3. Customer shipping country stored in the active WooCommerce session.
  4. IP-based geolocation via WC_Geolocation::geolocate_ip().
  5. Store base country configured in WooCommerce settings. On the block checkout the label is set when the page loads.

What are the German and Austrian Button-Lösung and PAngV requirements?

In Germany (§ 312j Abs. 3 BGB) and Austria (§ 8 FAGG), without an unequivocal payment notice on the final purchase button ("Zahlungspflichtig bestellen" or equivalent) no contract is formed (§ 312j Abs. 4 BGB), and in Austria the consumer is not bound (§ 8 Abs. 2 FAGG). The German Price Indication Ordinance (PAngV § 6) requires stating that prices include VAT and whether, and how much, shipping is charged ("inkl. MwSt., zzgl. Versandkosten"); a link to the shipping page is common practice. Shoplex provides settings to link to your shipping information page.

How does the Spanish 3-year statutory guarantee work?

Under Spain's Real Decreto-ley 7/2021 amending the General Consumer Protection Law (LGDCU), the statutory conformity warranty for tangible goods was extended from two years to three years (36 months). When Shoplex detects a customer in Spain (ES), it automatically serves the 3-year legal guarantee notice instead of the standard 2-year European baseline.

Which packaging and environmental register numbers are supported?

Shoplex allows you to configure:

  • Germany: LUCID registration number under § 6 VerpackDG (formerly § 9 VerpackG).
  • France: Unique Identification Number (Identifiant Unique REP / IDU) under the AGEC law and Article L. 541-10-13 of the Environmental Code.
  • Poland: BDO register number (Baza Danych o Odpadach) under the Waste Act. These numbers automatically attach to your trader identity blocks and impressum footers.

How does the 14-day right of withdrawal form work?

The right comes from Directive 2011/83/EU art. 9; art. 6(1)(h) and Annex I(B) cover the information and the model form. This module is a declaration form, not the art. 11a withdrawal function; for that, use the Withdraw plugin. Shoplex provides the form via the shortcode [shoplex_withdrawal_form]. Logged-in customers can select an eligible order, pick individual items and quantities, and submit their declaration. For guest customers, an anti-enumeration lookup sends a secure, single-use 30-minute magic link to their billing email. Declarations are stored in HPOS order meta (_shoplex_withdrawals), noted in order history, and emailed to both the buyer and the store owner.

How does the VIES VAT validation module work for intra-EU B2B sales?

Under Directive 2006/112/EC Art. 138, cross-border B2B sales within the EU can be zero-rated (0% VAT) only when the buyer has an active, verified VAT number in their member state. Shoplex checks customer VAT IDs in real time against the European Commission's official VIES REST API. If you configure your own VAT ID in the settings, Shoplex performs a qualified request and records the official consultation identifier (requestIdentifier) in the order notes as audit-proof evidence for tax authorities.

What is the Digital Services Act (DSA) reporting form?

Article 16 of Regulation (EU) 2022/2065 (Digital Services Act) binds hosting providers, so the form is relevant if your shop hosts third-party content (marketplace sellers, reviews). Shoplex provides the public notice form via [shoplex_dsa_report], complete with structured reason selection, spam rate limiting, and administrative notifications.

Does Shoplex generate a RFC 9116 security.txt?

Yes. Shoplex serves an RFC 9116 /.well-known/security.txt endpoint. It is not a Cyber Resilience Act (Regulation EU 2024/2847) requirement for shops; the CRA binds manufacturers. Store owners can configure their designated security contact email, vulnerability disclosure policy URL, and expiration date under WooCommerce > Shoplex settings > CRA security.txt.

Does it support the WooCommerce Block Checkout?

Yes. Checkout consents, button labels, and terms links hook both classic shortcode checkouts and modern block checkouts (wc-blocks-checkout).

Does Shoplex replace country-specific plugins like Germanized or Polski?

Shoplex provides tools for EU-wide consumer rules and key destination rules (Button-Lösung labels for all 27 countries, PAngV shipping links, packaging register numbers, Spanish 3-year warranty, VIES validation, a withdrawal declaration form, and GPSR); it does not make a shop compliant. It does not handle national fiscal cash register drivers, local invoice numbering sequences, or national postal locker APIs. For domestic Poland integrations, plugins like Polski cover local carriers and KSeF; for stores selling across the European Union, Shoplex covers the cross-border tools listed above.

How does the Omnibus lowest-price tracker handle scheduled sales?

When a product enters a sale, Shoplex determines the comparison window (30 days by default). It inspects recorded prices in the shop currency, looks for the lowest price active before the promotion commenced, and prints the result according to your chosen template. Daily cleanup prunes obsolete historical records while preserving the active base price.

Is Shoplex compatible with multilingual plugins?

Yes. Shoplex includes a native wpml-config.xml file that registers all options, button texts, and notice templates for translation in WPML and Polylang. It also supports TranslatePress, Loco Translate, and standard gettext localization.

更新日志:

1.8.3 1.8.2 1.8.1 1.8.0 1.7.2 1.7.1 1.7.0 1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.3 1.5.2 1.5.1 1.5.0 1.4.2 1.4.1 1.4.0 1.3.1 1.3.0 1.2.4 1.2.3 1.2.2 1.2.1 1.2.0 1.1.0 1.0.0