CS-Cart Add-on · Documentation ·

CS-Cart EU Omnibus
Price Compliance Add-on

Complete setup guide and documentation for EU Price Compliance v1.2 — the CS-Cart add-on that automates the EU Omnibus Directive 30-day lowest price rule for CS-Cart and Multi-Vendor stores.

Version 1.2 · CS-Cart 4.13.1+ 14 languages CS-Cart · Ultimate · Multi-Vendor

01 What it does

The EU Omnibus Directive (2019/2161) requires that any time a product is shown with a promotional price, the storefront must also display the lowest price charged in the preceding 30 days. Violations can lead to significant fines enforced by national consumer protection authorities.

This add-on automates the entire process — no spreadsheets, no manual audits.

📋

Automatic price recording

Every price change (including promotions) is silently recorded in a dedicated history table — nothing to configure per product.

🚫

Discount validation

Before a price is saved, the add-on checks whether the new reference price exceeds the 30-day minimum. Non-compliant saves can be blocked automatically.

🏷️

Storefront reference label

Displays the mandatory "Lowest price in the last 30 days" label on the product page, next to the sale price.

📊

Compliance dashboard

A dedicated admin panel shows every monitored product, its current price, 30-day low, discount %, and compliance status at a glance.

📈

90-day price history chart

Optional tab on the product detail page shows the full 90-day price movement chart and table.

🌍

14 languages included

Ships with translations for EN, DE, FR, ES, IT, PL, CS, NL, AR, JA, KO, ZH, UK, and RU.

02 Requirements

RequirementValueNotes
CS-Cart core version≥ 4.13.1Tested up to 4.20.1
Supported editionsCS-Cart, Ultimate, Multi-VendorAll editions supported
PHPAny version CS-Cart supportsNo additional extensions required
DatabaseMySQL / MariaDBOne new InnoDB table on install
Other add-onsNoneNo dependencies

03 Installation

1

Download the add-on

Purchase from the CS-Cart Marketplace and download the .zip archive to your computer.

2

Upload via the Admin Panel

Go to Add-ons → Manage Add-ons and click + (Install Add-on). Select the downloaded .zip and click Upload & Install.

3

Activate the add-on

Find EU Price Compliance in the add-on list and confirm its status is Active. The eu_price_history database table is created automatically.

4

Configure settings

Click the gear icon next to the add-on. Defaults work out of the box for most stores — review the violation mode (see §4).

5

Seed initial history (optional)

The add-on starts recording from the moment it is installed. For existing products, use Re-seed from the compliance dashboard to add today's price as a starting point.

⚠️
The add-on does not backfill historical prices from before installation. Only price changes made after activation are recorded. Re-seeding adds today's current price as the initial reference point.

04 Settings

All settings are found at Add-ons → Manage Add-ons → EU Price Compliance → Settings.

SettingDefaultDescription
Lookback period (days)30How many days back to scan when calculating the lowest reference price. The EU Omnibus Directive requires a minimum of 30 days — do not lower this for EU compliance.
On non-compliant discountBlock publication Block publication — save is rejected, existing price stays intact.
Show warning only — save proceeds but a yellow banner warns the admin.
Allow (log only) — save proceeds silently; violations visible in dashboard only.
Deactivate product on blocked violationNoWhen enabled, the product is automatically set to Disabled on a blocked save, pulling it from the storefront until manually re-activated after fixing the price.
Include promotional prices in historyYesWhen enabled, promotion prices are recorded and count toward the 30-day minimum. Required for correct EU compliance — the directive counts all prices charged to customers.
Show lowest price on storefrontYesDisplays the "Lowest price in the last N days" label on the product detail page whenever the product has an active discount. Required by the directive.
Show extended price history tabNoAdds an optional Price history tab on the product detail page showing a 90-day chart and table. Optional — not required by law.
For full EU Omnibus Directive compliance keep Lookback period ≥ 30, Include promotional prices enabled, and Show lowest price on storefront enabled.

05 Admin dashboard

Navigate to Website → EU Price Compliance to open the compliance dashboard.

EU Price Compliance Dashboard Showing all products
248
Products monitored
34
Active discounts
3
Compliance warnings
1
Blocked from publishing
ProductCurrent priceLowest 30dDiscountStatus
Wireless Headphones Pro€79.99€89.99Compliant
Running Shoes X3€59.90€59.9015%Compliant
Leather Jacket — Black€119.00€109.0020%Warning
Coffee Maker Deluxe€199.00€175.0030%Blocked
USB-C Hub (New)€34.99No history

Understanding status labels

StatusMeaning
CompliantThe current reference price is ≤ the 30-day minimum. No action needed.
WarningA violation was detected but the save was allowed (violation mode = "Show warning only"). Review the product's pricing.
BlockedThe last attempted price save was rejected. The previous price remains active. Correct the reference price before republishing.
No historyNot enough price history to evaluate yet. Normal for new or recently installed products. Use Re-seed to add a starting price point.

Per-product actions

History — Opens the detailed price history page with a 90-day chart and date-stamped price table.
Re-seed — Adds the current price to history as of today. Useful for newly installed stores.
Clear — Deletes all price history for that product. Cannot be undone. Use only for testing.

06 Product history tab (admin)

In the CS-Cart admin product editor, a new EU Price History tab is added to every product. It shows:

FieldDescription
Current priceThe product's active base sell price.
30-day referenceThe lowest price recorded in the lookback window — this is the value the storefront label must display.
Lookback periodThe configured number of days (shown for reference).
Price history tableChronological list of all recorded price entries with date and price type (base or promotional).
ℹ️
This tab is visible in the admin panel only, regardless of whether the storefront history tab is enabled in settings.

07 Storefront display

When Show lowest price on storefront is enabled, the product detail page shows the EU-required reference price label whenever the product is on sale.

yourstore.com/product/running-shoes-x3
Running Shoes X3
€59.90 €69.90 −15%
🏷️ Lowest price in the last 30 days: €59.90

The label only appears when the product has an active promotional or list-price discount. Products with no active discount show no extra label.

Extended price history tab (optional)

If Show extended price history tab is enabled, a Price history tab appears on the product page showing a 90-day line chart of price movements plus a table listing each price period with start date, end date, and price type. Optional — not required by the directive.

ℹ️
Storefront templates support both the Responsive and Nova built-in CS-Cart themes. Custom themes may need minor template integration — see design/themes/responsive/templates/addons/eu_price_compliance/ as a reference.

08 Multi-Vendor support

The add-on is fully compatible with CS-Cart Multi-Vendor and CS-Cart Ultimate. Price history and compliance checks are automatically scoped to each vendor's own products.

Who sees whatDetails
Root administratorFull dashboard with all vendors' products. Can filter, view history, reseed, and clear for any product.
Vendor (MVE/ULT)Dashboard scoped to their own products only. Navigation link added to the vendor panel automatically.
Promotional pricesCaptured for both storefront and vendor panel — the SiteArea check ensures vendor-panel promotions are tracked.
PermissionsTwo privilege keys registered: view_eu_price_compliance and manage_eu_price_compliance. Both granted to vendors by default.

09 Languages

All interface strings — admin panel, storefront labels, error messages, tooltips — are fully translated into 14 languages.

🇬🇧 English 🇩🇪 German 🇫🇷 French 🇪🇸 Spanish 🇮🇹 Italian 🇵🇱 Polish 🇨🇿 Czech 🇳🇱 Dutch 🇸🇦 Arabic 🇯🇵 Japanese 🇰🇷 Korean 🇨🇳 Chinese 🇺🇦 Ukrainian 🇷🇺 Russian

CS-Cart automatically loads the correct language file based on the active store language. No manual configuration needed.

Stay compliant. Avoid fines. Build trust.

Get EU Price Compliance on the CS-Cart Marketplace — automates the Omnibus Directive 30-day rule from day one.

🇪🇺 Buy on CS-Cart Marketplace

10 FAQ

Does the add-on backfill historical prices from before installation?
No. The add-on records price changes from the moment it is activated. Existing products will show a No history status until their price is changed or you use the Re-seed action to register today's price as a starting point.
What happens if I set the lookback period to fewer than 30 days?
The add-on will enforce whatever value you set, but this would put your store out of compliance with the EU Omnibus Directive, which mandates a minimum of 30 days. The setting is exposed for stores outside the EU or those with stricter internal policies — not to reduce it below the legal minimum.
Will it work with my custom CS-Cart theme?
The add-on ships templates for CS-Cart's built-in Responsive and Nova themes. For a third-party or custom theme, copy and adapt the hook templates from design/themes/responsive/templates/addons/eu_price_compliance/ into your theme's equivalent folder.
Does "Block publication" mean the product goes offline?
By default, Block publication only prevents the non-compliant price from being saved — the product remains online at its last valid price. If you also enable Deactivate product on blocked violation, the product is set to Disabled and removed from the storefront until you fix the price manually.
Do promotional prices (coupons, discounts) count toward the 30-day minimum?
Yes, when Include promotional prices in history is enabled (the default). The EU Omnibus Directive explicitly states that all prices charged to customers — including promotional prices — must be considered. Disabling this would not be compliant for EU merchants.
Does the add-on affect store performance?
Impact is minimal. Price history is written only on product save events, not on every page load. Dashboard queries use indexed columns (product_id, company_id, changed_at). The storefront label is a simple additional query per product page — negligible for most stores.
How do I uninstall the add-on?
Go to Add-ons → Manage Add-ons, find EU Price Compliance and click Uninstall. This removes all add-on files, the eu_price_history database table, and the registered privilege records. All recorded price history is permanently deleted.
Does it work with CS-Cart Multi-Vendor?
Yes. The add-on is fully compatible with CS-Cart Multi-Vendor 4.x. Price history and compliance checks are automatically scoped to each vendor's own products. Vendor admins see only their own dashboard data.