# Refund Policy
> Source: https://development.fuze-store.com/docs/store/refund/refund-policy

# Refund Policy

Store owners and managers with **override refund** permission can set rules that gate when a refund can be authorized. Cashiers still create Draft refunds and record **Add Payment**; policy runs at authorize time.

**Mobile app only.** Refund Policy lives under **Configurations → Preferences → Policies** in the Fuze Store app. There is no Preferences editor on the account website — change policy on a phone or tablet (or the Expo web build of the store app).

## Who can edit policy

| Role | What they see |
| --- | --- |
| Staff with **override refund** (typically managers / owners) | **Refund policy** section on Preferences → Policies; can save changes |
| Staff with refund create/complete only | Section hidden; API rejects preference writes that include `refund` |

On the free **Basic** plan, Refunds (and this section) are locked.

## Setting policy

In the store app: drawer / sidebar → **Configurations** → **Preferences** → **Store**.

Scroll to the **Refund policy** card (visible only if you have override permission).

Leave a number field empty to disable that limit. Allowed reasons: leave empty to allow every reason, or pick a subset staff can choose when creating a refund.

Save preferences. New rules apply on the next authorize / **Add Payment** attempt.

## Field reference

| Field | What it controls |
| --- | --- |
| **Refund window (days)** | Days after the order is **Closed** that a refund can still be opened. Empty = no window limit. |
| **Require override after (days)** | Past this many days, authorization needs a manager override (even inside the window). Empty = never require override for age alone. |
| **Max amount without override** | Refunds at or above this amount need an override. Empty = no amount cap. |
| **Require a different authorizer** | The staff who started the refund cannot authorize their own override — another manager must approve. |
| **Max refunds per customer per day** | Daily count cap per customer. Empty = no limit. |
| **Max refunds per staff per day** | Daily count cap per staff member. Empty = no limit. |
| **Allowed refund reasons** | Limits the reason list on create. Empty = all reasons allowed. |

## When Add Payment is blocked

Recording **Add Payment** on a Draft refund authorizes the refund under your policy. If a gate fails:

### Manager override dialog

For amount cap, refund window, tender mismatch, or daily velocity limits, a manager with **override refund** sees **Override refund policy**. They enter a short **override reason** and confirm **Authorize with override**, then the payment can complete.

Cashiers without override permission see a message that a manager must authorize — they cannot complete the override themselves.

### Separate authorizer (no dialog)

When **Require a different authorizer** is on and the same staff who created the refund tries to authorize, Fuze shows that a **separate manager** must approve. There is **no** override dialog for this case — switch to (or hand the device to) another authorized staff member.

Forged override flags from a cashier without permission are rejected by the API.

## Tips

- Start with a modest **window** and **max amount** so routine returns stay fast, then tighten if abuse appears.
- Use **different authorizer** when you want maker–checker on every policy override, not only large amounts.
- Pair policy with role permissions: give cashiers refund create/complete, and managers **override refund**.

## Related guides

- [Refund Overview](/docs/store/refund/overview)
- [Completing a Refund](/docs/store/refund/completing-a-refund)
