WordPress plugin profile

Conformitico – Recesso 54-bis

Right-of-withdrawal toolkit (Directive 2023/2673): form, checkout consents, model form, Article 16 exclusions. With or without WooCommerce.

Version1.0.0
Active installsNew
Rating0.0 / 5
Tested toWP 7.0.4

About this plugin

From 19 June 2026 , EU Directive 2023/2673 requires every online retailer in the European Union to offer a digital withdrawal function that is at least as easy to use as the purchase flow. This plugin ships the complete set of building blocks an EU store needs to put that function in place — and works as a self-contained tool with or without WooCommerce. It is built with Italian e-commerce in mind (the “diritto di recesso” rules of art. 52 ff. of the Codice del Consumo and the new art. 54- bis ), but the interface is in English and the plugin is fully translation-ready, so a shop that also sells across the EU can deliver the same workflow in several languages. Multilingual by design Base UI in English , the source language, with a bundled Italian (it_IT) translation ready out of the box. Designed for Italian online shops that may also sell abroad: translation-ready for EN/FR/DE and any other locale. Compatible with WPML , Polylang and Loco Translate . Texts you enter in the settings (form intro, consent texts, excluded-notice texts, status-email bodies) are registered for translation through the bundled wpml-config.xml , so multilingual sites can translate them per language. Links generated by the plugin (withdrawal page button, printable Annex I.B form, excluded-product link, the [r54b_link] shortcode) resolve to the correct page translation on WPML and Polylang sites. Core features Two-step confirmation flow (Art. 11a(3)) : the public form leads to a read-only review screen with a dedicated “Confirm withdrawal” button. The request is registered only when that button is pressed, which avoids the unintended exercise of the right. The intermediate state is held server-side in a single-use token, so it also works without JavaScript. Durable-medium acknowledgement (Art. 11a(4)) : the confirmation email reproduces the full content of the declaration (name, order, order date, scope, affected products) plus the exact date and time of submission, carrying a verifiable SHA-256 receipt hash as tamper-evident proof — recomputable from the stored fields if a dispute arises. Model withdrawal form (Annex I.B, Directive 2011/83/EU) generated dynamically from your shop data, shown as a collapsible block below the public form, with a printable view on the same URL. Helps meet the pre-contractual information obligation of Art. 6(1)(h). Checkout consent checkboxes for the two consents the directive expects when applying specific exceptions: Mandatory consent for digital content (Art. 16(m)) — blocks the place-order step until accepted. Optional consent for services started within the 14-day window (Art. 14(4)(a)) — enables pro-rated billing if the customer later withdraws. Each consent is stored on the order with the exact text shown, accepted/declined state, timestamp, IP and user agent, as durable proof. Article 16 exclusions per product and per category with full subcategory inheritance, driven by a single “Withdrawal status” dropdown (Standard, Digital content, Service started early, Other Article 16 exception) that also sets the matching checkout consent. Configurable excluded-product notice , rendered between price and add-to-cart on single product pages, with separate title and body for digital content and for other Article 16 exceptions. Request log stored as a private custom post type with a status lifecycle (pending → accepted → rejected → completed), customer details, scope (full / partial), IP, user agent and UTC submission timestamp for legal traceability. Role-based access : choose which user roles, besides the administrator, may view and manage requests, because each request holds personal data. Status emails on a durable medium : an acknowledgement email on confirmation and a follow-up email on every status transition, with editable bodies and a configurable sender. A notification email is also sent to the shop admin, with reply-to set to the customer. Native GDPR integration : a suggested Privacy Policy snippet plus a personal-data exporter and eraser, keyed on the customer email — no second GDPR plugin required. WooCommerce features (auto-enabled when WooCommerce is active) My Account → Right of withdrawal endpoint with a per-order “Withdraw” button while the order is in an eligible status, deep-linked to the form with the order pre-filled. Withdrawal notice injected into transactional emails (processing, completed, customer invoice) with a direct link to the pre-filled form. Eligible statuses are configurable; admin emails never receive the notice. Order/email verification : the request is matched to a real order and gated by the configured eligible statuses. The 14-day deadline is surfaced as an advisory flag for the admin rather than an automatic rejection, since the period legally runs from delivery. Private order notes added at every lifecycle step (received, accepted, rejected, completed), including any admin comment. HPOS support , declared via FeaturesUtil::declare_compatibility() . Standalone mode The form, shortcode, request log, email notifications, SHA-256 receipt hash, Annex I.B model and GDPR integration all run without WooCommerce . The plugin always lives under its own top-level Withdrawals menu with a Settings submenu — the same path with or without WooCommerce. Activating WooCommerce later lights up the store features; deactivating it leaves the standalone features intact. Shortcodes [r54b_form] — embeds the withdrawal form anywhere. [r54b_link] — a permanent link to the withdrawal page for any footer, widget area or template part, helping meet the “clearly identifiable” requirement of Article 11a. [r54b_avviso_esclusione] — places the excluded-product notice with page builders (Divi, Elementor, Bricks, ShopLentor) that render their own product template and skip the standard WooCommerce hooks. Built for production Conditional asset loading: CSS only loads on the withdrawal page, on single-product pages that actually show the excluded notice, and on the plugin admin screens. Escaped output, sanitized input, capability checks and nonces on every admin action; honeypot anti-spam and CSRF nonces on the public form. Documented filters and actions so developers and agencies can extend the plugin without forking. PHP 7.4+, WordPress 6.0+, WooCommerce 7.0+ (optional). A note on legal compliance This plugin is a technical tool, not legal advice. It provides building blocks to help you implement the right-of-withdrawal function, but it cannot guarantee compliance on its own: that depends on your business model, your catalogue and your jurisdiction. Review the texts and the workflow with a consumer-law advisor before relying on them. About Conformitico Recesso 54-bis is built and maintained by Conformitico , a team of lawyers and technicians specialised in e-commerce legal compliance. Beyond this free plugin, Conformitico offers professional review of the withdrawal texts the plugin generates and drafting of your store’s Terms & Conditions. Learn more at https://www.conformitico.it/. These services are entirely optional — the plugin is and remains free and fully functional on its own. Credits This plugin builds on the foundations of “EU Withdrawal Compliance” by Fernando Tellado, released under the GPLv2 or later. Recesso 54-bis is an independent, restructured and Italian-specialised work, distributed under the same licence in the spirit of the GPL.