4

I am learning the Magento 2 price logic, so I am started from the simple product final price calculation logic. So the final price is the least amount from the regular_price, Catalog price rule, special price & tier price.

for my simple product Regurlar price: 100, Catalog price rule: 10(fixed), special price: 80 and tier price for one qty is 70, 2 qty is 130.

When I added one qty to cart its take the least amount among the above, so it's 70, but when I added two qty to cart it's should be 130, but for me, it's showing 140.

Any one explain this final price calculation logic, thanks in advance for your support.

enter image description here

1
  • As per already answers magento always considers the lowest price among all type of prices. Also the cart price rule will only applied to base price (original price) of the product. Commented Oct 20, 2021 at 17:01

3 Answers 3

4

So again you have:

  1. Regular price -> 100
  2. Catalog price rule -> 10%
  3. Special price -> 80
  4. Tier price when a customer buys 1 item -> 70 (keep in mind that this price is lower than Special price)
  5. Tier price when a customer buys 2 items -> 130

Let's start from the end:

5: This means than when customer add 2 items into the cart you want to sell each of them 130 each -> as a result, you have to get 260 (remember this -> when you configure 130 in admin, this doesn't mean that total price in the cart should be 130, this means that you want sell each of them at the price of 130)

4: The same logic as for above -> when you configure 70 in admin, this doesn't mean that the total price in the cart should be 140, this means that you want sell each of them at the price of 70. Why this works ? because 70 is lower than Special price

3: Special price will be applied if it is lower than Tier price, so if you configure it as 60 -> Tier price from point 4 won't work.

2: It doesn't work at this situation at all. Make sure you apply this rule, and everything is reindexed.

1: If you make a regular price, for ex., 60 and a special price 80 -> M2 skip special price and apply regular, as as it lowers than special.

I hope that this explanation makes price stuff in M2 more clear to you.

1
  • thanks for your explanation, but after reading your answer I got a little bit confused about the tier price concept. In tier price, we applying the quantity based discount but your point is not related to that.
    – senthil
    Commented Sep 25, 2019 at 4:39
1

I created the same scenario and getting the 140 as per your screenshot.

Actually the all prices in magento worked on "least price" approach. So the final price is the least amount from the regular_price, Catalog price rule, special price & tier price.

The following is a list of Magento prices with the ascending priority:

  • Product Price
  • Tier Price
  • Group Price
  • Special Price
  • Catalog Rule Price

Second thing is advanced price (special price & tier price) used for setup the discounted or less price from product actual price.

In above example the least price is tier price. tier price for one qty is 70, 2 qty is 130.

1 qty price 70 => price on frontend will be 70 for 1 and 140 for 2
2 qty price 130 => price on frontend will be 70 for 1 and 140 for 2, 210 for 3

same case with right price

1 qty price 70 => price on frontend will be 70 for 1 and 140 for 2
2 qty price 60 => price on frontend will be 70 for 1 and 120 for 2, 180 for 3
0

As per the Magento Docs, it seems to be calculated as below:

The final product price is calculated as the minimum relevant price, using the following formula:
Final Price=Min(Regular(Base) Price, Group(Tier) Price, Special Price, Catalog Price Rule) + Sum(Min Price per each required custom option)

Reference:https://docs.magento.com/user-guide/catalog/product-price-tier.html

e.g.
Add item x 1 = 70 - (Lowest item price is 70 from 100, 90, 80, 70)
Add item x 2 = 70 x 2 = 140 - (Lowest items price is 140 from 100 x 2 = 200, 90 x 2 = 180, 80 x 2 = 160, 70 x 2 = 140)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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