# Orders management

<figure><img src="/files/I8zag4MHWHznKgqktUPf" alt=""><figcaption></figcaption></figure>

{% hint style="info" icon="lightbulb" %}
The OMS centralizes orders from all markets in one place — each order moves through payment and fulfillment statuses that you can customize with options like delayed capture, auto-capture, and partial refunds.
{% endhint %}

## Order management system

Commerce Layer provides an [order management system](https://commercelayer.io/distributed-oms) (OMS) that allows you to manage orders across different statuses in one place. The OMS covers the full process from when a customer places an order to fulfilling it.

You can receive all orders from any supported market and fulfill them in a centralized hub. You can also integrate third-party systems to automate workflows and customize your order management pipeline.

## Order fulfillment

An order is initially created in *draft* status. Draft orders act as shopping carts and become *pending* when the customer adds line items and their email address. All pending orders have a payment status of *unpaid* and a fulfillment status of *unfulfilled*.

The customer adds one or more line items to the cart and selects one of the available shipping methods. Applied discounts and gift cards are subtracted from the order total before checkout. At checkout, the customer enters their billing and shipping address and selects a payment method supported in their market. Existing customers can reuse a payment source from a previous order or choose a new one.

When an order is *placed* (payment successful), its payment status becomes *authorized*. The payment is then *captured* and the amount is debited from the customer's payment source. Before capture, the customer can cancel the order — cancelled orders have their payment authorization *voided* and a payment status of *cancelled*. Captured orders become *approved* and ready for shipment. The fulfillment status becomes *fulfilled* once all shipments are shipped.

By default, payments must be captured before fulfillment can begin. You can override this by allowing [delayed capture](/core-api-reference/payment_methods.md#capture-options) at the payment method level. You can also unify authorization and capture by enabling the [auto-capture](/how-tos/placing-orders/auto-capture.md) option to automatically capture payments upon authorization.

A customer can request a [refund](/core-api-reference/refunds.md) at any point once the payment is captured. You can refund payments partially or fully. The market associated with the order determines the price list, inventory model, payment methods, and all related business rules.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.commercelayer.io/data-model/orders/orders-management.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
