An out-of-stock product on a PrestaShop store has exactly two outcomes: the customer leaves, or the customer orders it anyway. The second only happens if you've told PrestaShop to allow it, and told the customer what they're actually buying. That's the whole job here. Pre-orders and backorders aren't a marketing idea you bolt on; they're a specific configuration on the Quantities tab of a product, plus a discipline about payment timing and communication that keeps the orders from turning into refunds and chargebacks later.

Last updated: June 2026.

This guide is narrowly about selling before you have stock in PrestaShop: the difference between a pre-order and a backorder, the exact back-office settings that switch it on, where PrestaShop's native support stops, and how to keep payment and fulfilment from becoming a mess. It is not about whether to show out-of-stock products at all, that's a separate decision covered in Out of Stock: To Hide or Not to Hide?, nor about when to reorder, which has its own formulas in When to Reorder Stock.

Pre-order vs backorder: same setting, different promise

Here's the part that confuses most merchants: PrestaShop has no toggle labelled "pre-order" and none labelled "backorder." Both run on the same underlying mechanism. "Allow ordering when out of stock." The difference is entirely in the promise you make to the customer, and that promise changes how you label the product, when you charge, and how you handle a delay.

Pre-orderBackorder
Stock historyNever been in stock, product not yet releasedWas in stock, temporarily sold out, restock expected
Customer mindset"I'm ordering early to guarantee I get it""I want this exact product and I'll wait"
Typical useLaunches, seasonal lines, limited editionsBestsellers between shipments, slow-moving catalogue parts, supplier delays
Date you showRelease / availability dateRestock / "ships in X" estimate
Payment instinctOften full upfront (commitment + cash to fund production)Full upfront acceptable; the wait is usually shorter

Grouping them under one generic "out of stock. Order anyway" label is where trust leaks. A customer who pre-ordered a not-yet-released item expects a wait; a customer who backordered their usual restock part does not, and if the page didn't make that clear, the second one opens a "where is my order?" ticket within 48 hours.

The native PrestaShop setting that switches it on

PrestaShop Products stock settings showing the allow ordering of out-of-stock products toggle and out-of-stock labels
The single Products stock toggle, allow ordering of out-of-stock products, is what turns backorders on or off.

Selling out-of-stock products in PrestaShop is governed at two levels: a global default and a per-product override. You almost always want the global default OFF and the override ON for the handful of products that genuinely support it.

Global default (rarely the right place to switch it on)

Go to Shop Parameters → Product Settings, scroll to the Stock section, and you'll find "Allow ordering of out-of-stock products". This is the global fallback. Leave it set to deny. Flipping it on store-wide means every product that hits zero quietly keeps selling, including ones you can't actually restock, which is how you end up with orders you can never fulfil.

While you're on that screen, two neighbouring fields matter for pre-orders: the default "Label of in-stock products" and "Label of out-of-stock products with allowed orders". These supply the text the theme shows when you haven't set a per-product label, so the wording your pre-order customers read can be a store-wide default you forgot to edit. Set it to something honest like "Available to pre-order" rather than leaving PrestaShop's stock phrasing.

Per-product: the Quantities tab does the real work

Open the product, go to the Quantities tab, and find "When out of stock". It has three radio options:

  • Deny orders, the product becomes unbuyable at zero stock (the default, and correct for most of your catalogue).
  • Allow orders. This is the switch that turns a product into a pre-order or backorder. The Add to cart button stays live below zero quantity.
  • Use default behavior, inherit the global setting above.

Underneath the technical layer, "Allow orders" writes the value 1 into the out_of_stock column of the ps_stock_available table for that product (Deny = 0, Use default = 2). The live stock figure lives in the quantity column of the same table, managed through the StockAvailable class, useful to know if you ever script bulk changes or audit why a product is or isn't orderable.

So what does this actually buy you? One radio button is the difference between an out-of-stock page that loses the sale and one that captures it. But the button alone makes a silent promise you haven't explained. Which is why the next two fields matter as much as the toggle.

Availability date and the per-product label

Still on the Quantities tab, set the Availability date field to your expected release or restock date, this writes to the product's available_date field and, in most themes, renders on the front office as "Availability date: …". This is your pre-order delivery estimate, shown before the customer commits.

Directly below, the "Label when out of stock (and backorders allowed)" field overrides the global text for this one product. Use it to set the promise precisely: "Pre-order, ships from March 15" for a launch, or "Backorder, next shipment in 2–3 weeks" for a restock. This single field is the cheapest insurance you have against confusion, because it's the exact text the customer reads next to the buy button.

Where PrestaShop's native support stops

The native mechanism is solid for the basics, but it's honest to name its limits before you build a campaign on it:

  • It doesn't change the button text. Out of the box, the Add to cart button still says "Add to cart," not "Pre-order now." The label field above changes the stock message, but turning the button itself into a "Pre-Order" call to action means a theme template edit (the product page's add-to-cart block) or a module.
  • It can't take a deposit. Native checkout charges the full cart total or nothing. There is no built-in partial-payment / deposit flow for "10% now, balance on shipping."
  • It doesn't cap pre-order quantity. "Allow orders" lets the product sell into negative stock without limit, so a 500-unit limited edition can quietly take 800 orders unless you watch it.
  • It treats mixed carts as one order. An in-stock item and a pre-order item land in the same order with one delivery, PrestaShop won't split them for you.
  • Advanced stock management is gone. The old PS_ADVANCED_STOCK_MANAGEMENT warehouse/supplier system was deprecated and removed from the core in 1.7+; if you relied on it for supplier-order tracking behind backorders, that workflow now lives in third-party modules, not the core.

None of these is a dealbreaker for a small pre-order run, full payment upfront, a watchful eye on volume, and a clear label will carry you. They become real once pre-orders are a regular part of your business, at which point a dedicated module earns its place.

Payment timing: the decision that creates or kills the cash-flow win

When you charge is the single most consequential choice, because it sets your cash flow, your chargeback exposure, and your legal footing all at once. There are three models.

ModelCash flowChargeback / cancel riskPrestaShop effortBest for
Full payment at orderImmediate, funds the supplier orderHigher: long waits invite chargebacks; paid customers cancel lessNone, native checkoutMost stores, shorter waits
Charge at shippingNone until you shipLower chargebacks; higher cancellations (no commitment); card may expireHigh. Needs auth-and-capture handling your gateway/module supportsLong pre-orders where trust is fragile
Deposit + balancePartial now, rest at shippingCommitment without full-prepay resentment; deposit covers admin if they cancelHighest. No native support, needs a module or custom flowHigh-value items (roughly €500+)

For most PrestaShop stores, full payment at order time is the practical default. It rides the native checkout, gives you cash to actually place the supplier order, and paying customers rarely cancel. The price of that simplicity is that you must be transparent about the timeline and refund fast if you can't deliver. The deposit model is genuinely better for anxious-making high-ticket items, but be honest that it isn't a setting, it's a build.

Customer communication: where these strategies actually fail

Pre-order and backorder strategies almost never fail on the mechanics, the toggle works. They fail on silence. Customers will wait patiently; they will not tolerate being surprised. Two of these touchpoints deserve specific PrestaShop notes.

  • At the point of purchase: the label field carries the date and the "this is a pre-order" framing. If a cart mixes in-stock and pre-order items, the customer needs to see which ships now and which later, native PrestaShop won't flag this, so it's a template or module job.
  • Order confirmation: the default order_conf email says nothing about a wait. Edit that mail template (under International → Translations → Email translations, or per-language mail files) to restate "this is a pre-order, expected [date]". Otherwise the first thing your pre-order customer reads is a standard "your order is confirmed" with no mention of the delay they agreed to.
  • Status updates and delays: notify the moment you learn of a slip, not when the original date passes. Explain why, give a new date, and offer a no-questions cancellation. A custom order status (e.g. "Pre-order. Awaiting stock") makes these orders filterable in the back office so they don't get lost in the normal flow.

That custom-status idea is worth doing properly rather than ad hoc. Building and automating order states is its own topic, covered in Order Status Workflow in PrestaShop. And if you change a delivery date and need to re-send the updated confirmation, that small courtesy is exactly the feature in Resending Order Confirmations.

Fulfilment traps the toggle doesn't warn you about

Mixed orders

A customer buys one in-stock item and one pre-order item. PrestaShop hands you a single order with one delivery, and you choose how to resolve it:

  • Ship separately, in-stock now, pre-order later. Best experience, doubles shipping cost. In PrestaShop, depending on your setup, you can partially mark products as shipped/delivered or issue a partial delivery slip; cleanly splitting one order into two independent fulfilments usually needs order editing or a split-order module.
  • Hold everything, wait for all items, ship once. Saves shipping, delays the in-stock item and frustrates the customer.
  • Prevent mixing. Keep pre-order products in their own catalogue path so carts don't combine. Simplest operationally, clumsiest for the buyer.

For most stores shipping separately wins, the satisfaction gain outweighs the extra postage. The mechanics of splitting and editing such orders are exactly what Order Editing and the broader Order Management workflows are about.

Overselling a limited run

Because "Allow orders" sells into negative stock without a ceiling, a 500-unit limited edition can take 800 pre-orders before you notice. Native PrestaShop gives you no per-product backorder cap, so the discipline is manual: monitor the quantity figure going negative, and flip the product back to Deny orders the moment you've sold your supplier's confirmed capacity. If pre-order runs are routine, this is precisely the gap a dedicated module closes with a hard limit.

Selling before you have stock puts you squarely inside EU consumer law, and the rules are specific enough to get wrong:

  • The 14-day right of withdrawal runs from the delivery date, not the order date, so a pre-order doesn't start the clock until the goods arrive.
  • The default maximum delivery time is 30 days from the order date unless a longer period was explicitly agreed. Which is exactly why your pre-order page must state the date before purchase, turning a long wait into something the customer agreed to rather than something you owe them.
  • If you can't deliver in the agreed time, the customer can set a reasonable further deadline and, failing that, cancel for a full refund.

The practical takeaway loops back to the label field and the confirmation email: the timeline, the payment terms, and the cancellation policy all need to be visible before the customer pays. Transparency isn't just good service here. It's what keeps a 30-day pre-order on the right side of the rules.

Knowing whether it's working

Treat a pre-order programme like any other change, measure it rather than trust a gut feeling. Worth watching:

  • Cancellation rate before fulfilment. If more than roughly 15% cancel before you ship, your waits are too long or your communication is too thin.
  • Fulfilment accuracy. How often you ship on or before the promised date. Aim high; this is the number that decides whether pre-order customers ever come back.
  • "Where is my order?" ticket volume on pre-order lines. A direct read on whether your status updates are landing.
  • Repeat purchase rate for pre-order buyers versus the rest. If it's lower, the wait is costing you more than the captured sale was worth.

Pulling those order-level numbers out of PrestaShop for a spreadsheet is its own small task, CSV Exports for Orders and Invoices covers getting the data out cleanly.

Frequently asked questions

What's the difference between a pre-order and a backorder in PrestaShop?

Mechanically, nothing. Both run on the same "allow ordering when out of stock" setting. The difference is the promise you make. A pre-order is for a product that was never in stock yet (a launch, seasonal line, limited edition), where the customer expects to wait. A backorder is for something that was in stock, temporarily sold out, and is being restocked, where the customer expects a shorter wait. Label them differently, because grouping both under a generic "order anyway" message is where trust leaks.

Which exact setting lets customers buy an out-of-stock product?

Open the product, go to the Quantities tab, find "When out of stock", and choose Allow orders. That keeps the Add to cart button live below zero stock. The global fallback lives under Shop Parameters → Product Settings → Stock ("Allow ordering of out-of-stock products"). Leave that set to deny, and switch it on per-product only for the items that genuinely support it. Under the hood, "Allow orders" writes 1 to the out_of_stock column of ps_stock_available.

Does PrestaShop change the "Add to cart" button to "Pre-order" automatically?

No. The button still reads "Add to cart" out of the box. The per-product "Label when out of stock" field changes the stock message (set it to something like "Pre-order, ships from March 15"), but turning the button itself into a "Pre-order" call to action means a theme template edit on the product page's add-to-cart block, or a module.

Can I take a deposit instead of full payment on a pre-order?

Not natively. PrestaShop's checkout charges the full cart total or nothing, there's no built-in partial-payment flow for "10% now, balance on shipping." For most stores full payment upfront is the practical default: it rides the native checkout, funds the supplier order, and paying customers rarely cancel. A deposit model is genuinely better for high-ticket items (roughly €500+) but it's a build, a module or custom flow, not a setting.

How do I stop a limited run from overselling?

"Allow orders" sells into negative stock with no ceiling, so a 500-unit run can quietly take 800 orders. Native PrestaShop has no per-product backorder cap, so the discipline is manual: watch the quantity figure going negative and flip the product back to Deny orders the moment you've sold your confirmed supplier capacity. If pre-order runs are routine, that hard limit is exactly what a dedicated module adds.

When does the EU 14-day return window start on a pre-order?

From the delivery date, not the order date, so a pre-order doesn't start the clock until the goods actually arrive. Separately, the default maximum delivery time is 30 days from the order date unless a longer period was explicitly agreed, which is why your pre-order page must state the availability date before purchase. Showing that estimate up front (the Availability date field, surfaced cleanly with a tool like our estimated delivery display) turns a long wait into something the customer agreed to.

The short version

Selling before you have stock in PrestaShop is one radio button, "When out of stock → Allow orders" on the Quantities tab, wrapped in a discipline the button can't enforce for you. Set the availability date and a per-product label so the promise is explicit, charge full upfront unless you're dealing in high-ticket items, edit the confirmation email so it acknowledges the wait, watch the quantity figure so a limited run doesn't oversell, and keep your timeline on the right side of the EU's 30-day rule. Do that, and a stockout stops being a lost sale and becomes captured revenue, without the refunds and chargebacks that punish stores who flip the toggle and stay silent.

David Miller

David Miller

Founder, mypresta.rocks
About the author

David Miller is a PrestaShop specialist with over a decade of hands-on experience and the founder of mypresta.rocks, a software studio in Tychy, Poland. He builds and maintains a catalogue of 152 PrestaShop modules, including 21 "Revolution" suites spanning SEO, checkout, security, performance, marketing, search, support, and warehouse operations, that improve real stores every day, all tested against PrestaShop 1.7.8, 8.x, and 9.x. He also acts as caretaker for production stores turning over millions in annual sales, so his work is judged on live revenue, not demos. His experience runs the full breadth of ecommerce, performance, security, SEO, and marketing, and reaches beyond PrestaShop to WooCommerce, Shopify, and custom-built systems. On the blog he writes about the code-aware side of PrestaShop: what the platform really does under the hood, what breaks in production, and which fixes hold up.

Share this post:

Comments

No comments yet. Be the first!

Enjoyed this article?

Get our latest tips, guides and module updates delivered to your inbox.

You may unsubscribe at any moment. For that purpose, please find our contact info in the legal notice.

Loading...
Back to top