Partial Shipping & Automatic Backorders (dfavailsplit)
Install, configure and understand the module that ships available stock and automatically places the rest on backorder.
Overview
This module automatically splits every order based on the real available stock. In-stock items leave immediately in a ready-to-prepare order, while out-of-stock items are moved to a dedicated backorder order. Both orders share the same reference, and the sum of their totals strictly equals the original order.
No manual action is required: everything triggers at order validation.
Installation
- Upload the
dfavailsplitfolder to/modules/, or install the ZIP via Modules > Module Manager > Upload a module. - Click Install.
- Open the configuration via Configure.
On install, the module creates a dedicated order state “Awaiting restock (Backorder)” (orange). This state and the split history are kept on uninstall to preserve your data.
Configuration
Go to Modules > Module Manager > dfavailsplit > Configure.
Enable automatic split
Main switch. When disabled, no order is split.
Backorder order state
State applied to the order containing the out-of-stock items. Defaults to the “Awaiting restock (Backorder)” state created on install.
Override the shippable order state
Optional. Enable to force a specific state (for example “Preparation in progress”) on the shippable order. When disabled, the order keeps its current state.
Free shipping on the backorder
Enabled by default. Shipping stays on the shippable order; the backorder ships free, since the customer already paid shipping once.
Split partially-available lines
Enabled by default. A partially-available line (3 in stock of 5 ordered) is split into 3 shipped + 2 backordered. When disabled, the whole line moves to backorder.
Send backorder email
Sends the customer an email (FR/EN) informing them their order will ship in several parts.
Regenerate invoices after split
Disabled by default. Keep it off to issue invoices when each order actually ships. When enabled, the module regenerates both orders’ invoices after the split if the current state requires it.
Logging
Records every split operation in the PrestaShop logs for traceability.
How the split works
At order validation, stock has already been decremented for every ordered quantity. The module therefore reconstructs the pre-order physical stock (current stock + ordered quantity), pooled per product and combination, to precisely determine the shippable share of each line.
Three cases occur:
- Everything available: no split. The order proceeds (optional state override).
- Everything out of stock: no split, the whole order moves to the backorder state.
- Mixed order: the original order keeps the shippable share (shipping, discounts, wrapping, payment); a new backorder order is created for the rest, with the same reference.
Totals (products, shipping, discounts, wrapping, weight) are recalculated to the cent. The sum of the two orders exactly equals the original order. Payment, aggregated by reference, reconciles natively.
On the order page (back office)
A “Availability split” panel appears on the order page. From the shippable order it links to the related backorder, and vice versa. The shared reference is shown both ways.
Customer email
If the option is active, the customer receives an email about the partial shipment and the backorder shipped at no extra cost. FR and EN templates are provided in the module’s mails/ folder.
The initial confirmation email (full order) is sent by PrestaShop before the split. The module’s backorder email then informs the customer about the multi-part shipment.
Edge cases and limits
- Virtual products are never backordered.
- Products under Advanced Stock Management (ASM) are excluded from the split and stay on the shippable order.
- A customized line is not split: it is routed entirely to one of the two orders.
- If stock management is disabled in PrestaShop, no split is performed.
Troubleshooting
No order is split
Check that the split is enabled, that PrestaShop stock management is active, and that the products are neither virtual nor under Advanced Stock Management. A split only happens for a mixed order (both in-stock and out-of-stock items).
The backorder shows shipping fees
Enable the “Free shipping on the backorder” option. Shipping then stays only on the shippable order.
Compatibility
PrestaShop 8.x and 9.x, multistore, no override and no Composer.