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.
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
| Requirement | Value | Notes |
|---|---|---|
| CS-Cart core version | ≥ 4.13.1 | Tested up to 4.20.1 |
| Supported editions | CS-Cart, Ultimate, Multi-Vendor | All editions supported |
| PHP | Any version CS-Cart supports | No additional extensions required |
| Database | MySQL / MariaDB | One new InnoDB table on install |
| Other add-ons | None | No dependencies |
03 Installation
Download the add-on
Purchase from the CS-Cart Marketplace and download the .zip archive to your computer.
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.
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.
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).
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.
04 Settings
All settings are found at Add-ons → Manage Add-ons → EU Price Compliance → Settings.
| Setting | Default | Description |
|---|---|---|
| Lookback period (days) | 30 | How 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 discount | Block 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 violation | No | When 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 history | Yes | When 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 storefront | Yes | Displays 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 tab | No | Adds an optional Price history tab on the product detail page showing a 90-day chart and table. Optional — not required by law. |
05 Admin dashboard
Navigate to Website → EU Price Compliance to open the compliance dashboard.
| Product | Current price | Lowest 30d | Discount | Status |
|---|---|---|---|---|
| Wireless Headphones Pro | €79.99 | €89.99 | — | Compliant |
| Running Shoes X3 | €59.90 | €59.90 | 15% | Compliant |
| Leather Jacket — Black | €119.00 | €109.00 | 20% | Warning |
| Coffee Maker Deluxe | €199.00 | €175.00 | 30% | Blocked |
| USB-C Hub (New) | €34.99 | — | — | No history |
Understanding status labels
| Status | Meaning |
|---|---|
| Compliant | The current reference price is ≤ the 30-day minimum. No action needed. |
| Warning | A violation was detected but the save was allowed (violation mode = "Show warning only"). Review the product's pricing. |
| Blocked | The last attempted price save was rejected. The previous price remains active. Correct the reference price before republishing. |
| No history | Not 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:
| Field | Description |
|---|---|
| Current price | The product's active base sell price. |
| 30-day reference | The lowest price recorded in the lookback window — this is the value the storefront label must display. |
| Lookback period | The configured number of days (shown for reference). |
| Price history table | Chronological list of all recorded price entries with date and price type (base or promotional). |
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.
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.
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 what | Details |
|---|---|
| Root administrator | Full 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 prices | Captured for both storefront and vendor panel — the SiteArea check ensures vendor-panel promotions are tracked. |
| Permissions | Two 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.
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.
10 FAQ
Does the add-on backfill historical prices from before installation? ▼
What happens if I set the lookback period to fewer than 30 days? ▼
Will it work with my custom CS-Cart theme? ▼
design/themes/responsive/templates/addons/eu_price_compliance/ into your theme's equivalent folder.Does "Block publication" mean the product goes offline? ▼
Do promotional prices (coupons, discounts) count toward the 30-day minimum? ▼
Does the add-on affect store performance? ▼
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? ▼
eu_price_history database table, and the registered privilege records. All recorded price history is permanently deleted.