PS PrestaShop Intermediate

Partial Shipping & Automatic Backorders (dfavailsplit)

Install, configure and understand the module that ships available stock and automatically places the rest on backorder.

Updated Module version 1.0.0

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

  1. Upload the dfavailsplit folder to /modules/, or install the ZIP via Modules > Module Manager > Upload a module.
  2. Click Install.
  3. 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.

Was this page helpful?

Still stuck? Contact support