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

# Return automation rules

> Turn your return policy into rules the return portal enforces, choose the carrier for return shipments, and flag suspicious returns with fraud detection.

> [!NOTE]
>
> **Where to find it:** Settings → Return Settings → Return Automation — [Open in OTO ↗](https://app.tryoto.com/return-automation)

A return policy that lives in a document is a policy someone has to remember and apply. A return policy expressed as rules is one the portal enforces before a request is ever created.

## Rules

**Settings → Return Settings → Return Automation** holds a list of **Existing Rules**, searchable, each on its own card, and an **Add New Rule** button.

![A return automation rule](https://mintcdn.com/oto/ft-bRlLvOnJkbVoC/images/ret-5-rule.png?fit=max\&auto=format\&n=ft-bRlLvOnJkbVoC\&q=85\&s=fcae1ceb1e37a1b64f21b754db35b74c)

Fig. 1 — A rule reads as a sentence: If Item Name Equal ball, And SKU Equal ball → Unable To Return.

Each card carries the rule’s name, an **Active** status, its conditions in plain language, the resulting **Action** and the date it was created, with controls to duplicate, edit or delete it.

### Building one

![Adding a rule](https://mintcdn.com/oto/lDMfM_zaxBnpzX-0/images/ret-6-add-rule.png?fit=max\&auto=format\&n=lDMfM_zaxBnpzX-0\&q=85\&s=66771a771b2d7afa618ba59b7fc75c5b)

Fig. 2 — Conditions are rows of Condition Type · Operator · Value, stacked with Add New.

| | |
| - | - |
| **Rule Name** <sup>required</sup> | What you call it. Worth naming for the policy it enforces rather than the item it happens to match. |
| **Status** <sup>required</sup> | Active or not — so a rule can be written and left off. |
| **Conditions** <sup>required</sup> | One or more rows of **Condition Type**, **Operator** and **Value**. |
| **Action** <sup>required</sup> | What happens when they all match. |

Condition types cover both the item and the shipment: **Item Name**, **SKU**, **Brands**, **Origin Country**, **Destination Country**, **Shipment Weight**, **Order value** and the custom reference fields, among others.

> [!TIP]
>
> **The interesting conditions are the ones that are not about the product**
>
> **Item Name** and **SKU** express the obvious policy: this thing cannot come back. **Destination Country**, **Shipment Weight** and **Order value** express something harder and more valuable — the returns that are uneconomic rather than impermissible.
>
> A heavy, low-value item crossing a border can easily cost more to retrieve than to write off. A rule on weight and order value lets you decide that once, in advance, instead of one apologetic exception at a time.

The action observed in the product is **Unable To Return**: the matched items cannot be returned at all.

> [!TIP]
>
> **Non-returnable is a real category, and it needs teeth**
>
> Underwear, pierced jewellery, perishables, personalised items, opened software, made-to-order furniture — every catalog has lines that genuinely cannot come back, for hygiene, safety or simple economics.
>
> Stated only in a policy document, that rule gets tested constantly and enforced inconsistently, which is worse than not having it. Expressed as a rule, the portal declines it up front and the customer is told at the moment they would otherwise have raised a request.

## What else the policy is made of

Rules are one of three things enforcing your policy, and they work together:

| Mechanism | Where | What it stops |
| - | - | - |
| **Maximum Return Period** | [Return Portal](https://docs.tryoto.com/modules/return-management/customer-returns.md) | Returns raised too late. |
| **Return reasons** | [Return Portal](https://docs.tryoto.com/modules/return-management/customer-returns.md) | Vague requests. A structured reason is what everything downstream sorts on. |
| **Return automation rules** | This screen | Items that should never have been offered a return in the first place. |

> [!NOTE]
>
> **Enforce at the portal, not at the warehouse**
>
> Every rule that is applied when the request is made saves a collection, a transit, a receipt and a difficult conversation. Every rule applied after the parcel has arrived has already cost you all four.
>
> So the test for a new rule is simple: could the customer have been told this before they packed the box?

## Choosing the carrier for the way back

A reverse shipment needs a carrier just as an outbound one does, and it is chosen the same way. [Shipping automation](https://docs.tryoto.com/modules/shipping-management/shipping-automation.md) handles the return leg, and its test tool carries a **Reverse Shipment** toggle so a rule set can be checked against a return rather than a delivery.

That matters because the two legs are genuinely different problems. The outbound leg optimises for speed to a customer who is waiting; the return leg optimises for cost, because nobody is. A carrier that is right for one is frequently wrong for the other, and pricing for the return is set separately — the **Return Order Fee** sits alongside delivery price in [shipping prices](https://docs.tryoto.com/modules/shipping-management/shipping-invoices-reconciliation.md).

## Return fraud detection

Return fraud is a real and growing cost: the box that comes back empty, the item swapped for a counterfeit, the customer whose return rate is an order of magnitude above everyone else’s, the wardrobing that returns worn goods as new.

Detecting it means spotting patterns a person working one return at a time cannot see — across a customer’s history, across reasons, across the gap between what was requested and what arrived.

> [!WARNING]
>
> **Detection is a signal, not a verdict**
>
> The cost of wrongly refusing an honest customer is far higher than the cost of one fraudulent return, and it is paid in a place that does not show up in the returns report.
>
> So the useful output of fraud detection is a flag that puts a return in front of a human with the reason attached — not an automatic rejection. Worth configuring with that asymmetry firmly in mind.

## Related

* [Customer returns](https://docs.tryoto.com/modules/return-management/customer-returns.md) — the policy settings on the portal.
* [Shipping automation](https://docs.tryoto.com/modules/shipping-management/shipping-automation.md) — carrier rules, including the return leg.
* [Returns receiving](https://docs.tryoto.com/modules/return-management/returns-receiving.md) — where a rule that was not applied ends up.


## Related topics

- [Return Management](https://docs.tryoto.com/modules/return-management/overview.md)
- [Shipping automation and carrier selection rules](https://docs.tryoto.com/modules/shipping-management/shipping-automation.md)
- [Core concepts: orders, shipments, stock and hubs](https://docs.tryoto.com/get-started/core-concepts.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.