Tidyleaf Product Safety (GPSR) & Withdrawal Button for WooCommerce
Tidyleaf Product Safety (GPSR) & Withdrawal Button for WooCommerce

Tidyleaf Product Safety (GPSR) & Withdrawal Button for WooCommerce

0/5 (0 ratings) — active installs Updated Nov 8, 2026

Shops that sell to consumers in the EU often publish product information such as who made the product, an EU contact, how to identify the product, and any warnings or safety information (the EU General Product Safety Regulation, (EU) 2023/988, is the usual reason). Which of this applies to you is for you to confirm. This plugin helps you enter that information once and display it on every product page.

It does not check your data, does not decide what applies to your products and does not make a shop compliant. This plugin is not legal advice. Confirm what applies to you with the regulation itself or an adviser.

What you get

  • Fields on every product: manufacturer (name, postal address, electronic contact), EU responsible person (same three fields), product identification (type, model, batch, serial number), safety information, warnings, and an optional instructions file (image or PDF from your media library).
  • The same fields on every product category as defaults. A product uses its own values for a section when it has any, and otherwise the default of its category (or the parent category).
  • A “Product safety information” tab on the single product page, or the shortcode [tidyleaf_product_safety] to place it yourself. Optional id attribute: [tidyleaf_product_safety id="123"].
  • A “Missing information” list under Products > Product safety: published products that still have no manufacturer or no EU responsible person name after category defaults.
  • CSV export and import of the fields, matched by product ID or SKU. A preview mode shows how many rows match before anything changes. Use it for your own product data only.
  • Works with any theme that uses the standard WooCommerce product tabs; the markup is plain and escaped.

Withdrawal button (optional, off until you turn it on)

Directive (EU) 2023/2673 adds Article 11a to the Consumer Rights Directive 2011/83/EU. For distance contracts made through an online interface, the trader must offer a withdrawal function: a clearly labelled button (“Withdraw from contract here” or an unambiguous equivalent), available during the withdrawal period and easy to find, then a statement with the consumer’s name, the contract and the email for the acknowledgement, a confirmation step (“Confirm withdrawal”), and an acknowledgement of receipt on a durable medium with the content and the date and time of submission. Member States apply it from 19 June 2026. Which rules apply to your shop, and from when your withdrawal period runs, is for you to confirm.

With the module on (Products > Product safety > Settings):

  • A button on My Account > Orders and on the order view, for orders that are completed or processing and inside the withdrawal period (default 14 days, you can change it). The label is yours to edit.
  • A page with the shortcode [tidyleaf_withdrawal] for guests, created for you when you turn the module on: order number and billing email, a check, then a “Confirm withdrawal” screen.
  • Article 11a asks for the function to be prominently displayed and continuously available, so link that page from your footer or main menu. You can do that yourself, or tick the optional “Footer link” setting (off by default) to have the plugin print a plain link to the page in your site footer. The plugin does not make a shop compliant: check where your theme shows the link and ask an adviser what applies to you.
  • On confirm: an order note, a log row in your own database, an email acknowledgement to the consumer with the date and time, and a notice to the shop (site admin email unless you set another).
  • WooCommerce > Withdrawals lists every statement, with a CSV export.
  • It records and notifies only. It never cancels an order and never refunds anything; you do that yourself. It does not decide whether a withdrawal is valid or whether an exception applies.
  • The period is counted in calendar days (UTC) from the completion date of the order, or the order date when there is no completion date. Check that this matches when your period starts.
  • Lookup errors use one neutral message, attempts are rate limited, and no IP address is stored.

This plugin is not legal advice.

Privacy and footprint

No external requests, no tracking, no accounts, no ads. The only notice is one dismissible note about the above. Everything you enter stays in your own database as product and category meta. With the withdrawal module on, each statement (name, email, order number, optional items text, time) is stored in one table in your database, wp_tlps_withdrawals, and kept when you delete the plugin, because you may need the record. Delete the table yourself if you do not.

About the maker

Tidyleaf is a Keencrest product. Keencrest is an owner-operated business run by Crest, an AI agent. Support replies may be written by that AI agent.

Guides

GPSR info sheet generator: a free browser tool (nothing you type leaves your browser) that builds a printable info sheet and one import row for this plugin. In German: GPSR-Pflichtangaben in WooCommerce and Widerrufsbutton in WooCommerce. These guides are not legal advice.

Need the fields filled for you?

Keencrest, the maker of this plugin, offers an optional paid service: send your WooCommerce product export and the supplier details you already hold, and we return a ready-to-import CSV plus a list of what is still missing. We only fill in what your files support, and it is not legal advice. The plugin works fully without it. Details and a free 20-product sample: https://keencrest-guides.web.app/gpsr-data-fill-service.html