Pricing priorities in Norce
Norce Commerce offers a range of functionalities that has to work together to determine the correct price for a customer, under specific conditions and at a specific time.
Here is an overview of how they work together:
Price list layer
Standard price lists, market price lists, campaign price lists, customer specific-, virtual- and non-public price lists are all evaluated for each request. All the price lists that are allowed to be used are calculated, and the best price (for the customer) is passed to the next layer.
Company discount layer
Once the best price is calculated, the company discount is applied (if it exists). This is a percentage rebate on top of the best price calculation done earlier.
The result after this layer is a product's final price. No other price changes are applied on products after this.
Promotion layer (Basket)
The next time the price can be changed is when a product is added to a basket, where the promotion logic is automatically applied. In addition to price discounts, promotions can also include other effects like free products or reduced shipping fees. These changes are applied in Norce's memory every time a basket is fetched, and become permanent and saved to the database only when an order has been created.
Manual price layer (Basket row)
The last way to override all previously applied pricing is to update basket rows with manually set prices, which can be done from the front-end application. Norce locks in these manual prices so that no other pricing changes are applied when the row is processed as part of an order.