Docs
Dashboard

Create and place a draft order

Last updated View as Markdown

Create and place a draft order

Build an editable draft for an assisted sale, then place it once its details are confirmed. Use a draft order when the purchase begins in a trusted operational workflow rather than in a buyer’s cart.

Before you begin

Use Admin permissions for draft orders and an existing store with a sellable variant. Choose the currency, price channel, and customer or guest context. Prepare the address, tax, and shipping configuration the order requires.

1. Create the draft

Code in graphql

Keep the draft ID. For an existing customer, use an authorized customer relationship rather than treating the typed email alone as authentication.

2. Add a catalog variant

Code in graphql

Use custom-line operations only for items outside the catalog. Add addresses and shipping through the supported draft operations. Review the returned total after each change. If your workflow uses a price override or manual discount, make it an explicit administrative decision and retain its business reason.

3. Review and place

Verify the current items, customer, addresses, shipping, discounts, and total with the buyer or operator. Then place the draft:

Code in graphql

Persist the returned order ID before starting payment or fulfillment work. If the response is uncertain, inspect the draft and associated order before repeating placement. Use draftOrderDiscard when the draft should not become an order.

Verify

Read the resulting order and compare it with the reviewed draft’s intended items and amount. Keep placed or discarded drafts out of editable work queues based on their returned status. See Draft orders for the lifecycle.