Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

UK Tax calculation issues
 
elfling
Enthusiast
 
Avatar
Total Posts:  901
Joined:  2008-10-21
 

Set your catalog prices to include VAT?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Spez86
Jr. Member
 
Total Posts:  22
Joined:  2010-02-14
 

@ elfling

Many thanks and I’ve tried that. However, my VAT rules imply that if you come from a non-EU country, or your destination for delivery is outside the EU, everything, regardless of whether it is vatable or not, is Zero Rated. So if my price including VAT is 50p, if the VAT rule tells the catalogue price to zero rate that VAT if you come from anywhere outside the EU. It therefore re-prices it to 43p.

I’m sure it is supposed to do that, but like the other person said, it would be useful for it to stay at the original price.

Any thoughts?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Martin
Guru
 
Avatar
Total Posts:  445
Joined:  2007-08-31
Brno | London | Los Angeles
 

You could try this extension: http://www.magentocommerce.com/extension/1438/euvat-tax-calculation-for-eu-based-ecommerce. It could probably solve the problem ...

 
Magento Community Magento Community
Magento Community
Magento Community
 
Widdowson
Jr. Member
 
Total Posts:  4
Joined:  2009-12-11
 

Many many thanks to Chris for the tax setup file, It was invaluable,
I have made a few changes to get it to the current 17.5% rate and it will now upload via the magento import/export tax rates, so no need to use php myadmin.

Ian

PS, the file includes a column for my website code (pewter_gifts) just change that to your site, or it may even work if you remove it alltogether.

 
Magento Community Magento Community
Magento Community
Magento Community
 
weatherfront
Jr. Member
 
Total Posts:  30
Joined:  2009-10-07
 

Using 1.4.0.1 I have set up VAT with 17.5% for all EU countries.

I have added Guernsey with a postcode of GY* and a Rate of 0 but it still applies VAT., likewise Jersey, to my tax table and then set up a tax rule for Channel Islands.

Both of these still add UK VAT.

I think the problem is that they won’t override the default UK rate where postcode is *.

The rule seems to say that it will either add or compound but not override.

I also find that I don’t need to add a tax rate for every country. VAT is not applied to countries for whom there is not rate / rule.

 
Magento Community Magento Community
Magento Community
Magento Community
 
talmor
Member
 
Avatar
Total Posts:  43
Joined:  2008-11-14
Israel
 

I imported the DB table as discussed in this thread with the attached file for EU ( non business ) tax rates.

 
Magento Community Magento Community
Magento Community
Magento Community
 
ictconnection
Jr. Member
 
Total Posts:  17
Joined:  2010-11-20
 

Hello,

I also have imported the zone filea and it works fine for the products.
But how do i set the shipping rate to exclude vat for shipments outside the EU zone.
I use maxtrix rate shipping extension for shipment.

Shipment within the eu is with vat.
Shipment out of the eu is vat free.

Regards,

Martijn

 
Magento Community Magento Community
Magento Community
Magento Community
 
J_T_
Moderator
 
Avatar
Total Posts:  1961
Joined:  2008-08-07
London-ish, UK
 

Can all of you please post some comments of support in this feature request?

http://www.magentocommerce.com/bug-tracking/issue?issue=10677

It won’t apply to all of you but basically, us merchants who sell products at various rates of VAT, need to be able to apply various rates of VAT to the delivery fee we charge. With your comments “I need this too” it hopefully will register on their radar and be included for 1.5 RC3. Thanks!

 
Magento Community Magento Community
Magento Community
Magento Community
 
elfling
Enthusiast
 
Avatar
Total Posts:  901
Joined:  2008-10-21
 

Pretty sure that tax is charged on shipping regardless or whats being shipped.

So a 0% item would still have a 20% shipping tax because you\’re being charged to use a service, so it\’s actually VAT claimable.

 
Magento Community Magento Community
Magento Community
Magento Community
 
J_T_
Moderator
 
Avatar
Total Posts:  1961
Joined:  2008-08-07
London-ish, UK
 

No, that’s a common misconception, see the links provided there to see the HMRC ruling on it. Google results aplenty to confirm.

http://customs.hmrc.gov.uk/channelsPortalWebApp/channelsPortalWebApp.portal?_nfpb=true&_pageLabel=pageLibrary_ShowContent&id;=HMCE_CL_000114&propertyType;=document

See 2.3 “[...] there is a single supply for which the VAT liability is based on the liability of the goods being delivered. For example, any element of the price attributed to the doorstep delivery of milk and newspapers will also be zero rated. On the other hand any element attributed to the delivery of standard rated mail order goods will be standard rated.”

Explanation based on books, which get a 0% rate here in the UK:

http://www.booksellers.org.uk/Industry-Info/Industry-Reports/Financial---Commercial/VAT---Postage-and-Delivery-Charges.aspx

It does not matter whether the charge made for delivery is separately itemised or invoiced; in either case there is a single supply whose VAT liability depends on the nature of the goods. Therefore delivery charges for books, from either the publisher to the bookseller or the bookseller to his/her customer, are currently subject to VAT at the rate for books, ie zero.

More:

http://www.hmrc.gov.uk/vat/forms-rates/rates/goods-services.htm#7

“Postage, packing and delivery within the UK included in the sales contract but charged for separately, eg mail order” -> “the same rate as the goods being delivered or posted”

 
Magento Community Magento Community
Magento Community
Magento Community
 
MikeNivato
Jr. Member
 
Total Posts:  19
Joined:  2009-12-19
 

I’ve been reading true this topic and the rest of the forum but I still can find a step-by-step solution about what I need to do… I don’t want to buy the EU Vat module since we’re almost never going to use it.

I’ve figured this much out…

There are 2 tax “groups”

EU Business (VAT validated) / International Customer (tax exempt)
EU Enduser (standard tax)

Now my big question is how do I implement this for all european countries? Do I need to do that manually? And where do I do it? Can someone point me in the right direction?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Genevieve
Jr. Member
 
Avatar
Total Posts:  22
Joined:  2010-05-12
Perth, Australia
 

Webshopapps have developed an extension for a client in Sweden which calculates tax(VAT) on shipping & handling, dependent on the tax rate of the contents in the cart. I\’m looking to add algorithms of calculation to cover the tax rules for other EU countries. I would really appreciate some feedback on requirements to meet the needs of UK VAT calculations, so I can bring this to market in some useful way for others.

For example:
*VAT on shipping calculated against the highest VAT rate in the cart
*Calculated using the rate applied to the largest value of items of a tax class in the cart
etc.

You can email sales@webshopapps.com with any requirements or repost on this forum.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Genevieve
Jr. Member
 
Avatar
Total Posts:  22
Joined:  2010-05-12
Perth, Australia
 

Just wanted to update subscribers to this issue that we’ve release the extension as ‘Tax on Shipping’, available from our website. It allows you to charge tax on shipping using highest tax rate in the cart, flat tax rate applied only when taxable items are in the cart, or tax a proportion of the shipping charges (calculated on weight).

Please see our website for more details and let me know if any scenarios are not covered by the above.
http://www.webshopapps.com/shipping-extensions/non-shipping-1/tax-on-shipping.html

Genevieve

 
Magento Community Magento Community
Magento Community
Magento Community
 
MageKing
Member
 
Avatar
Total Posts:  54
Joined:  2010-08-28
Ahmedabad
 

My catalog prices are including VAT.
My store was facing issue of rounding up at Google checkout.

Google checkout was showing 1 penny different from order total at my Magento store.

After reading the rounding up policies at Google.

For U.S. merchants, Google Checkout uses banker’s rounding as its default policy. Banker’s rounding is the same as the traditional method of rounding numbers with one exception. In banker’s rounding, if the number to be rounded is followed by a five and no additional nonzero digits, the number is rounded to the nearest even number. The following examples demonstrate the expected behavior in banker’s rounding:

12.435 would be rounded up to 12.44. The number to be rounded (3) is rounded to the nearest even digit (4).
12.445 would be rounded down to 12.44. The number to be rounded (4) is not rounded because it is an even digit.
12.44501 would be rounded up to 12.45. The number to be rounded (4) is followed by a five and by additional nonzero digits.

For U.S. merchants, Google calculates the total amount of tax for all of the items in an order and then uses banker’s rounding to round that amount to two decimal places.

For U.K. merchants, Google Checkout uses the HALF_UP rounding mode. For this rounding mode, if the number being rounded is followed by a five and no additional nonzero digits, then that number is rounded up. All other numbers are rounded to the nearest digit. The following examples demonstrate the expected behavior for HALF_UP rounding:

12.434 would be rounded down to 12.43.
12.435 would be rounded up to 12.44.
12.445 would be rounded up to 12.45.
12.456 would be rounded up to 12.46.

For U.K. merchants, Google calculates tax for each item in the order and then uses HALF_UP rounding for each calculated amount.

I have overridden Google checkout module’s request structure.
I had overridden _getItemsXml method from /app/code/core/Mage/GoogleCheckout/Model/Api/Xml/Checkout.php and change it’s body to below code and problem solved.

Please let me know, if you have better solution.

protected function _getItemsXml()
    
{
        $xml 
= <<<EOT
        <items>

EOT;
        
$weightUnit 'LB';
        foreach (
$this->getQuote()->getAllItems() as $item{
            
if ($item->getParentItem()) {
                
continue;
            
}
            $taxClass 
= ($item->getTaxClassId() == 'none' $item->getTaxClassId());
            
$weight = (float) $item->getWeight();

            
$itemBaseCalculatedPrice $item->getBaseCalculationPrice(); //round($item->getBaseCalculationPrice(), 2);
            
if(is_float($itemBaseCalculatedPrice))
                
$itemBaseCalculatedPrice $itemBaseCalculatedPrice 0.000001;
            
$xml .= <<<EOT
            <item>
                <merchant-item-id><![CDATA[{
$item->getSku()}]]></merchant-item-id>
                <item-name><![CDATA[{
$item->getName()}]]></item-name>
                <item-description><![CDATA[{
$item->getDescription()}]]></item-description>
                <unit-price currency="{
$this->getCurrency()}">{$itemBaseCalculatedPrice}</unit-price>
                <quantity>{
$item->getQty()}</quantity>
                <item-weight unit="{
$weightUnit}" value="{$weight}" />
                <tax-table-selector>{
$taxClass}</tax-table-selector>
                {
$this->_getDigitalContentXml($item->getIsVirtual())}
                {
$this->_getMerchantPrivateItemDataXml($item)}
            </item>

EOT;
        
}

        $shippingDiscount 
= (float)$this->getQuote()->getShippingAddress()->getBaseDiscountAmount();
        
$billingDiscount = (float)$this->getQuote()->getBillingAddress()->getBaseDiscountAmount();
        if (
$discount $billingDiscount $shippingDiscount{
            $xml 
.= <<<EOT
            <item>
                <merchant-item-id>_INTERNAL_DISCOUNT_</merchant-item-id>
                <item-name>{
$this->__('Cart Discount')}</item-name>
                <item-description>{
$this->__('Virtual item to reflect discount total')}</item-description>
                <unit-price currency="{
$this->getCurrency()}">{$discount}</unit-price>
                <quantity>1</quantity>
                <item-weight unit="{
$weightUnit}" value="0.00" />
                <tax-table-selector>none</tax-table-selector>
                {
$this->_getDigitalContentXml($this->getQuote()->isVirtual())}
            </item>

EOT;
        
}
        $xml 
.= <<<EOT
        </items>
EOT;
        return 
$xml;
    
}
 
Magento Community Magento Community
Magento Community
Magento Community
 
davenurave
Jr. Member
 
Total Posts:  11
Joined:  2012-09-14
 

Thanks! I think your solution is good, so no need for a better one.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top