Last updated

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:

  • PartNo
  • PriceListId
  • Price
  • PriceIncVat
  • VatRate
  • Updated (timestamp when this value became the best price)

Historical best price data is also available via Query API:

GET /Products/ProductBestPrices

Two Approaches

ApproachWhen to use
Automatic PreviousPrice populationYou want a turnkey solution and PreviousPrice is not already used for other business logic
Custom calculation from history dataYou need regional control over reference price logic or custom compliance behavior