Shopify uses cookies to provide necessary site functionality and improve your experience. By using our website, you agree to our privacy policy and our cookie policy.
An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks:
Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created.
Send invoices to customers to pay with a secure checkout link.
Use custom items to represent additional costs or products that aren't displayed in a shop's inventory.
Re-create orders manually from active sales channels.
Sell products at discount or wholesale rates.
Take pre-orders.
Save an order as a draft and resume working on it later.
For draft orders in multiple currencies presentment_money is the source of truth for what a customer is going to be charged and shop_money is an estimate of what the merchant might receive in their shop currency.
Caution: Only use this data if it's required for your app's functionality. Shopify will restrict access to scopes for apps that don't have a legitimate use for the associated data.
Draft orders created on or after April 1, 2025 will be automatically purged after one year of inactivity.
acceptAutomaticDiscounts•
Boolean
Whether or not to accept automatic discounts on the draft order during calculation.
If false, only discount codes and custom draft order discounts (see appliedDiscount) will be applied.
If true, eligible automatic discounts will be applied in addition to discount codes and custom draft order discounts.
allowDiscountCodesInCheckout•
Boolean!
non-null
Whether discount codes are allowed during checkout of this draft order.
allVariantPricesOverridden•
Boolean!
non-null
Whether all variant prices have been overridden.
anyVariantPricesOverridden•
Boolean!
non-null
Whether any variant prices have been overridden.
appliedDiscount•
DraftOrderAppliedDiscount
The custom order-level discount applied.
billingAddress•
MailingAddress
The billing address of the customer.
billingAddressMatchesShippingAddress•
Boolean!
non-null
Whether the billing address matches the shipping address.
completedAt•
DateTime
The date and time when the draft order was converted to a new order,
and had it's status changed to Completed.
createdAt•
DateTime!
non-null
The date and time when the draft order was created in Shopify.
currencyCode•
CurrencyCode!
non-null
The shop currency used for calculation.
customAttributes•
[Attribute!]!
non-null
The custom information added to the draft order on behalf of the customer.
customer•
Customer
The customer who will be sent an invoice.
defaultCursor•
String!
non-null
A default cursor that returns the single next record, sorted ascending by ID.
discountCodes•
[String!]!
non-null
All discount codes applied.
email•
String
The email address of the customer, which is used to send notifications.
events•
EventConnection!
non-null
The list of events associated with the draft order.
hasTimelineComment•
Boolean!
non-null
Whether the merchant has added timeline comments to the draft order.
id•
ID!
non-null
A globally-unique ID.
invoiceEmailTemplateSubject•
String!
non-null
The subject defined for the draft invoice email template.
invoiceSentAt•
DateTime
The date and time when the invoice was last emailed to the customer.
invoiceUrl•
URL
The link to the checkout, which is sent to the customer in the invoice email.
legacyResourceId•
UnsignedInt64!
non-null
The ID of the corresponding resource in the REST Admin API.
lineItems•
DraftOrderLineItemConnection!
non-null
The list of the line items in the draft order.
lineItemsSubtotalPrice•
MoneyBag!
non-null
A subtotal of the line items and corresponding discounts,
excluding include shipping charges, shipping discounts, taxes, or order discounts.
localizedFields•
LocalizedFieldConnection!
non-null
List of localized fields for the resource.
metafield•
Metafield
A custom field,
including its namespace and key, that's associated with a Shopify resource
for the purposes of adding and storing additional information.
metafields•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
name•
String!
non-null
The identifier for the draft order, which is unique within the store. For example, #D1223.
note2•
String
The text from an optional note attached to the draft order.
order•
Order
The order that was created from the draft order.
paymentTerms•
PaymentTerms
The associated payment terms for this draft order.
phone•
String
The assigned phone number.
platformDiscounts•
[DraftOrderPlatformDiscount!]!
non-null
The list of platform discounts applied.
poNumber•
String
The purchase order number.
presentmentCurrencyCode•
CurrencyCode!
non-null
The payment currency used for calculation.
purchasingEntity•
PurchasingEntity
The purchasing entity.
ready•
Boolean!
non-null
Whether the draft order is ready and can be completed.
Draft orders might have asynchronous operations that can take time to finish.
reserveInventoryUntil•
DateTime
The time after which inventory will automatically be restocked.
shippingAddress•
MailingAddress
The shipping address of the customer.
shippingLine•
ShippingLine
The line item containing the shipping information and costs.
status•
DraftOrderStatus!
non-null
The status of the draft order.
subtotalPriceSet•
MoneyBag!
non-null
The subtotal, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes.
tags•
[String!]!
non-null
The comma separated list of tags associated with the draft order.
Updating tags overwrites any existing tags that were previously added to the draft order.
To add new tags without overwriting existing tags, use the tagsAdd mutation.
taxesIncluded•
Boolean!
non-null
Whether the line item prices include taxes.
taxExempt•
Boolean!
non-null
Whether the draft order is tax exempt.
taxLines•
[TaxLine!]!
non-null
The list of of taxes lines charged for each line item and shipping line.
totalDiscountsSet•
MoneyBag!
non-null
Total discounts.
totalLineItemsPriceSet•
MoneyBag!
non-null
Total price of line items.
totalPriceSet•
MoneyBag!
non-null
The total price, includes taxes, shipping charges, and discounts.
totalQuantityOfLineItems•
Int!
non-null
The sum of individual line item quantities.
If the draft order has bundle items, this is the sum containing the quantities of individual items in the bundle.
totalShippingPriceSet•
MoneyBag!
non-null
The total shipping price.
totalTaxSet•
MoneyBag!
non-null
The total tax.
totalWeight•
UnsignedInt64!
non-null
The total weight in grams of the draft order.
transformerFingerprint•
String
Fingerprint of the current cart.
In order to have bundles work, the fingerprint must be passed to
each request as it was previously returned, unmodified.
updatedAt•
DateTime!
non-null
The date and time when the draft order was last changed.
The format is YYYY-MM-DD HH:mm:ss. For example, 2016-02-05 17:04:01.
visibleToCustomer•
Boolean!
non-null
Whether the draft order will be visible to the customer on the self-serve portal.
warnings•
[DraftOrderWarning!]!
non-null
The list of warnings raised while calculating.
localizationExtensions•
LocalizationExtensionConnection!
non-nullDeprecated
List of localization extensions for the resource. This connection will be removed in a future version. Use localizedFields instead.
marketName•
String!
non-nullDeprecated
The name of the selected market. This field is now incompatible with Markets.
marketRegionCountryCode•
CountryCode!
non-nullDeprecated
The selected country code that determines the pricing. This field is now incompatible with Markets.
subtotalPrice•
Money!
non-nullDeprecated
The subtotal, in shop currency, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes. Use subtotalPriceSet instead.
totalPrice•
Money!
non-nullDeprecated
The total price, in shop currency, includes taxes, shipping charges, and discounts. Use totalPriceSet instead.
totalShippingPrice•
Money!
non-nullDeprecated
The total shipping price in shop currency. Use totalShippingPriceSet instead.
totalTax•
Money!
non-nullDeprecated
The total tax in shop currency. Use totalTaxSet instead.