> ## Documentation Index
> Fetch the complete documentation index at: https://spreecommerce.org/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Returns & Reasons

> Define the return, claim, and refund reasons your team chooses from when handling returns.

Returns management is a crucial part of ecommerce operations. It builds customer trust, streamlines support workflows, and helps maintain clarity around inventory and financial adjustments.

Not all ecommerce platforms offer built-in tools for managing returns, but fortunately Spree does — no extra plugins or custom development needed.

Before you start processing returns, it is worth setting up the three lists of reasons Spree uses. Each answers a different question, which is why they are kept apart: mixing them together makes your reporting far less useful.

## Return Reasons

Return reasons record why a customer is sending something back. They apply to both returns and exchanges.

Typical examples are "Wrong size", "No longer needed", "Different from description", and "Arrived too late".

Each reason has two fields:

* **Name**: the reason itself, as your team and customers will see it.
* **Status**: whether the reason is available for use. Setting a reason to inactive hides it from new returns without deleting the history of returns that already used it.

## Claim Reasons

Claim reasons record what went wrong with a delivery — problems on your end rather than a customer changing their mind.

Typical examples are "Arrived damaged", "Never arrived", "Wrong item sent", and "Missing item from order".

They have the same two fields as return reasons: a name and a status.

<Note>
  Claims also have a separate **type** field — damaged, missing, wrong item, or other — which is a broader grouping than the reason. Your developers can add more types if the standard four do not fit your business.
</Note>

## Refund Reasons

Refund reasons explain why money was sent back. They are used internally for tracking, reporting, and communication across teams, and they apply to any refund, whether or not a return was involved.

Typical examples are "Return processing" and "Order cancelled".

## Managing reasons

All three lists live together under **Settings → Returns & reasons**. Spree seeds a starting set when your store is created, so returns, claims, and refunds work out of the box, and you can add, rename, deactivate, or delete entries from there.

Each reason has two fields: its **name**, and whether it is **available on new records**. Turning that switch off retires a reason — it stops appearing when staff open a new return, claim, or refund, while every record that already used it keeps its explanation.

A reason that is already attached to a record cannot be deleted, because the records that used it would lose their explanation. Those reasons are marked **In use**. Deactivate one instead to retire it, and rename it at any time — every record pointing at it follows the new name.

## What about return windows and restocking fees?

Spree does not ship with a fixed return window, restocking fee, or final-sale setting. Return policy varies enormously between merchants, and often has to differ by country for legal reasons — the European Union, for example, requires a minimum withdrawal period that many other markets do not.

Rather than guessing, Spree gives your developers a place to attach your own policy when a return is created. A common arrangement enforces the policy for customers opening returns themselves, while letting your staff override it, so a supervisor can accept a late return for a loyal customer without needing any code changes.

## Processing Returns

Once your reasons are set up, you are ready to handle returns, exchanges, and claims.

To learn how, see [Returns → Returns Processing](/docs/user/orders/returns).
