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

# Backorders

Backorder quantity is the number of units that are left unshipped or unfulfilled on a sales order. This normally happens if the item(s) is currently not in stock or ready for immediate delivery. When this happens, the seller may partially fulfill the order with the available inventory and place the remaining quantity on backorder.

The backorder procedure allows you to ascertain the quantity that is currently unavailable, and when the inventory is restocked, you can dispatch the necessary quantity to your customers.

### How do backorders work?

You can define the backorder quantity on the sales order, indicating how much should be waved or fulfilled and how much should be kept on backorder. You can then proceed to fulfill the available quantity.

To handle the backorders, two new app configs, "**Enable Backorder Qty on SO**" and "**Block Operations for Back Order Qty**" have been added.

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

**a. Enable BackOrder Qty on SO:** If this setting is on the User can block the item qty to be waved/shipped.

**b. Block Operations on the item to be waved/shipped for BackOrder Qty:** Block Operations on the item to be waved/shipped for BackOrder Qty.

This config has two options i.e. **Create Wave, Ship.**

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

* **Create Wave:** If the user selected this option then the user can only allocate the remaining qty (qty-backorder) qty.

  For Example, OrderQty=10, BackOrderQty= 6, Output (10 – 6) = 4 (User can allocate 4 units).

  Eg2: OrderQty= 10, BackOrderQty= 6, QtyShipped= 3, Output (10 – 6 – 3) = 1 (User can allocate 1 unit).\
  \
  If this option is selected and backorder quantity has been defined, this is how wave creation will work:

  * **Manual Wave** – Wave can only be created for the remaining qty(order qty – qty backorder
  * **Full Order Only** – User cannot create wave if backorder qty > 0
  * **Allocate full lines**  – User cannot create wave if backorder qty > 0
  * **Allocate what’s available lines**  – Allocate (remaining qty – backorder qty)<br>
* &#x20;**Ship:** If the user selected this option then the User can allocate full qty but **can only ship/pick the remaining (qty-backorder) qty.**

  \
  For Example, OrderQty=10, BackOrderQty= 6, QtyAllocated=10, Output: 4 (User can ship/pick 4 units.

  \
  In case **both options are selected in the app config i.e. Create Wave & Ship:**&#x20;

  For Example, OrderQty=10, BackOrderQty= 6, QtyAllocated= (10 – 6= 4), Output= 4 User can ship/pick 4 units.

### How to handle backorders in Sales Order?

To handle the backorders, you begin by defining the backorder quantity on the sales order. Then, depending on the option selected in the app config, the order will be processed. Let's see how this works.

* In the Sales Order, when adding the items, define the "BackOrder Qty" and add the item to the order.

  <figure><img src="/files/Mjdm59adI6fXYrK4EynM" alt=""><figcaption></figcaption></figure>
* Save and Release the order.

  <figure><img src="/files/PPl2osvmxR8qmT5HQFNE" alt=""><figcaption></figcaption></figure>
* If you try to allocate or ship the entire order, the system will throw an error depending on the app config.

  <div align="left"><figure><img src="/files/lXnf5HmUQtPrByAOgrEe" alt=""><figcaption></figcaption></figure></div>
* You can ship the available quantity. When the remaining units are available, you can update the backorder quantity and process the order.


---

# 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:

```
GET https://docs.xorosoft.com/xoroerp-1/sales/sales-order/backorders.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
