A product has Base Price $30 and Special Price $25. Tiered price discount for this product is $20 for 5 products and there is also a catalog rule active of 25% discount for this product. What will be the product price shown on product page?

a) $15
b) $22.5
c) $25
d) 18.75

Can anyone please help to explain how answer ends as $15 my understanding is 25% discount should be applied on Special Price i.e $25 as it is active price, which should result as 18.75

  • pardon my ignorance Daniele, but how does the final display price ends up at 15 ? it should be 22.5 i believe as the algorithm for the final price checks for the min value between the special price and the price calculated through catalog rules which in result will end up at 22.5 ? Would appreciate if you can explain a bit on it. – Zeeshan Khuwaja Jul 21 '20 at 5:11


if ($qty === null && $product->getCalculatedFinalPrice() !== null) {
        return $product->getCalculatedFinalPrice();
    $finalPrice = $this->getBasePrice($product, $qty);
    $this->_eventManager->dispatch('catalog_product_get_final_price', ['product' => $product, 'qty' => $qty]);
    $finalPrice = $product->getData('final_price');
    $finalPrice = $this->_applyOptionsPrice($product, $qty, $finalPrice);
    $finalPrice = max(0, $finalPrice);
    return $finalPrice;

where event fire and it is calling


 $finalPrice = min($product->getData('final_price'), $this->rulePricesStorage->getRulePrice($key));

it will check what is min price

in your case base price :-30 special price :-25

rule price with 25%- 22.5

so whatever min price get from this it will final price for product.

hope it will clear your doubts

All price will be applied on base price and find lowest price from that and it will show as final price.

if set tier price on qty 1 then it will check it contain min price then it will set min price.

otherwise on cart page cal price based on qty again.

  • Sorry but not :( Catalog rule will be applied on min price(Special price)? or base price? whats the role of tiered price here – Daniel_12 May 14 '19 at 8:03
  • what do you mean? – Sunil Patel May 14 '19 at 8:04
  • updated answer @Daniel_12 – Sunil Patel May 14 '19 at 8:12
  • got it thanks @sunil – Daniel_12 May 14 '19 at 8:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.