shopify / orders / draft-orders
Shopify Draft Orders: The Invoice Link Is Not a Discount Code
Shopify draft orders: create a phone or quoted sale in admin, send a checkout invoice, and keep that link separate from a discount code.
A Shopify draft order is the order you build when the customer did not build the cart. Shopify names phone, email, and in-person sales, plus a price you set yourself: a discount, a surcharge, or a negotiated wholesale rate. You create it under Orders → Drafts, then send an invoice. By default that invoice contains a link to checkout for this order.
That link is not a discount code. A discount-code URL puts one code on whatever cart the customer opens next. The invoice pays this draft. After payment, the draft becomes an order on the Orders page. Steps below follow Shopify Help, checked October 14, 2026.
Shopify draft orders in one paragraph (per Shopify Help, checked 2026-10-14): Create the draft in Orders → Drafts. Add products, a customer, discounts, shipping, and taxes as needed. Send an invoice or share a checkout link so the customer pays online, charge a card in the admin (Shopify Payments), or mark the draft paid if you already have the money. When it is paid, it becomes a regular order. Reserved units are Committed and cannot be bought by other customers. Units you do not reserve stay Available and can still sell. A discount-code link is a different tool: it does not open this draft.

Taking the order off the storefront is the draft. The link you send afterward opens checkout for that order. It is not a discount code for the next cart.
Use a draft when the storefront cart cannot hold the sale
Use a draft when you are taking the order for the customer. Help lists phone, in-person, or email sales; an invoice with a secure checkout link; a custom price (discount, surcharge, or negotiated wholesale rate); and payment that spans the online store and a retail location. If you use Shopify POS Pro, you can also save a POS cart as a draft and finish it later. That is a POS feature, not a second kind of invoice.
Skip the draft when the catalog price and the storefront cart already match the deal. Sending the customer to the product page is less work, and you do not have a second copy of the order to keep in sync.
A one-off negotiated price on a draft is still this job. Company catalogs, company locations, and a rule that makes that company submit every checkout as a draft are Shopify B2B. Shopify’s B2B draft-order page covers that setup. This post does not.
Create it, then decide how it gets paid
From the Shopify admin, go to Orders → Drafts and click Create order. Add products. Add a customer when you need a location-based shipping rate (that also needs a shipping address) or when you want the order confirmation to go out. Help’s sending-invoices page says you need the customer’s email or phone before you complete the draft. Without contact information, the order confirmation is not sent, and you cannot send it after the draft is created.
Then do one of the four things Help lists on the create screen:
- Send an invoice. The customer gets a checkout link, enters billing details, picks shipping, and pays. When they finish, the draft becomes an order on the Orders page and is marked Paid.
- Share the checkout link yourself (the Share action), which is the same checkout without the invoice email. Useful when the request started in a direct message.
- Collect payment in the admin. A manual card charge is available only with Shopify Payments, and only after you complete Shopify Payments verification. Mark as paid is for money you already received (cash, bank transfer, an imported historical order). Shopify does not capture that amount again. The customer gets an order confirmation.
- Save the draft and come back. Nothing is an order yet.
Do not mark the draft paid before the money arrives if the customer is supposed to pay through the link. Help says the invoice link then stops working, and the customer cannot finish checkout.
You can also set payment terms so the balance is due later: due on receipt, due on fulfillment, a net term (net 7, 15, 30, 45, 60, or 90), or a fixed date. A percentage deposit on those terms is a Shopify Plus option. One limit is easy to miss: if the draft is in a local currency other than your store currency and you set payment terms, Help says you cannot send an invoice. You collect by card or by marking the order paid.
The invoice link is not a discount code
| Draft invoice or checkout link | Discount-code URL | |
|---|---|---|
| What the customer opens | Checkout for this draft | Their next cart, with one code applied |
| Where you create it | Orders → Drafts, then Send invoice or Share | Discounts → Promote on an active code |
| What Help says the link is | A checkout link. In notification templates the field is invoice_url: a link to pay the invoice in Shopify’s secure checkout |
/discount/{code}, optional ?redirect= |
| Extra codes at checkout | Off by default. Turn on Discount codes on this draft if you want them | The URL is the code |
The path shapes are not interchangeable. Pasting a discount link into the email does not open this draft, lock this price, or reserve these units. Building the invoice does not create a code your other customers can reuse. The rules for that URL are in Shopify discount code links.
Two invoice options change what the customer can do at that checkout, and both are off unless you turn them on for this draft:
- Discount codes lets the customer add codes while paying. Help warns that the order can end up discounted more than you planned when you already applied a code and they add another. The switch applies to this draft only. You turn it on again the next time.
- Ignore all checkout rules lets them check out even when checkout validation rules on the draft are still failing. If you leave it off, they cannot complete checkout while those rules fail.
Shipping discount codes are not supported on a draft. Use a custom shipping rate instead. Buy X get Y discount codes are not supported either. You can apply up to five discount codes on one order.
If the invoice includes products with no available inventory, the customer is told the item is out of stock and cannot complete the sale. Help’s remedies are to add inventory and reserve it for the draft, or to take payment in the admin (mark as paid, or enter a card).
Set the price: custom price, custom discount, or a code
Pick one way to change the price, then don’t enter that same cut a second time.
Custom price replaces the product’s listed price for this line on this draft. The customer does not see a “was / now” reduction. Help’s examples are matching a competitor, adding a rush surcharge, or quoting a negotiated wholesale number. The amount you type is in the draft’s currency, and it does not change the product’s price in the catalog.
Custom discount is a reduction from the listed price, and the customer sees it that way. A custom order discount (a currency amount or a percentage of the listed price) applies on top of any item-specific discounts. A line-item discount has its own type and value, plus an optional reason the customer can see. Both a custom order discount and a line discount hit the total, so do not enter the same cut twice.
An existing code is typed under Payment → Add discount. Automatic discounts do not apply themselves to a draft you build in the admin. Check Apply all eligible automatic discounts when the draft should receive the same automatic offers the storefront would.
A custom amount you type on the draft is not a row in your Discounts list, and it is not the Combinations matrix. That matrix is Shopify discount combinations. Eligible combinations can sit on the draft next to custom order and line discounts. This page does not restate which product, order, and shipping classes stack.
Price lock is separate from the discount. Prices stay unlocked until you lock them. A lock keeps the quoted product prices from changing when you later edit the catalog price. It also blocks an automatic price drop. When you send an invoice or share the checkout link, product prices lock unless you turn that setting off. Bundles cannot be price-locked.
Duplicating an order or a draft copies products (current product data, not a deleted product), custom items, customer and addresses, notes, and the market. Discounts and shipping rates are not copied. Re-apply them on the new draft or the quote is the full catalog price.
Reserve the units, or leave them on the storefront
Adding a product to a draft does not hold it. You choose.
Reserve inventory moves those units to Committed. They cannot be bought by other customers, and they are dedicated to this draft. Inventory tracking has to be on for the product. In the draft, open the product actions, choose Reserve inventory, and set the date and time the reserve expires. Creating draft orders is the page for that step.
Reserving items holds stock only until the date and time you choose, and then the units return to Available while the draft stays put. That clock is not the draft’s lifetime. Separately, drafts created on or after April 1, 2025 are automatically deleted after 1 year of inactivity. Any type of edit to the draft order resets the timer. Deleting a completed draft does not delete the order that was created from it.
If you do not reserve, the units stay Available. Another customer can buy them. If that stock hits zero, the draft shows a warning. The invoice checkout then fails as out of stock, as above.
Custom items (a one-off service or fee that is not a product in your catalog) are not inventory. They do not change stock, and they do not appear as a tracked variant you can reserve.
Work the draft in this order
- Choose a custom price (the new number, no reduction shown), a custom discount (a reduction the customer sees), or an existing code. Do not enter the same cut as both a line discount and an order discount.
- Orders → Drafts → Create order. Add products. Add the customer and a shipping address if the rate depends on location, and add email or phone before you expect a confirmation.
- If this quote should own the units, reserve them and set the end date. If the storefront may keep selling them, leave the reserve off.
- Send the invoice or copy the checkout link. Leave Discount codes off unless the customer should add more savings. Leave prices locked if the quote must survive a later catalog edit.
- Mark the draft paid only after you have the money, or when you are recording a payment you already took. Do not mark it paid to keep the invoice link alive.
- After payment, open the order on Orders. The draft is no longer the record of the sale.
FAQ
Is a Shopify draft order already an order?
No. It stays on Drafts until the customer pays through the invoice or checkout link, you charge a card in the admin, or you mark it paid. Then it is an order on Orders. Paying through the invoice marks it Paid.
Can I send a discount-code URL instead of the invoice?
Only when you want one code applied to the customer’s next cart. That URL does not open this draft. The invoice link does not create a reusable code.
Will automatic discounts apply by themselves?
No. On a draft you create in the admin, check Apply all eligible automatic discounts or they are not on the order.
Does the draft hold inventory?
Only if you reserve it. Reserved units are Committed until the date and time you set, then they return to Available and the draft stays. Unreserved units stay Available. A year with no edits is a different clock: it can delete the draft, and it does not set the reserve.
Sources
- Shopify Help — Draft orders and invoices (checked 2026-10-14; same article as
/create-orders. One-year inactivity deletion: drafts created on or after April 1, 2025; any edit resets the timer.) - Shopify Help — Creating draft orders (checked 2026-10-14)
- Shopify Help — Sending invoices for draft orders (checked 2026-10-14)
- Shopify Help — Adding discounts to draft orders (checked 2026-10-14)
- Shopify Help — Getting paid for draft orders (checked 2026-10-14)
- Shopify Help — Understanding inventory states (checked 2026-10-14)
- Shopify Help — Notifications variables reference (checked 2026-10-14)
- Shopify Help — Creating B2B orders using draft orders (checked 2026-10-14; boundary only, not a B2B setup guide)