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

# Orders

> How orders move product stock, and why the invoice — not the order — is what collects the money.

An order records a sale — of products, services, plans, or one-off custom lines. It lives under
**Finance → Orders**, and it is numbered separately from your invoices — `ORD-0001`, `ORD-0002`,
and so on.

Two things surprise people, so they come first:

* **An order never collects money.** It has no pay link. To get paid, generate an invoice from
  the order and send that. See [Invoices](/finance/invoices).
* **The Orders tab is not your online store.** If you sell on Shopify or WooCommerce, those
  orders sync separately and are a different thing entirely — see [Store orders](#store-orders)
  below.

## Orders and invoices are not the same job

<Columns cols={2}>
  <Card title="An order moves stock" icon="boxes-stacked">
    Confirming an order takes its products off your stock — the ones you track stock on.
    Cancelling puts them back. This is the only thing an order does that an invoice can't.
  </Card>

  <Card title="An invoice moves money" icon="file-invoice-dollar">
    Sending an invoice posts a debit to the client's statement, and can message it on WhatsApp.
    The pay link is minted separately, from **Payment link & QR**. Stock never enters into it.
  </Card>
</Columns>

The invoice is the hub of Finance. Appointments, subscriptions and orders all *generate* invoices
rather than being billed directly, and every payment — card, cash, bank transfer — lands in one
ledger, usually linked to an invoice. So an order is best read as the stock half of a sale, with
the invoice as the money half.

<Note>
  An order with no stock-tracked product is perfectly legal — services, plans and custom lines are
  all first-class order items, and such an order still does everything else an order does. But if a
  sale involves no stock at all — a consultation, a deposit — an invoice on its own is usually
  enough.
</Note>

## The lifecycle

<Steps>
  <Step title="Build the order">
    Use **Add item** to pick from your Products, Services and Plans, or choose **Custom item** for
    a one-off line. Prices come from your catalogue at the moment you build the order. See
    [Products](/offerings/products). The order is saved as **Draft**.
  </Step>

  <Step title="Confirm it">
    Confirming is what commits the stock: for any product you track stock on, the quantity comes
    off your count. It happens exactly once — a double-click or a retry can't take the stock
    twice. The order status becomes **Confirmed**.

    The builder also has a **Confirm order immediately** switch, which confirms the order as you
    create it and skips the draft stop.
  </Step>

  <Step title="Invoice it">
    Generate an invoice from the confirmed order. The invoice is linked back to the order, and
    from there you send it, share the pay link on WhatsApp, and record what comes in. Everything
    about getting paid happens on the invoice page, not here.
  </Step>

  <Step title="Cancel it, if the sale falls through">
    Cancelling sets the status to **Cancelled** and restores the stock you committed.
  </Step>
</Steps>

<Warning>
  Cancelling is a one-way door. You cannot re-confirm a cancelled order — that guard exists so the
  same stock can't be deducted twice — so if the customer changes their mind back, build a new
  order. The confirmation reads `Cancel order <number>? This can't be undone.`
</Warning>

## Order statuses

**Draft** → **Confirmed** → **Cancelled** are the three statuses your orders move between. Every
order starts as Draft.

Draft is worth knowing about, because two actions are limited to it: **Confirm order** and
**Delete** appear only on a draft order. Once an order is confirmed, deleting is off the table —
cancel it instead.

**Fulfilled** and **Refunded** are unused status values on internal orders. Nothing in DMLY ever
sets either one, so no order you create here can carry them. Track delivery and refunds on the
invoice and its payments instead.

## Store orders

Orders you create in **Finance → Orders** are internal: you build them, you confirm them, they move
your stock.

Orders that arrive from a connected e-commerce platform (Shopify, WooCommerce) are a separate
record on a separate sync. They are what the `store.*` webhook topics — order created, order paid,
checkout abandoned, inventory low — describe. Your Finance orders emit `order.*` topics instead.
The two vocabularies look alike and mean different things, which matters mostly if you're wiring
up automations or webhooks.

<Columns cols={2}>
  <Card title="Webhooks" icon="bolt" href="/api-reference/webhooks">
    The full topic list, including the `order.*` and `store.*` split.
  </Card>

  <Card title="Integrations" icon="plug" href="/integrations/overview">
    What connects to DMLY.
  </Card>
</Columns>

## Where to go next

<Columns cols={2}>
  <Card title="Invoices" icon="file-invoice" href="/finance/invoices">
    Send it, get paid, void it. The other half of every order.
  </Card>

  <Card title="Payments and gateways" icon="credit-card" href="/finance/payments-and-gateways">
    Connect a gateway so your invoices can carry a pay link.
  </Card>

  <Card title="Products" icon="box" href="/offerings/products">
    The catalogue an order draws from, and where stock tracking is set.
  </Card>

  <Card title="Finance overview" icon="chart-line" href="/finance/overview">
    How the six Finance tabs fit together.
  </Card>
</Columns>
