# Exchanges

An **exchange** is a way to track when a customer exchanges one product for another. Exchanges help you manage product swaps, ensuring accurate records of what was returned and what was sent as a replacement.

{% hint style="success" %}
Exchanges provide visibility into product exchanges with customers. They track both the incoming product being returned (via a [return order](/fulfill-and-deploy/return-orders.md)) and the outgoing product being sent as a replacement (via a [fulfillment order](/fulfill-and-deploy/fulfillment-orders.md)), maintaining a complete record of the exchange transaction.
{% endhint %}

> **Example:** A customer in Milwaukee has a defective unit of product LDR-4.1 and needs a replacement. The support team creates an **exchange** to track the swap: the customer will return the defective unit, and your supply chain team will send a replacement unit from your Chicago warehouse. The exchange tracks both sides of the transaction in a single record.

## What is an exchange

An exchange is a **pair** of orders that are linked together:

* a [fulfillment order (FO)](/fulfill-and-deploy/fulfillment-orders.md) for the outbound items
* a [return order (RO)](/fulfill-and-deploy/return-orders.md) for the inbound items

By default, an exchange is set up to swap the **same** SKUs and quantities. But an exchange can easily adapt to send and receive **different** SKUs or quantities, depending on your needs.

#### Example: defective product replacement

You can use exchanges to replace defective products one for one.

{% columns %}
{% column %}
**Fulfill**

* Sensor *Basic* (Quantity: 2)
  {% endcolumn %}

{% column %}
**Return**

* Sensor *Basic* (Quantity: 2)
  {% endcolumn %}
  {% endcolumns %}

#### Example: unit upgrades

You can use exchanges to upgrade products in place (whether they are defective or not).

{% columns %}
{% column %}
**Fulfill**

* Sensor *Premium* (Quantity: 2)
  {% endcolumn %}

{% column %}
**Return**

* Sensor *Basic* (Quantity: 2)
  {% endcolumn %}
  {% endcolumns %}

#### Example: return defective, upgrade, and expand

You can also use exchanges to coordinate more sophisticated activity, such as concurrent returns, upgrades, and expansions.

{% columns %}
{% column %}
**Fulfill**

* Sensor *Premium* (Quantity: 4)
* *Wireless* Charger (Quantity: 4)
* *Add-on* Pack (Quantity: 2)
  {% endcolumn %}

{% column %}
**Return**

* Sensor *Basic* (Quantity: 2)
* *Wired* Charger (Quantity: 2)
  {% endcolumn %}
  {% endcolumns %}

## Add an exchange

To create a new exchange, click the "Exchange" button on a project and the exchange window will appear. Enter the appropriate details for the exchange.

**1) Set up fulfillment order (FO).** First enter the [fulfillment order](/fulfill-and-deploy/fulfillment-orders.md) details for the outbound items:

<figure><img src="/files/J7OrKLhSQ0mB9jI7Y3ET" alt=""><figcaption><p>Entering fulfillment order as part of exchange</p></figcaption></figure>

**2) Set up return order (RO).** Next enter the [return order](/fulfill-and-deploy/return-orders.md) details for the inbound items:

<figure><img src="/files/P6dsr8FtQT7ra3In2K2l" alt=""><figcaption><p>Entering return order as part of exchange</p></figcaption></figure>

**3) Review exchange summary.** Finally review and confirm the corresponding fulfillment and return details:

<figure><img src="/files/It8opvEbHW3Nve60msKP" alt=""><figcaption><p>Exchange confirmation window</p></figcaption></figure>

{% hint style="success" %}
**Exchanges support different items and quantities.** Sending out upgraded units? Swapping a mismatched quantity? No problem! The fulfillment and return orders on an exchange do not have to use the same SKUs or quantities.
{% endhint %}

Once all required information is entered, click "Add exchange order" to confirm. This will confirm the Exchange, show the Exchange number (such as `EX-2026-0001`) and set up both a fulfillment order and return order associated with the Exchange.  The FO and RO numbers will be shown and linked start executing the exchange.

<figure><img src="/files/2lk60d0CEPQi0u16isD3" alt="" width="563"><figcaption><p>Exchange confirmation window</p></figcaption></figure>

## View an exchange

Exchange information appears *inline* on both the related fulfillment order and exchange order.

#### On fulfillment and return pages

Exchange details, including the exchange code and the related order appear at the top of both the fulfillment order and the return order details pages.

<figure><img src="/files/At9CwTZY97K9cA12vOGZ" alt="" width="323"><figcaption><p>Example of exchange showing on FO detail page</p></figcaption></figure>

#### On the fulfillment and return lists

Fulfillment orders and return orders are also tagged as "Exchange" with a small badge on the order list pages. The exchange details, including the exchange code and the related order, appear in a tooltip by hovering over the badge.

<figure><img src="/files/k4WOZ1rvOdKkr7X8DKQe" alt="" width="563"><figcaption><p>Example of exchange showing on FO list page</p></figcaption></figure>

## Edit an exchange

Once the fulfillment order and the return order have been created from the exchange, each can be managed individually.  This allows flexibility to accommodate your workflow. You can decide whether your team needs to fulfill immediately, or wait to receive items first.

If you need to adjust the exchange, simply edit either the FO or the RO.  You can adjust SKUs, update quantities, correct locations, or make any other changes that you would normally make to an FO or RO.

If you need to cancel the exchange, you can cancel the FO and RO.  If you need to cancel only one side of the exchange, simply cancel either the corresponding FO or RO.

{% hint style="warning" %}
Once created, the details of both the fulfillment order and the return order can be updated. If you need to adjust the exchange, simply edit either the FO or the RO. Or if you need to cancel the exchange, you can cancel either or both the FO or RO.

But the *exchange itself* cannot be modified (for example, you cannot unlink the FO and RO, or link a different FO to the existing exchange).
{% endhint %}


---

# 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://guide.hardfin.com/fulfill-and-deploy/exchanges.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.
