> For the complete documentation index, see [llms.txt](https://docs.fulfillmenttools.com/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fulfillmenttools.com/documentation/by-pillar/advanced-order-routing/pre-and-backorders.md).

# Preorders and backorders

In the case of a [preorder](#preorderandbackorder-whatisapreorder) or [backorder](#preorderandbackorder-whatisabackorder), an order may already be placed even though no stock is available (yet). Whether it is permitted to order a product even when stock is unavailable can be configured in the [listing](/documentation/by-pillar/global-inventory-hub/listing.md). If an order is accepted for which no stock is available, it's placed in a waiting room.

To allow listings to be available for preorder or backorder, the complete stock fence must be set to active. This can be done in the Backoffice by going to the **Network view,** clicking on **Inventory**, hovering on the **Basic configuration** and clicking the edit icon, selecting Routing rules, activating the **Complete stock** toggle, and saving the changes.&#x20;

{% hint style="info" %}
If you do this in Backoffice, you'll still need to set the `activeMode` of the fence to `reactive` via the [routing strategy endpoint](/documentation/apis/api-reference/routing-strategy-doms.md), as this currently isn't available in Backoffice.
{% endhint %}

<figure><img src="/files/INEVaY4aAlPYzNMBsrIi" alt=""><figcaption></figcaption></figure>

Alternatively, this can be done using the API.

{% tabs %}
{% tab title="Endpoint" %}

```http
PUT https://{YOUR-TENANT-NAME}.api.fulfillmenttools.com/api/routing/strategies/{strategyId}
```

{% endtab %}

{% tab title="Request" %}

```json
{
...
      "fences": [
        {
          "active": true,
          "activeMode": "reactive",
          "implementation": "STOCK-AVAILABILITY",
          "type": "StandardFence"
        }
      ],
...     
}
```

See the [Routing strategy article](/documentation/by-pillar/advanced-order-routing/routing-strategy.md) for a full request example.
{% endtab %}
{% endtabs %}

{% hint style="info" %}
If `shouldUseWaitingRoomForPreBackOrderItems` is set to true in the order split configuration of the routing strategy, the items will still be moved to the waiting room even if the complete stock fence is inactive.
{% endhint %}

## Preorder <a href="#preorderandbackorder-whatisapreorder" id="preorderandbackorder-whatisapreorder"></a>

A preorder is an order for a product placed before it becomes available in inventory or is officially released by the supplier. This means that the consumer is essentially reserving the product, and the seller ships it as soon as it becomes available.

Preordering allows customers to secure their place in line and be among the first to receive the product when it becomes available.

To define an item as available for preorder, set `outOfStockBehaviour` to `PREORDER`, and include the `outOfStockConfig` on the listing. This is needed to set the time that the item will be available from.

{% tabs %}
{% tab title="Endpoint" %}

```http
PATCH https://{YOUR-TENANT-NAME}.api.fulfillmenttools.com/api/facilities/{facilityId}/listings/{tenantArticleId}
```

{% endtab %}

{% tab title="Request" %}

```json
{
    "actions": [
        {
            "action": "ModifyListing",
            "outOfStockBehaviour": "PREORDER",
            "outOfStockConfig": {
                "preorder": {
                    "availabilityTimeframe": {
                        "start": "2025-12-01T08:45:50.525Z"
                    }
                }
            }          
        }
    ],
    "version": 2
}
```

{% endtab %}
{% endtabs %}

## Backorder <a href="#preorderandbackorder-whatisabackorder" id="preorderandbackorder-whatisabackorder"></a>

A backorder occurs when a customer places an order for a product that is currently out of stock or unavailable for immediate shipment. This means that the customer's order is temporarily on hold until the product becomes available again.

Backorders can occur for various reasons, such as unexpected demand, supply chain delays, or manufacturing issues.​​

To define that an item is available to backorder, set `outOfStockBehaviour` to `BACKORDER` on the listing.

{% tabs %}
{% tab title="Endpoint" %}

```http
PATCH https://{YOUR-TENANT-NAME}.api.fulfillmenttools.com/api/facilities/{facilityId}/listings/{tenantArticleId}
```

{% endtab %}

{% tab title="Request" %}

```json
{
  "actions": [
    {
      "action": "ModifyListing",
      "outOfStockBehaviour": "BACKORDER"
    }
  ],
  "version": 2
}
```

{% endtab %}
{% endtabs %}

## Waiting orders

If an order is created and there is no stock available for a requested item that is marked as preorderable or backorderable, fulfillmenttools doesn't try to assign it to a facility. Instead, it puts the order into a waiting room.

When stock for the requested product becomes available again, fulfillmenttools automatically attempts to assign all waiting orders to a facility. If there's not enough stock available for all waiting orders, those orders become unroutable again. Currently, there is no prioritization rule in place.

A user can also intervene manually in certain scenarios while the order (or order split) is in the waiting room.

1. **Assign a new facility for fulfillment:** Assign an order to a specific facility by ignoring any configured fences. One scenario is to route a same-day order to a given facility, change it to a standard delivery order (see Carrier change), and fulfill it. It's possible to assign either the partial or the full order.
2. **Trigger a new routing decision:** Rerun the routing process to reevaluate whether a facility now exists that can fulfill the order. This might come in handy once a misconfigured routing strategy is corrected, and all orders should be processed as usual.
3. **Canceling an order:** Cancels all corresponding pick jobs of an order. It's possible to cancel the partial order or the whole order.

## Order split with preorderable and backorderable items

An [order split](/documentation/by-pillar/advanced-order-routing/order-split.md) is possible when items are marked as preorderable or backorderable, depending on the situation. Let's look at some scenarios:

1. If an order split is allowed and some of the preorderable or backorderable items aren't available, the missing items are split and placed in the waiting room. It's handled as a separate order.
2. If an order split is allowed and some items aren't available but aren't set as preorderable or backorderable, the missing items aren't picked, and the order will be a short-pick.
3. If an order split is allowed and some of the preorderable or backorderable items aren't available, but they're part of an [item bundle](/documentation/by-pillar/store-operations/services/bundled-line-items.md), the order can't be split, as all items are treated as one. This means that all items in the bundle will go to the waiting room as part of the preorder or backorder.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.fulfillmenttools.com/documentation/by-pillar/advanced-order-routing/pre-and-backorders.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
