Metaobjects - Custom data type money is returning an unexpected value

Hello, In my metafield I create one metafield type money then I inserted 1 in USD as default value. My store available 3 markets places which’s EUR, USD and CNY .

When query metaobject to get that metafield there was an unexpected result on that such as:

  1. when query language in EN-EN (USD) value display:
{
  "data": {
    "metaobjects": {
      "nodes": [
        {
          "handle": ".....",
          "fields": [
            {
              "key": "money",
              "value": "{\"amount\":\"1.0\",\"currency_code\":\"USD\"}",
              "type": "money"
            }
          ]
        }
      ]
    }
  },
  "extensions": {
    "context": {
      "country": "EN",
      "language": "EN"
    }
  }
}
  1. when query language in DE-DE (EUR) value display:
{
  "data": {
    "metaobjects": {
      "nodes": [
        {
          "handle": ".....",
          "fields": [
            {
              "key": "money",
              "value": "{\"amount\":\"1.95\",\"currency_code\":\"EUR\"}",
              "type": "money"
            }
          ]
        }
      ]
    }
  },
  "extensions": {
    "context": {
      "country": "DE",
      "language": "DE"
    }
  }
}
  1. when query language in CN-ZH (CNY) value display:
{
  "data": {
    "metaobjects": {
      "nodes": [
        {
          "handle": ".....",
          "fields": [
            {
              "key": "money",
              "value": "{\"amount\":\"8.0\",\"currency_code\":\"CNY\"}",
              "type": "money"
            }
          ]
        }
      ]
    }
  },
  "extensions": {
    "context": {
      "country": "CN",
      "language": "ZH"
    }
  }
}

The issue is by the shopify automatically exchange rate conversion not correctly on 1 USD = 1.95 EUR.
Anyone here can help with issue that I mention?

Thanks

Hi Virak - just to confirm, is the issue here that the conversion rates are inaccurate, and incorrect values are being displayed?

1 Like

Hi Liam- Yes, you’ve identified the issue accurately. The primary problem stems from the inaccuracy of the conversion rates in the system’s calculations, which leads to incorrect values being shown. We need to investigate how these rates are sourced or calculated and update them to ensure the displayed numbers are accurate moving forward.

Hi Virak,

I’ve connected with the custom data team and the money metafield uses the same conversion rates as product prices. However, like product prices, shops can choose to set their own manual exchange rates and can even set fixed values per market. If you’re seeing unexpected values, it could be due to manual exchange rates or fixed values (i.e., market localizations) on your store.

Hi Liam - I am using dynamic conversion base on shopify conversion.
As you can see below:

Hi Virak,

Does this shop have “Price rounding” enabled. If so, all product prices (and hence money metafields) are rounded UP to the nearest 0.95 EUR. So if 1 USD was converted to 0.96 EUR, the price would appear as 1.95 EUR because it was rounded up. You can turn this off at Markets > Preferences.