Historical Best Price - Automatic Population of PreviousPrice
Overview: Norce Commerce stores price change history for all public price lists on an application. This historical data can be used to support compliance scenarios where a reference price must be shown, such as the lowest public price during the last 30 days.
With the optional automatic population feature enabled, Norce calculates the current historical best price and writes it into the PreviousPrice field on the application's primary price lists.
Background: EU Price Transparency Requirements
Since July 2022, EU regulations require merchants selling to EU markets to show the lowest price from the preceding 30 days when advertising a price reduction.
Norce's historical best price tracking provides the underlying data for this. Automatic PreviousPrice population is a convenience layer on top of the existing history model, not a replacement for it.
How Automatic PreviousPrice Population Works
When enabled, Norce continuously evaluates price history and applies the current historical best price (lowest public price from the last 30 days) to PreviousPrice on primary price lists.
That value is then inherited by child price lists through standard price list inheritance.
This makes PreviousPrice available directly in standard product price outputs, without requiring a separate lookup call.
Currently available in:
- Query API standard product price responses
- Product Feed output
Planned support:
- Commerce Services Product Service API
Activation
The feature is opt-out and must be de-activated by Norce if the client want to handle it themselves. Contact your Norce representative to disable it.
Calculation Constraints
The automatic calculation follows the same rules as historical price tracking:
- Only public price lists on the application are included
- Customer-specific prices, member prices, and non-public price lists are excluded
- Promotions are not included
- In multi-currency scenarios, comparison is done in the application's primary currency
Custom Calculation from Historical Data
If your compliance requirements differ by market, you can implement custom logic using historical data directly instead of relying on automatic PreviousPrice population.
The Commerce Services Product Service endpoint returns a 30-day historical best-price timeline for a SKU:
GET /ListHistoricalBestPrices?partNo={partNo}&salesAreaId={salesAreaId}Response entries include:
PartNoPriceListIdPricePriceIncVatVatRateUpdated(timestamp when this value became the best price)
Historical best price data is also available via Query API:
GET /Products/ProductBestPricesTwo Approaches
| Approach | When to use |
|---|---|
Automatic PreviousPrice population | You want a turnkey solution and PreviousPrice is not already used for other business logic |
| Custom calculation from history data | You need regional control over reference price logic or custom compliance behavior |
Related Reading
- Pricing structures in Norce Commerce
- Introduction to price lists