xpay✦ Commerce
Directory
WooCommerce plugins
Spotrebiteľské práva pre WooCommerce
Spotrebiteľské práva pre WooCommerce
Withdrawal-from-contract & complaint (reklamácia) forms for WooCommerce. EU Directive 2023/2673 + SK Act 108/2024 ready.
5.0
(1 ratings)Will this break my store?
What the WordPress.org registry says about keeping Spotrebiteľské práva pre WooCommerce running.
Tested to 7.1
Tested against the WordPress branch in use today.24 days ago
7.4
Your host must be running at least this version.5.8
woocommerce
These must be installed and active first.91% of 11 recent threads resolved
From the plugin's WordPress.org support forum.1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how Spotrebiteľské práva pre WooCommerce is looked after — not on how many stores run it.
95
out of 100Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
20 / 20Merchant satisfaction
10 / 15Listing transparency
10 / 10Ratings
5.0
1 rating🇸🇰 Slovenský popis
Tento plugin pridáva do vášho WooCommerce e-shopu online formuláre na odstúpenie od zmluvy a reklamácie, plne v súlade s európskou Smernicou EÚ 2023/2673 a slovenským zákonom č. 108/2024 Z. z. o ochrane spotrebiteľa.
Pre koho je to určené:
Pre slovenských prevádzkovateľov WooCommerce e-shopov, ktorí potrebujú:
- Splniť zákonnú povinnosť podľa EÚ smernice 2023/2673 (účinná od 19. 6. 2026), ktorá vyžaduje aby každý e-shop mal funkciu „Odstúpiť od zmluvy tu” priamo na webe (nie len PDF na stiahnutie).
- Zjednodušiť proces reklamácií — zákazník vyplní reklamáciu online, nemusí tlačiť papierový formulár, môže priložiť fotografie vady.
- Mať poriadok v reklamáciách — všetky odoslané reklamácie sa zhromaždia v administračnom rozhraní, kde môžete vyplniť reklamačný protokol, sledovať stav a vytlačiť oficiálny dokument.
Hlavné funkcie:
- Odstúpenie od zmluvy — formulár cez shortcode
[withdrawal_form], tlačidlo „Odstúpiť od zmluvy tu” pri každej objednávke v Mojom účte, automatická kontrola 14-dňovej lehoty (po vypršaní sa tlačidlo skryje), HTML potvrdenie s presným dátumom a časom odoslania (zákonný dôkaz na trvalom nosiči). - Reklamácie — kompletný online reklamačný formulár cez shortcode
[complaint_form](alias[reklamacia]), všetky polia zo štandardného slovenského papierového formulára: meno/firma, telefón, e-mail, IBAN, výrobca, model, výrobné číslo, dátum predaja, číslo objednávky/faktúry, popis vady. Voliteľné nahrávanie fotografií vady (drag & drop, JPG/PNG/WEBP/HEIC, do 5 MB). - Reklamačný protokol — admin vyplní rozhodnutie (výmena/vrátenie ceny/zamietnutie), dátumy, IBAN na vrátenie. Vytlačiteľný A4 protokol (browser-natívne uloženie do PDF), pripravený na archiváciu.
- 30-dňová zákonná lehota — plugin posiela 5 dní pred uplynutím automatickú pripomienku adminovi (cez WP Cron). Žiadna pokuta od ÚZP za zameškané reklamácie.
- Údaje predávajúceho — vyplníte IČO, DIČ, IČ DPH a adresu raz, zobrazuje sa v hlavičke formulárov aj na tlačenom protokole. Berie sa primárne z WooCommerce → Nastavenia → Všeobecné, voliteľný override.
- Plne preložené do slovenčiny — formuláre aj admin rozhranie.
Čo plugin NEROBÍ:
- Automatické refundy ani zmenu stavu objednávky vo WooCommerce
- Generovanie dobropisov alebo vratových štítkov
- Napojenie na dopravcov
- Výnimky z práva na odstúpenie (digitálny obsah, hygienický tovar atď.)
Tieto kroky rieši prevádzkovateľ manuálne podľa svojich obchodných podmienok.
Inštalácia v 3 krokoch:
- Aktivujte plugin
- Vytvorte 2 stránky a vložte do nich shortcode
[withdrawal_form]a[complaint_form] - V Spotrebiteľské práva → Nastavenia zadajte URL týchto stránok + vyplňte IČO/DIČ ak ste firma
🇬🇧 English description
This plugin adds online forms for both withdrawal from contract and complaints (reklamácie) to your WooCommerce store, fully compliant with EU Directive 2023/2673 and Slovak Act No. 108/2024 Coll. on consumer protection.
Withdrawal from contract
- Shortcode
[withdrawal_form]— embeddable on any page - “Withdraw from contract here” button on every order in My Account (hides after 14 days)
- Automatic 14-day withdrawal-period check — visual and server-side blocking after expiry
- Automatic form pre-fill for logged-in customers
- Order ownership verification: e-mail or postcode for guest checkouts
- HTML confirmation e-mail with submission date and time (legal proof on a durable medium)
- HTML notification e-mail to the shop owner — supports multiple recipients (comma-separated)
- Rate limiting — max 10 attempts per hour per IP (admins bypass)
- Legally exact button wording per Articles 1 and 3 of the directive
Complaints (reklamácie)
- Shortcode
[complaint_form](alias[reklamacia]) - All fields matching the standard Slovak complaint form: buyer details, IBAN, brand, model, serial number, sale date, order number, invoice, defect description
- Brand and model are optional — focus is on the defect description
- Separate “Order number” field — auto-filled from order dropdown for logged-in customers, manual text input for guests
- Optional photo upload with drag & drop (up to 5 photos by default, configurable)
- Secure photo handling — real MIME-type verification (JPG, PNG, WEBP, HEIC), .htaccess protection, random filename hash, realpath safety check
- Auto-fill from order selection for logged-in customers (brand, model, sale date, order number, invoice number)
- Admin complaint list with filter (by status), search (name, e-mail, invoice, order number, ID) and pagination
- Admin “Reklamačný protokol” form — fill resolution (exchange / refund / rejected), expert assessment contact, dates
- Status pipeline: New → In progress → Resolved / Rejected (coloured badges)
- “Date resolved” is required when closing a complaint (auto-fills today if empty)
- Internal notes field (private) — visible only to admins, NOT included in print or customer e-mails
- Delete action with confirmation and disk cleanup of attached photos
- Optional status update e-mail to customer
- Printable A4 view — buyer-filled form + protocol on one page (browser-native print to PDF)
- Seller info settings — IČO, DIČ, IČ DPH, correspondence address (hybrid: WC Store Address + plugin overrides)
- WP Cron daily reminder e-mail to admin 5 days before the 30-day legal deadline expires (each complaint reminded only once)
- 30-day legal deadline reminder per Act No. 108/2024 Coll.
Common features
- Dedicated top-level admin menu “Spotrebiteľské práva” (Consumer Rights) with 3 clean submenus: Withdrawals from contract, Complaints, Settings
- Database log of all submissions (separate tables for withdrawals and complaints)
- Full multilingual support (EN, SK, CS, HU, DE, PL) — auto-detected from WordPress Site Language
- HPOS and legacy WooCommerce compatibility
- WordPress Privacy Policy integration in GDPR consent
- Automatic DB schema upgrades — new columns are added on plugin load if missing (no manual SQL needed)
WooCommerce compatibility
The plugin works with both order-storage systems:
- HPOS (High Performance Order Storage) — new
wc_orderstables, WooCommerce 7.1+ - Legacy — classic storage via WordPress posts/postmeta
Switching is fully automatic. HPOS compatibility is declared via FeaturesUtil — the plugin shows a green compatibility badge in WooCommerce > Settings > Advanced.
Legislation
The plugin is designed in compliance with:
- EU Directive 2023/2673 (effective 19 June 2026)
- Slovak Act No. 108/2024 Coll. on consumer protection (replaced Act No. 102/2014 Coll. effective 1 July 2024)
What the plugin does NOT do
- Exceptions from the right of withdrawal (digital content, hygiene goods, etc.)
- Automatic refunds or order status changes in WooCommerce
- Generating credit notes or return labels
- Carrier integration
These steps are handled by the shop owner manually according to their terms and conditions.
Usage
Withdrawal from contract:
- Create a page and insert the shortcode
[withdrawal_form] - In Consumer Rights → Settings, enter the URL of that page
- Add a link to that page in your site footer
Complaints (reklamácie):
- Create a separate page and insert the shortcode
[complaint_form] - In Consumer Rights → Settings, enter the URL of that page
- Fill in the Seller info section (IČO/DIČ if applicable) — these details appear on the printed protocol
Withdrawal link in WooCommerce emails (YayMail / email customizers):
Use the [withdrawal_link] shortcode inside any WooCommerce email template (YayMail, Kadence Emails, Email Customizer for WooCommerce, etc.) to insert a pre-filled link to the withdrawal form. The link automatically includes the correct order key so the customer lands on the form with their order pre-filled.
[withdrawal_link] — inserts a link with the default label "Withdraw from contract"
[withdrawal_link label="Cancel order"] — custom link text
[withdrawal_link label="Withdraw" class="btn btn-primary"] — with CSS class(es) on the `<a>` tag
The shortcode only works inside WooCommerce transactional emails (e.g. Order Completed). It reads the current order from the email context automatically. Outside of an email context it returns an empty string. The withdrawal form page URL must be configured in Consumer Rights → Settings.
In a dedicated top-level menu “Spotrebiteľské práva” (Consumer Rights) with a shield icon, located right below WooCommerce. It has 3 submenus: Withdrawals from contract, Complaints (reklamácie), and Settings.
In the admin: Consumer Rights → Withdrawals from contract for withdrawals, or Consumer Rights → Complaints for complaints (reklamácie).
Yes. The plugin is fully compatible with both HPOS and legacy WooCommerce. Switching is automatic — no configuration required. HPOS compatibility is declared via FeaturesUtil and shown as a green badge in WooCommerce > Settings > Advanced.
English (en_US), Slovak (sk_SK), Czech (cs_CZ), Hungarian (hu_HU), German (de_DE), Polish (pl_PL). The language is auto-detected from your WordPress Site Language setting (Settings → General).
Yes. In Consumer Rights → Settings, enter multiple addresses in the “Shop owner e-mail(s)” field, separated by commas (e.g. owner@shop.com, support@shop.com). Invalid e-mails are silently ignored.
No. The plugin uses object caching (wp_cache_*) for admin list queries, rate-limiting via WP transients, and only loads its JS/CSS on pages where the shortcode is used. HPOS-native queries are used when HPOS is enabled.
Yes. The entry button uses the exact wording from Article 1, the form submit button uses the exact wording from Article 3, and the customer receives a confirmation e-mail with date and time of submission per Article 4 (durable medium).
On every order in My Account > Orders, provided the 14-day period has not expired. After the period, the button is hidden automatically. The URL of the form page must be set in plugin settings.
Yes. Place the [withdrawal_link] shortcode in any WooCommerce email template using an email customizer plugin (YayMail, Kadence Emails, Email Customizer for WooCommerce, etc.). The shortcode reads the current order from the email context and outputs an <a> link that pre-fills the withdrawal form for that specific order. Attributes: label (link text, default “Withdraw from contract”) and class (CSS class on the link). The withdrawal form page URL must be set in Consumer Rights → Settings for the shortcode to work.
The period is counted from the delivery date (order status “Completed” / date_completed). If the order is not completed yet, the creation date is used. The form shows a coloured banner with days remaining. After expiry, the form is blocked both visually and on the server.
The plugin supports fallback verification by billing postcode. The customer enters the order number plus postcode — the system verifies the order without the original e-mail. If they don’t know the postcode either, they must contact the shop owner directly (the contact is configurable in admin).
No. Complaints (defective product claims) are governed by the warranty period, not the 14-day withdrawal period. The plugin tracks the 30-day legal deadline within which the shop owner must respond per Act No. 108/2024 Coll. A reminder e-mail is sent to the admin 5 days before the deadline expires.
By filling in the form on the page where you placed the [complaint_form] shortcode. Logged-in customers can pick the order from a dropdown (auto-fills brand, model, sale date, order number, invoice). Guests fill all fields manually. Photos of the defect are optional.
No. Brand and model are optional — some products (e.g. custom prints) do not have a clear manufacturer label. The mandatory fields are: name, phone, e-mail, IBAN, sale date, invoice number, defect description, and GDPR consent.
Open Consumer Rights → Complaints, click the complaint, and fill in the Reklamačný protokol (Part 2) on the right side: date received, date resolved, resolution (exchange / refund / rejected), and any extra details. Save the protocol. Optionally send a status update e-mail to the customer.
In /wp-content/uploads/oodz-reklamacie/YYYY/MM/. The folder is protected against PHP execution via .htaccess and filenames have a random hash prefix to prevent URL guessing.
In Consumer Rights → Settings → Complaints: set max number of photos per complaint (0 = disable upload entirely) and max size per photo in MB. Defaults are 5 and 5 MB respectively. The plugin verifies real MIME types (JPG, PNG, WEBP, HEIC) — not just file extensions.
Yes. Open the complaint detail page and click 🖨 Print protocol. A printable A4 view opens with Part 1 (buyer-filled form), Part 2 (Reklamačný protokol), legal text (12-month rule, expert assessment, 14-day reimbursement), and signature areas. Use your browser’s Ctrl+P → “Save as PDF” — no third-party PDF library bundled.
Yes. The complaint detail page has an Internal notes field with a yellow “PRIVATE” badge. Notes are visible only to admins and are NOT included in the printed protocol, customer e-mails, or status update e-mails.
Yes. Both the complaint list (🗑 row action) and the detail page (red “🗑 Delete” button in the title bar) offer a delete action. A confirmation dialog is shown. Deletion is permanent and removes both the DB record and all attached photo files from disk.
In Consumer Rights → Settings → Seller info, you can override the company name and add legal info (IČO, DIČ, IČ DPH), phone, and a correspondence address different from your main store address. By default, the company name and address come from WooCommerce → Settings → General → Store Address.
Plugin details
Tags on WordPress.org
