# External stock change reasons

External stock change reasons represent user-defined reasons for stock movements within a facility. These reasons can optionally be included in stow line items to explain why a specific action was performed.

{% hint style="warning" %}
fulfillmenttools doesn't process or react to external stock change reasons. They exist solely for user-defined purposes.
{% endhint %}

## Working with external stock change reasons

External stock change reasons can be handled in one of two ways:

1. **Managed externally**
   * Reasons are not preconfigured in the platform.
   * Users can provide custom reasons directly when creating stow line items.
   * **Note**: Custom reasons provided externally are not validated by the platform.
2. **Managed within fulfillmenttools**
   * Reasons are preconfigured via [external stock change reasons REST API](https://fulfillmenttools.github.io/fulfillmenttools-api-reference-ui/#post-/api/externalstockchangereasons).
   * When creating stow line items, preconfigured reasons are linked by specifying either their `id` or `tenantReasonId`.

{% hint style="info" %}
[External stock change reasons REST API](https://fulfillmenttools.github.io/fulfillmenttools-api-reference-ui/#post-/api/externalstockchangereasons)
{% endhint %}

To preconfigure an external stock change reason, POST an external stock change reason, providing:

* `active`: `true` or `false` (if set to false, the reason can no longer be linked in `stowLineItems`)
* Optional `customAttributes`: can contain information of interest to connectors or services outside of fulfillmenttools. fulfillmenttools doesn't process or react on [customAttributes](broken://spaces/2u56u6iixikInznwlzwk/pages/D7DnyvCI0VacsOw5AJXl).
* `reasonLocalized`: Localized reasons, see [the Localization article.](/documentation/getting-started/authentication-and-authorization/localization.md)
* Optional `tenantReasonId`: External identifier. Can be used, for example, to map reason codes from ERP systems


---

# Agent Instructions: 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.fulfillmenttools.com/documentation/by-pillar/global-inventory-hub/stock/external-stock-change-reasons.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.
