I recently noticed a bug in Virtuemart 2.0.2 that if your website is configured with multiple tax options based on different state/province then Virtuemart checkout page displays and adds all the configured taxes in product sale price, until and unless if user gets logged in before moving on to checkout process.
So for example if your Virtuemart is configured to add 10% tax for Toronto, 20% for Alberta, 15 % for British Columbia and say if product sales price is $50. Now on checkout page buyer will ask to pay $ 72.5 as a total amount, bifurcating $(50 as sales price + 5(10% Toronto tax) + 10(20% Alberta tax) +7.5(BC 15% tax)).
Now as soon the buyer get logged in and confirm for the check out, all the added tax will get cut off and final tax will get applied on the basis state/province displaying on his/her shipping address.

Solution to resolve multiple tax issue
Here we have a trick, so by adding a condition to check that whether user is logged in or not, we can show/hide or add/remove the unwanted taxes.
1.0. Locate the file – \components\com_virtuemart\views\cart\tmpl\default_pricelist.php
and search for the below lines of code
<td colspan="4" align="right"><?php echo $rule['calc_name'] ?> </td>
<?php if ( VmConfig::get('show_tax')) { ?>
<td align="right"> </td>
<?php } ?>
1.1. Replace the above lines of code with –
<td colspan="4" align="right"><?php echo $rule['calc_name'] ?> </td>
<?php if ( VmConfig::get('show_tax') && $user->id >0) { ?>
{ ?>
<td align="right"> </td>
<?php } ?>
2.0. Search for the below lines of code -
<td colspan="4" align="right"><?php echo JText::_('COM_VIRTUEMART_CART_TOTAL') ?>: </td>
<?php if ( VmConfig::get('show_tax')) { ?>
<td align="right">
<?php echo "<span class='priceColor2'>".$this->cart->prices['billTaxAmount']."</span>" ?>
</td>
<?php } ?>
2.1. Replace the above lines of code with –
<td colspan="4" align="right"><?php echo JText::_('COM_VIRTUEMART_CART_TOTAL') ?>: </td>
<?php if ( VmConfig::get('show_tax')) { ?>
if($user->id >0) { ?>
<td align="right">
<?php echo "<span class='priceColor2'>".$this->cart->prices['billTaxAmount']."</span>" ?>
</td>
<?php
} else { echo "<td align='right'> $0.00</td>"; } }
3.0. Search for the below lines of code -
<tr class="sectiontableentry<?php $i ?>">
<td colspan="4" align="right"><?php echo $rule['calc_name'] ?> </td>
<?php if ( VmConfig::get('show_tax')) { ?>
<td align="right"> </td>
<?php } ?>
<td align="right"> <?php echo $this->cart->prices[$rule['virtuemart_calc_id'].'Diff']; ?></td>
<td align="right"><?php echo $this->cart->prices[$rule['virtuemart_calc_id'].'Diff']; ?> </td>
</tr>
<?php
if($i) $i=1; else $i=0;
} ?>
<?php
3.1. Place the above code under a conditional tag or simply replace the above lines of code with –
if($user->id >0){ ?>
<tr class="sectiontableentry<?php $i ?>">
<td colspan="4" align="right"><?php echo $rule['calc_name'] ?> </td>
<?php if ( VmConfig::get('show_tax')) { ?>
<td align="right"> </td>
<?php } ?>
<td align="right"> <?php echo $this->cart->prices[$rule['virtuemart_calc_id'].'Diff']; ?></td>
<td align="right"><?php echo $this->cart->prices[$rule['virtuemart_calc_id'].'Diff']; ?> </td>
</tr>
<?php
if($i) $i=1; else $i=0;
}
}
4.0. Search for the below lines of code –
<td align="right"><strong><?php echo $this->cart->prices['billTotal'] ?></strong></td>
4.1. Replace the above lines of code with –
<td align="right"><strong>
<?php if($user->id >0)
{
echo $this->cart->prices['billTotal'] ;
}
else
{
echo $this->cart->prices['salesPrice'];
}
?></strong>
</td>
Heeee we are done, its time to check the output.