# Fulfil, refund and cancel store orders

> Find your store's orders, ship them, release a held order, refund or cancel an order, and correct where it goes.

Source: https://docs.coritan.com/organizations/commerce/orders/

In the dashboard:

- /dashboard/organizations/…/commerce/orders: https://www.coritan.com/dashboard/organizations

**Orders** lists everything the storefront sold, newest first. Open an order to ship it, release it from a hold, refund or cancel it, or correct the shopper's email or address. Coritan sells each order as merchant of record, so the invoice and credit notes come from a Coritan company on your store's behalf.

## Before you begin

- You need the Tier 1 support role or higher to open **Orders**. To change an order you need:
  - Tier 2 support to add notes, correct the email or address, release a hold and start a return
  - Tier 3 support to make, ship and cancel parcels
  - Billing to refund or cancel an order
- Orders appear once shoppers check out on the storefront. An order placed while the store is in test mode carries a Test badge: it was paid with a test card and no money moved.

## Find an order

1. In the [dashboard](https://www.coritan.com/dashboard/organizations), open the organization, then **Commerce**, then **Orders**.
2. Choose a status along the top: **All**, **Pending**, **Requires action**, **Held for review**, **Completed**, **Cancelled** or **Archived**. **Held for review** and **Requires action** show how many orders are in them.
3. To narrow the list, search by an order number such as `1001`, an order ID that starts with `order_`, or part of an email address. You can also filter by payment (**Any payment**), fulfilment (**Any fulfillment**), when the order was placed (**Any time**) and mode (**Live and test**).
4. Select an order to open it.

The list shows 50 orders a page. Each row has the order number and email, when it was placed, the payment and fulfilment status, the number of items and the total, with any amount refunded. When nothing matches, **Reset filters** clears the search and the filters.

## Read an order

The order's header shows its number and status, when it was placed, how many items it has, its total and its sales channel. Its cards hold the rest:

- **Items**: each item with its price, quantity and amount, then the subtotal, discounts with the codes used, shipping, tax, what gift cards paid, the total, what was paid and what was refunded.
- **Fulfillment**: the parcels, what is in each and their tracking.
- **Payment**: how the shopper paid, the payment's status and reference, and each refund with its credit note. With the Billing role or higher, **Open ledger entries** shows what the order added to your balance.
- **Timeline**: what happened to the order, newest first, with the store's notes.
- **Customer**: the shopper's email, their shipping and billing addresses, and any note they left at checkout. **View customer** opens their customer record.
- **Returns**: the returns, exchanges and claims opened on the order.
- **Invoice and credit notes**: select **View** to read a document. The invoice is issued when the payment is captured, and a credit note with each refund.
- **Details**: the order ID, the sales channel, the language, the Coritan company that sold it under **Seller of record**, the tax scheme, the terms the shopper accepted, and their IP address and browser.

Alerts at the top say when an order needs care before it ships:

| Alert | What to do |
| --- | --- |
| **Held for review** | Check the order, then release it or cancel it, as [Release a held order](#release-a-held-order) describes. |
| **High risk** or **Elevated risk** | The risk check flagged the order without holding it. Check the payment before you ship. |
| **Awaiting payment**, **Not paid** or **The payment is waiting on the shopper** | Ship the order once its payment shows Captured. |
| **Exchange order** or **Replacement order** | The order sends the new items of an exchange or a claim, paid for by the original order. Refund or return items on the original order: select **Open the original order**. |

## Release a held order

Coritan holds an order that shows two or more of these signals, or that the payment provider rates as high risk:

- It is the first order from its email address, and its total is above the store's **High-value first order** amount in [Settings](/organizations/commerce/settings/#checkout).
- The billing country is not the shipping country.
- The shopper connected from another country than the one the parcel ships to.
- The payment provider rates the payment as elevated risk.

A held order shows **Held for review** in the list, and an alert on the order lists its signals. Until you release it, nothing on it ships, no fulfilment provider receives it, and gift cards bought in it cannot be spent.

1. Open the order and read the **Held for review** alert and the **Payment** card.
2. Select **Release hold…** on the alert. It is also in the **Order actions** menu at the top of the order, which reads **Actions** when the order has no **Refund…** button.
3. Select **Release hold**. **Keep it held** leaves the order as it is.

The order can then be fulfilled, and its parcels go to their providers. To turn the order down instead, [cancel it](#cancel-an-order).

## Ship an order

When an order is placed, Coritan makes its parcels: one for each fulfilment provider and stock location its items go to. A parcel for a provider that takes orders by webhook is sent to that provider, and a parcel your store packs waits for you. [Send orders to a fulfilment provider](/organizations/commerce/fulfilment-providers/) explains how a parcel finds its provider. Gift cards and other items that need no shipping never go in a parcel.

### Ship a parcel you pack

1. Open the order. Under **Fulfillment**, find the parcel marked **Not shipped**.
2. Select **Ship…**.
3. Enter the **Carrier** and the **Tracking number**, up to 100 characters each. A **Tracking link** is optional, and is an `http` or `https` address of up to 500 characters.
4. Select **Mark shipped**. With no tracking, the button reads **Mark shipped without tracking**.

The tracking goes on the order's timeline, which the shopper can see. When the carrier shows the parcel delivered, open the parcel's menu, select **Mark delivered…**, then **Mark delivered**.

A provider that ships a parcel without telling Coritan leaves it open. Open the parcel's menu and select **Mark shipped…** to record the shipment yourself.

### Make a parcel for waiting items

Items wait for a parcel after you cancel their parcel or its provider rejects it. The **Fulfillment** card then says how many items are waiting.

1. Under **Fulfillment**, select **Create parcel…**.
2. Choose how many units of each item go in the parcel. What you leave out waits for another one.
3. Under **Who packs it**, keep **Where the order routes it** to use the provider of the stock location holding the items, or choose a provider.
4. Select **Create parcel**.

A provider that takes orders by webhook is sent the parcel as soon as it is made.

### Follow a parcel

| Status | What it means |
| --- | --- |
| **Not shipped** | Your store packs it. Ship it with **Ship…**. |
| **Waiting to be sent** | A provider packs it, and it has not gone out yet. It waits out the delay before sending, or waits for you when the provider does not send orders on its own. **Send to provider again** in the parcel's menu sends it now, while the provider is turned on. |
| **Sent to provider** | The provider received it. |
| **Accepted by provider** | The provider took it on. |
| **Needs attention** | The provider did not take it, or reported a problem. The parcel shows the reason. Fix the cause, then select **Send again**. |
| **Rejected by provider** | The provider refused it. Its items wait for a new parcel. |
| Shipped, Delivered | It left, or it arrived. |
| Cancelled | You cancelled it. Its items wait for a new parcel. |

To cancel a parcel that has not shipped, open its menu and select **Cancel parcel…**, then **Cancel parcel**. A provider that already has it is told to cancel it. Cancelling a parcel refunds nothing.

## Refund an order

The **Refund…** button shows while money is left to refund, unless the order is cancelled or is an exchange order.

1. Open the order and select **Refund…**.
2. Under **Refund by**, choose **By item** or **An amount**:
   - **By item**: choose how many units of each item to refund. Tick **Refund shipping** to refund the shipping too. For units that shipped, tick **Put the shipped units back in stock** only when they came back to you; units that never shipped go back in stock anyway.
   - **An amount**: enter the amount. It is spread over what is left on the items and the shipping, and cannot be more than that. Gift cards sold in the order are left out.
3. Optionally, enter a **Reason** of up to 64 characters, which goes on the credit note, and a **Note** of up to 500 characters for the store. The shopper does not see the note.
4. Select the button at the bottom, which shows the amount, such as `Refund €25.00…`.
5. Type the amount as the dialog shows it, such as `25.00`, then select the button that names the amount.

The money goes back to the shopper's card or PayPal account. What the payment does not cover goes back to the gift cards the shopper paid with. Refunding a gift card sold in the order turns the card off, and a gift card that has been spent cannot be refunded.

> [!WARNING]
> A refund sends the money back to the shopper at once, and cannot be undone.

## Cancel an order

You can cancel an order until any part of it ships. After that, refund it instead.

1. Open the order, then the **Order actions** menu, and select **Cancel order…**.
2. Optionally, enter a **Reason** of up to 64 characters, which the shopper sees on their order, and a **Note** of up to 500 characters for the store.
3. Type the order number as the dialog shows it, such as `#1001`, and select **Cancel order**. **Keep order** closes the dialog without cancelling.

Coritan refunds what is left to the payment it came from, puts the stock back and ends the order. An exchange order is cancelled without a refund, because the original order paid for it.

> [!CAUTION]
> A cancellation cannot be undone, and its refund goes out as soon as you confirm.

## Correct the email or shipping address

1. Open the order, then the **Order actions** menu, and select **Edit contact and address…**.
2. Change the **Email**, which is where the order's emails go, or the fields of the shipping address.
3. Select **Save changes**.

The **Country** cannot change, because the order was taxed and sold for it. In the United States and Canada, the **State or province** cannot change either. To change them, cancel the order and ask the shopper to order again. The address locks once part of the order has shipped, or once a parcel has gone to its provider; then ask the provider to change it.

## Add a note to the timeline

1. Open the order. Under **Timeline**, write in **Add a note**, up to 500 characters.
2. Tick **Show it to the shopper** to show the note on the shopper's order page. Otherwise only members see it.
3. Select **Add note**.

To start a return from the order, select **Start a return…** in the **Order actions** menu. [Handle store returns, exchanges and claims](/organizations/commerce/returns/#start-a-return-or-a-claim) explains the dialog.

## Result

- The order's status changes in its header and in the list, and each change adds an entry to the **Timeline**.
- A refund appears under **Payment**, and its credit note under **Invoice and credit notes**. Coritan emails the shopper about each refund and cancellation.
- A shipped parcel shows its carrier and tracking number under **Fulfillment**, and the shopper sees them on their order page.
- A test order changes the same way, but no money moves.

## Troubleshooting

**Create parcel…** or **Ship…** is missing
: The order is held, is cancelled, or has nothing waiting to ship, or your role is below Tier 3 support. Release a held order first.

**Refund…** is missing
: Nothing is left to refund, the order is cancelled, or it is an exchange order, which you refund through its original order. Refunds also need the Billing role or higher.

**Cancel order…** is missing
: Part of the order has shipped, so refund it instead. Cancelling also needs the Billing role or higher.

The address fields cannot be changed
: The order has shipped, or a parcel has gone to its provider. Ask the provider to change the address.

The refund did not go through
: The dialog says why. When the payment provider refused the refund, nothing moved and the amount is still left to refund, so you can try again. A cancellation whose refund fails leaves the order open. If it keeps failing, contact [support](https://www.coritan.com/dashboard/support).

A parcel shows **Needs attention**
: The provider did not take it. Read the reason under the parcel, fix the cause with the provider, then select **Send again**. [Send orders to a fulfilment provider](/organizations/commerce/fulfilment-providers/) shows what Coritan sent.

## Related

- [Handle store returns, exchanges and claims](/organizations/commerce/returns/)
- [Send orders to a fulfilment provider](/organizations/commerce/fulfilment-providers/)
- [Manage your store's customers](/organizations/commerce/customers/)
- [Track your store's balance and payouts](/organizations/commerce/payouts/)

## With the API

List orders with `GET https://api.coritan.com/api/v1/orgs/{org_slug}/commerce/orders`. [Handle orders](/organizations/storefront/commerce-api/#handle-orders) has the filters and the routes that change, release, refund and cancel an order, and [Fulfil orders](/organizations/storefront/commerce-api/#fulfil-orders) covers parcels, which the API calls fulfilments. Refunds and cancellations share a limit of 30 a minute for each organization.

```bash
curl "https://api.coritan.com/api/v1/orgs/acme/commerce/orders?risk_hold=true" \
  -H "Authorization: Bearer $CORITAN_TOKEN"
```
