Solved

Question about price_in_purchased_currency in S3 ETL (with regards to taxation)

  • 19 August 2021
  • 1 reply
  • 35 views

Badge

I’ve got a question about values that are dumped out via the S3 ETL, and how it relates to taxation.

Suppose we have a subscription with a price set as $10 USD in the Play store.  The Play Store seems to set regional prices based on current exchange rates and local taxes.  Say, for example, that same $10 USD now shows in Australia as $15.49 AUS (the conversion rate, plus 10% tax, plus “country-specific pricing patterns”, according to Google).  If we had a purchase go through in Australia, what can we expect to see in the data on S3, specifically for price_in_purchased_currency?  I’d expect the price_in_usd to be 10.00, and the purchased_currency be AUS, but what will the price_in_purchased_currency be?  Will the price_in_purchased_currency be the final price that was charged to the customer, or will it exclude the tax?  Is the behaviour the same for purchases made through the App Store?

We’re trying to sort a few things out before we have actual purchases flowing through.  Unfortunately testing with the Play Store, taxes aren’t charged during testing, otherwise we’d be able to check things on our own.  Testing foreign purchases through the App Store is also equally challening.

icon

Best answer by sharif 21 August 2021, 06:21

View original

1 reply

Userlevel 3
Badge +8

We use whatever price the device reports using the SKProduct/SkuDetails. The exact price and and currency are sent to RevenueCat per transaction. This is the amount you’ll see in price_in_purchased_currency. The price_in_usd is the price_in_purchased_currency converted to USD using that day’s conversion rates.

If we had a purchase go through in Australia, what can we expect to see in the data on S3, specifically for price_in_purchased_currency?

Going along with your example, price_in_purchased_currency would be 15.49 and purchased_currency would be AUD.

I’d expect the price_in_usd to be 10.00, and the purchased_currency be AUS, but what will the price_in_purchased_currency be?

price_in_usd wouldn’t likely be exactly $10, but rather 15.49 AUD converted to USD ($11.36 as of today).

Will the price_in_purchased_currency be the final price that was charged to the customer, or will it exclude the tax?

This varies by country and region. Some countries (like those in the EU) include the tax in the price. In others (like the US) the tax is excluded from the price and added on to the invoice at the time of purchase. So price_in_purchased_currency in the EU would include the tax paid, while price_in_purchased_currency in the US will exclude the tax paid. Apple and Google don’t make this information readily available to us and frequently changes. price_in_purchased_currency isn’t what the user paid necessarily, but what the sticker price of your product is. Whether or not tax was added to the sticker price is not available to RevenueCat so that kind of information is not available in our ETL exports.

Is the behaviour the same for purchases made through the App Store?

I recommend contacting Apple if you need specifics. While tax laws generally apply to Apple and Google uniformly, they each have different policies on how they achieve compliance. Apple does offer a pricing matrix per country. The prices in that table are what RevenueCat uses for price_in_purchased_currency.

Reply