No place in Google Checkout to set international tax rates. Do we owe? How to Pay?

by Shane Isbell » Thu, 22 Apr 2010 00:59:30 GMT

Sponsored Links

The EU passed a law back in 2003 that requires US based companies selling
digital goods to collect VAT tax on sales to the EU (typically 15-25%). This
was done to try to level the playing field with EU based companies that were
subject to VAT.

In the Google agreement, it passes back responsibility for paying taxes to
the developer. This would require getting the billing addresses of all
customers in the EU and calculating the taxes owed. You'd need to register
your company with the EU and wire them the money (the transfer costs
possibly being more than you actually owe) each quarter. Given that you are
a US based company, they could potentially ban you from selling into the EU
for violation, but if you are big enough to care about, I think that is a
good problem to have.

Of course, no small company or individual delivering digital goods could
survive trying to figure out all the global tax laws. Even if you comply
with the EU, you may be in violation in other countries like Australia or
China. So it's up to you if you want to be in full compliance around the
world (and just close up shop due to the maintenance and legal costs) or if
you'd rather just muddle along the best you can.

Even properly collecting state sales taxes can be beyond the means for many
small companies. For example, in the state of Washington, they have
different sales taxes based on zip-code and county. If I were to sell an app
through Android Market, I'd need 5K in CPA assistance and another 2-3K to
hire a company to manage the systems. Or I could just collect the highest
sales tax for the whole state and hope that an individual buying the app
doesn't sue me for charging them an extra penny or two in sales tax.

As developers in this rising app market phenomenon, I don't think the tax
laws in most places take into account individuals operating a business
having such a global reach for the selling of small amounts of digital


No place in Google Checkout to set international tax rates. Do we owe? How to Pay?

by Paul » Thu, 22 Apr 2010 19:18:17 GMT

 Thanks Shane, that's pretty much what I thought. I did see some web
pages mention that the EU law would only apply to companies that had
sales of over 100,000 Euros, but it didn't seem definitive and I
couldn't find legal text supporting the 100,000 limit.

Google Checkout also makes it challenging to identify EU sales at all.
If I "download data to spreadsheet" from Google Checkout, the
transactions show amounts in US dollars and do not identify the
country. If I check off "Include more buyer and order information
columns", then I can get the country information, but results are
limited to 500 rows. Since I have sales of 200+ per day, it's a pretty
cumbersome process.

I think the EU law is pretty restrictive for smaller companies, so I
hope they make some changes in the future. If anyone can clarify the
100,000 limit that would be good to know.


Sponsored Links

Other Threads

1. Using OS 1.6 and Up , are we penalized on the market ?

We are receiving many emails from customers very afraid with the new
"SD card permission" that will "modify" their sdcard content. As all
developers know, this permission was granted automatically until OS
1.5 but not anymore. I hope there will be some "education" now to
the... "end user" to explain that the new application using the new OS
are not necessary more..."dangerous" than the previous one.

We feel like "penalized" to be one of those trying to support new
version of the OS....


2. StackOverflowError on drawing Spannable string

I have a listView which contains TextViews. I append to it several
strings, and some of them are linkified.

                SpannableString str = SpannableString.valueOf(text);
                str.setSpan(new URLSpan(url), 0, text.length(),

For some reason, when i compile it for sdk 1.1 it works fine, but on
sdk 1.5 devices (like Galaxy) it crashes with the following error.

Any ideas why?

01-24 15:05:54.915: INFO/dalvikvm(687): Stack overflow, expanding
(0x41048200 to 0x41048000)
01-24 15:05:54.915: INFO/dalvikvm(687): Shrank stack (to 0x41048200,
curFrame is 0x41049cd8)
01-24 15:05:54.925: DEBUG/AndroidRuntime(687): Shutting down VM
01-24 15:05:54.925: WARN/dalvikvm(687): threadid=3: thread exiting
with uncaught exception (group=0x4000fe70)
01-24 15:05:54.925: ERROR/AndroidRuntime(687): Uncaught handler:
thread main exiting due to uncaught exception
01-24 15:05:55.014: DEBUG/dalvikvm(687): GC freed 5881 objects /
487464 bytes in 67ms
01-24 15:05:55.014: ERROR/AndroidRuntime(687):
01-24 15:05:55.014: ERROR/AndroidRuntime(687):     at
01-24 15:05:55.014: ERROR/AndroidRuntime(687):     at
01-24 15:05:55.014: ERROR/AndroidRuntime(687):     at
01-24 15:05:55.014: ERROR/AndroidRuntime(687):     at
01-24 15:05:55.014: ERROR/AndroidRuntime(687):     at
01-24 15:05:55.014: ERROR/AndroidRuntime(687):     at
01-24 15:05:55.014: ERROR/AndroidRuntime(687):     at
01-24 15:05:55.014: ERROR/AndroidRuntime(687):     at


3. Wifi di Hero

4. Milis Developer Android Indonesia

5. Root Explorer

6. Android 2.1 backward Compatability? Urgent Question

7. How can I verify android basic API? (e.g. Date and Time API)