I have major problem with my magento 1.9 website

  1. Special prices are being shown in a front page despite it expired.
  2. I googled the problem.
  3. I reindexed data.
  4. I cleared cache.
  5. I removed special dates and prices via import.
  6. I checked products in inventory - they do not have special dates or prices.
  8. In result I have phone calls from pissed customers...

Please, if anyone experienced the same and have solution, kindly share.

  • check any catalog price rules under Promotions are activated ? Aug 24 '16 at 7:51
  • this is not correct solution, but if you want immediate solution, you can hide special prices using css. Aug 24 '16 at 7:55
  • what i saw from your site, special prices are displaying in home page but in product page, right ? Aug 24 '16 at 7:58

If special prices are only applied via "special price", "special price from date" and "special price to date" attributes, make sure that you did not override the attributes per store view. Also, as you already know, reindexing the price index and clearing the cache is necessary to see changes immediately.

If special prices are applied via promotional catalog price rules, make sure that the cronjob is running which updates special prices from catalog price rules nightly.

Another possible source of special prices are customer group prices (configured for each product as well).


If you have no strat date and end date for special price then in that case special price show always.

So make sure you have valid start date and end date for special price to expire special price.

Hope this will help you


SQL Query to check special price and dates in bulk.

SELECT e.entity_id, e.sku,pd.store_id,pd.value AS special_price, fd.value AS special_from_date, td.value AS special_to_date  FROM catalog_product_entity AS e
INNER JOIN catalog_product_entity_decimal AS pd ON e.entity_id = pd.entity_id
INNER JOIN eav_attribute AS a ON pd.attribute_id = a.attribute_id
LEFT JOIN catalog_product_entity_datetime fd ON fd.entity_id = e.entity_id AND fd.attribute_id IN (SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'special_from_date')
LEFT JOIN catalog_product_entity_datetime td ON td.entity_id = e.entity_id AND td.attribute_id IN (SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'special_to_date')
WHERE a.attribute_code="special_price"

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.