> For the complete documentation index, see [llms.txt](https://docs.shopperos.stackline.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shopperos.stackline.com/selling-and-checkout/orders.md).

# Orders

**Commerce** shows the orders of your store. It lists the orders that shoppers place in your ShopperOS checkout. It also lists the orders of your sales channels, such as your Shopify store, Walmart and TikTok Shop. Use it to look up an order, check a payment, see a shopper, or refund a shopper.

Commerce shows the money side of an order. Shipping and tracking are on the fulfillment order. See [Fulfillment orders, cancellations and returns](/fulfillment/orders-cancellations-returns.md).

```mermaid
stateDiagram-v2
  [*] --> Placed
  Placed --> Shipped : order shipped
  Shipped --> Delivered : order delivered
  Placed --> Cancelled : order cancelled
  Placed --> Cancelled : Refund of all of the charge
```

*An order has one of four statuses. An order also becomes Cancelled when you refund all of its charge.*

## Four tabs, one store

Commerce has four tabs.

| Tab               | What it shows                                                                      |
| ----------------- | ---------------------------------------------------------------------------------- |
| **Overview**      | Key figures and a chart of the orders in a period, and the newest orders.          |
| **Orders**        | Every order of the store.                                                          |
| **Shoppers**      | Every shopper who ordered in the store.                                            |
| **Subscriptions** | The [Subscribe & Save](/selling-and-checkout/subscribe-and-save.md) subscriptions. |

{% hint style="info" %}
**Overview**, **Orders** and **Shoppers** also show when checkout is off. Only **Subscriptions** then shows **Checkout is off for this app.** and lists nothing. To turn checkout on, see [Turn on checkout and payments](/selling-and-checkout/checkout-and-payments.md).
{% endhint %}

## The Overview sums up a period

**Commerce → Overview** opens first. It counts every order created in the period you choose at the top. That includes orders from ShopperOS checkout and from your sales channels.

![Commerce Overview](https://489913050-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FblcXcPwOUg5osGsERflQ%2Fuploads%2Fgit-blob-7acb95713ecf84b6ff4c786d6b385d2f205fbbe0%2Fcommerce-overview.jpg?alt=media)

| Figure                   | Meaning                                                                                           |
| ------------------------ | ------------------------------------------------------------------------------------------------- |
| **Total orders**         | The number of orders.                                                                             |
| **Shoppers**             | The number of shoppers who ordered.                                                               |
| **Gross order total**    | The sum of the order totals, with tax and shipping, before cancellations and refunds.             |
| **Avg order value**      | The average order total.                                                                          |
| **Subscription orders**  | Orders that a subscription placed.                                                                |
| **Sales channel orders** | Orders from your sales channels.                                                                  |
| **Cancelled**            | Cancelled orders.                                                                                 |
| **Needs review**         | Orders with a **Review** flag. See [Changes in the sales channel](#changes-in-the-sales-channel). |

**Gross order total** is not the same figure as **Total sales** in Shopify. Shopify takes off cancellations and returns. ShopperOS does not.

**Orders over time** charts the orders of each day or week, split into **ShopperOS checkout** and **Sales channels**. **Recent orders** lists the newest orders. Click **View all →** to open **Orders**.

## Find an order

Search the **Commerce → Orders** tab. It lists the orders created in a period, newest first.

![Commerce → Orders](https://489913050-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FblcXcPwOUg5osGsERflQ%2Fuploads%2Fgit-blob-0286193bc0c1ba67080380bc021d33dc8f3c5da6%2Fcommerce-orders.jpg?alt=media)

{% stepper %}
{% step %}

### Open the Orders tab

Open **Commerce**, and click the **Orders** tab.
{% endstep %}

{% step %}

### Choose the period

Choose the period at the top. The list shows the orders created in it.
{% endstep %}

{% step %}

### Search

To find an order, choose what to search by in the search box, and type:

* **Order #**: the ShopperOS order ID.
* **Customer**: the shopper.
* **Channel order #**: the order number in the sales channel, for example the Shopify order number.
* **SKU**: a product in the order.
  {% endstep %}

{% step %}

### Filter

To show one kind of order, pick a **Source** or a channel.
{% endstep %}

{% step %}

### Page back

Use the page arrows under the table to see older orders.
{% endstep %}
{% endstepper %}

Done. The heading shows the total, for example **Store orders · 128**. Next, click an order ID to open [the order page](#the-order-page-shows-every-part-of-an-order).

{% tabs %}
{% tab title="Source" %}

| Source           | Shows                                                                                              |
| ---------------- | -------------------------------------------------------------------------------------------------- |
| **All**          | Every order.                                                                                       |
| **One-time**     | Orders that a shopper placed at checkout.                                                          |
| **Subscription** | Orders that a [Subscribe & Save](/selling-and-checkout/subscribe-and-save.md) subscription placed. |
| {% endtab %}     |                                                                                                    |

{% tab title="Channel" %}

| Channel                | Shows                                     |
| ---------------------- | ----------------------------------------- |
| **All channels**       | Every order.                              |
| **ShopperOS checkout** | Orders placed in your ShopperOS checkout. |
| **Sales channels**     | Orders placed in your sales channels.     |
| {% endtab %}           |                                           |
| {% endtabs %}          |                                           |

An order that a subscription placed has a **Subscription** marker next to its ID. A test order has a **Test** marker.

### Columns of the order list

| Column      | What it shows                                                                                                                                                                    |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Order**   | The order ID, and the first item with its quantity. **· N more** tells you how many other items are in the order.                                                                |
| **Date**    | The date and time the order was placed.                                                                                                                                          |
| **Channel** | Where the order was placed: **ShopperOS checkout**, **Shopify**, **TikTok** or **Walmart**. Below it are the channel order number and the ship-to name, when the order has them. |
| **Total**   | The order total. A coupon code shows below it.                                                                                                                                   |
| **Payment** | The payment status now. See [Payment statuses](#payment-statuses).                                                                                                               |
| **Status**  | The order status. A **Review** flag shows when the order needs a check. A tracking number shows when the order shipped.                                                          |

To copy an order ID, hover over it and click the copy icon. To open the order, click its ID.

## Order statuses

The order status tells you where the order is now.

| Status                                      | Meaning                                                                                        |
| ------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| <mark style="color:orange;">Placed</mark>   | The order is placed and has not shipped yet.                                                   |
| <mark style="color:green;">Shipped</mark>   | The order shipped.                                                                             |
| <mark style="color:green;">Delivered</mark> | The order was delivered.                                                                       |
| Cancelled                                   | The order is cancelled. An order also becomes **Cancelled** when you refund all of its charge. |

### Changes in the sales channel

ShopperOS keeps your orders current with your sales channels. When a sales channel changes an order, the change shows in Commerce.

When your store cancels a ShopperOS checkout order in Shopify, ShopperOS cancels its fulfillment orders. When every fulfillment order is cancelled, ShopperOS refunds the rest of the charge to the shopper.

In other cases, ShopperOS moves no money. It flags the order with <mark style="color:orange;">Review</mark>, and the order page tells you what to check:

* Part of the order was refunded in Shopify.
* Part of the order was cancelled in Shopify.
* The order was cancelled in Shopify, but it was not refunded here. Check the fulfillment, and refund the order by hand if it did not ship.

## Payment statuses

The payment status comes from the card processor each time you open the page. So it shows refunds made after checkout.

| Payment                                   | Meaning                                                                |
| ----------------------------------------- | ---------------------------------------------------------------------- |
| No payment                                | The order has no card payment.                                         |
| <mark style="color:orange;">Open</mark>   | The payment is not complete yet.                                       |
| <mark style="color:green;">Charged</mark> | The card is charged.                                                   |
| Partially refunded                        | Part of the charge went back to the shopper.                           |
| Refunded                                  | All of the charge went back to the shopper.                            |
| Voided                                    | The payment was cancelled before the card was charged. No money moved. |

## The order page shows every part of an order

Click an order ID to open its page. The header shows the order status, the order ID, the channel order number, and the date. A **Test order** label marks a test order. When the order has a **Review** flag, a yellow banner under the header tells you what to check.

A line below the order ID tells where each part of the order is managed: **Checkout**, **Payment**, **Fulfillment** and **Shopper**.

* A green dot means ShopperOS manages it, for example **ShopperOS · Stripe** or **ShopperOS · Amazon MCF**.
* A grey dot names the sales channel that manages it, such as **Shopify** or **Walmart**.
* An empty dot with **Not stored** means that ShopperOS does not keep the shopper's name and address.

The header action depends on who holds the payment.

{% tabs %}
{% tab title="ShopperOS checkout" %}
An order from ShopperOS checkout has **Refund**.
{% endtab %}

{% tab title="Shopify store" %}
A Shopify store order has **Open in Shopify**, when a live Shopify store of this app has the order.
{% endtab %}

{% tab title="Marketplace" %}
A marketplace order says that the marketplace holds the payment. You cannot refund it here.
{% endtab %}
{% endtabs %}

### Order Total

**Order Total** shows how the total was made. It can show these lines:

* **Subtotal**
* **Subscribe & Save**, the subscription discount
* **Coupon**, with the discount code when it is known
* **Shipping**, before any shipping discount
* **Shipping discount**
* **Tax**
* **Service fee**, when the order has one
* **Total**

A line shows only when the order has an amount for it. These are the amounts at checkout. A later refund shows under **Payment**, not here.

### Items Ordered

**Items Ordered** lists each product with its SKU, quantity, unit price, and line total. A **Subscription** marker shows on a line that a subscription placed. Click the catalog link on a line to open that product in **Catalog**.

### Payment

**Payment** shows the charge as it is now.

| Row           | Meaning                                                    |
| ------------- | ---------------------------------------------------------- |
| **Status**    | The payment status.                                        |
| **Charged**   | The amount charged to the card.                            |
| **Refunded**  | The amount given back.                                     |
| **Remaining** | The amount the store still holds.                          |
| **Card**      | The card brand, its last four digits, and its expiry date. |

A sales channel order shows the payment that the channel holds. The card shows:

* its **Status**, or **Not sent** when the channel sends none,
* the **Order total**,
* **Refunded**, when part of it went back.

Refunds of a Shopify store order happen in Shopify. A marketplace sends the order total only.

### Fulfillment

**Fulfillment** shows who ships the order and where each parcel is.

{% tabs %}
{% tab title="ShopperOS fulfills" %}
Each fulfillment order shows these values, when the order has them:

* its **Fulfillment Order ID**,
* its status,
* the **Provider**,
* the **Shipping speed**,
* the **Ship by** date,
* the **Estimated delivery** date,
* the carrier and tracking number of each shipment.

Click the ID to open the order in **Fulfillment → Orders**.
{% endtab %}

{% tab title="Your Shopify store ships" %}
The card shows each Shopify shipment with its status and tracking number.
{% endtab %}
{% endtabs %}

An order with neither has no **Fulfillment** card.

### Shopper and Order Details

**Shopper** shows the shopper's name, **Email**, **Phone**, and address.

* For a marketplace order, these come from the ship-to of its fulfillment order.
* A Shopify store order keeps them in Shopify, so the card shows the shopper key only.

**View shopper profile** opens the shopper in **Commerce → Shoppers**.

**Order Details** lists the IDs that belong to the order.

| Field                          | What it is                                                                                                     | Link                                                |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
| **Order ID**                   | The ID of this order.                                                                                          | —                                                   |
| **Retailer Order ID**          | The order ID in your Shopify store. A sales channel order names its channel, for example **Shopify Order ID**. | **Open in Shopify** opens it in your Shopify admin. |
| **Subscription**               | The subscription that placed the order.                                                                        | Opens it in **Commerce → Subscriptions**.           |
| **Payment Reference**          | The payment ID at the card processor.                                                                          | —                                                   |
| **User ID** or **Shopper Key** | The shopper's ID.                                                                                              | Opens the shopper in **Commerce → Shoppers**.       |

**Open in Shopify** shows only when a live Shopify store of this app has the order. Without it, the Shopify order ID shows with no link.

A sales channel can hold a copy of the order. Then a card such as **Shopify Order** shows it as the channel reports it:

* the **Order** number,
* the **Payment** and **Fulfillment** status in the channel,
* the **Cancelled** date and the **Refunded** amount, when they apply.

## Shoppers lists everyone who ordered

**Commerce → Shoppers** lists every shopper who ordered in your store, newest order first.

| Column            | What it shows                                                                                |
| ----------------- | -------------------------------------------------------------------------------------------- |
| **Shopper**       | The shopper's name, or a short key when the store has no name. Click it to open the shopper. |
| **Kind**          | **Signed in**, **Guest**, or the sales channel, such as **Walmart**.                         |
| **Place**         | The city and state of the shopper.                                                           |
| **Orders**        | The number of orders.                                                                        |
| **Total**         | The sum of the shopper's order totals.                                                       |
| **Subscriptions** | The shopper's live subscriptions.                                                            |
| **Last order**    | The date of the newest order.                                                                |

Click a shopper to open their page:

* A line shows where the shopper's **Contact** and **Orders** are kept.
* A row shows **Total orders**, **Gross order total**, **Live subscriptions**, **First order** and **Last order**. A sales channel shopper has no **Live subscriptions**. Totals include tax and shipping, before cancellations and refunds.
* **Contact** shows the shopper's email and phone, from their newest order that has them.
* **Ship to** shows each address the shopper used, with the number of orders that went to it.
* The table lists every order of the shopper.

A sales channel can keep the contact, for example for a Shopify store order. Then the cards say that the channel keeps the name, email, phone and address. The ID of a guest shows as **Visitor ID**. The ID of a sales channel shopper shows as **Shopper key**.

## Track an order

The order page shows where each parcel is. Read the carrier and tracking number under **Fulfillment** on the order page. Click a tracking number to open the carrier's page. For more detail, click the **Fulfillment Order ID**.

If the order ships through your own Shopify 3PL, the Shopify shipments show under **Fulfillment** too. See [Use your Shopify store's 3PL instead](/fulfillment/amazon-mcf.md#use-your-shopify-stores-3pl-instead).

## Refund a shopper

You can refund what remains of a charge. The **Refund** button shows only while the **Remaining** amount is more than zero.

{% hint style="warning" %}
A refund always returns the full remaining amount. You cannot refund one item or a part of the amount here. You cannot undo a refund. Do not refund an order that has not shipped yet. [Cancel the order](#cancel-an-order) instead.
{% endhint %}

{% stepper %}
{% step %}

### Open the order

In **Commerce → Orders**, click the order ID. The order page opens.
{% endstep %}

{% step %}

### Click Refund

In the header, click **Refund**. **Refund the shopper?** opens.
{% endstep %}

{% step %}

### Check the amount

Read the amount. It goes back to the original card.
{% endstep %}

{% step %}

### Confirm

Click **Refund $X** to confirm, or **No** to stop.
{% endstep %}
{% endstepper %}

Done. The banner reads **Refund sent**. The **Payment** rows and the payment status update. When nothing remains of the charge, the order becomes **Cancelled**.

## Cancel an order

A refund in Commerce does not stop a shipment. If the order has not shipped, cancel it from its fulfillment order instead.

{% stepper %}
{% step %}

### Open the fulfillment order

On the order page, click the **Fulfillment Order ID**.
{% endstep %}

{% step %}

### Click Cancel Order

Click **Cancel Order**.
{% endstep %}

{% step %}

### Choose a reason

Choose a **Reason**. Keep **Refund $X** ticked to refund the shopper at the same time.
{% endstep %}

{% step %}

### Confirm

Click **Yes, Cancel**.
{% endstep %}
{% endstepper %}

See [Cancel an order](/fulfillment/orders-cancellations-returns.md#cancel-an-order) for the details.

## Troubleshooting

Find the message or the problem you see, then do the action in the same row.

| Message                                           | What to do                                                                                                                                                |
| ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Checkout is off for this app.** (Subscriptions) | Turn on checkout in **Settings → Checkout**. See [Turn on checkout and payments](/selling-and-checkout/checkout-and-payments.md).                         |
| **No orders yet.**                                | No shopper has bought in your checkout or your sales channels yet. Orders show here after the first purchase.                                             |
| **No orders in this period.**                     | Pick a longer period at the top.                                                                                                                          |
| **No orders found.**                              | No order matches your search or filters. Check the search, or pick **All** and **All channels**.                                                          |
| An order has a **Review** flag                    | A change in the sales channel moved no money here. Read the banner on the order page. See [Changes in the sales channel](#changes-in-the-sales-channel).  |
| Commerce totals do not match Shopify              | **Gross order total** counts orders before cancellations and refunds. Shopify **Total sales** takes them off.                                             |
| **You don't have access to this store's orders.** | Your account cannot see this store's orders. Ask an admin of your organization to check your access. See [Invite your team](/getting-started/members.md). |
| **This order does not exist.**                    | The ID is wrong, or the order belongs to another store.                                                                                                   |
| The **Payment** card shows an error               | The payment could not be read. Reload the page. If the error stays, contact your Stackline team.                                                          |
| No **Refund** button                              | Nothing remains of the charge, or the payment did not load.                                                                                               |

## What if…?

<details>

<summary>What if I refunded the order first, and it still ships?</summary>

The fulfillment order page shows **Refunded before shipping, but the order will still ship** under **Needs attention**. Click **Cancel order** there to stop the shipment.

</details>

## Next step

{% content-ref url="/pages/9ybdGjfh0ly8yioslZQX" %}
[Fulfillment orders, cancellations and returns](/fulfillment/orders-cancellations-returns.md)
{% endcontent-ref %}
