Skip to main content

Order Overview

Orders capture the purchasing process between customers and the store. They record what items were bought, at what price, by whom, and how they should be delivered. Orders are created when customers finalize their checkout or when staff members finalize draft orders in the dashboard.

Each order belongs to a specific sales channel and stores details such as product selections, pricing, customer information, shipping requirements, and fulfillment status.

Lifecycle

Orders progress through various states during their lifecycle, including unfulfilled, partially fulfilled, fulfilled, and potentially returned or cancelled. For a detailed explanation of order states and the transitions between them, refer to the Order Status documentation.

Orders can be converted back to checkouts for reordering purposes using the functionality described in Order to Checkout.

Orders can also expire if they remain unpaid for a configurable period. The Order Expiration documentation covers the configuration and behavior of this process.

Permissions

An order is identified by a UUID-based ID. Anyone who knows this ID can query the order.

The table below shows what is publicly accessible when you know the order ID, and what requires ownership or staff/app permissions.

PublicPrivate
Basic details: ID, number, status, created/updated timestamps, channelUser: returned only to the authenticated owner or staff/app with MANAGE_ORDERS
Contents: lines, discounts, gift cards, totals (subtotal, shipping, undiscounted total, total, balance)Transactions: require staff/app with MANAGE_CHECKOUTS and HANDLE_PAYMENTS
Addresses & contact: shipping and billing addresses, customer email, customer noteEvents and invoices: requirestaff/app with MANAGE_ORDERS
Delivery & fulfillment: delivery method, shipping method name, collection point, fulfillmentsPrivate metadata: only staff with MANAGE_ORDERS
Status & pricing: payment status, authorization/charge status
Public metadata

Settings

Order behavior in Saleor is influenced by settings configured at both the channel and store (shop) levels. These settings determine how orders are processed, paid, and fulfilled.

Channel-Specific Settings

Store-Level (Global) Settings

The following settings apply globally across all channels and are configured at the store (shop) level.

You can access them from the Order List Page by clicking the settings icon (⚙️) in the top-right corner. A screenshot of the Saleor Dashboard displaying how to find order settings

Historical Data Preservation

When products, variants, or shipping methods are deleted from the catalog, they remain visible in historical orders due to preserved data. This ensures that order history maintains an accurate record of what was purchased and how it was shipped at the time of the order. The following data is preserved:

  • shippingMethodName or collectionPointName on the order level
  • productName and productSku on order lines

This denormalization allows you to maintain a complete historical record of orders even after products, variants, or shipping methods are removed from the active catalog.