I have implemented In-app billing in my application, but have limited the in-app purchase function to a few countries/currencies, since I'm note sure what my responsibilites are regarding VAT tax collection and reporting. I find it a bit unclear after reading about it on Google Play Store.
I have read that I have to report VAT to Japan manually, so I have disabled In-app billing for this country.
I can see that Google Play collect tax for many countries.
What countries do I have to make exceptions for?
I would be happy for any feedback :)
Google documentation here: VAT Guidelines
For any EU country plus Albania, Morocco, Norway and South Korea you don't have to report or deal with VAT currently but the rest is up to you unfortunately. I'm currently developing a paid app too and looked up on tax issues beforehand.
This is not an exact answer since rules about taxes can change overnight, also there are some controversial debates going on about how Google evades taxes but that is a discussion for another topic.
To give an example, for my country (Turkey) you have to prepare a report about your annual income amount if you are located here but even then some financial reporters claim that selling software is actually "renting" it so it cannot be taxed. My suggestion for you would be to update your billing strategy according to the link above and if any unwanted situation occurs oppose it with the given legal information.
In case of Japan and GooglePlay, you have to do the whole VAT procedure on your own if your income reaches a threshold of 10 million Yen (about 95 kUSD) per year, otherwise no action from your side required. If you make that much money you could probably pay a tax professional to deal with this.
Source: National Tax Agency JAPAN
No.6 Taxable Person
Business which falls under either of the following categories is a “Taxable Person” who is required to file the final return.
(1) Businesses which had a taxable sales amounting to more than 10million yen during the Base Period (See following Figure A), ...
Related
I have an app with in-app-billing & google analytics setup and now I want to track my transactions and purchases from within the app. My issue is that I can't get my head around how I'm supposed to get the tax for the transaction.
The tax is different in each country (based on the credit-card i think) if I'm not mistaken so there should be a way to get it programmatically. I am using Googles in-app-billing api v3 and Analytics SDK for Android V4.
I dunno, I might be missing something obvious. Help would be appreciated, thanks.
I believe that you need to provide the tax amount when you are submitting your transaction hit. Check the ecommerce tracking guide. You can set the tax amount using setTax method on the HitBuilders.TransactionBuilder. Since taxes differ based on many thing (like the address zip code in US or the product category) Analytics can deduct the tax based on location alone. Your app needs to provide this with the transaction.
I've implemented in-app billing in our app. All is working well. However, we're asked if we could determine the exact tax on each purchase to be sent later to a server for real-time tracking purposes, and the sales report from Android Developer Console is only updated once a month (not entirely sure, as according to the information from the site, it's only delayed for 2 days), so that is not an option.
The problem is we're only able to retrieve the price without taxes through the in-app billing API (as also stated in the API documentation).
It seems that the tax charges are based on the country the user entered through the credit card information - and, of course, due to security issues, that cannot be retrieved as well.
Is there another way to determine from which country the user is purchasing from (i.e., the one from his/her credit card). Or better yet, is there a way to simply determine the tax on each purchase?
I have paid Android apps on Google Play. I'm using Google Checkout XML API (notification history, specifically) to retrieve order details. I'm in the USA, and some of my customers are not. For overseas orders, the Google Checkout API returns the order amount in native currency, not USD, and doesn't provide the exchange rate, either.
On the Google Checkout site, on the other hand, I can see the USD revenue amount in order details, and it matches the eventual payout perfectly. They display order total in native currency, then the fee, then my profit - first in native currency, then in dollars.
I'm afraid that if I'll use the native currency and apply one of the publicly available rates, the dollar amount will not match Google's. And reconciliation with the eventual payout would not be possible.
I've set the notification API version to 2.5. I'm retrieving every possible notification for an order. There's no USD amount that I can see, and no rate.
Short of scraping the Google Checkout web UI, any ideas, please?
Link: someone else admitting the problem.
EDIT: I actually had Checkout screen scraping as an interim solution. Then they've rolled out the new Wallet merchant page, and it became much less friendly to scraping :(
Is it possible to get product price in local currency from the app itself. For example if I am selling Product1 with price of 1$ through Google Play In App billing. A customer from UK clicks on a button to purchase the product and the price at Google Play is shown in GBP. Can I get localized price in the app from Google Play so I can display it to the customer in its own currency?
The in-app billing v3 claims to be able to accomplish this:
The API also introduces a long-anticipated feature: the ability to query in-app product information directly from Google Play. Developers can now programmatically obtain an item's title, description and price. No currency conversion or formatting is necessary: prices are reported in the user's currency and formatted according to their locale
Source: http://android-developers.blogspot.com/2012/12/in-app-billing-version-3.html
Since you are asking this i suggest to just leave as it is.
This is more about economy rather than programming, and the problem is that the ratio between 2 currencies keeps changing every time and there is no way to calculate this because of the market and the actual evaluation is only given by the stock markets for a particular point in time.
There are 2 ways of thinking about this:
The merchant makes an evaluation about what is the average ratio between 2 currencies, he quantifies this value in real money and adds it to the final price, so he can avoid money loss or at least a good part of it
The merchant puts in place a mechanism for prices that, given real-time infos from the stock markets ( probably you have to pay for this ), calculates prices of real goods in real time or every time that the user wants to checkout his order.
If this is new to you don't say nothing about this, there are a lots of money that are burning and magically appearing every day in every stock exchange market, if you give a bad advice to your client he can be really disappointed and lose a lot of money.
Also different currencies are usually handled directly by credit card services, there is no reason to handle this by yourself, you can only risk more than it's worth doing it.
If your users wants to know the price in their currency teach them to use Google or some reliable online currency converter.
i just can't find it anywhere, so i'd appreciate and help on this :=)
I read about it, and it should be possible, for instance,
I want to set a Dollar price for an App# 3,99 USD,
while the price in Euros is just 2,49 (about) €
So that the values fit, and there isn't something like 3,74 USD ;=) (maybe it frightens some customers ;=P)
Would be great if anyone could tell me where to set this in the Android Developer Console?
Thanks a lot,
best regards,
Mike
Unfortunately I believe this feature is not yet available for you. It is currently only available in the US. Below excerpts are taken from my documentation:
Over the next few months, Android Market will be transitioning towards offering
applications priced in the buyer's home currency, rather than the merchant's
(developer's) home currency. This feature will be rolling out in stages,
country by country. As an Android Market merchant, you will be notified by email
when we are ready to release the feature in your locale and action is required from
you -- at that time you must visit the Developer Console and and set prices for your
apps in all available currencies.
If you have not received an email, it is not available in your market yet.
Availability:
This feature is not available in all countries and currencies at this time. Currently
only US merchants are able to set prices in EUR, CAD, CHF, DKK, GBP, NOK and SEK currencies.