Skip to content

Shopify Dude Fix

Why Draft Orders Hide the Shopify Discount Field

Why Shopify draft order checkout links can hide the normal customer discount field, and what to check when B2B or wholesale apps are involved.

Quick answer

Draft order checkouts do not behave like normal storefront checkouts. If a checkout starts from a draft order invoice or payment link, Shopify says customers cannot apply discount codes themselves by default.

Symptom

A customer follows an invoice link or app-generated checkout and cannot enter a discount code. The same code may work when the customer goes through a normal product-page/cart checkout.

Most likely causes

  • Draft order checkout path. The order was created in Admin, by a B2B/wholesale flow, or by an app before the customer reached checkout.
  • Product-options app behavior. Some product-options apps create draft orders so they can attach custom line-item data or pricing.
  • Wholesale/quote apps. Quote-style workflows often use draft orders instead of standard checkout.
  • Discount was not applied to the draft. The store expected the customer to enter a code later, but the draft flow does not expose the same field.

Quick checks

  1. Open the order path and confirm whether it begins from Orders → Drafts.
  2. Check whether the customer clicked an invoice link instead of checking out from cart.
  3. Test the same discount through a normal product/cart checkout.
  4. If the code works in normal checkout but not the invoice checkout, the issue is the draft-order path.
  5. If a third-party app created the checkout, check that app’s documentation for discounts.

Theme, app, or code checks

  • Theme code usually is not the fix here. The checkout behavior is tied to the order path.
  • For draft orders, apply the discount before sending the invoice when that is the intended price.
  • For app workflows, ask whether the app can pass discounts, create automatic discounts, or avoid draft orders.
  • For B2B flows, document which customers get catalog pricing, draft invoices, or standard checkout.

When to stop guessing

Stop guessing when you confirm the checkout is a draft-order checkout. At that point, the fix is usually workflow design: apply discounts on the draft, change the app workflow, or use an automatic/native discount where possible.

Prevention checklist

  • Label internal workflows as standard checkout, draft order, or quote checkout.
  • Do not promise customers they can enter a code if their path uses draft orders.
  • Test discount campaigns through the same path the customer will use.
  • For B2B/wholesale, decide whether discounts belong in catalog pricing, draft order discounts, or standard checkout codes.

Sources and further reading