But how, as a government, would you disallow this? Google (and all these other firms) are following the letter of the tax law in all these jurisdictions. The only way to effectively fix it is to change US tax law. As many others have stated, the US is the only country to tax their citizens (personal and corporate) on their worldwide earnings.
Basically here's what's happening (somewhat simplified):
All the revenue that Google earns in the US is subject to US tax, which they pay.
All the revenue that Google earns in Germany (for example) is subject to German tax, which they pay.
Uncle Sam then says "Well I want a piece of that German after-tax profit you earned in Germany, even though the revenue was generated in Germany, and taxes were paid in Germany, and there is no reason I should be able to take a piece, other than because you are an American corporation, so gimme gimme gimme".
So what these companies do is they incorporate holding companies outside the US, then have all the non US subsidiaries (Google Canada, Google Europe, Google China etc) become subsidiaries of this non US holding company, and submit their after tax profits to the holding company.
That holding company's profits are then subject to the taxation rate of whatever country they have incorporated in. This could be Bermuda, it could be Dublin, it could be any number of countries with little to no corporate tax.
So in a nutshell, these companies are paying their fair share of taxes in each jurisdiction in which they are operating and generating income. All of this offshore activity is to keep the US government from taxing the after-tax profits of profits earned outside the US. Profits they have paid tax on to their local government.
If Uncle Sam changed the law to simply tax domestic profits, and not try and take a piece of non-US income, this problem would go away.
But how, as a government, would you disallow this? Google (and all these other firms) are following the letter of the tax law in all these jurisdictions. The only way to effectively fix it is to change US tax law. As many others have stated, the US is the only country to tax their citizens (personal and corporate) on their worldwide earnings. Basically here's what's happening (somewhat simplified): All the revenue that Google earns in the US is subject to US tax, which they pay. All the revenue that Google earns in Germany (for example) is subject to German tax, which they pay. Uncle Sam then says "Well I want a piece of that German after-tax profit you earned in Germany, even though the revenue was generated in Germany, and taxes were paid in Germany, and there is no reason I should be able to take a piece, other than because you are an American corporation, so gimme gimme gimme". So what these companies do is they incorporate holding companies outside the US, then have all the non US subsidiaries (Google Canada, Google Europe, Google China etc) become subsidiaries of this non US holding company, and submit their after tax profits to the holding company. That holding company's profits are then subject to the taxation rate of whatever country they have incorporated in. This could be Bermuda, it could be Dublin, it could be any number of countries with little to no corporate tax. So in a nutshell, these companies are paying their fair share of taxes in each jurisdiction in which they are operating and generating income. All of this offshore activity is to keep the US government from taxing the after-tax profits of profits earned outside the US. Profits they have paid tax on to their local government. If Uncle Sam changed the law to simply tax domestic profits, and not try and take a piece of non-US income, this problem would go away.