Scaling a product business often brings a brutal cash flow reality: you need capital to produce inventory, but you don’t collect revenue until the product ships. Traditional financing, like working capital loans or giving up equity to investors, comes at a steep cost.
Advanced pre-orders offer a compelling alternative by using customer demand to fund your initial production run. But is this strategy a reliable supply chain strategy, or an operational gamble?
Why Advanced Pre-Orders Matter for Supply Chain Funding
Advanced pre-orders let you collect full or partial payment before a product is manufactured or stocked, using customer funds to finance production, raw materials, or shipping. Structure them safely by taking a deposit rather than full payment, setting realistic fulfilment dates, using clear terms, and implementing a PrestaShop pre-order module that holds funds until delivery.
Standard and advanced pre-orders carry completely different risk profiles. A standard pre-order sells something already in a warehouse, just not yet shipped. An advanced pre-order sells something that does not exist yet: a mould that has not been cut, a batch that has not cleared customs, a supplier invoice that has not been paid.
For a founder funding a first production run, that difference is the whole business case. Customer deposits become working capital. A volume of pre-orders at a deposit each can cover a tooling bill that would otherwise go on a credit card at punishing interest.
The cost of getting it wrong is equally direct. If you take full payment, miss your promised date, and go quiet, you invite chargebacks, which card networks treat as a measure of merchant reliability, not just a refund request. Meanwhile the cash you collected has already gone to your supplier, leaving you with a refund obligation and no finished goods.
Structuring advanced pre-orders properly protects three things at once:
- Your cash position, by matching money collected to money spent on production.
- Your customer relationships, by setting expectations you can actually meet.
- Your supply chain, by turning demand signals into committed orders with your supplier instead of guesses.
PrestaShop gives you the storefront mechanics to run this, but the structure has to come first. The PrestaShop Advanced Pre Order & Waiting List module, priced at $49.00, handles the payment collection and notification side, so this guide focuses on the decisions around it: deposit size, fulfilment windows, and how to keep funds visible until goods ship.
Treat every advanced pre-order as a small loan from a customer, and price, date, and communicate it with the same discipline you would apply to any other borrowing.
What You'll Need
Before you touch a single setting, gather the following. Working from a checklist prevents the half-configured pre-order that takes a deposit but never sends a notification.
- Permissions: an employee account with access to Modules, Catalog, and Shop Parameters, or full Administrator rights if you plan to create order statuses.
- Store access: a PrestaShop installation you can install a module on, plus FTP or file manager access if you upload the archive manually.
- Supplier information: confirmed unit costs, minimum order quantities, and expected production or shipping windows for every product you intend to offer as a pre-order.
- Payment configuration: an active payment provider that supports delayed or partial capture, and a written refund policy covering cancelled pre-orders.
- Time: roughly 45-60 minutes for installation and a first test product, plus extra time for each additional reservation product you configure.
- Difficulty: beginner to intermediate. No coding is required for the module route, but you must understand your own deposit percentages and fulfilment dates.
For deeper background on how PrestaShop modules extend native functionality, see the Prestashop Plugins reference material available from your module vendor or the PrestaShop Addons marketplace.
Method 1: Use a PrestaShop Advanced Pre-Orders Module
Configuring pre-orders by hand works until the order volume grows. A dedicated module turns the process into a repeatable workflow: deposits are collected at checkout, release dates control when the product becomes orderable, and every reservation sits in one list you can export for your supplier.
Step 1: Install and Open the Module
Without the module in place, there is no ledger connecting a customer's deposit to a specific unit you owe them.
Navigate to Modules -> Module Manager search for the pre-order module, then click Install followed by Configure.
- Upload a module: use this if you purchased a ZIP file outside the marketplace and need to install it manually.
- Configure: opens the settings screen where payment and availability rules live.
You should now see the module's configuration page with its settings tabs listed down the side or across the top.
Step 2: Create the Pre-Order Product
Pre-orders need their own product record so you can track reserved units separately from regular stock, rather than letting the two numbers blur together.
Navigate to Catalog -> Products then either edit an existing product with Quantity set to zero or create a new one via Add new product.
- Availability preferences: set Allow ordering out-of-stock products so the item stays purchasable while inventory is missing.
- Pre-order flag: enable the module's pre-order option on the product's module tab so the item is recognised as a reservation rather than a delayed shipment.
- Release date: enter the date the product is expected to ship.
You should now see the product showing a pre-order label on its storefront page instead of an out-of-stock warning.
Tip: Keep the release date close to your supplier's confirmed delivery window. A date you later have to push back erodes trust faster than a longer wait quoted upfront.
Step 3: Set the Payment Structure
The deposit percentage you choose decides how much customer capital funds your purchase order, and it needs to be large enough to be useful without being so large that conversions fall away.
Navigate to the module's Payment Settings tab and choose a payment mode.
- Full payment: the customer pays the entire price at checkout. Best cash-flow position, highest checkout friction.
- Partial payment: the customer pays a set deposit now, with the balance collected before dispatch. Most common for high-ticket inventory.
- Dynamic payment: the deposit is calculated from the order total or a per-product rule, so different items can carry different terms.
You should now see the selected payment mode reflected in the module's order total preview on a test product.
Warning: Calculate your deposit against the real cost of the purchase order, not the retail price. A deposit that does not cover supplier terms leaves you funding the gap yourself.
Step 4: Configure Email Notifications
Customers who hear nothing after paying a deposit assume the worst and open a dispute. Automated notifications are the cheapest defence against that.
Navigate to the module's Email tab and enable the templates you need.
- Order confirmation: acknowledges the reservation immediately.
- Availability alert: triggers when stock arrives, prompting the customer to complete the balance in partial-payment setups.
- Release reminder: fires ahead of the ship date so the buyer expects the dispatch.
You should now see active templates listed with their language versions and a test-send option.
Step 5: Track Reservations and Cash Flow
Reserved units and collected cash are two separate liabilities. Reviewing them together tells you whether the pre-order campaign is funding your inventory or quietly outrunning it.
Navigate to the module's Pre-Order management list.
- Pre-order list: shows each reservation, its status, and the payment received so far.
- Status filters: sort by pending, balance due, or completed to see what still needs chasing.
- Export: download the list to reconcile reserved quantities against the supplier purchase order.
You should now see a running count of reserved units and total deposits collected, giving you the figures your supplier commitment depends on.
Tip: Export the list weekly and compare reserved units against the quantity you actually ordered. Overselling a line is a refund problem; underselling it is dead stock.
For stores that also fulfil locally, the PrestaShop store pickup module can handle collection on release day.
Method 2: Manual/Code Approach in PrestaShop
PrestaShop has no native pre-order status, so the manual route means assembling one from existing pieces: a product attribute that flags the item as reservable, an order status you create by hand, and a small amount of PHP in your theme or a custom module. Expect a significant setup and testing effort per product type.
Manual pre-orders shift the risk from your cash flow to your code maintenance: nothing warns you when a PrestaShop upgrade quietly breaks the deposit logic.
Start with the product layer. Open Catalogue -> Products, edit the product, and go to the Combinations tab. Create an attribute (for example, "Pre-order Deposit") with a value per payment tier, then generate the combination. This gives you a selectable option on the product page that carries a price impact, the only built-in lever PrestaShop gives you for charging part of the total upfront.
Next, create the order state. Go to Shop Parameters -> Order Settings -> Statuses and add a new status such as "Pre-order paid, awaiting stock". Assign it a distinct colour and tick the option that treats the order as paid. Without this state, every manual pre-order lands in the same bucket as a normal order, and your warehouse team cannot tell reserve stock from shippable stock.
For the flow itself, the practical pattern is a actionValidateOrder hook in a small custom module that detects the pre-order attribute, recalculates the amount due, and reassigns the order state. A deposit calculation on a line item looks roughly like this:
- Read the line total and the selected attribute value.
- Multiply the line total by the deposit percentage (for example, 30% becomes
$lineTotal * 0.3). - Store the remainder as a balance due against the order ID so you can invoice it later.
- Set the order state to your pre-order status and queue a customer email.
Manual pre-orders make sense when you sell a handful of reservation products and have a developer on retainer. Beyond that, the maintenance cost usually exceeds the module price.
Troubleshooting Advanced Pre-Order Issues
Pre-order problems rarely announce themselves. They appear as a payment dispute email weeks after launch, or a supplier call explaining that a key material has slipped again. The fix is almost always structural, not cosmetic.
If chargebacks spike despite customers agreeing to the wait, tighten the payment structure
Most pre-order disputes stem from a gap between what the customer believed they were buying and what their bank statement later showed. If you took a full payment at checkout for a product shipping months later, the customer's card statement date and the delivery date are far apart, which makes a "product not received" claim look reasonable to an issuer.
- Switch to a partial or deposit payment so the amount charged at checkout reflects what you have actually delivered: a reservation.
- Collect the balance only when stock lands, which keeps the charge close to the shipment date.
- Keep an audit trail of the customer's original consent, including the expected dispatch window shown at checkout.
The PrestaShop Advanced Pre Order & Waiting List module supports full, partial, and dynamic payment structures, which lets you align the charge event with the delivery event rather than with the marketing campaign.
If production slips and your promised dates are at risk, communicate before the customer notices
A late shipment you announce is a logistics update. A late shipment the customer discovers on your tracking page is a trust failure. Build a buffer into the dispatch window you display at checkout, then hold that buffer in reserve rather than promising the supplier's best-case date.
- Notify affected pre-order customers as soon as a slip is confirmed, using the module's availability email notifications.
- Offer a clear choice: wait, switch to an in-stock alternative, or cancel for a full refund.
- Log every notification sent, since a documented goodwill message weakens a "merchant never contacted me" dispute.
Every pre-order dispute is cheaper to resolve before the customer contacts their bank than after.
If cash flow tightens while deposits sit unused, reconcile reservation money against committed spend
Deposits are a liability until you deliver. Treating pre-order revenue as available cash is the single fastest way to fund a supply gap you cannot close. Keep reservation funds ring-fenced, and match them against confirmed purchase orders rather than projected ones.
If customers are chasing updates or abandoning carts mid-pre-order, a WhatsApp order and chat module gives them a faster channel than email for confirming a reservation or asking about a revised date, which reduces the silent cancellations that quietly break your demand forecast.
If stock arrives and pre-orders fail to convert to paid orders, review your balance-request flow
Customers forget. A reservation made months earlier is not front of mind now, and a single balance email that lands in a promotions folder can stall many orders at once. Send a short reminder sequence with a clear deadline, and release unclaimed stock back to general sale once that deadline passes so it is not sitting idle.
Where pickup is part of your fulfilment mix, a PrestaShop store pickup module lets those converted pre-orders be collected in person, which cuts the last-mile delay that often sits behind a final "not received" dispute.
Why Advanced Pre-Orders Need Structure, Not Enthusiasm
A pre-order button is easy to switch on. Managing the money behind it is the hard part, and that is where most stores come unstuck. Treating pre-orders as a financing instrument means every reservation carries a delivery promise, a payment plan, and a cash-flow commitment attached to it.
Get the structure right, and pre-orders fund inventory before you pay a supplier. Get it wrong and you are chasing chargebacks later while your supplier is still waiting on a deposit. PrestaShop gives you the storefront tools, but the discipline has to come from you.
How to Set Up Advanced Pre-Orders in PrestaShop?
This walkthrough covers the module's configuration screens in the order they appear, so you build the payment structure first and the customer-facing messaging second. Keep a staging copy of your store on hand before you begin.
Method 1: PrestaShop Advanced Pre Order & Waiting List
Method 1 uses the PrestaShop Advanced Pre Order & Waiting List module, priced at $49.00, which lets customers reserve out-of-stock or upcoming products using full, partial, or dynamic payment options.
Step 1: Install and Activate the Module
Your payment structure depends entirely on the module being active and correctly installed, so this comes first, before any product-level configuration.
Navigate to Modules -> Module Manager then:
- Upload the module archive using the Upload a module button, or locate it in your module list if it is already present.
- Click Install and wait for the confirmation message.
- Click Configure to open the module's settings area.
If the Configure button does not appear after installation, clear the PrestaShop cache from Advanced Parameters -> Performance.
You should now see the module's configuration dashboard with its settings tabs listed down the left side or across the top.
Step 2: Define the Global Pre-Order Settings
Global settings decide how the module behaves across your whole catalogue, so they set the defaults every product inherits unless you override them.
Inside the module configuration, open the general settings area and:
- Enable the pre-order functionality so the module begins accepting reservations.
- Choose whether pre-order products remain purchasable once their release date passes, or revert to normal stock behaviour.
- Set the default availability date that applies when a product has no individual date assigned.
You should now see the module reporting as active, with your chosen defaults saved.
Tip: Set the default availability date conservatively. A date you beat builds trust; a date you miss starts disputes.
Step 3: Configure Payment Type and Deposit Behaviour
The payment type controls how much money reaches you at reservation and how much arrives at release.
Open the payment settings section and select a payment type:
- Full payment: the customer pays the entire product price at the point of pre-order.
- Partial payment: the customer pays a defined portion now, with the remaining balance collected later.
- Dynamic payment: the amount payable at reservation is calculated rather than fixed, letting you align the upfront charge with your supplier payment schedule.
Define the deposit amount or percentage that applies to partial payments, and confirm how the outstanding balance is presented to the customer.
You should now see the selected payment type reflected in the module configuration, ready to apply to individual products.
Warning: Revisit your terms and refund policy before enabling partial payments. If a customer disputes a deposit on a cancelled pre-order, your stated policy is the first document your payment provider will ask for.
Step 4: Apply Pre-Order Settings to Individual Products
Global settings only create the capability. Each product needs its own pre-order configuration before customers can reserve it.
Navigate to Catalog -> Products open the product you want to make pre-orderable, and:
- Enable the pre-order option for that specific product.
- Enter the product's availability date, which overrides the global default set in Step 2.
- Select the payment type for this product, or leave it inheriting the global configuration.
- Set the pre-order quantity limit if you need to cap reservations to match your supplier commitment.
You should now see the product marked as available for pre-order in your catalogue listing, with its own date and payment settings saved.
Tip: Cap reservation quantities at or below your confirmed supplier order. Overselling a pre-order is the fastest route to a broken supply chain and a wave of refund requests.
Step 5: Build the Customer Notification Flow
Customers tolerate waiting. They do not tolerate silence, and unanswered questions are what push a patient buyer towards a dispute. Use the module's email templates to confirm the reservation, remind the customer of the release date, and notify them the moment stock arrives so the balance can be collected and the order shipped.
Conclusion
You now have the full structure for running advanced pre-orders in PrestaShop: deposits sized against real supplier costs, availability dates your production schedule can actually meet, automated notifications that keep buyers informed, and a reservation list you can reconcile against every purchase order. That combination turns pre-order demand into committed working capital instead of a queue of refund requests.
The cash-flow discipline is yours to maintain, but the payment collection, release dates, and customer messaging can all be handled by one module. Install the PrestaShop Advanced Pre Order & Waiting List module for $49.00 and set up your first pre-orderable product today.