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

# Return Options & Labels

> How shoppers get a return label: drop-off point selection across carriers, automatic label generation, and pre-printed labels in the box.

**Available to all Returns customers.**

## Summary

Return Options & Labels covers how an approved return gets its label: generated on approval for a dedicated return carrier, generated after the shopper picks a drop-off point from a cross-carrier map, or pre-printed and shipped inside the outbound parcel. Labels are issued as a PDF or a QR code depending on the carrier, and are available to the shopper in the widget and to your team in the portal.

## Who it’s for

Logistics and operations teams who decide which carriers take returns in each market, and customer service teams who need to hand a shopper a label without opening a carrier portal.

## Key benefits

* **One label flow for many carriers.** When several return carriers are configured, the drop-off selector searches across all of them, and the booking goes to the carrier of the location the shopper picks.
* **Drop-off points on a map.** The shopper enters country and postal code, pre-filled from the delivery address, and sees nearby locations as a list and a map with address, opening hours and carrier logo.
* **Paperless where the carrier allows it.** Carriers that support it issue a QR code the shopper shows at the drop-off point, so nothing needs printing.
* **Label in the box, tracked like any other.** With pre-printed return labels, the return shipment is registered at the time of the outbound shipment and appears on the Tracking Page as soon as the carrier scans it.
* **Labels are never lost.** Your team downloads the PDF or QR code from the return shipment’s documents in the portal, and a notification can send the shopper the download link again.

## How it works

### Label generation modes

| Mode | What the shopper sees | When to use |
| - | - | - |
| Label generated on approval | After approval the carrier booking is triggered and the label appears in the widget. The shopper can still open the drop-off selector to find nearby points for the booked carrier. | You work with one return carrier per country. The carrier reference must be preconfigured on the Tracking Page. |
| Label generated after drop-off selection | After approval the shopper must select a drop-off point. On confirmation the booking is triggered and the label appears. | You work with several return carriers, because the selector searches across all of them. |

The drop-off step is therefore either optional or mandatory. The optional flow requires the carrier to accept a label that is not tied to a specific drop-off point; your account team verifies this with the carrier before enabling it.

Once the label is ready, the widget shows a **Download Label** option together with your shipping instructions, which are customisable text.

### Drop-off point selector

* Search is by country and postal code. Both are pre-filled from the shipment and editable.
* Results show as a list and a map. Each location shows its address, opening hours and the carrier logo.
* With several carriers configured, locations of all carriers are shown together.

For the location data behind the selector, see [PUDO locations](https://developers.perform.ai/guides/pudo-locations.md).

### Label formats

Return labels come as a PDF shipping label or as a QR code, and the format depends on the carrier: some provide both, some only one. The label or QR code contains the shopper’s personal data, so share it with care.

### Pre-printed return labels

For brands that put a return label in the outbound parcel, the shopper sends the item back with that label and never fills in the returns form. The flow is API-based and does not use the returns widget steps:

1. Create the outbound shipment.
2. Create the return shipment with the pre-printed label variant of the Create Return API, so that each outbound shipment has a matching return shipment. Send the same order ID on both.
3. Generate the label through the booking flow, or book the shipments outside Perform.AI.

Behaviour of a pre-printed return shipment:

* It stays hidden on the Tracking Page until it receives a pick-up phase event, so the shopper does not see a return while the outbound parcel is still on its way.
* Once visible, the Tracking Page shows only the return shipment’s tracking events. The request, approval, drop-off selection and download label steps are skipped.
* Only the return shipments that are used become active; the rest stay unused.
* The pre-printed label has the same format as a regular return label, because the booking flow is the same.
* You can find the shipment by its shipment ID in Shipment Overview and download the label or QR code from its documents.

The pre-printed label request takes the return shipment’s details, the order ID that links it to the outbound shipment, the destination address (usually your warehouse), notification email addresses and phone numbers, the tracking page reference and, recommended, the shipping cost. See [Create a Return with a preprinted label](https://developers.perform.ai/guides/create-return-preprinted-label.md) for the fields.

### Labels in the portal

Every return shipment’s label is attached to the shipment as a document. From **Returns** > **Returns Overview**, open a request and select **Go to Return Shipment** to reach the shipment details, where the **Documents** section holds the label and QR code for download. You can also set up an email notification that sends the shopper the download link.

### Tracking of pending return shipments

A return parcel can sit at home for days before it is dropped off. Pending return shipments are therefore checked on a dedicated schedule for up to 21 days: frequently in the first days, then less often. The first tracking event switches the shipment to Active and normal tracking applies. If no event arrives within 21 days, the shipment becomes Expired. No configuration is needed.

## Set up in the portal

To download a label for a shopper:

1. Go to **Returns** > **Returns Overview** and open the request.
2. Select **Go to Return Shipment**.
3. In the **Documents** section of the shipment details, download the label or QR code.

> [!TIP]
>
> Set up an email notification with the document link placeholder so shoppers receive the label or QR code link and can find it again later. See [Returns Notifications & Refund Triggers](https://developers.perform.ai/products/returns/returns-notifications-and-refund-triggers.md).

## Use via API and MCP

* Register a pre-printed return shipment with [Create a Return with a preprinted label](https://developers.perform.ai/guides/create-return-preprinted-label.md) and amend it with [Update a Return with a preprinted label](https://developers.perform.ai/guides/update-return-preprinted-label.md). API reference: [Create Return](https://developers.perform.ai/api-reference/v5/returns/create-return.md), [Update Return](https://developers.perform.ai/api-reference/v5/returns/update-return.md).
* Fetch return labels for up to ten shipments in one call with [Retrieve labels](https://developers.perform.ai/guides/retrieve-labels.md) (`GET /v5/shipments/documents/labels/`, [API reference](https://developers.perform.ai/api-reference/v5/documents/list-labels.md)).

## FAQ

### Can shoppers choose between carriers?

Yes, when the drop-off step is mandatory and more than one return carrier is configured. The selector shows the locations of every carrier, and the carrier of the chosen location is booked.

### Does the shopper have to print anything?

Not when the carrier supports QR codes. The QR code is shown in the widget and scanned at the drop-off point. For carriers that only issue PDF labels, the shopper prints the label.

### Where do I get the label when a shopper lost it?

Open the request in the Returns Overview, select **Go to Return Shipment** and download the label or QR code from the **Documents** section. Or send the shopper a notification that includes the document link.

### Why is the pre-printed return shipment not on the Tracking Page?

It stays hidden until the carrier records a pick-up event. This is intended, so the shopper does not see a return before the outbound parcel is delivered.

## Troubleshooting

| Symptom | Cause | Fix |
| - | - | - |
| The label does not appear after approval | The carrier booking failed, so the carrier never received the shipment | Open the return shipment and check the booking. Contact your account team if the booking keeps failing. |
| The return shipment shows no tracking updates | The booking succeeded but the carrier has not sent events yet, which is common until the parcel is dropped off | Wait for the first scan. Pending return shipments are polled for up to 21 days. Use the carrier redirect on the shipment to check the carrier site. |
| The return shipment expired | No tracking event arrived within 21 days of creation | Check whether the shopper dropped the parcel off. A new return may be needed. |
| The widget only offers one carrier’s drop-off points | Only one return carrier is configured for that country | Add the other carriers to your return carrier configuration with your account team. |
| The shopper is asked for a drop-off point although you use one carrier | The drop-off step is set to mandatory | Ask your account team to switch to the optional flow and preconfigure the carrier reference on the Tracking Page. |

## Related

* [Self-Service Returns](https://developers.perform.ai/products/returns/self-service-returns.md)
* [Returns Overview](https://developers.perform.ai/products/returns/returns-overview.md)
* [PUDO Delivery](https://developers.perform.ai/products/logistics/pudo-delivery.md)
* [Returns overview](https://developers.perform.ai/products/returns/overview.md)


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