Custom Draft Order Discounts Now Respect Presentment Currency

Shopify now calculates custom draft‑order discounts in the draft’s presentment currency instead of the shop’s default. Learn what this means for merchants, developers, and how to update your workflow today.

Custom Draft Order Discounts Now Respect Presentment Currency
6 sections

Shopify has fine‑tuned the way custom discounts are applied to draft orders. As of the latest Merchant Changelog, any discount you add manually to a draft order will now be calculated in the draft order’s presentment currency – the currency the customer sees at checkout – rather than the shop’s default currency. This change eliminates confusion when you sell across borders and ensures the discount amount matches the shopper’s expectations.

What Changed

Previously, custom discounts on draft orders were always computed using the shop’s base currency. If a store’s default currency was USD but a shopper was checking out in EUR, the discount would be shown in USD and then converted at checkout, often leading to rounding differences and a poor user experience. The update switches the calculation to the presentment currency – the exact currency displayed to the customer – so the discount value is transparent and accurate from the moment it’s entered.

Why It Matters for Merchants

  • Clear pricing – Discounts now appear in the same currency the shopper is using, removing the mental step of “what does this USD discount look like in EUR?”
  • Reduced rounding errors – Because the discount is calculated after the currency conversion, you avoid the tiny discrepancies that sometimes caused orders to be flagged for manual review.
  • Simpler communication – When you share discount codes or apply manual discounts during a phone order, you can quote the exact amount the customer will see, improving trust and conversion.
  • Impact on Developers

    If you build apps or custom integrations that create draft orders via the Admin API, the payload you send for a discount remains the same, but the value you provide should now be expressed in the presentment currency of the draft order. The API automatically interprets the amount based on the draft’s currency field, so no new parameters are required. However, you should verify that any logic that previously fetched the shop’s currency to compute discount amounts is updated to reference the draft order’s presentment_currency instead.

    How to Implement and Test the New Behavior

    Below is a concise GraphQL example that creates a draft order with a custom discount in the presentment currency (EUR in this case). Notice that we do not need to specify a currency on the discount line; Shopify derives it from the draft order’s presentmentCurrencyCode field.

    graphql

    mutation CreateDraftOrderWithDiscount {

    draftOrderCreate(input: {

    lineItems: [{

    title: "Premium T‑Shirt",

    quantity: 2,

    price: "45.00"

    }]

    presentmentCurrencyCode: EUR

    customDiscounts: [{

    description: "Summer Promo",

    amount: "10.00" # Interpreted as 10 EUR

    }]

    }) {

    draftOrder {

    id

    presentmentCurrencyCode

    customDiscounts {

    description

    amount

    }

    }

    userErrors { field message }

    }

    }

    Testing steps

  • Create a draft order in the admin UI with the shop’s default currency set to USD and enable a different presentment currency (e.g., EUR) via the currency selector.
  • Add a manual discount of €5 and observe that the discount line reads “5.00 EUR”.
  • Use your API integration to fetch the draft order and confirm that presentmentCurrencyCode is “EUR” and the discount amount matches the value you sent.
  • Complete checkout as a test customer and verify the final order shows the discount in EUR without additional conversion.
  • Action Checklist

  • Review any custom‑discount calculation logic and switch from shop.currency to draftOrder.presentmentCurrencyCode.
  • Update API documentation for internal teams to highlight that the discount amount is now currency‑agnostic.
  • Test draft‑order flows in at least two different presentment currencies to confirm rounding behaves as expected.
  • Communicate the change to sales or support staff so they can accurately quote discount amounts to international customers.
  • Deploy any UI tweaks (e.g., label changes) that clarify the currency displayed next to discount fields.
  • Conclusion & Next Steps

    The shift to presentment‑currency discounts streamlines cross‑border sales and reduces the friction merchants and developers often face with currency conversions. By updating your discount logic and testing the new flow, you’ll provide a smoother checkout experience and keep your financial reporting clean. Need help adapting your custom apps or training staff on the new process? Reach out to our Shopify Partner Support or drop a comment below – we’re happy to walk you through the details.

    Tags
    Sources

    Related Articles

    Unlock Transparency: The New Store Activity Log Lets You Track Every Change

    Unlock Transparency: The New Store Activity Log Lets You Track Every Change

    Shopify’s rebuilt Store activity log centralizes every modification—from products to payments—into one searchable timeline. Learn what’s new, who can see it, and how merchants and developers can act today.

    November 13, 20264 min
    Checkout Functions Get Smarter: `cart.deliverableLine` Now Includes Cost Modeling and Direct Cart Line Links

    Checkout Functions Get Smarter: `cart.deliverableLine` Now Includes Cost Modeling and Direct Cart Line Links

    Shopify’s latest checkout function update adds cost modeling to `cart.deliverableLine` inputs and ties them directly to their originating cart lines. Learn what this means for developers, how to adjust your code, and the best practices to stay compliant.

    November 13, 20264 min
    Case-Insensitive Market Metafields: What the 2027-01 Storefront API Change Means for Your Store

    Case-Insensitive Market Metafields: What the 2027-01 Storefront API Change Means for Your Store

    Shopify's Storefront API 2027-01 now matches Market.metafields keys case‑insensitively. Learn why this matters, who is affected, and how to update your apps and custom storefronts before the change breaks your logic.

    November 13, 20264 min
    Market Metafields Now Use Market Handle to Break Ties – What This Means for Your Store

    Market Metafields Now Use Market Handle to Break Ties – What This Means for Your Store

    Shopify’s latest update changes how overlapping market metafields are resolved, favoring the market with the lowest handle instead of the most recently updated value. Learn who is impacted, how it affects your storefront, and the steps you need to take.

    November 13, 20264 min