Delivery times in PrestaShop: how to show delivery times on out-of-stock products by brand and category
Customers want to know when their order will arrive before they buy, but writing the delivery time product by product, combination by combination and in every language is unmanageable. Here is how these labels work in PrestaShop, how to organise them by brand and category, and how Available Texts keeps them up to date for you.
The problem: delivery times left empty or wrong
Before adding to cart, many shoppers look for one thing: when it will arrive. If the product page doesn't say, or says something untrue, they hesitate, email you, or go elsewhere.
PrestaShop has two fields for this on every product: «Label when in stock» (available now) and «Label when out of stock and backorders allowed» (available later). Since PrestaShop 8.0, combinations have their own too. The hard part is keeping them right:
- Every supplier has its own lead time. One brand ships in 24 hours, another takes a week.
- There are special cases. Personalised, made-to-order or limited-edition products run on their own schedule, even within the same brand.
- They multiply. Products times combinations times languages: thousands of fields nobody checks.
- Lead times change. A supplier slows down in peak season and everything needs rewriting.
The usual result: empty fields, years-old labels, or one generic text that helps nobody.
The solution: rules instead of product pages
1. Think of lead times per brand
In most catalogues the lead time depends on the supplier, and the supplier usually matches the brand. Make a list: each brand with its in-stock label («Ships in 24 hours») and out-of-stock label («Ships in 7-10 days»), plus a default for brands without their own.
2. Add category exceptions
Within a brand, categories such as «Personalised», «Made to order» or «Limited edition» need a different label. Define those exceptions and decide what happens when a product sits in several: you need a clear priority.
3. Protect special products
There will always be products with a hand-written label that no rule should overwrite. You need a way to flag them.
4. Write every language and re-apply
Labels must appear in each customer's language and be re-applied when a lead time changes or new products arrive. CSV exports or SQL queries work once, but they don't last.
5. Check where your theme shows them
Standard themes show these labels on the product page, next to availability. If your theme is custom, make sure it does too.
How Available Texts helps
Available Texts is our module for PrestaShop 1.6.1 to 9.2 (PHP 7.1 to 8.5) that turns that list into rules and writes the labels across the whole catalogue:
| Need | What the module does |
|---|---|
| Lead time per brand | One rule per brand with its «available now» label, its «available later» label and an optional HTML block. The -OTHERS- rule covers brands without their own rule. |
| Special cases | Category exceptions within each brand, with manual priority when a product falls into several. Only the ticked categories count, not their subcategories. |
| Hand-written labels | A «Lock this product's texts» checkbox on the product page: no rule and no cron run touches it again. |
| Combinations | From PrestaShop 8.0 it also writes each combination's labels; on 1.6 and 1.7, the product's. |
| Languages | Every active language in the shop. |
| Upkeep | Applied when a rule is saved, with «Apply now», or nightly through a protected cron URL. |
| Theme | Writes to the standard PrestaShop fields, so labels appear wherever your theme already shows them. |
With one rule per brand the whole catalogue is covered in a minute, and changing a lead time means editing one line.