Title: Tienda en Regla
Author: hojasclaras
Published: <strong>November 9, 2026</strong>
Last modified: November 9, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/tienda-en-regla.svg)

# Tienda en Regla

 By [hojasclaras](https://profiles.wordpress.org/hojasclaras/)

[Download](https://downloads.wordpress.org/plugin/tienda-en-regla.1.0.2.zip)

 * [Details](https://wordpress.org/plugins/tienda-en-regla/#description)
 * [Reviews](https://wordpress.org/plugins/tienda-en-regla/#reviews)
 *  [Installation](https://wordpress.org/plugins/tienda-en-regla/#installation)
 * [Development](https://wordpress.org/plugins/tienda-en-regla/#developers)

 [Support](https://wordpress.org/support/plugin/tienda-en-regla/)

## Description

**En castellano:** Tienda en Regla ayuda a las tiendas online argentinas con el 
BOTÓN DE ARREPENTIMIENTO y el BOTÓN DE BAJA DE SERVICIO (Disp. 954/2025), la verificación
por pedido (Disp. 3/2026), los datos de atención al cliente y del vendedor, el Data
Fiscal de ARCA, el aviso del derecho de revocación y el “PRECIO SIN IMPUESTOS NACIONALES”.
La interfaz está en inglés y la traducción al castellano de Argentina llega por 
translate.wordpress.org; los nombres legales están siempre en castellano. Los datos
de las solicitudes quedan en la base de datos de tu sitio: el autor del plugin no
recibe ni ve ningún dato.

Tienda en Regla helps Argentine online stores with the consumer rules that apply
to selling online. It works on any WordPress site that sells; with WooCommerce it
adds order verification, order notes, product exclusions, notices and prices. The
legal names (“BOTÓN DE ARREPENTIMIENTO”, “BOTÓN DE BAJA DE SERVICIO”, “PRECIO SIN
IMPUESTOS NACIONALES”) are fixed in Spanish and cannot be edited, because the rules
name them that way.

#### What it does, and which rule each part follows

Each line says the rule and the date the rule was last read in the official sources(
InfoLeg, servicios.infoleg.gob.ar and argentina.gob.ar/normativa; and arca.gob.ar).

 * **BOTÓN DE ARREPENTIMIENTO** (withdrawal button): a thin bar fixed at the top
   of every page by default, plus an optional floating button, menu item, block,
   shortcode and widget. The form works without an account or login, shows the request
   code on screen at once and sends it by email. – Disposición SSDCyLC 954/2025 (
   Boletín Oficial 4-Sep-2025), arts. 1, 3 and 5; Ley 24.240 art. 34; Código Civil
   y Comercial (CCyC) arts. 1110 to 1116. Reviewed 2026-10-13.
 * **BOTÓN DE BAJA DE SERVICIO** (service cancellation button): same form for cancelling
   a service. Off by default; the setup wizard asks whether you sell services, and
   showing it always is the most prudent option. The merchant notice reminds you
   of the free proof of cancellation within 72 hours. – Disp. 954/2025 art. 4; Ley
   24.240 arts. 10 ter and 10 quáter. Reviewed 2026-10-13.
 * **Verification by order** (WooCommerce): the customer types the order number 
   and the purchase email; if they match, the request is marked “verified” and linked
   to the order. A request that does not match is still registered and gets a code:
   the plugin never rejects a request. – Disposición DNDCyAC 3/2026 (Boletín Oficial
   6-Feb-2026), art. 1. Reviewed 2026-10-13.
 * **Indicative 10-day deadline**: 10 calendar days from the later of the purchase
   and the delivery; the starting day is not counted; if the last day is a weekend
   or a holiday you load, it moves to the next business day. Shown only to the merchant,
   as a guide. – Ley 24.240 art. 34; CCyC arts. 6 and 1110. Art. 1110 reviewed 2026-
   10-13, art. 6 reviewed 2026-10-15.
 * **Notice of the right of withdrawal**: in WooCommerce order emails to the customer(
   in the order details area, `woocommerce_email_order_meta`, not in the email footer),
   on the “order received” page, and in the checkout (classic and block checkout;
   in the block checkout it appears in the order summary as text, without adding
   any field). Each place can be turned off. – Ley 24.240 art. 34; CCyC art. 1111.
   Reviewed 2026-10-13.
 * **Products excluded from withdrawal** (WooCommerce): mark a product or a category
   with the exception that applies; a line on the product page tells the customer.
   The withdrawal button stays visible. – CCyC art. 1116; Disp. 954/2025 art. 3.
   Reviewed 2026-10-13.
 * **Customer service**: phone, email, WhatsApp, contact page, responsible area 
   and hours, in the footer or as a block, with a check for the 8-hour minimum when
   service is only by phone or electronic means. – Disp. 954/2025 art. 6. Reviewed
   2026-10-13.
 * **Seller details**: name, address and CUIT in the footer or as a block, with 
   a warning if the address looks like a post office box. – Ley 24.240 arts. 8 and
   33. Reviewed 2026-10-13.
 * **Data Fiscal**: paste the code that ARCA gives you; the plugin keeps only the
   link to ARCA and shows it, around the official Data Fiscal logo that ships with
   the plugin (an unmodified copy of ARCA’s image), in the footer or as a block.
   It never draws a QR or a logo of its own, and it loads nothing from other servers.
   It reminds you to replace the code if your site address changes. – Resolución
   General AFIP 1415/2003, arts. 24 to 26 (text of RG 4042-E/2017). Reviewed 2026-
   10-13.
 * **“PRECIO SIN IMPUESTOS NACIONALES”** (WooCommerce): a smaller line under the
   final price on product pages and product lists. See “How the price without national
   taxes is calculated” below. – Resolución SIC 4/2025 (Boletín Oficial 17-Jan-2025),
   art. 2 c. Reviewed 2026-10-13.
 * **Personal data notice** under the form, built from your seller details: purpose,
   recipients, controller, required fields, consequences and how to ask for access,
   rectification or deletion. – Ley 25.326 art. 6. Reviewed 2026-10-13 (arts. 14
   to 16 on 2026-10-15).
 * **Requests panel**: list with filters and search, detail with status changes,
   delivery date and internal notes (each change is written in the notes with date
   and user), a link to the WooCommerce order and a “Go to refund” button that only
   opens WooCommerce’s own refund form. Shop managers can handle requests; only 
   administrators see the settings.

Before each new version the rules are checked again in InfoLeg (“normas que modifican”
of Disp. 954/2025 and Res. SIC 4/2025). Resolución 424/2020 is mentioned only as
a repealed precedent: Disp. 954/2025 repealed it on 4-Sep-2025.

#### Merchant responsibility

The plugin **helps** you comply; it does not comply for you, and legal responsibility
stays with the merchant. You decide each request, you make the refund (the plugin
never refunds by itself), you send the proof of cancellation that Ley 24.240 art.
10 ter asks for, and you check that the tax rates, the seller details and the Data
Fiscal code you enter are right. The deadline shown is only a guide. The plugin 
covers the documents that WordPress and WooCommerce make; invoices, delivery notes
or emails from other systems are not covered. This plugin is not legal advice.

#### Where the withdrawal notice appears (WooCommerce)

 * Order emails to the customer: through `woocommerce_email_order_meta`, so it sits
   with the order details and works with themes that change the email footer.
 * “Order received” page: before the order details.
 * Classic checkout: just before the “Place order” button.
 * Block checkout: through the `ExperimentalOrderMeta` slot that WooCommerce documents
   for extensions. WooCommerce marks that slot as **Experimental**, so a future 
   WooCommerce version could rename or move it; if that happens, the notice would
   stop showing in the block checkout (the checkout keeps working) until the plugin
   is updated. Tested with WooCommerce 11.2.

#### How the price without national taxes is calculated

The line shows: final price ÷ (1 + VAT rate + other national indirect taxes rate),
using the rates **you** enter in Tienda en Regla > Prices and notices (default VAT
21 %, other taxes 0 %). For products on sale it uses the sale price; for variable
products, the range (calculated with the tax class of the main product: if your 
variations have different tax classes, the line can differ from the range WooCommerce
shows). It uses your store’s currency format. It is not shown next to instalment
prices or unit prices (Res. SIC 4/2025 art. 2 d and e exempt them); if a payment
plugin prints instalments next to the price, turn the line off with the `tenreg_show_net_price`
filter. Checking that the rate is right for each product is the merchant’s responsibility;
the free plugin uses one rate for the whole store.

#### Multisite

Supported in the code (network activation prepares every site, new sites too; deleting
a site deletes its table; each site is an independent store with its own panel),
but **tested only on single sites**. If you use it on a network, test it on a staging
copy first.

### External services

The plugin does not contact any server by itself: no calls from your server, no 
analytics, no updates or licence checks, and every image, script and style it uses
is served from your own site. Two links on your public pages take the **visitor**
to a third party when clicked, and only if you set them up:

**ARCA (Agencia de Recaudación y Control Aduanero, Argentina) – Data Fiscal.** Only
if you paste your Data Fiscal code. The Data Fiscal logo is served from your site(
the plugin ships an unmodified copy of ARCA’s image in `assets/img/data-fiscal.jpg`),
so loading your pages sends nothing to ARCA. The link takes the visitor to ARCA’s
page for your business only when the visitor clicks it; then ARCA receives the visitor’s
request for that address, which identifies your business (that is what the link 
is for). The plugin itself sends nothing to ARCA, and no data from the requests 
is sent. Showing this link is required by RG AFIP 1415/2003 art. 25. Service: https://
www.arca.gob.ar/960/ . ARCA’s home page does not link a privacy policy that the 
plugin author could find; its general site is https://www.arca.gob.ar/ .

**WhatsApp (WhatsApp LLC) – contact link.** Only if you enter a WhatsApp number 
in the customer service details. The footer and the block show a `https://wa.me/
<number>` link. Nothing is loaded until a visitor clicks it; clicking opens WhatsApp
with your number. Terms: https://www.whatsapp.com/legal/terms-of-service . Privacy
policy: https://www.whatsapp.com/legal/privacy-policy .

### Privacy

 * **What is stored:** for each request, the name, email, request type and code,
   dates and status; with WooCommerce, the order number and the link to the order;
   and only if the customer fills them in, the purchase date (sites without WooCommerce),
   products to return, reason, phone and DNI/CUIT (the phone and DNI/CUIT fields
   are off by default). Internal notes written by the store are stored too. **The
   IP address is not stored**: the anti-spam limit uses a keyed hash in a WordPress
   transient that expires within one hour.
 * **Where:** in a table of your own site’s database (`{prefix}tenreg_solicitudes`),
   not in posts, so it does not appear in searches, feeds or the public REST API.
   With WooCommerce, the order also gets a note and the last request code as order
   metadata.
 * **Who sees it:** administrators and, with WooCommerce, shop managers. **The plugin
   author does not receive or see any data** of your customers or of your store:
   there is no author server, no analytics and no third parties.
 * **How long:** 3 years after the request is closed by default (Ley 24.240 art.
   50: sanctions prescribe in 3 years), configurable from 1 to 10 years; a request
   that was never closed counts from its last change. A daily task deletes what 
   has expired.
 * **Export:** Tools > Export Personal Data includes the customer’s requests, internal
   notes included.
 * **Erase:** Tools > Erase Personal Data **anonymizes by default** the requests
   still inside the retention period: it empties the name, email, phone, DNI/CUIT,
   order number, products, reason and notes, and keeps only the code, type, status,
   dates, “verified” and the link to the order, as evidence of how the request was
   answered; WordPress is told that something was retained, with the reason. An 
   anonymized request takes no new notes. Requests past the retention period are
   deleted. A setting (“Delete the requests instead of anonymizing them”) makes 
   it always delete.
 * **The order link, honestly:** with WooCommerce, an anonymized request keeps its
   link to the order, and the order keeps a note with the request code. While the
   WooCommerce order still holds the customer’s data, the request can be related
   to that person through the order (strictly, that is pseudonymization, not anonymization).
   The order data is handled by WooCommerce’s own eraser (and its settings in WooCommerce
   > Settings > Accounts & Privacy), not by this plugin. If you prefer that the 
   plugin keep nothing of the request, tick “Delete the requests instead of anonymizing
   them” (the order note with the code stays in the order).
 * **Privacy policy:** the plugin suggests a paragraph in Settings > Privacy > Policy
   guide, with your retention years. Review it and adapt it: your privacy policy
   is your responsibility.
 * **Uninstall:** deletes the settings and moves the two pages to the trash; the
   requests table is deleted only if you ticked “Delete all requests when the plugin
   is deleted”.

## Blocks

This plugin provides 6 blocks.

 *   Seller details Seller name, address and CUIT (Ley 24.240 art. 8).
 *   Customer service Customer service channel, hours and responsible area (Disp.
   954/2025 art. 6).
 *   Service cancellation button The BOTÓN DE BAJA DE SERVICIO link (Disp. 954/2025
   art. 4).
 *   Withdrawal button The BOTÓN DE ARREPENTIMIENTO link (Disp. 954/2025 art. 1).
   Put it in the header or footer so it is visible on the first visit.
 *   Withdrawal or cancellation form The request form, without login. It gives the
   customer a request code (Disp. 954/2025 art. 5).
 *   Data Fiscal The Data Fiscal logo and link exactly as the tax agency issued 
   them (RG 1415/2003 art. 25).

## Installation

 1. In WordPress, go to Plugins > Add New, search for “Tienda en Regla”, install and
    activate it. Or upload the zip in Plugins > Add New > Upload Plugin.
 2. On activation the plugin creates the pages “BOTÓN DE ARREPENTIMIENTO” and “BOTÓN
    DE BAJA DE SERVICIO” and turns on the top bar.
 3. Answer the three questions of the setup wizard (Tienda en Regla > Setup wizard):
    whether you sell services, your seller details and the email for new requests.
 4. Fill in Tienda en Regla > Customer service and seller, and paste your Data Fiscal
    code in Tienda en Regla > Data Fiscal.
 5. With WooCommerce: review Tienda en Regla > Prices and notices (tax rates, where
    the withdrawal notice appears) and mark excluded products in the “Advanced” tab
    of each product, if any.

## FAQ

### Does it work without WooCommerce?

Yes. The buttons, the form, the codes, the emails, customer service, seller details
and Data Fiscal work on any WordPress site. Verification by order, order notes, 
exclusions, the withdrawal notice and the price line need WooCommerce 9.0 or later.

### Can I change the button text?

No. Disp. 954/2025 names the link “BOTÓN DE ARREPENTIMIENTO” (and “BOTÓN DE BAJA
DE SERVICIO”), so the plugin uses those exact names in every language.

### Does the plugin reject requests that arrive late or that do not match an order?

Never. Every request is registered and gets a code. The deadline and the verification
are information for you; you decide.

### Does it make the refund?

No. “Go to refund” opens WooCommerce’s own refund form in the order; you choose 
the items and the amount. Return costs are paid by the seller (Ley 24.240 art. 34).

### My site caches whole pages. Does the form still work?

Yes. The form asks the server for a fresh security token when it is sent, so a cached
page does not break it. Without JavaScript it also works: the form is shown again
with a new token.

### Do I have to show the BOTÓN DE BAJA DE SERVICIO if I only sell products?

The rule does not settle it (Disp. 954/2025 art. 4 refers to “la baja del servicio
contratado”). It is off by default and the wizard asks; showing it always is the
most prudent option.

### Is the plugin translated?

The interface is in English. Translations come from translate.wordpress.org and 
WordPress installs them automatically; the Spanish (Argentina) translation is being
contributed there. The legal names and the buttons are always in Spanish, as the
rules require.

### Where are the hooks for developers?

Filters: `tenreg_find_order` (custom order numbers), `tenreg_requests_capability`(
who handles requests), `tenreg_ip_rate_limit` (requests per hour per network address),`
tenreg_show_net_price` (turn the price line off for a product).

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Tienda en Regla” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ hojasclaras ](https://profiles.wordpress.org/hojasclaras/)

“Tienda en Regla” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/tienda-en-regla/contributors)
for their contributions.

[Translate “Tienda en Regla” into your language.](https://translate.wordpress.org/projects/wp-plugins/tienda-en-regla)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/tienda-en-regla/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/tienda-en-regla/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/tienda-en-regla/)
by [RSS](https://plugins.trac.wordpress.org/log/tienda-en-regla/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.2

 * The Data Fiscal logo is now served from the plugin’s own files (an unmodified
   copy of ARCA’s image); nothing is loaded from remote servers.

#### 1.0.1

 * Output escaping hardened.
 * Translations now come from translate.wordpress.org (bundled files removed).
 * Admin notices shown only on the dashboard and the plugin’s own screens.

#### 1.0.0

 * First public version.
 * BOTÓN DE ARREPENTIMIENTO and BOTÓN DE BAJA DE SERVICIO: top bar, floating button,
   menu item, 6 blocks, 5 shortcodes and a widget; form without login, request code
   on screen and by email, anti-spam without third parties, personal data notice.
 * Requests panel: list, filters, search, detail, status changes, delivery date,
   internal notes, 24-hour reminder on the Dashboard.
 * WooCommerce: verification by order, order note and box with “Go to refund” (HPOS
   on and off), WooCommerce emails, exclusions (CCyC art. 1116), withdrawal notice
   in emails, order received page and classic and block checkout, “PRECIO SIN IMPUESTOS
   NACIONALES”.
 * Customer service, seller details and Data Fiscal in the footer or as blocks; 
   setup wizard.
 * WordPress privacy tools: exporter, eraser that anonymizes by default, suggested
   privacy policy text.
 * Multisite support (tested only on single sites).
 * Spanish (Argentina) translation included.

## Meta

 *  Version **1.0.2**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/tienda-en-regla/) and [Spanish (Argentina)](https://es-ar.wordpress.org/plugins/tienda-en-regla/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/tienda-en-regla)
 * Tags
 * [Argentina](https://wordpress.org/plugins/tags/argentina/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/tienda-en-regla/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/tienda-en-regla/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/tienda-en-regla/reviews/)

## Contributors

 *   [ hojasclaras ](https://profiles.wordpress.org/hojasclaras/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/tienda-en-regla/)