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.
Best answer by sharifView original
We use whatever price the device reports using the
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_purchased_currencyconverted to USD using that day’s conversion rates.
Going along with your example,
price_in_purchased_currencywould be 15.49 and
purchased_currencywould be AUD.
price_in_usdwouldn’t likely be exactly $10, but rather 15.49 AUD converted to USD ($11.36 as of today).
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_currencyin the EU would include the tax paid, while
price_in_purchased_currencyin 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_currencyisn’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.
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