Price history and the Omnibus Directive
Shoporama automatically logs price changes and calculates the correct pre-price according to the Omnibus Directive (EU 2019/2161). The default themes support it as a theme setting, and custom themes can use getLowest30DayPrice().
What is the Omnibus Directive?
The Omnibus Directive (EU 2019/2161) has been implemented in Denmark through Section 9a of the Marketing Practices Act. The rule is simple: When you advertise a price reduction, you must display the lowest price you have charged in the 30 days prior to the reduction.
For example, if you reduce the price of an item from 500 kr. to 399 kr., the crossed-out “previous price” must be the lowest price the item has had in the past 30 days—not necessarily the regular list price.
The Consumer Ombudsman actively enforces this rule, and violations can result in fines.
How Shoporama Helps
Shoporama automatically logs all price changes for your products—whether the change is made via the admin panel, CSV import, REST API, or automatic feeds. The log is used to calculate the correct “previous price” (the lowest price in the last 30 days).
The feature consists of three parts:
- Automatic price logging — All price changes (regular price and sale price) are logged with a timestamp
- 30-day calculation —The system automatically calculates the lowest price from the past 30 days
- Display in the theme — The previous price is automatically displayed in the default themes
Enable price logging
Price logging must first be enabled for your online store. Go to Statistics → Price History in the admin panel and turn on Price Logging. After that, all price changes will be logged automatically.

Display the previous price in your theme
How the previous price is displayed depends on whether you’re using one of Shoporama’s default themes or a custom theme.
Standard Themes (Delaware, California, Alaska2)
If you’re using one of Shoporama’s standard themes, you can enable the previous price display via a theme setting. Go to Design → Theme Settings and locate the setting:
- Show Original Price per Omnibus Directive — Enable this to automatically display the calculated original price
When this setting is enabled and a product has a sale price, the original price is automatically displayed in two ways depending on the situation:
- The previous price is higher than the sale price: The strikethrough price is replaced with the lowest price from the past 30 days. For example:
450 kr.399 kr. — where 450 kr. is the calculated previous price - The previous price is lower than or equal to the sale price: The normal price display is retained, and an additional line appears below the price: (Lowest price in the last 30 days: 350 kr.)
If there is no price history yet (e.g., for new products), the normal list price is displayed as the previous price.
Custom Themes
If you’re using a custom theme, you’ll need to add the display yourself in your templates. Use the following Smarty code where the strikethrough price appears:
<{if $product->getSalePrice()}>
<{$lowest = $product->getLowest30DayPrice()}>
<{if $lowest}>
Original price: <{$lowest|number_format:2:",":"."}> <{$webshop->getCurrency()}>
<{/if}>
<{/if}>The getLowest30DayPrice() method returns the lowest regular price or sale price from the last 30 days, including tax. It returns null if no price history is available—in that case, you can fall back to the regular list price.
Price History in the Admin Panel
You can view the entire price history under Statistics → Price History in the admin panel. Here you can:
- Search by product, item number, or variant
- Filter by date range
- View old and new prices with color coding
- Export to CSV (for documentation in case of an audit)
What is logged?
Price logging covers:
- Changes to the standard price and the promotional price
- Variant-specific price changes
- Changes from all channels: admin, import, REST API, price feeds
The log does not cover promotional discounts calculated dynamically in the shopping cart, volume discounts, loyalty programs, or personal discount codes —as these are not “advertised price reductions” within the meaning of the law.
Learn more about the rules
- The Consumer Ombudsman’s Guidelines for Price Marketing — The official guide with examples and rules
- Prices and Savings Claims — The Consumer Ombudsman’s overview of the rules
- The Marketing Practices Act (Consolidated Act No. 866 of June 15, 2022) — The full text of the law, including Section 9a on price reductions
- DI Handel’s Guide to Price Marketing — A practical guide from the Confederation of Danish Industry
Do you have any questions?
Contact us at support@shoporama.dk if you have questions about price history or the Omnibus Directive.
Related articles
Schedule price changes for a later date
Here's how to queue price changes and bulk edits from the product overview so they run automatically at the time you choose.
Campaigns
Learn how to create promotions in Shoporama that automatically give your customers a discount. Choose from five promotion types: fixed price,...
Price monitoring of competitors
Guide to setting up competitor price monitoring in Shoporama.
Update prices via CSV import
Step-by-step guide to update prices on many products at once via CSV import in Shoporama. Incl. explanation of the VAT checkbox.
Related features
Plan Black Friday now: Deals that turn themselves on and off
Set start and end dates for your offers in Shoporama. The system automatically activates and stops the sale price, also in your Google Shopping feed.
Price history
Automatically track price changes with full Omnibus compliance. Show lowest price for the last 30 days and comply with EU legislation.
Now your offer can also stop at a certain number
Set a limit on the number of items sold at the sale price. When that number reaches zero, Shoporama automatically ends the sale. That's how the...
Statistics and analytics
Dashboard, revenue, profit margin, ABC analysis and more. Shoporama's built-in statistics tools give you insights to run your online store profitably.