> 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/global-inventory-hub/stock/stock-availability.md).

# Stock availability

fulfillmenttools serves as the central repository for stock data. It integrates updates from multiple sources and consolidates these inputs to deliver diverse availability metrics for various use cases. You can query these metrics through the REST API and access them in Backoffice.

## Getting stock availability information

|                                                      | Backoffice                                                                                            | REST API                                                                                                                                                                                             |
| ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Stock availability per article on network level**  | [Inventory network overview in the Backoffice](/documentation/backoffice/network-view/inventory.md)   | [api/stocks/summaries](https://docs.fulfillmenttools.com/documentation/apis/api-reference/stocks-inventory#get-api-stocks-summaries)                                                                 |
| **Stock availability per article on facility level** | [Inventory facility overview in the Backoffice](/documentation/backoffice/facility-view/inventory.md) | <p><a href="#request-stocks-by-facility-for-a-specific-product">api/stockdistribution</a><br><br><a href="#inventory-facility-stock-changed-event">InventoryFacilityStockChangedWebHookEvent</a></p> |

## Stock availability values

<table><thead><tr><th width="241.16015625">Availability value</th><th>Meaning</th></tr></thead><tbody><tr><td><strong>Stock on hand</strong> (On hand)</td><td>Describes stock that is physically located in a facility. Stock that is, for example, still booked to the facility but is already in transit to another facility is not included.</td></tr><tr><td><strong>Available on stock</strong> (AOS)</td><td><p>Available on stock describes stock that's available for sale (not earmarked for other purposes). In fulfillmenttools, it refers to stock that's <a href="/documentation/by-pillar/global-inventory-hub/inventory-traits.md#available-traits">accessible</a>, reduced by:</p><ul><li>Stock that is <a href="/documentation/by-pillar/global-inventory-hub/reservations.md">reserved</a> for orders</li><li><a href="#safety-stock">Safety stock</a> (stock that's held back for offline sales)</li><li><a href="/documentation/by-pillar/global-inventory-hub/stock.md#stock-properties">Expired stock</a> (if defined)</li><li>Stock that has reached its <a href="/documentation/by-pillar/global-inventory-hub/listing.md#stock-available-until">availableUntil</a> value (if defined)</li></ul></td></tr><tr><td><strong>Available for picking</strong> (AFP)<br><br></td><td><p>Available for picking describes stock that's available (not earmarked for other purposes) and ready to be picked. In fulfillmenttools, it refers to all stock that is <a href="/documentation/by-pillar/global-inventory-hub/inventory-traits.md">accessible</a> and <a href="/documentation/by-pillar/global-inventory-hub/inventory-traits.md">pickable</a>, reduced by:</p><ul><li>Stock that's <a href="/documentation/by-pillar/global-inventory-hub/reservations.md">reserved</a> for orders</li><li><a href="#safety-stock">Safety stock</a> (stock that's held back for offline sales)</li><li><a href="/documentation/by-pillar/global-inventory-hub/inventory-traits.md">Expired stock</a> (if defined)</li><li>stock that has reached its <a href="/documentation/by-pillar/global-inventory-hub/listing.md#stock-available-until">availableUntil</a> value (if defined)</li></ul><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>This value is used for incoming orders. It's sometimes referred to as available for shipping.</p></div></td></tr><tr><td><strong>Expected stock</strong></td><td><p>Expected stock is stock expected to arrive or be produced. Expected stock can be communicated via the <a href="/documentation/by-pillar/global-inventory-hub/inbound-process.md">inbound process</a>. After an <code>inboundProcess</code> with a <code>purchaseOrder</code> was created, our systems automatically create expected stock for the requested items. Expected stock is visible in the <a href="/documentation/backoffice/network-view/inventory.md#stock-availability">stock overview</a> in Backoffice. Once a purchase order is created, its expected stock can be considered in the shop's <a href="/documentation/by-pillar/global-inventory-hub/stock/expected-stock-in-availability.md">availability</a>.</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>This value can be considered for incoming orders. More information can be found under <a href="/documentation/by-pillar/global-inventory-hub/stock/expected-stock-in-availability.md">Expected stock in availability.</a></p></div></td></tr><tr><td><strong>Safety stock</strong></td><td><p>Safety stock allows guarding offline sales against online-induced stock-outs. It can be defined on the facility level, and decreases the available stock levels ("<a href="#available-for-picking-afp">available for picking</a>" and "<a href="#available-on-stock-aos">available on stock</a>"). This means that if the stock level in a given facility is equal or less than the configured safety stock, the available stock is 0.</p><p>Users can configure the desired safety stock quantity for each listing. Configurations can be made in the <a href="/documentation/backoffice/network-view/inventory.md#stock-availability">stock overview</a> in the Backoffice or via <a href="https://fulfillmenttools.github.io/fulfillmenttools-api-reference-ui/#put-/api/safetystocks">safety stocks REST API</a>.</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>More information can be found under <a href="/documentation/by-pillar/global-inventory-hub/stock/safety-stock.md">Safety stock</a>.</p></div><div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p>Safety stock is considered in order routing meaning that orders can become <a href="/documentation/by-pillar/advanced-order-routing/unroutable-orders.md">unroutable</a> if the available stock is equal to or less than the configured safety stock.</p></div></td></tr></tbody></table>

## Inventory facility stock changed event

When stock levels change in a facility, the `INVENTORY_FACILITY_STOCK_CHANGED` event is emitted. It uses the `InventoryFacilityStockChangedWebHookEvent` payload. You can find the [schema in the models page](/documentation/apis/api-reference/models.md).

The payload doesn't include expected stock, safety stock, stock on hand, or a network total. Use [Stock availability values](#stock-availability-values) for the definitions that apply to reported quantities.

Each event reports one `tenantArticleId` in one `facilityRef`. Every quantity in the payload is the aggregated value for that facility only. It does not contain a network-wide aggregate.

You can create an event scope for this event to include more than one facility, see the [Event scope section of the Eventing article](/documentation/getting-started/eventing.md#event-scopes).

## Future availability

### Creation and management of expected stock

Expected stock is automatically created after a new [inbound process](/documentation/by-pillar/global-inventory-hub/inbound-process.md) with a corresponding purchase order is added. Expected stock can only be managed via the purchase order and cannot directly be edited via API. Quantities, attributes, and so on of expected stock can be edited via the requested items of the [purchase order](/documentation/by-pillar/global-inventory-hub/inbound-process/purchase-order.md).

### Stock properties and available until

**Available until**

**`availableUntil`** defines until when stock is considered available.

* Calculated automatically for stock and expected stock based on expiry or creation date, with optional modifiers (for example, `-P30D` to shift earlier) if configured in the [listing](/documentation/by-pillar/global-inventory-hub/listing.md).
* For expected stock, the creation date of the purchase order is used if `calculationBase` is set to `CREATION`. When a receipt is created, `availableUntil` of the stock is updated based on the creation date of the stock.

{% hint style="warning" %}
When updating a listing with `stockAvailableUntil`, the value will be only added to newly created stock.
{% endhint %}

**Stock properties**

* Stock properties (especially `expiry`) provide the values required for calculating `availableUntil` with `calculationBase` = `EXPIRY`.
* [Listings](/documentation/by-pillar/global-inventory-hub/listing.md) define which properties are required.
* For expected stock, `properties` can be specified in the `requestedItems` of the [purchase order](/documentation/by-pillar/global-inventory-hub/inbound-process/purchase-order.md). When a `receipt` is created, the `properties` are transferred to the stock.
* If a `defaultValue` is defined for a stock property in the listing, the stock is created with that value. Empty strings provided as default values are ignored.

**Interaction**

* `availableUntil` is the decisive value for availability.
* If both `expiry` and `availableUntil` (with `calculationBase` = `CREATION`) are set, only `availableUntil` applies.
* `availableUntil` defaults to the expiry date if `expiry` `properties` are configured in the stock.


---

# 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/global-inventory-hub/stock/stock-availability.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.
