{"id":12630,"date":"2026-04-23T14:56:59","date_gmt":"2026-04-23T11:56:59","guid":{"rendered":"https:\/\/riin.eu\/why-a-contact-form-alone-is-not-a-withdrawal-button-for-an-e-shop-and-what-awaits-you-on-19-06-2026\/"},"modified":"2026-04-23T14:57:46","modified_gmt":"2026-04-23T11:57:46","slug":"why-a-contact-form-alone-is-not-a-withdrawal-button-for-an-e-shop-and-what-awaits-you-on-19-06-2026","status":"publish","type":"post","link":"https:\/\/riin.eu\/en\/why-a-contact-form-alone-is-not-a-withdrawal-button-for-an-e-shop-and-what-awaits-you-on-19-06-2026\/","title":{"rendered":"Why a contact form alone is NOT a withdrawal button for an e-shop (and what awaits you on 19.06.2026)"},"content":{"rendered":"\n<p>Most Estonian e-shop owners believe that the withdrawal button issue is already resolved in their store. \u201cI have a contact form; the customer can write from there\u201d \u2014 this is a sentence I hear almost every day. The problem is that a <strong>withdrawal button for an e-shop<\/strong> is not the same as a contact form. <a href=\"https:\/\/eur-lex.europa.eu\/legal-content\/ET\/ALL\/?uri=oj:L_202302673\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/eur-lex.europa.eu\/legal-content\/ET\/ALL\/?uri=oj:L_202302673\" rel=\"noreferrer noopener\">EU Directive 2023\/2673 states very specifically<\/a> what this button must be like, and the deadline of June 19, 2026, is approaching faster than it seems. In this article, I will discuss why the current \u201csolution\u201d in most stores does not work, what it will actually cost you, and how to fix it.    <\/p>\n\n<h2 class=\"wp-block-heading\">That feeling when a customer writes &#8220;I want to return&#8221; \u2014 and then the chaos begins<\/h2>\n\n<p>You check your inbox in the morning. A new email: \u201cHello, I bought a blanket from you last week and would like to return it. I don&#8217;t remember the order number. Please let me know how to proceed.\u201d   <\/p>\n\n<p>You start searching. Under what name did they buy? With which email? Was it a guest checkout or an account? You write back: \u201cPlease send the order number and bank account.\u201d The customer responds two days later. In the meantime, you&#8217;ve had three orders to process, one supplier was late, and one child was sick. You forget. The customer writes again, this time more annoyed. Now you reply quickly, but the tone is already tense.<\/p>\n\n<p>If you have five orders a month, you can manage. If you have fifty and there are four or five returns, every withdrawal application starts eating up 20\u201330 minutes \u2014 searching, sending emails back and forth, filling out Excel spreadsheets. And then comes June 19, 2026, when this workflow is no longer just inconvenient, but <strong>also a violation of the law<\/strong>. Because the directive does not ask if you have a return process in place. It asks if you have a <strong>button<\/strong> \u2014 specific, linked to the order, and clickable by the customer with a single click.     <\/p>\n<p><!-- TOOTESOOVITUS 1: taganemisnupu plugin WooCommerce'ile (riin.eu\/withdrawal-plugin) \u2014 kliendi kontol tellimuse juures, automaatne kinnitus, admin-vaade --><\/p>\n\n<h2 class=\"wp-block-heading\">What exactly is wrong with your contact form<\/h2>\n\n<p>Let&#8217;s look honestly at why the legislator says a contact form does not qualify.<\/p>\n\n<p><strong>The contact form does not recognize the order.<\/strong> The customer writes in free text. You have to manually find the order and link the email and the order. Every time. The directive requires that the withdrawal application be <strong>linked to a specific order<\/strong> \u2014 meaning when the customer clicks the button, information about which order and which products are involved is sent to the system.   <\/p>\n\n<p><strong>The contact form does not provide proof.<\/strong> If a customer later claims they sent the application on the 13th day, but it&#8217;s in your inbox from the 15th day \u2014 whose word counts? A properly configured withdrawal button sends the customer an <strong>immediate automatic confirmation with a timestamp<\/strong>. This is evidence that neither party can dispute.    <\/p>\n\n<p><strong>The contact form is not reflected in the order status.<\/strong> You cannot see in the WooCommerce admin panel that a withdrawal application is in progress for that order. You put the customer&#8217;s email in some Excel file or email folder and hope you don&#8217;t forget. <\/p>\n\n<p><strong>And most importantly: a contact form is a barrier the customer has to search for.<\/strong> The intent of the directive itself is that withdrawing must be <strong>as easy as buying<\/strong>. If buying took three clicks, withdrawing must not take twenty. A contact form located on the \u201cContact\u201d page at the top of the menu is not as easy as buying. This is essentially in conflict with the law \u2014 and on 19.06.2026, this conflict will also become verifiable in practice.   <\/p>\n\n<h2 class=\"wp-block-heading\">What the \u201cit&#8217;s enough\u201d attitude actually costs<\/h2>\n\n<p>Imagine three scenarios.<\/p>\n\n<p><strong>One customer complains.<\/strong> You go to the Consumer Protection and Technical Regulatory Authority to respond. Two days of stress, paperwork, legal advice. The authority issues a precept, giving you 30 days to install the button. The fine this time might be a warning, but the upper limit for a fine on a legal entity is <strong>\u20ac3,200<\/strong>. For a small shop, that&#8217;s an entire month&#8217;s revenue.    <\/p>\n\n<p><strong>Second scenario: you are losing customers but don&#8217;t know it.<\/strong> A customer wants to return something, cannot find an easy way, sends an email, doesn&#8217;t get a response within a day or two, and writes about their experience in a Facebook group. The next potential customer reads this before buying. Reputational damage is something that is hard to express in euros, but the impact is real.  <\/p>\n\n<p><strong>Third scenario \u2014 the most common:<\/strong> you panic in May 2026, hurriedly search for a plugin, install the first thing that comes up on Google, it doesn&#8217;t fit your template design, conflicts with another plugin, the order page breaks, and you sit at your desk until three in the morning. Spring 2026 will be the busiest time of the year for developers. Those who wait until the last minute will pay for the haste.   <\/p>\n<p><!-- TOOTESOOVITUS 2: test-keskkond plugin.riin.eu kus saab reaalselt proovida kuidas nupp t\u00f6\u00f6tab ja kas sobib oma WooCommerce'iga --><\/p>\n\n<p>I wrote a separate article about the <a href=\"https:\/\/riin.eu\/en\/withdrawal-button-obligation-for-e-shops-what-the-june-19-2026-deadline-means-and-how-to-prepare\/\">withdrawal button obligation and the 19.06.2026 deadline<\/a> \u2014 there I break down the content of the directive in more detail. If you want a step-by-step checklist for your current store, then <a href=\"https:\/\/riin.eu\/en\/withdrawal-button-for-woocommerce-store-a-step-by-step-guide\/\">this guide for WooCommerce<\/a> goes through nine checkpoints one by one. <\/p>\n\n<h2 class=\"wp-block-heading\">What a proper withdrawal button for an e-shop looks like<\/h2>\n\n<p>In practice, a proper solution means four things together.<\/p>\n\n<p><strong>The button itself \u2014 on the customer side.<\/strong> A logged-in customer sees their list of orders under \u201cMy Account.\u201d Next to each order for which the withdrawal period has not yet expired, there is a \u201cReturn Product\u201d button. The customer clicks, a form opens where the order details are already pre-filled. They select which products to return, add a bank account (if they paid by card, for example), and press \u201cSubmit.\u201d Three clicks, under a minute.    <\/p>\n\n<p><strong>For guest checkout \u2014 a link in the confirmation email.<\/strong> If a customer bought without creating an account, they must be able to withdraw in the same way. The plugin generates a unique secure link that is included with the order confirmation email. The customer clicks the link, and the same form opens.  <\/p>\n\n<p><strong>Automatic confirmation + notification.<\/strong> The customer receives an immediate confirmation to their email (with a date and time stamp \u2014 this is their proof). You receive a notification that a new withdrawal application has been received. <\/p>\n<p><!-- TOOTESOOVITUS 3: Pro versioon kui on mitmekeelne pood (WPML toega) \u2014 soome ja inglise kliendid saavad omas keeles nupu ja kinnituse --><\/p>\n\n<p><strong>Admin view in one place.<\/strong> In the WooCommerce panel, you have a separate list: received, in progress, completed, refunded. Linked to the order. You can see at a glance where each application currently stands. Excel spreadsheets, email folders, and notes on paper \u2014 all of them fall away.   <\/p>\n\n<h2 class=\"wp-block-heading\">What this actually gives you<\/h2>\n\n<p>Waking up on June 20, 2026, you won&#8217;t have to worry about whether your e-shop is law-abiding \u2014 it is. A customer who wants to return something will no longer write you a frantic eleven-paragraph email at eleven at night asking \u201cwhy can&#8217;t I return this,\u201d but will find the button and click it. You get a notification in the morning, review it, and confirm. The 20\u201330 minutes per application drops to 2\u20133 minutes.    <\/p>\n\n<p>And if a customer later claims the application was not made on time \u2014 you have a log. Time, IP address, order number. The dispute ends before it begins.  <\/p>\n\n<p>If you are not sure whether your e-shop is ready for this or not, the easiest way is: go to the <a href=\"https:\/\/plugin.riin.eu\/\" target=\"_blank\" rel=\"noreferrer noopener\">plugin.riin.eu<\/a> page and play through yourself how it looks on the customer side and how the admin view works. If it seems suitable, let&#8217;s talk about installation. If not, you lost 15 minutes and became wiser.  <\/p>\n<p><!-- TOOTESOOVITUS 4: kui soovid, et keegi paigalduse ja seadistuse \u00fcle vaataks \u2014 kirjuta riin@riin.eu, vaatan poe \u00fcle ja \u00fctlen kas plugin sobib v\u00f5i vajab kohandust --><\/p>\n\n<p>June 19, 2026, will come regardless of whether you are ready or not. The only question is whether you get there calmly in the spring or in a panic during the last week of May. Write to <strong><a href=\"mailto:riin@riin.eu\">riin@riin.eu<\/a><\/strong> with your e-shop address; I will review the store and tell you honestly \u2014 whether everything is already in order, you need a plugin installation, or perhaps more extensive cleanup work.   <\/p>\n\n<ol class=\"wp-block-list\"><\/ol>\n\n<h2 class=\"wp-block-heading\">Frequently Asked Questions<\/h2>\n\n<h3 class=\"wp-block-heading\">Can my existing contact form not work as a withdrawal button?<\/h3>\n\n<p>No, it cannot. <a href=\"https:\/\/eur-lex.europa.eu\/legal-content\/ET\/ALL\/?uri=oj:L_202302673\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/eur-lex.europa.eu\/legal-content\/ET\/ALL\/?uri=oj:L_202302673\" rel=\"noreferrer noopener\">Directive 2023\/2673<\/a> requires a specific button that is linked to a specific order and where a single click initiates the withdrawal process. A general contact form does not recognize the order, does not provide confirmation to the customer, and does not leave a trail for you to audit. <\/p>\n\n<h3 class=\"wp-block-heading\">Is it enough if I put a \u201cReturn Product\u201d button in the footer?<\/h3>\n\n<p>No, it is not enough. The button must be findable specifically with the order the customer wishes to return \u2014 usually under \u201cMy Account\u201d and in the order confirmation email. A footer link leads to a general page but does not link the application to a specific purchase.  <\/p>\n\n<h3 class=\"wp-block-heading\">What happens if I simply am not ready by 19.06.2026?<\/h3>\n\n<p>The site will continue to work; no one will close the shop. But the first dissatisfied customer who complains to the Consumer Protection and Technical Regulatory Authority will trigger a precept and a potential fine of up to \u20ac3,200. The bigger risk is that you won&#8217;t know about the problem until the proceedings are already underway.  <\/p>\n\n<h3 class=\"wp-block-heading\">Does a B2B shop also need to install the button?<\/h3>\n\n<p>If you sell only to legal entities and company registration is mandatory in the shopping cart, then you don&#8217;t have to. But if even one private individual can complete an order in your shop, the button requirement applies. Check with a test purchase.  <\/p>\n\n<h3 class=\"wp-block-heading\">Does a withdrawal button mean that money is automatically returned to the customer?<\/h3>\n\n<p>No. The button is a tool for the customer to submit an application, not an automatic refund. You receive a notification, check the returned product, and only then refund the money \u2014 just as before.  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>A withdrawal button for e-shops will be mandatory starting 19.06.2026. I will explain why a contact form does not meet the requirement and what you actually need to do in WooCommerce. <\/p>\n","protected":false},"author":1,"featured_media":12626,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_focus_keyword":"withdrawal button for e-shop","rank_math_description":"A withdrawal button for e-shops will be mandatory starting 19.06.2026. I will explain why a contact form does not meet the requirement and what you actually need to do in WooCommerce. ","rank_math_title":"Withdrawal button for e-shops: why a contact form is not enough (2026)","rank_math_canonical_url":"","rank_math_robots":"","footnotes":""},"categories":[143],"tags":[146,34,157,144,172],"class_list":["post-12630","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-e-shop","tag-consumer-protection","tag-web-shop","tag-withdrawal-button","tag-woocommerce","tag-wordpress"],"astra-portfolio-type":null,"astra-site-call-to-action":null,"_links":{"self":[{"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/posts\/12630","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/comments?post=12630"}],"version-history":[{"count":1,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/posts\/12630\/revisions"}],"predecessor-version":[{"id":12631,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/posts\/12630\/revisions\/12631"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/media\/12626"}],"wp:attachment":[{"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/media?parent=12630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/categories?post=12630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/tags?post=12630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}