Pricing Management : Applied discount according to delivery date and price update

Posted by

Keeping going into details of Pricing Management module. Let’s see how the engine has been designed for choosing the appropriate discount to apply depending on delivery date on order, or when the order has been placed.

You will see it’s has been enhanced according to what we use to know.

Also, if you want to review the whole serie, you can click on the following links :

For today we will then focus on Validation Period.

Standard price

By using Standard validation period on discounts, what’s the impact ?

Let’s consider the discount ST100026 with an effective date setup to the 1st of May and Expiration date to the 31th of May.

The discount is setup to 15% for the first line and 20% for the second one.

By using the Copy discount functionality, this will generate the discount ST100075. The only change made is the validation date with the following :

  • Effective date starting from the 1st of June and Expiration date setup to the 30th of June.
  • Change the discounts by increasing them of 2%

Let’s test it by creating a new sales order. The order has been placed on the 25th of May and the Delivery date to the 29th of May.

By adding the bike product, a 28 USD discount has been calculated.

Having a look at the price details form, you can see that ST100026 discount has been retrieved. No sign of ST100075.

By changing the requested ship date to the 3rd of June, the ST100026 discount is still retrieved.

In conclusion, the effective and expiration date are used to make a discount eligible according to when the order is placed. Having placed an order apart from this interval will not take into account the discount.


Let’s have some interest with the advance validation period. This will impact the eligible discount according the delivery date.

For using it, you will need to setup first a Discount period. This can be done under Retail and Commerce > Pricing and discounts > Discount periods

As you can see, many “period” parameters are available, you can customize each day…. For doing something simple, let’s just setup a period with a start and end date corresponding to June, and another one fitting with May.

Now, going back on the discount ST100026, I will choose the Advanced option which will let me setup the Discount period number. For this discount I’m making the validation period during May. After that you can setup the Effective and Expiration date as it’s been done before. For this discount everything is setup to May.

Regarding the other discount, the setup is fully done for June.

So now, what’s the consequence when placing an order on the 25th of May with a delivery date setup to the 27th of June ?

None of those 2 discounts has been retrieved.

Why ?

The ST100026 is technically available as the order has been placed before the Expiration date and after the Effective date but the End date is before the delivery date. The ST100075 could be applied here as the requested ship date is after the start date and before the end date, but this discount is not eligible as the Effective date is not reached yet.

By changing the ST100075 with an effective date starting before today, this will have some impact.

When the sales order is place, on the 25th of May, with the delivery date setup to the 27th of June, the ST100075 is now eligible and applied.

The discount is up to 29.80 USD.

By having a look at the pricing detail form, you can notice that the ST100075 discount has been retrieved.

That’s a great improvement but customer have to setup their price carefully.

Impact of price update on open sales orders

Another use case that customers encounter a lot is the willing to mass update prices on sales orders when a discount is updated. This could be achieved now, and that’s a great news.

Let’s start with the last sales oders, the one with a 29.80 USD discount (Sales order 001014).

Let’s update the ST100075 discount : by disabling it, changing the discount up to 22% and 25%, and enabling it again.

Going back on the sales order, you will see no change. But a new feature is available within the Pricing management module under :Test Pricing Management > Periodic tasks > Recalculate price

As you can see, a lot of filters are available and this process could be batched.

After having run the process, let’s go back on the sales order:

The price has been recalculated and opening the pricing detail form will confirm the 25% discount is applied.

How cool is that : you don’t need to customize anymore it or update each sales order.


Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.