Built-in multiple currency shipping exchange rate discrepancy

Highlighted
New Member
1 0 0

I'm an app developer and I'm testing out the new built-in multiple currency support and I've noticed that the exchange rate for shipping seems to be different (or applied differently) than for other order fields.

I have a shop set up that uses USPS Shopify Shipping calculated shipping rates.  My shop currency is USD and for testing I've enabled SGD.  I've created some example orders with the presentment currency set to SGD.  Below is the order data related to shipping, tax and subtotal:

    "total_shipping_price_set": {
      "shop_money": {
        "amount": "6.89",
        "currency_code": "USD"
      },
      "presentment_money": {
        "amount": "9.59",
        "currency_code": "SGD"
      }
    },
    "subtotal_price_set": {
      "shop_money": {
        "amount": "35.02",
        "currency_code": "USD"
      },
      "presentment_money": {
        "amount": "48.00",
        "currency_code": "SGD"
      }
    },
    "total_tax_set": {
      "shop_money": {
        "amount": "2.72",
        "currency_code": "USD"
      },
      "presentment_money": {
        "amount": "3.73",
        "currency_code": "SGD"
      }
    },
shipping:  6.89 USD /  9.59 SGD = 0.7184567257559958
tax:       2.72 USD /  3.73 SGD = 0.7292225201072386
subtotal: 35.02 USD / 48.00 SGD = 0.7295833333333334

The implied exchange rates are above for shipping, tax and subtotal.  The rates for tax and subtotal are reasonably similar and any difference could be explained by rounding, but the rate for shipping is 1.5% different than those fields and isn't explained by rounding.  Why is the shipping rate different as compared to the subtotal and tax rates? 

If you divide the shipping shop money amount by the implied subtotal exchange rate to get the presentment money amount, it comes out to 9.44 SGD, a 0.15 SGD difference from the presentment money shipping in the order data.

I won't go into the techical reasons, but this difference in exchange rate for the shipping amount is going to cause discrepancies between my back end and Shopify.

0 Likes