Precio anterior en las ofertas (norma Omnibus) en PrestaShop: cómo lo cumplimos y por qué añadimos un historial de precios

Subir un precio la semana antes de las rebajas para anunciar después un «-30 %» es una práctica que la normativa europea quiso cortar. Desde la llamada directiva Omnibus, cuando una tienda anuncia una reducción de precio, el precio anterior que muestra tiene que ser el más bajo que ha aplicado en los 30 días previos. Y el Tribunal de Justicia de la UE aclaró en 2024 que el porcentaje de descuento anunciado también se calcula sobre ese precio.

PrestaShop no hace este cálculo: tacha el precio sin descuento, sin mirar qué precio tuvo el producto el mes anterior. En velasdeolor.es, una tienda con promociones todos los meses, lo resolvimos con un módulo propio. Y aprovechamos para dar un paso más: un historial de precios visible en cada ficha.

Este artículo explica una solución técnica, no es asesoramiento legal. Si tienes dudas sobre cómo te afecta la normativa, consúltalo con un profesional.

Qué dice la norma, en corto

  • La directiva europea 2019/2161 (Omnibus) se incorporó en España mediante el Real Decreto-ley 24/2021, que modificó la Ley de Ordenación del Comercio Minorista.
  • En toda reducción de precio, el precio anterior es el más bajo aplicado en los 30 días anteriores a la reducción.
  • Según la sentencia del TJUE en el asunto C-330/23 (Aldi Süd, septiembre de 2024), el porcentaje o el importe del descuento que se anuncia debe calcularse sobre ese precio anterior, no sobre el precio «normal».

En la práctica, si un producto estuvo a 20 € a mediados de mes, subió a 25 € y ahora se anuncia a 20 € «rebajado», no hay rebaja que anunciar.

Qué hace el módulo

1. Registra cada precio desde el primer día

El módulo guarda, para cada producto y cada combinación, cada precio que ha tenido y desde cuándo hasta cuándo: el precio que paga una clienta normal (con IVA, en España y por una unidad) y el precio sin descuento. Se actualiza en cuanto se cambia un precio, una oferta o una regla de catálogo desde el backoffice, y una tarea programada repasa cada hora las ofertas que empiezan o terminan.

Un detalle que marca la diferencia: si una oferta programada empieza a las 00:00, el cambio se fecha a las 00:00 exactas, aunque la tarea lo detecte un rato después. Así el cálculo de los 30 días es exacto.

2. Calcula el precio anterior legal

Con ese historial, para cada oferta calcula el precio más bajo de los 30 días anteriores a su inicio. Algunas reglas de sentido común:

  • Los precios que duraron menos de 5 minutos (un error corregido al momento) no cuentan.
  • Si un producto vuelve al mismo precio tras una pausa corta, se considera la misma oferta.
  • Cada escalón de bajada se trata como una rebaja nueva (un criterio conservador).
  • El porcentaje se redondea siempre hacia abajo, para no anunciar nunca más descuento del real.

3. Corrige lo que ve la clienta en toda la tienda

El precio tachado y el porcentaje se corrigen en la ficha, en los listados, en el buscador, en los carruseles y en el carrito. En la ficha aparece además la línea «Precio más bajo de los 30 días anteriores a la oferta: X €».

4. No anunciar rebajas ridículas

Si tras aplicar la norma la rebaja real se queda en un 4 % o un 6 %, anunciarla confunde más que ayuda. Por eso el módulo tiene un umbral mínimo (10 %, configurable): por debajo, el producto se muestra a su precio sin etiqueta de oferta. Mejor no anunciar nada que anunciar un descuento que no lo parece.

Un historial de precios para las clientas

La norma obliga a mostrar el precio anterior, pero el dueño de la tienda quiso ir más allá: que cualquiera pueda comprobar con sus propios ojos cuándo un producto está rebajado de verdad. Al final de cada ficha hay una sección «Historial de precios» con:

  • Una gráfica con la evolución del precio (hasta 24 meses) y las ofertas marcadas en una franja de color.
  • El precio actual, el más bajo y el más alto del periodo.
  • Las últimas ofertas, con sus fechas.

La gráfica solo dibuja el precio que se pagaba realmente, nunca el precio «sin descuento», para no contradecir el precio anterior legal. Y está hecha con un pequeño script propio, sin librerías, que solo se carga en las fichas y de forma diferida, para no penalizar la velocidad.

Un historial honesto, aunque empiece de cero

Habría sido fácil reconstruir un historial largo hacia atrás, pero no habría sido fiable: varias marcas de la tienda habían subido sus tarifas poco antes y los precios antiguos ya no eran comparables. La decisión fue empezar el historial el 1 de octubre de 2026 para todas las marcas y decirlo claramente en la ficha («Registramos los precios desde el…»).

¿Y las ofertas que ya estaban en marcha antes de esa fecha? El módulo no puede garantizar su precio de los 30 días anteriores, así que no muestra esa línea hasta tener datos suficientes. Ningún dato inventado.

Planificar ofertas sin sorpresas

La tienda lanza promociones todos los meses (por ejemplo, dos aromas al 25 % cada mes). Si alguno de esos productos estuvo rebajado hace poco, el descuento que se podría anunciar sería menor. Para evitar sorpresas, el módulo incluye un comprobador de fechas: se indica la fecha de inicio prevista y el porcentaje, y para cada producto dice si podrá anunciar el descuento completo, uno menor, ninguno o si queda por debajo del mínimo. Así la promoción se planifica con datos. Y para saber cuántas unidades pedir antes de una promoción, la tienda usa su previsión de compras.

Cómo lo pusimos en marcha

Como el resto de desarrollos de la tienda (por ejemplo, el acceso con Google y con código por email), el módulo funcionó primero en modo de prueba, visible solo para el dueño, y después se activó para todas las clientas. Está diseñado para no romper nunca la tienda: si algo fallara, la clienta vería el precio normal y el error quedaría anotado para revisarlo. Y no modifica el cálculo de precios de PrestaShop ni la plantilla: solo corrige cómo se presenta la oferta.

Conclusión

Cumplir la norma del precio anterior en PrestaShop no se resuelve con una opción del backoffice: hace falta registrar los precios y calcular cada oferta. Hecho bien, además de evitar problemas, se convierte en un argumento de confianza: una tienda que enseña su historial de precios no tiene nada que esconder.

Si tu tienda PrestaShop hace ofertas con frecuencia y quieres revisar cómo las muestra, contacta con nosotros o mira cómo trabajamos en PrestaShop en El Puerto de Santa María.

Más casos reales de velasdeolor.es

Este artículo forma parte de una serie sobre las mejoras que hemos hecho en la tienda en octubre de 2026:

Scroll al inicio

Esta actuación está impulsada por el Plan de Recuperación, Transformación y Resiliencia, financiada por la Unión Europea – Next Generation EU

Financiado por la Unión Europea - NextGenerationEU. Plan de Recuperación, Transformación y Resiliencia. Programa Kit Digital financiado por los fondos Next Generation del Mecanismo de Recuperación y Resiliencia