Sin impuesto Con impuesto
Legal compliance module for PrestaShop Omnibus. Minimum price

What it does for your store

  • Lowest price for 30 days.Display next to each offer the lowest price for the period you choose, as required by the Omnibus Directive, in the data sheet and in the listings.
  • No discounts that aren't really discounts.If you activate it, it removes the crossed-out price, the percentage, and the sale labels when the price doesn't go below the minimum; the customer pays the same.
  • An advisor reviews your store.Check what you're showing today: where the block appears, the days window, the texts by language, the cron job, and the offers that aren't real.
  • Historical Price Chart:A Keepa-style chart, drawn on your server without external libraries, with five layouts and the period you want to display.
  • A historical record that serves as proof.Each price change is recorded by product, combination and store, with its date, and exported to CSV.
  • Scheduled discounts included.A cron job records discounts with dates, which change the price without anyone touching the back office, and a button imports the ones you already have.
Read also on our blog

Legal compliance module for PrestaShop Omnibus. Minimum price

Price: €80.95
First year:€80.95tax incl.
From the second year:€20.24/yeartax incl.
  • One year of technical support and lifetime updates; from the second year, support is extended for €20.24/year and includes taking on your general improvement ideas for the module.
  • Renews automatically; cancel whenever you want, with no minimum term.
One-time payment:€80.95tax incl.
  • One year of technical support and lifetime updates; after that, support ends (with the subscription it is extended for €20.24/year).
  • A single payment, with no automatic charges.
€66.90 + VAT = €80.95

It displays the lowest price from the last 30 days, as required by the Omnibus Directive, and—if you activate it—prevents your store from advertising as a discount anything that doesn't fall below that minimum, which is the actual infraction that results in penalties. It includes a Keepa-style price history graph, drawn on your server, and an advisor that audits what your store is currently displaying.

Compatible with

PrestaShop8.0 – 9.1

Black Friday, 7 to 30 November: spend €50 or more on modules (VAT included) and we give you a €200 voucher (VAT included) to spend on more modules for one month. Ends in until 30 November at 23:59.

Expert content

Reviewed by our experts

Written by

Reviewed by

See all our experts

Content written and reviewed by qualified professionals. Information is provided for guidance only.

Installation, updates and support

Free installation

We'll do it for you! We'll install and configure the module in your store completely free of charge , guaranteeing a quick and hassle-free start.

Lifetime updates

Get permanent access to the latest version of your module. Your investment is protected and it will always be compatible with new versions of PrestaShop.

Certified quality

Our modules have passed the official PrestaShop validation, ensuring their security, performance and compatibility with the platform's standards.

Premium support (1 year)

You have a full year of dedicated support . Any questions or problems that arise regarding the module will be resolved by our expert team.

Why did we create this module?

The Omnibus Directive requires that, next to each price reduction, the lowest price from the previous 30 days be displayed. PrestaShop does not store price history by default, so there's no way to obtain that number.

And the law requires a second, often overlooked, requirement: not to advertise as a discount a price that doesn't fall below that minimum. That's why the module doesn't just print the number: it records every price change and, if you activate it, stops advertising as a discount what isn't, without affecting what the customer pays.

Since almost all violations are simply a misplaced field that doesn't trigger an error, we've added an advisor who reviews what your store is currently displaying. You gain a historical record to back up every previous price and the certainty of knowing exactly what you're showing.

The Omnibus Directive requires two things. Almost all modules only do the first.

A product that you were selling for €20 three weeks ago, which you raised to €30, and which you're now "reducing" to €25. Today's price It is not below Displaying the lowest price of the last 30 days with a crossed-out price and a -17% discount sticker is a deceptive commercial practice, even if a previous price is shown next to it. And that's precisely what consumer inspections look at.

RKR Last Price covers both obligations: publishes the lowest price of the last 30 days and, if you activate it, prevents the store from advertising as a discount what is not.

2
different obligations, and only one consists of printing a number
30
minimum reference days, which is what the law requires
5
designs for the graphic, and none load a library

The previous price, where the customer sees it.

The module records every price change for every product and every combination — including those caused by scheduled discounts, which do not trigger any hook — and writes down the lowest price for the period you choose.

You decide the text, language by language, with variables for the price with and without taxes, dates, and the actual number of days elapsed. It appears on the product sheet and in the reports, without any further input.

It can prevent the advertising of an offer that is not a real offer.

By activating "Do not advertise offers that are not offers", When the discounted price is not below the minimum for the period, the store stops claiming that there is a saving: the crossed-out price, the percentage and the "discount" and "on sale" labels disappear, both in the listing and in the categories, the search and the featured items.

What doesn't change is what the customer pays. The discount is still applied in full to the shopping cart and the order. The only thing that disappears is the notification that there is a discount.

An advisor who audits your store, not the module

Almost all the non-compliances seen in real stores are due to a box in the wrong position, and a box in the wrong position does not cause any errors.

The settings screen opens with an advisor reviewing what you're teaching. today:

  • if the block is hooked and where it comes out;
  • if the reference window reaches 30 days;
  • what samples when there is still no historical data;
  • if the template is filled in all active languages;
  • how many live offers are not a real price reduction;
  • if the cron job is running and there are no unprocessed discounts.

A historical chart, in the style of Keepa

A stepped chart showing the product's cost, drawn using the same historical data that supports the previous price: there's nothing more to feed in, nor a second table to wait for.

It is calculated on the serverSVG generated in PHP. It doesn't load any graphics libraries, doesn't request anything from outside your store, and a visitor without JavaScript can still see it.
For as many periods as you want30, 60 or 90 days, 6 months, 1 year or the entire history, with optional buttons for the visitor to change it.
Five designsKeepa, Minimal, Dark, Rekire and High Contrast. Each one is a set of CSS variables: changing one color doesn't force you to redefine the others.

The grid, labels, minimum and maximum marks, points, and legend all turn off separately. A buyer who can see a price history trusts the price you're showing them: it's reliability that also sells.

It's born dead, and an update won't turn it on.

The two features that change what the store displays—hiding fake offers and the graph— They arrive turned off, both during installation and when an update brings them, and no update touches what you have already configured.

An update can't automatically change what a store is already selling to its customers. You activate them yourself, after you've read what the advisor says.

Designed for real stores

MultistoreThe history, adjustments, and price calculation are per store.
CombinationsEach combination has its own history, not just the parent product.
Scheduled discountsA discount with a specific date changes a price without anyone touching the back office. The cron job records it, and the advisor notifies you if it has stopped running.
Existing catalogA button imports the discounts that are already active in your store, so you don't start with a blank history.
Provide proof if they ask for it.Catalog → Latest prices lists each transaction with the price including and excluding taxes, discounts, and the date. Exported to CSV.
Six languagesSpanish, English, French, Italian, Portuguese and German, included.

Compatibility. PrestaShop 8.x and 9.x, PHP 7.2.5 to 8.3. It works with native themes and any theme that uses standard product hooks; the graphic can also be placed anywhere you want with a line in the template.

This module is a tool to help you comply. It is not legal advice.

  • Compatible PrestaShop versions
    1.7.0
    1.7.1
    1.7.2
    1.7.3
    1.7.4
    1.7.5
    1.7.6
    1.7.7
    1.7.8
    8.0
    8.1
    8.2
    9.0
    9.1

Version1.8.4
CompatibilityPrestaShop 8.0 – 9.1
PHP7.4 – 8.3
MultistoreYes: historical data, adjustments, and reference price per store
Languages includedSpanish, English, French, Italian, Portuguese and German
Modify the coreNo: no overrides
Own tables2: Price history and control of scheduled discounts
Scheduled tasksYes: a daily cron job to record discounts with dates
DocumentationManual in Spanish and English, in Markdown and PDF

v1.10.0

New

  • "Delete prices older than" (General tab): Never, 30, 60, 90, 180, 365, or 730 days, with a "Delete now" button; the cron job only performs this once a day. The days are counted from the last price change for each product , not from today, so each product retains its current price and the window used to calculate its previous price: what the customer sees remains unchanged. It never deletes prices for less than "Days to consider," and with "Maximum possible days," it deletes nothing. It originated in "Never." It was requested by a customer.
  • Product ID and reference in "Latest Prices" , with filter and sorting. The reference is the combination reference if available, otherwise it's the product reference. This was requested by the customer.

Corrected

  • The cron job was failing with "Duplicate entry '0'" on every pass when a discount with dates was deleted without going through PrestaShop (SQL, another module): its pending row was left orphaned. Now it's discarded, and the update removes the row with ID 0 that it left behind.
  • When uninstalling, the color keys for the chart remained in the database.

v1.9.5

New

  • "Show in product listings" (General tab): With "No" selected, the lowest price only appears on the product page and disappears from categories, search results, brands, and related products. Stores that update their products have this setting enabled, so nothing changes until it's disabled.

Corrected

  • The "Latest Prices" option was throwing an SQL 1064 error when the store had combinations disabled: the listing was leaving the extra selection field empty, and PrestaShop was still adding the comma. A customer reported the issue and provided the solution.

v1.9.4

New

  • --scan in the cron job via console : php modules/rkrlastprice/cron.php --scan iterates through all products and combinations in all stores and records prices that have changed since the last historical transaction. This is for stores that update prices using an external service that writes directly to the database, where PrestaShop doesn't notify the module. It only records what changes: a catalog with no changes doesn't add any rows. It runs in batches of 500 products, clearing the price caches between batches. Tested on 9.0.0 : 141 prices recorded on the first pass, 0 on the second, and 9 (8 combinations and 1 product) after changing two prices via SQL, with the correct price including taxes.

v1.9.3

New

  • The cron job can be launched from the console : php modules/rkrlastprice/cron.php (and --init_spec to import all existing discounts). It has no time limit and requires no token, making it suitable for large catalogs on hosting providers that block web requests after 120 seconds. It also works in PrestaShop 9, where the file cannot be requested via the web. The web version remains the same: the dispatcher URL with its token.

v1.9.2

New

  • Compatible with PrestaShop 1.7.6 and 1.7.7 (previously from 1.7.8 ). Tested on 1.7.6.7 with PHP 7.2 and debug mode: installation, all four configuration tabs, saving, importing, history with export and editing, cron jobs via both paths and the entire update chain, without a single module warning; and in the storefront, the fake offer without strikethrough or label and the real one with both.

Corrected

  • In 1.7.6 and 1.7.7 the module couldn't even be installed:Undefined class constant 'MULTISTORE_COMPATIBILITY_YES' . This constant was introduced in version 1.7.8 and was named when the module was built, so the error occurred before PrestaShop could report incompatibility. Now it's only used if it already exists.
  • In 1.7.6 the block price crashed the product listing : Tools::getContextLocale() is protected in that version. The context locale is used.
  • "Do not advertise offers that are not offers" in versions 1.7.6 and 1.7.7 : these versions do not have the actionPresentProduct or actionPresentProductListing hooks, so the discount label was removed but the crossed-out price remained. Now it is also removed from filterProductContent (product details) and filterProductSearch (categories, search, brands…), which are only hooked in those versions.

Known limitations in 1.7.6 and 1.7.7

  • Product blocks that are not a search listing (the featured items on the homepage, for example) do not go through any hook in those versions: there the fake offer retains the crossed-out price.
  • Only in 1.7.6 : the first discount from a store that doesn't offer any is recorded without the discount, because the kernel stores "no specific prices" for the entire request. This is corrected in the next price change.

v1.8.4

  • Fixed: In English stores, the module no longer fills in the translation notice log on each visit.
  • Fixed: The discount import dialog is now translated into all six languages, including two labels that were always in English.
  • Fixed: Installing the module from the console no longer gets interrupted with an error.

v1.8.3

  • Improved Internal quality and compatibility improvements.

v1.8.2

  • Improved Internal quality and compatibility improvements.

v1.8.1

  • Improved The advisor also reviews the chart: whether there is a way out, how much the historical price falls in the period, which colors are ignored, and whether the title is missing in any language.
  • New Help Box in the chart tab with where it appears, the line to place it in your template and the five designs.
  • Fixed: A process launched from the console is no longer interrupted when reviewing offers.

v1.8.0

  • New Keepa-style historical price chart, drawn on your server without external libraries. It arrives disabled.
  • New Periods of 30, 60 or 90 days, 6 months, 1 year or the entire history, with optional buttons for the visitor to change it.
  • New Five designs (Keepa, Minimal, Dark, Rekire and High Contrast) with adjustable colors, thickness, height and each element.
  • Fixed: The texts created during installation, such as the graphic title and menu label, now appear in the correct language.

v1.7.3

  • Fixed: The cron address given in the configuration screen now works in PrestaShop 9.

v1.7.2

  • Improved Internal quality and compatibility improvements.

v1.7.1

  • Improved Internal quality and compatibility improvements.

v1.7.0

  • Improved full multi-store: history, settings and style sheet are per store, each with its own price.
  • Fixed: Discounts from "all stores" are registered in all stores and are already included when importing existing ones.
  • Improved The history list shows the store for each transaction and the advisor notifies if the module is not active in any store.
  • Fixed: The historical listing no longer fails in multi-store and the menu labels are translated.

v1.6.0

  • New option to avoid advertising offers that aren't really offers: no crossed-out price or sale labels when the discount doesn't fall below the minimum. It arrives deactivated.
  • New Setup Advisor with nine checks on what the store is currently showing.
  • New complete translations into French, Italian, German and Portuguese.
  • Fixed: Imports, crons, and processes that touch prices no longer cause errors, and the import discounts button works on new installations.

At Rekire we want to make things easy for you. That's why our PrestaShop modules come with a flexible usage license:

  • Unlimited use in your projects. You can use the module in as many of your own installations as you want, even if you are an agency and manage several websites (without needing to be in multi-store mode).
  • Distribution restrictions. It is not permitted to exchange, distribute, sell, or republish the module to third parties.

Professional ethics. This software is our livelihood. We ask for your professional ethics and that you make new purchases if the volume of projects requires it: it's the only way for us to make it worthwhile to continue developing such great modules and maintain our constant improvements.

Technical support

In order to provide you with the best service, module support is governed by these conditions:

  • Support is provided exclusively on the website declared as the main site .
  • If you have not declared a primary site, support is automatically applied to the first installation where the module is activated.

You might also like

4 other products in the same category

Questions and answers

  • ¿Basta con mostrar el precio más bajo de los últimos 30 días para cumplir la Directiva Ómnibus?

    Equipo de Rekire

    0
    • No del todo. La directiva pide además no anunciar como rebaja un precio que no está por debajo del mínimo del periodo, que es justo lo que miran las inspecciones. El módulo hace las dos cosas: publica el precio más bajo y, si activas «No anunciar las ofertas que no lo sean», quita el precio tachado, el porcentaje y las etiquetas de oferta cuando la rebaja no es real.

      Equipo de RekireThe shop

  • Si oculto una oferta que no es real, ¿cambia lo que paga el cliente?

    Equipo de Rekire

    0
    • No. El descuento se sigue aplicando íntegro en el carrito y en el pedido. Lo único que desaparece es la afirmación de que hay una rebaja, en la ficha, las categorías, la búsqueda y los destacados.

      Equipo de RekireThe shop

  • ¿Registra también los descuentos programados y las combinaciones?

    Equipo de Rekire

    0
    • Sí. Guarda cada cambio de precio de cada producto y de cada combinación, también los de descuentos con fechas, que no disparan ningún hook: los registra el cron, y el asesor te avisa si deja de correr. Además, un botón importa los descuentos que ya están vivos para no empezar con el histórico en blanco.

      Equipo de RekireThe shop

  • ¿Cómo es el gráfico de histórico de precios?

    Equipo de Rekire

    0
    • Un gráfico escalonado al estilo de Keepa, generado en tu servidor como SVG: no carga librerías ni pide nada fuera de tu tienda, y se ve incluso sin JavaScript. Tiene cinco diseños (Keepa, Minimal, Oscuro, Rekire y Alto contraste) y periodos de 30, 60 o 90 días, 6 meses, 1 año o todo el histórico.

      Equipo de RekireThe shop

  • ¿Cambiará lo que ve mi cliente nada más instalarlo o al actualizar?

    Equipo de Rekire

    0
    • No. Las dos funciones que cambian lo que muestra la tienda, ocultar las ofertas que no son reales y el gráfico, llegan apagadas al instalar y cuando una actualización las trae, y ninguna actualización toca lo que ya hayas configurado. Las enciendes tú cuando hayas leído lo que dice el asesor.

      Equipo de RekireThe shop

  • ¿Qué versiones de PrestaShop y PHP admite?

    Equipo de Rekire

    0
    • PrestaShop 8.x y 9.x, con PHP 7.2.5 a 8.3. Funciona con los temas nativos y con cualquier tema que use los hooks estándar de producto. Es una herramienta para ayudarte a cumplir, no asesoramiento jurídico.

      Equipo de RekireThe shop

Loading...
Cookie consent
Back to top