PrestaShop limited time sale: a sale with an end date and tidying up after it

A PrestaShop limited time sale is a discount with a start date and an end date, set on a product or as a catalog price rule. You set the dates in advance, so on launch day you don't have to click anything. After the sale, also check for promotions without an end date, old discount codes and sale wording in categories and banners.

Author: The TellMyShop team. A guide for PrestaShop store owners: the cause, the manual fix and the same work in a chat conversation.
Last updated: · 6 min read

Where do you set a promotion with an end date?

PrestaShop has three places for a discount with dates. The choice depends on how many products the sale covers and whether the customer has to enter a code.

MethodWhere in the adminWhen it fitsDates
Specific price on a productproduct page, pricing taba few chosen products, different discountsfrom and to on each specific price
Catalog price ruleCatalog → Discounts → Catalog Price Rulesa whole category, brand or featurefrom and to on the rule
Discount codeCatalog → Discounts → Cart Rulesa promotion for subscribers, a code in an adfrom and to on the code

The PrestaShop documentation describes catalog price rules with their validity period and conditions. The fields of a specific price on a product, including the from and to dates, are also visible in the description of the specific_prices resource for developers. How to set one rule for a whole category is covered in the post on a category sale, and where the struck-through price comes from in the guide on the strikethrough price.

How to plan a sale in advance

A sale set up a few days early means fewer nerves on launch day. This order works for most promotions:

  1. Choose the products: most often the ones that sell worst in the season or have a lot of stock.
  2. Check they don't already have another promotion. When a product has several discounts, PrestaShop applies one of them, not the sum.
  3. Set the discount with a future start date and a specific end date. Never without an end date.
  4. Note down what you change besides prices: category texts, a banner, a message bar, codes.
  5. The day before the start, check a few products and the category page on a phone.
  6. Plan the cleanup: the day after the sale ends, with the list from step 4.

Dates have one more advantage: every discount has its end written in the store, not in someone's memory. When several people work on a sale, it is easy to end up with a promotion someone added at the last minute and forgot to mention. An empty end date is the first thing you look for after the sale.

When you announce a discount, remember the lowest price from the 30 days before it. The rule comes from the EU Omnibus Directive (Directive 2019/2161), and national consumer authorities explain how to display it. Check whether your theme or module shows this price on sale products.

What stays in the store after a sale?

The Monday after the sale. Prices are back, but the Jackets category still says “Sale up to -40%”, the newsletter code still works, and three products have a discount nobody remembers. This is what a store usually looks like when some changes had an end date and some did not.

The list to check the day after the sale:

  • Promotions without an end date. They keep running and lower the price for no reason.
  • Catalog price rules. Those with a past end date no longer work, but stay on the list and make the review harder before the next sale.
  • Discount codes. A code with an end date stops working by itself. A code without one does the rounds on coupon sites.
  • Category and page texts. An “End of season sale” description in a category will not disappear by itself.
  • The banner and message bar. The sale slogan on the home page misleads customers once the sale is over.
  • Results. Note what sold, so that next time you know which products to put in the sale.

In the admin this means going through the list of rules, the product pages and the categories one by one. With a big sale such as Black Friday, that is many evenings of hunting for what is left.

How to plan a sale and clean up after it with the chat

With the TellMyShop module you describe the sale in one sentence. Your chat (Claude or ChatGPT) picks products from the sales data, checks they have no other discounts and prepares a discount with a start and end date. After the sale it finds in the change history everything that was changed for it, and shows what is still active. The numbers in the example are illustrative.

You: The winter sale is over. Clean up after it.

Your chat: Left over from the sale: 3 product promotions without an end date, 1 catalog price rule with an end date of 2026-02-28, the code WINTER20 without an end date (used 41 times) and the Jackets category description changed for the sale. Proposal:

You: Yes, but leave the category description, I'll write it myself.

Your chat: Saving the promotions and the code. The category description stays as it is.

Card status: waiting for your “yes”
change preview

old version: Nord down jacket: -40%, no end date

new version: Nord down jacket: regular price

old version: Code WINTER20: enabled

new version: Code WINTER20: disabled (it has been used, so I won't delete it)

old version: Jackets: End of season sale up to -40%. Last sizes.

new version: Jackets: description from before the sale restored from the change history

Illustration: products, numbers and replies are examples.

If someone changed the category description after the sale, the restore preview shows it before anything is overwritten. In the morning you write the request, read the preview and approve it, and the chat summarises the sale results from the sales data for next year. Examples are in the use cases a seasonal sale planned with dates and cleaning up after a promotion.

Prices, promotions and codes are the Sales area. In TellMyShop Pro, saving works once the Sales switch is on in the module panel, and the switch stays on until you turn it off. Category descriptions are content, so Pro changes them straight after licence activation. The banner and message bar are usually module positions and theme files: these need the Theme switch, turned on for 24 hours. Every change has a preview and goes into the change history, and you can undo most changes with one instruction.

The free TellMyShop Free shows which products sell worst and what sold during the sale, but saves nothing. You will find the plans on the pricing page.

Questions and answers

Does a promotion in PrestaShop end by itself?

Yes, if it has an end date. A specific price on a product and a catalog price rule both have from and to fields. When the end field is empty, the discount runs indefinitely, until someone removes it.

How do I end a promotion early?

Delete the specific price on the product, or change the catalog price rule's end date to yesterday. The PrestaShop documentation gives changing the end date as the way to switch a rule off. Then check a few products in the store, because another promotion may still be lowering the price.

Can I set up a sale a few weeks in advance?

Yes. Set a future start date. Until that day prices in the store do not change, and the promotion waits on the list. Before the start, check that the products have no other discounts that will clash with it.

What about the lowest price from the last 30 days during a sale?

When you announce a discount, you must show the lowest price from the 30 days before it. Check whether your theme or module displays it. TellMyShop does not calculate this price for you and does not replace legal advice.

Will TellMyShop Free find old promotions?

The free TellMyShop Free reads sales and catalogue reports, but the list of promotions and codes is only read by TellMyShop Pro. Once the Sales switch is on, Pro also removes leftover promotions, with a preview and undo.

PrestaShop is a registered trademark of PrestaShop SA. Claude is a trademark of Anthropic PBC. ChatGPT and OpenAI are trademarks of OpenAI. TellMyShop is not affiliated with these companies.

The English version launches in January 2027

Join the list and you'll hear first when it opens, with a 72-hour head start on the launch offer.

A few emails before launch. Unsubscribe in one click. Privacy policy

Read next