> For the complete documentation index, see [llms.txt](https://docs.chord.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chord.co/chord-oms/products/product-stock-backorder.md).

# Product Stock - Backorder

## Introduction

When discussing backorder, we always ask ourselves, "What's the difference between backorder and out-of-stock?"

The answer is pretty simple. "Out of stock" means an item has no stock available for purchase and no current date for resupply.

In contrast, 'backorder' means an item is unavailable but already has a resupply date.

Unlike stock items, back-ordered items will eventually come back to your store for your customers to purchase

In the OMS, when the count\_on\_hand drops to zero, a product will be listed as **Out Of Stock** (**OOS**) in your store IF the\*\* Back-orderable flag is NOT checked.\*\*

***

**OMS Store Stock**

***

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-bb8089094987f2e801d5c6c3f9b676ba503bd670%2Fproduct-stock-backorder-1.jpg?alt=media)

***

{% hint style="info" %}
In our SDK starter, you can also create a product/variant that is OOS and not Back-orderable as a Waitlist, so your customers can sign up and be notified when the item is back in stock. For your customers to be notified, navigate to your Store Settings and add this Variable: STOCK\_REQUESTS\_NOTIFICATION\_ENABLED and mark the value as "enabled" To validate that an item is back in stock, we check that the previous quantity was <= 0 AND the currently updated quantity is > 0, AND The stock item is not back-orderable
{% endhint %}

{% hint style="info" %}
If there is stock available in your OMS and the variant is marked "Out Of Stock" in Contentful, the OMS bypasses whatever settings are in Contentful.
{% endhint %}

When the **count\_on\_hand** drops to zero AND the **Back-orderable flag is checked,** your customers can still complete orders for items with no available inventory. The order/product will be listed as **Backordered,** and the **Count on hand** will be decremented to a negative number.

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-e6c5e2d6f75f288e2f10062cb0ebc14697e9c0a5%2Fproduct-stock-backorder-2.jpg?alt=media)

***

**Stock**

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-ce4e89fd73e81bd1d9c0535f8a3dd8d4657c9410%2Fproduct-stock-backorder-3.png?alt=media)

## Backorder Limits

Stores can limit the number of backorders the OMS will accept by specifying a backorder limit. When the **Count On Hand** equals the **Backorder Limit**, the OMS will reject orders for that product.

For example, a product has a backorder limit of 5, and the current count on hand is -4. The OMS will complete an order for one unit of the product, bringing the current count on hand to -5. If another order for the product is submitted, the OMS will reject it (count on hand -5 equals the backorder limit of 5).

If a product is assigned a backorder limit of 0, then the backorder limit *will not* be enforced. The OMS will accept unlimited backorders for the product.

Example:

This product is back-orderable with 5 units on hand and a backorder limit of 5.

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-86fdf492168fc0790781a87806d82c2a45e74f22%2Fproduct-stock-backorder-4.jpg?alt=media)

Orders for 9 units are completed, reducing the count on hand from 5 to -4. Because the product is back-orderable and the number of backorders is within the backorder limit, the OMS will continue to accept orders. The product will also be in stock in the store.

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-cd3fa95c811aef8cebeffc3afea3c931fbcb689f%2Fproduct-stock-backorder-5.jpg?alt=media)

An order is completed for one more unit of the product. The count on hand is -5, but still within the backorder limit. However, since the number of backorders equals the backorder limit, the product can no longer be backordered, so back-orderable is false.

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-e9bc037abb42fef42f897003acaf6409c9d9c6ed%2Fproduct-stock-backorder-6.jpg?alt=media)

The product is now shown as **Out of Stock** in the store.

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-d9781b0cafd01571c42dff240e998178b81b0e8f%2Fproduct-stock-backorder-7.jpg?alt=media)

If three orders are canceled, or stock arrives, and some backorders are processed, the count on hand increments by three from -5 to -2, and the product is again back-orderable.

The product is back in stock in the store.

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-a66cd59a20309ae23a605ccd85da7b8e235bdfed%2Fproduct-stock-backorder-8.jpg?alt=media)

## Advanced Stock Availability Logic

Chord's `GET /api/variants/:id/stock_availabilities`[API endpoint](https://chord.stoplight.io/docs/chord-oms/359fc5352bdd1-return-the-variant-availability) is primarily used to determine whether a given variant is in or out of stock and can thus be used to reflect in the storefront the status and stock availability of a given variant.

In addition to the `in_stock` and `is_backorderable` attributes, this endpoint can return an additional property called `total_on_hand` which will return the actual stock level count

**NOTE:** To ensure that `total_on_hand` is added to the payload response, make sure the `INCLUDE_STOCK_AVAILABILITY_COUNT` store environment variable is **enabled.**

Example response:

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-1dd8dbed73325151c3a528f1c2bc153f0e512a70%2Fproduct-stock-backorder-9.png?alt=media)

There are also additional modifications that can be configured for storefronts that rely solely on the `total_on_hand` value, specifically with variants listed as *backorderable*.

Previously, variants configured as *backorderable* with a stock count of less than 1 would be flagged as \***"out of stock."** \*The `INCLUDE_BACKORDERABLE_IN_STOCK` store environment, can control how backorderable products with zero stock are reported in stock availability APIs. When enabled, backorderable variants with 0 stock will report as in-stock with a quantity of 1.

![](https://private-user-images.githubusercontent.com/46425993/531054787-042ddedd-614b-4a30-b8b5-9f04983adad1.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Njc5MDYxMTEsIm5iZiI6MTc2NzkwNTgxMSwicGF0aCI6Ii80NjQyNTk5My81MzEwNTQ3ODctMDQyZGRlZGQtNjE0Yi00YTMwLWI4YjUtOWYwNDk4M2FkYWQxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAxMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMTA4VDIwNTY1MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIzYTU1ZjQ5NWUxYzMxZDIxMDc5NjJhYTNlNDdjMjNiMTg2OTgyNjIxMDEzYWFlOTY5ODNlNGUzNzQ5MTZjZjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.FqoaidK-uClfD5tw-wzNODhJgCYwD8A1a1mDWAVjolI)

![](https://private-user-images.githubusercontent.com/46425993/531054871-196b5580-88fb-4f4a-8ca1-7cea08261d09.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Njc5MDYxMTEsIm5iZiI6MTc2NzkwNTgxMSwicGF0aCI6Ii80NjQyNTk5My81MzEwNTQ4NzEtMTk2YjU1ODAtODhmYi00ZjRhLThjYTEtN2NlYTA4MjYxZDA5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAxMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMTA4VDIwNTY1MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYwMzhkOTBlYWNhYjI5MmQzNjA2NDlmYTBiOTNiY2MwMmI0MjQ0ZmNhMTg4NGE5MGFiNWJiNzk3YTNkNDE2MzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.SDX4lKZKHDklBIODLtTKDZuM1HjhmbzUOHvctrMtGnE)

{% hint style="success" %}
If you have any questions or need help, please get in touch with us at <help@chord.co>.
{% endhint %}


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.chord.co/chord-oms/products/product-stock-backorder.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
