Magento Certification: price rules explained

Posted in: Our News

Magento Certification: How do Magento price rules work?

Developers of Amasty Team, who have already passed Magento Certification continue to highlight the most difficult and tricky questions included in the examination. This week we asked Ruslan to explain what types of prices exist and how price rules work.

Nikolay Balash

By the way, we’ve got some more good news for you. Another Amasty developer has successfully passed Magento certification. We take the chance to congratulate Nikolay with this professional success. Now our team can boast of 5 certified Magento developers, which one more time confirms high the high quality of the extensions offered.

But let’s get back to the point. Last time we discussed how the amount of products in the shopping cart is calculated. And this time we will talk about prices. Prices in Magento are one of the key elements of the platform. No wonder Magento price rules are paid a lot of attention to in Magento Certification.

How Magento rules are stored?

First and foremost one should admit that in Magento price is always stored in 2 fields, which are price (price in Magento store currency) and base_price (price in the default currency of the entire Magento installation). Let’s see how product price is formed.

What are the types of prices in Magento?

All the types of prices existing in Magento can be organized in the following table.

Types of prices in Magento

As you can see, besides the major price Price a product has an additional attribute Special Price, which enables setting a special price for a certain period of time. This special price will be displayed above the crossed major price of the product.

Besides that, we can set Tier Price, which will define the price for the product depending on 2 factors: how many products are in the cart and what group of customers one belongs to at the moment.

Here is how the price for the product is calculated.

Price for the product calculated

And this is the way it is displayed for a not logged in user. In this case Special Price worked (one sees the regular price crossed and new price displayed), since there are no rules for not logged in users.

Special Price works for not logged in users

At the same time in the cart regular Price is not displayed. One sees only Special Price.

Special Price in the cart

Here one sees price $530 since the user is logged in, so he belongs to the group General, for which Price $530 is set.

Price for group General

In case there is more than one price set for the product and in Tier Price or Price and (or) Special Price other values are set, the cheapest price is chosen. This is how the Group Price worked.

The cheapest price is chosen

And this is how the Tier Price worked.

Tier Price worked

How do price rules work?

Besides, price can be influenced through price rules, which are set in the menu section Catalog Rules. They allow to change the product’s price in accordance with the preset rules instead of changing the product’s attributes. This way the rules are applied at the price received from attributes.

Catalog Rules have a wide set of conditions that can be set.

Catalog Price Rule

One should mention that the discount (60%) is taken from the regular Price, not from the Special Price.

Discount is taken from the regular Price

The highest level is applying Magento shopping cart rules that deduct the product’s price and are displayed as a discount on the cart page.

Another option is using price rules for adding taxes.One can adjust in the settings whether taxes will be added before or after discount, which lets take or not take into account various actions in the product’s taxation system.

This is how Shopping Cart Rule works. Pay attention that 60% is discounted from the current (!) price in the cart.

Discount is taken from the current price

Homework

Please write a discount strategy for the goods according to the following plan.

  • The product costs $1000, the discount between Christmas and New Year is 30%, it should not be displayed in the cart.
  • If a customer belongs to a group of wholesale buyers, the price for him is $800 per unit for the orders of 10 units or more. Any customer who buys 30 units of the product or more, no matter what group he belongs to, pays $800 per unit as well.
  • Besides, one should provide a 10% discount from the final cost to anyone, who orders delivery to California.
  • In the last day of the year one needs to set a special price $600 per unit.

If you're looking for a way to extend price rule functionality, have a look at Special Promotions from Amasty.

March 24, 2016
March 31, 2016
March 21, 2016
Comments
sam
February 20, 2015
can you apply tax to product Price only even with special price? ie tax rule is 10%. product price is $100; special price is $75. Tax at checkout should be $10. Grand total $85?
Reply
Ksenia Dobreva
February 20, 2015
Hi Sam, thanks for your question! You can find the settings at System > Configuration > Sales > Tax > Calculation settings. Apply Tax On setting is responsible for this in Magento versions before 1.9: <img src="https://amasty.com/blog/wp-content/uploads/2014/04/tax-screen.png"> It was slightly changed in 1.9, now it's Cross-border trade. http://www.magentocommerce.com/knowledge-base/entry/ce19-later-release-notes Cross-border trade: (Also referred to as pricing consistency.) We support European Union (EU) merchants operating across regions and geographies who want to show their customers a single price. Pricing is clean and uncluttered regardless of tax structures and rates that vary from country to country. To enable cross-border trade in the Admin Panel, click System > Configuration > SALES > Tax > Calculation Settings, option Enable Cross Border Trade. <img src="https://amasty.com/blog/wp-content/uploads/2014/04/tax-screen-2.png"> Hope that helps.
Nicola
March 11, 2015
Hi, I have a problem with group price.. I have some products, where there are some normal prices, but when logged in as a customer (in a specific group) the prices correctly changes. These price-changes works only on the product-view, but when adding a product to the cart, the price is the same as the "logged-out"-price. Why isn't the group-price getting added to the cart? Thanks in advance
Reply
Ksenia Dobreva
March 11, 2015
Hi Nicola! Thanks for asking. Looks like there's a solution described here: https://magento.stackexchange.com/questions/4154/group-prices-isnt-getting-added-to-the-cart and here (see the very last reply at the bottom of the page) https://magento.stackexchange.com/questions/7106/shopping-cart-price-rules-not-applied-to-correct-group-id Hope that helps.
pan
March 13, 2015
Magento pricing structure is actually quite nice. However, I think they totally left out the custom options price which are part of subset. In our site, we are trying to give our 'wholesale' group a discount (including options' price), we are not able to do it in individual product level. We can only do it in invoice by using coupons/shopping cart discount rules which applies on invoice level. If I am missing feature that can do what we need, it will be great to know. Thanks.
Reply
Ksenia Dobreva
March 13, 2015
Hey, thanks for stopping by and asking! I've consulted our support guys, and they said there is no known way of doing this. Also, we don't have such options in our extensions, but that's a point to consider, we will definitely have a look at this feature while brainstorming for extensions updates, so thanks again!
Phil
August 12, 2016
Has this issue been addressed yet? I'm having the same problem.
Ksenia Dobreva
January 13, 2016
Hi there and thanks for your question! I'm afraid, if your Magento now applies discounts to both the Price and Made to Order attributes, nothing can be done here (I mean, with the settings or Amasty extensions). But a customization could solve this problem. Hope that helps!
Martin
May 11, 2015
Hi guys! We are trying to apply a discount on products with fixed special price using catalogue price rules and it seems it can't be done. Do you know how or does exist any extension for this? Thanks!
Reply
Ksenia Dobreva
September 5, 2016
Hey Phil, for these results you can use shopping cart price rules or this extension: https://amasty.com/customer-group-catalog-for-magento-2.html Hope that helps.
Chanthorn
June 8, 2015
Dear All, I have once question to ask all of you. My question is why Catalog Price rule in Magento need Cron Job?
Reply
Ksenia Dobreva
May 11, 2015
Hi Martin, Thanks for your question. Sorry, but we don't have any extensions that work with catalog price rules, and for now we cannot recall any extension that does what you need.
Simone
June 18, 2015
Hi is possible to apply a special-price discount ( 20% ) at catalog level ? Thanks
Reply
Ksenia Dobreva
June 8, 2015
Hey there, https://magento.stackexchange.com/questions/48248/catalog-price-rules-disappear-overnight Hope this link will help you.
Steve
August 5, 2015
Hello We're using group prices for our clients who have individual discounts applied - however - on our test account - once logged in only products (or in our test case, product) is showing in the catalogue. What am I doing wrong to cause this? Do you know of a solution?
Reply
Ksenia Dobreva
June 18, 2015
Hi Simone, we'd love to answer your question, but we're not sure what you mean. Could you please explain what you need, with more details?
Ksenia Dobreva
August 5, 2015
Hey Steve, thanks for asking. Do you mean that you can't see prices for products?
Reply
Steve
August 5, 2015
Hello Ksenia, Thank you for writing back so quickly. No, once logged in with a id that has the correct customer group products that do not have a special price simply do not appear in the front end. For example, I have around 600 SKUs and have tested the group price function on only 1 product. When logged in from the front end I can only view that product. Ideally I want to show all products and for individual products that have an agreed price to show that. I hope I am making sense, it is confusing me so I'm probably not explaining it very well.
Reply
Ksenia Dobreva
August 5, 2015
Steve, it's hard to tell from here, but it looks like the issue is not about prices. Maybe you have any settings that don't show prices to logged users (customer group settings?) Or some kind of a hide price extension is configured with a mistake?
Reply
Steve
August 5, 2015
Its very confusing whatever it is. As soon as the customer group price is removed from the test product it, and everything else appears as normal. We dont have a hide price extension running as everything can be brought. Is there a section where greater customer group settings can be altered just in case? Thank you for your time. I can assure you we are amasty customers already via our developer :)
Reply
Silvy
October 20, 2015
Hello, I am searching for a solution with the tier prices. The main product price is the same like the tier price. main product price = 200 USD tier price = 1 and above = 200 USD tier price = 2 and above = 150 USD tier price = 3 and above = 100 USD The result is only the prices 2 and 3. How I can get 1 also inside the table? What can I do that qty1 will be equaled to the first tier? Thanks, Silvy
Reply
Ksenia Dobreva
August 5, 2015
Steve, I see. I consulted with my colleagues, it doesn't look like a bug, though (or it will be a very rare one, we haven't seen something similar before). As far as I know, Magento itself doesn't have customer group settings that could give such a result, but lots of extensions do it (for example, Amasty Customer Group Catalog). We recommend to thoroughly look through each and every extension you have installed and check their settings (even if you think that the extension is not connected to the issue at first sight). If nothing is found, I'm afraid you'll need some help from a developer =)
Ksenia Dobreva
October 20, 2015
Hey Silvy, thanks for asking. Looks like you'll need to edit the template to have this information on frontend. Hope it helps.
Reply
Elva Sandoval
January 12, 2016
Hi Guys! We have a clothing ecommerce, and have a custom price attribute for "Made to Order" dresses, this price should never change or be discounted. At the same time we have a "Ready to ship" pricing option which is allowed to be discounted (this is using the main "Price" attribute). So my question is, how do I get "Special pricing" to ONLY discount our "Price" attribute and not our "Made to Order" pricing attribute?
Reply
Silvy
October 20, 2015
Hey Ksenia, thank you very much for writing back so quickly. Unfortunately I dont know how to edit the template, I hoped I can do it in magento. Thank you and greetings Silvy
Antony
February 15, 2017
Hi Guys, Been struggling on what I thought would be a quick fix/addon... "Apply shopping cart rule on Original Price & not with Special Price" By default Mag does not give the option to work the discount from the Original Price (like you could in a Catalog Price Rule). This is a bit surprising, I'm hoping I have missed something. Thanks for any pointer. Cheers
Reply
Ksenia Dobreva
February 15, 2017
Hey Antony, thanks for the question. I'm not sure I got your question right, but I'll try to answer. https://prnt.sc/e90jgz You need to open the rule and select one of Amasty actions, there's no such option in the default Magento settings. Please let me know if that's what you asked about.
Antony
February 15, 2017
Hi Ksenia, This is just what I'm looking for - which of your extensions gives this option to the store. I had a look at all of yours and could not see one that might be suitable... Thanks
Stephen
January 3, 2020
Is this the same in Magento 2
Reply
Alina Bragina
January 4, 2020
Hi Stephen, thanks for your question. If you're getting ready for the certification exam, please read the devdocs for Magento 2, as the rules may differ a lot, as well as the settings.
Jurre
April 29, 2020
Hi, Quick question here: i have 3 user groups on my site each user has a specific discount on a group of products. each product has a discountcode which we assigned to a catalog price rule: So for example: - Product A € 100,- for group 1 is 5% discount - €95 - Product A for group 2 is 15% discount €75 Will it be possible to show the old price and the new price at the product when doing this? or will this require custom coding?
Reply
Polina Litreyeva
June 16, 2020
Hello, Jurre! Yes, this is possible. For this, you'll need to create a rule using customer groups.
Leave your comment

Your email address will not be published

This blog was created with Amasty Blog Pro

This blog was created with Amasty Blog Pro

© 2009-2023 Amasty. All Rights Reserved.