Skip to content
PN Scripts

Plugins

Cenovka

A Magento 2 module that shows the lowest price of the 30 days before a discount, as the EU Omnibus rule asks, computed from prices it records itself, and shows nothing when its records cannot prove the number.

  • Magento Open Source and Adobe Commerce 2.4.6+
  • PHP 8.2 to 8.4
  • Magento cron
  • GraphQL
  • Coming soon

Coming soon

Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.

A Magento product page with a discounted shirt, its regular price and the Cenovka line with the lowest price in the 30 days before the discount

What it solves

The gap

EU price rules require the lowest price of the 30 days before a discount next to the reduced price, but Magento keeps no price history, so stores either guess, show the regular price or type the number by hand.

What it is

Cenovka records the prices of Magento's price index every minute per website and customer group and computes the lowest price of the period before each discount, showing it only when the records cover the whole period.

How you use it

A correct prior price under every discount, without spreadsheets or guesses.

The 30-day prior price for Magento stores in the EU, computed from real recorded prices and honest about what it cannot prove.

Who it is for

Use it when

  • A Bulgarian fashion store that runs weekend promotions and must show the lowest price of the last 30 days next to every reduced price
  • A German store with catalog price rules for retailers and guests, where each customer group sees its own prior price
  • A headless PWA storefront that reads the prior price from GraphQL

Built for

  • Magento Open Source and Adobe Commerce stores selling to consumers in the EU
  • Magento agencies and developers who maintain stores for EU clients

What is inside

Records what customers were charged

Every minute, Cenovka compares Magento's price index with the prices it saw last and writes one row per change, per website and customer group. The index already applies special prices, their dates, catalog price rules and the tier price for one item, so all of them are recorded.

The rules, as written

The period ends when the discount starts and begins at midnight in the store time zone 30 calendar days earlier, or up to 365 if you choose. Every price in force during the period counts, earlier promotions included, and a deeper discount keeps the start of the first.

Nothing it cannot prove

If cron or the module was off and a price changed meanwhile, that time counts as unknown, and a discount whose period includes it shows nothing. The same goes for history that starts too late and for products newer than the period, unless you use the time since launch.

Where it shows

Under the final price on product pages, category pages, search results and widgets, for the chosen variant of configurable products, in the cenovka_prior_price GraphQL field, and in Catalog > Prior Price History with the reason when none is shown.

Specs

Availability
Coming soon
Vendor
PN Scripts
Type
Plugin
Platforms
PHP
Pricing
One-time purchase Price to be announced.
License
Commercial license
Deployment
Download (module ZIP for app/code)
Maturity
v1.0.0

Compatibility

Platform or runtime Supported versions Tested up to
Magento Open Source 2.4.6 or newer 2.4.9
PHP 8.2 or newer 8.4

Stack

  • Magento Open Source and Adobe Commerce 2.4.6+
  • PHP 8.2 to 8.4
  • Magento cron
  • GraphQL

Cenovka is coming soon

It is finished and tested. It is not on sale yet; this page will say where to get it when it is.

Coming soon

Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.

Questions

A Magento 2 module that records the prices of your catalog and shows the lowest price of the 30 days before a discount next to the reduced price, as the EU Price Indication Directive asks. It comes as a zip for app/code with the module, its tests, translations and a README.

Magento Open Source or Adobe Commerce 2.4.6 or newer with PHP 8.2 to 8.4 and Magento cron running. It was tested on Magento Open Source 2.4.9 with PHP 8.4, MariaDB 11.4, OpenSearch 2.19 and the Luma theme.

Bundle and grouped products show no prior price, and prices from before installation cannot be known, so for the first 30 days it shows nothing for products discounted then. Adobe Commerce, Hyvä and Magento 2.4.6 to 2.4.8 were not part of the tests, and it is not legal advice.

Made by PN Scripts, a Sofia studio that builds games and tools, as a Magento 2 module with a pure PHP rules engine, a cron job over the price index, a price box plugin and a GraphQL resolver. Created with AI assistance; PN Scripts checked the rules with 56 PHPUnit tests and the module with an automated install from the zip on Magento Open Source 2.4.9, 37 checks on the storefront, GraphQL, admin and real Magento cron.

It is not on sale yet. When it is, this page will link to the store; PN Scripts does not take payment on this site.