If you're going to setup tax rules that are applied depending on the customer's country, you'll probably run into problems if you would like to allow guest checkout.

Example: For a b2c shop in the EU one would like to define the following VAT rules:

  • to all anonymous visitors product prices are shown including VAT
  • if a visitor becomes a customer, VAT is applied if the customer's shipping address is inside the EU
  • for customers outside the EU VAT will not be applied

The necessary tax rules to achieve this setting can be defined with Virtuemart core features (definition of tax rules which depend on country and shopper group), as long as you don't allow guest checkout. If you would like to offer this feature, you run into the following problem: you either define a VAT rule that exclusively depends on the country. In this case anonymous visitors won't see prices including VAT (as no country is given). The other possibility is to define 1 rule for anonymous visitors and another one for registered users depending on the country. In that case no VAT will be charged to customers performing guest checkout...  Both ways don't lead to the right presentation/application of VAT.

As we don't see any way to achieve this with Virtuemart core features, we developped a small plugin that overcomes the problem: BIT Change Shopper Group for Virtuemart