Standardizing currency

Is there a way to get standardized rates in a currency like usd for all shopify orders without changing shop currency to usd and presentation money being the local currency for users based on there location.

Need this for a public shopify app that we are building.

Hey @Jaspreet_Singh - thanks for reaching out.

For orders, Shopify exposes amounts in the shop currency and the customer’s presentment currency. In GraphQL Admin API, this is usually through Money fields like:

currentTotalPriceSet {
  shopMoney {
    amount
    currencyCode
  }
  presentmentMoney {
    amount
    currencyCode
  }
}

shopMoney is in the shop’s base currency, and presentmentMoney is the currency the customer used when placing the order. More on that here: MoneyBag - GraphQL Admin

So if the shop currency is USD, then shopMoney would give you the USD value while customers can still see/pay in local presentment currencies where Markets/local currencies are configured. But for a public app installed across shops with different base currencies, there isn’t a current supported Admin API option to request all order totals normalized into an arbitrary currency like USD.

For that kind of reporting, your app would need to store the order amount/currency and normalize it using your own exchange-rate source and rate policy.

Hope this helps a bit, let me know if I can clarify anything here.

@Alan_G that is also what we found out. Can you please raise it as a feature request as it will be very useful to have this feature in future for others as well.

@Jaspreet_Singh - for sure! Just confirming I’ve logged this as a feature request on our end. Let me know if I can help out with anything else here.