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

# Orders

> How to enter, import, and manage sales orders

Orders are the core of CardOps. Every sale from every platform gets tracked as an order, giving you a single place to manage fulfillment, fees, and profitability.

## Creating orders

There are three ways to get orders into CardOps.

### Import via paste

The fastest way to enter a single order or a batch. Copy the order text from your platform's dashboard (TCGPlayer or Manapool), then:

1. Click **New Order** or press `Ctrl+Shift+O` (Mac: `Cmd+Shift+O`)
2. Select the **Paste** tab
3. Paste the order text into the text area
4. CardOps auto-detects the platform and parses the fields
5. Review the parsed data and click **Import**

### Import via CSV (TCGPlayer)

For bulk imports from TCGPlayer's order export:

1. Go to **Orders** and click **Import CSV**
2. Upload the TCGPlayer order export file
3. Review the parsed orders
4. Click **Import**

<Note>
  CSV imports are idempotent. Importing the same file twice won't create duplicate orders — CardOps matches on platform and order ID.
</Note>

### Manual entry

For orders from platforms without paste/CSV support, or for offline sales:

1. Click **New Order**
2. Select the **Manual** tab
3. Fill in the order details
4. Click **Save**

## Order lifecycle

Orders move through a defined status flow:

| Status           | Description                                                          |
| ---------------- | -------------------------------------------------------------------- |
| **Pending Data** | Imported but missing some information (e.g., fees not yet available) |
| **Processing**   | Ready to fulfill — all data is present                               |
| **Shipped**      | Order has been shipped to the buyer                                  |
| **Completed**    | Buyer received the order, sale is final                              |
| **Paid**         | Platform payout has been received and reconciled                     |
| **Canceled**     | Order was canceled before fulfillment                                |
| **Refunded**     | Order was refunded (fully or partially) after completion             |

## Order detail page

Click any order to open its detail page. From here you can:

* **Edit line items** — adjust quantities, prices, and conditions
* **Apply tags** — categorize the order for reporting
* **Set shipping costs** — select a shipping preset or enter a custom amount
* **Link expenses** — connect expenses (like packaging materials) to this order
* **Record refunds** — log partial or full refunds
* **Link to a payout** — match this order to a platform payout

## Fulfillment types

Orders can be marked as **Normal** or **Direct** fulfillment:

* **Normal** — you ship the order yourself
* **Direct** — fulfilled by the platform (e.g., TCGPlayer Direct)

Direct orders have different fee structures. CardOps displays a **DIRECT** badge on these orders in all views.

## Fee tracking

Every order tracks fees with a source indicator:

| Source           | Meaning                                         |
| ---------------- | ----------------------------------------------- |
| **Parsed**       | Extracted directly from a paste or email        |
| **Estimated**    | Calculated from the platform's default fee rate |
| **User entered** | Typed manually                                  |
| **Imported**     | Came from a CSV import                          |

Orders with estimated fees show an **Est.** badge so you know which values might need adjustment.

## Refunds

To record a refund on an order:

1. Open the order detail page
2. Click **Record Refund**
3. Enter the refund amount and reason
4. Select which line items are being refunded (if partial)
5. Click **Save**

Refunds are tracked separately — the original order financials are never modified. This keeps your data audit-friendly and makes P\&L reporting accurate.

## Keyboard shortcuts

| Shortcut                       | Action                   |
| ------------------------------ | ------------------------ |
| `Ctrl+Shift+O` / `Cmd+Shift+O` | New order (paste import) |
| `Ctrl+S` / `Cmd+S`             | Save current order       |
| `Esc`                          | Close detail panel       |
