• Resolved DensitySK

    (@densitysk)


    Dear all,

    do you have any updates in plan to address issues around UK BREXIT and the signed deal?

    In particular it is required, that any EU business selling goods or services to UK based customers must collect the UK VAT at the point of sale and report it to HMRC

    HOWEVER there is an threshold of 135,- GBP

    That means that orders with value up to 135,- GBP UK VAT must be collected by the woocommerce shop

    For orders above 135,- GBP zero VAT is charged and it must be collected by the shipping company upon delivery to the UK customer (standard procedure for all shipments outside of EU).

    THE PROBLEM IS:

    In Woocommerce there is no option to set a limit to charge i.e. 20% VAT for orders up to 135,- GBP and zero VAT above that value.

    Especially problematic is, that the VAT record must be kept and submitted in GBP currency for HMRC reporting purposes. Hence Woocommerce stores that operate with EUR or any other currency must show or somehow keep a record of GBP versus main currency exchange rate, that was valid for that particular date when the order was placed.

    Since this is a VERY important change for all EU businesses, I believe that it should be implemented in the Woocommerce itself by default and not via som third party solutions.

    Source here:
    https://www.gov.uk/government/publications/changes-to-vat-treatment-of-overseas-goods-sold-to-customers-from-1-january-2021/changes-to-vat-treatment-of-overseas-goods-sold-to-customers-from-1-january-2021?dm_i=9BK,76QJE,WE5NMK,T48J5,1

    Regards
    Michal

Viewing 15 replies - 1 through 15 (of 18 total)
  • Plugin Support Shaun Kuschel a11n

    (@shaunkuschel)

    Automattic Happiness Engineer

    Hey @densitysk,

    Yeah, our team has been trying to do our best to keep up with what is changing and we’ve put together some resources with more info to help store owners here:

    https://docs.woocommerce.com/document/ready-for-brexit-a-guide-for-woocommerce-store-owners/

    Thread Starter DensitySK

    (@densitysk)

    HI Shaun,

    unfortunately that guide is focused more on businesses that are based in the UK.

    It is not accurate for businesses registered in EU who sell to UK customers – i.e. there is no discretion of how an EU business can i.e. define a VAT rate for a certain order value ONLY for a specific country – in this case UK. If I sell to all EU countries, than naturally I must set this specific VAT rate for a certain order value ONLY for UK and no other country

    Furthermore it completely misses the fact, that EU businesses usually operate in EUR currency. Hence something should be done on how the EUR to GBP exchange rate moves i.e. on a daily basis from ECB bank which can be done via free feed provided by ECB

    UK HMRC has a 135 GBP threshold up to which the WEBSITE owner must collect the UK vat and keep a record of it.

    If the store is operating in EUR currency, the 135 GBP on one day is valued at different EUR rate than in other days due to exchange rate.

    For example on one day the 135 GBP represents 149 EUR and on the other it might represent 151 EUR. Since my website charges in EUR, and probably the snippet for the variable VAT rate for UK orders would only include a static EUR value, the website owner might and eventually will get into trouble with tax office for incorrectly reported VAT reports.

    I know that this is a very specific issue, but BREXIT all together is a very weird issue for all woocommerce operated websites and since most of the changes must be implemented on the Website level already, Woocommerce should look into this further.

    The very same problem that I have will definitely be experienced by hunderds of Woocommerce websites across Europe

    Regards
    Michal

    Plugin Support Shaun Kuschel a11n

    (@shaunkuschel)

    Automattic Happiness Engineer

    Hey Michal,

    Thanks for following up and clarifying that. The post on the WooCommerce developer’s blog has some more applicable info, but like you mentioned it’s pretty complex:

    https://developer.woocommerce.com/2021/01/06/brexit-and-changes-to-woocommerce-core-code/

    At the bottom of that post is a link to the WooCommerce Community Slack group, so I’d suggest getting involved in the #developers channel discussion to make sure the situation is being addressed.

    We’ve not heard back from you in a while, so I’m marking this thread as resolved. If you have other questions, please feel free to open a new topic.

    Hello,
    I have similar problem as @densitysk . I have multi currency store and is technical problem how to generate charge of 20% UK tax for transactions with total value of items to 135 GBP and above that without that tax.
    Could someone public any snipped code for that?

    I figured out how to do this, from reading a whole lot of Stack Exchange posts about a variety of related topics, and trying a whole bunch of things that didn’t work, so I thought I’d post my code here since it does seem to work correctly.

    First thing is to set up a tax in the Standard Rates part of the Woocommerce Tax tab. Make a row with the country code “GB” (Great Britain) with a tax rate of 20%. If you did nothing else, then this would collect the 20% VAT on all shipments to GB.

    Now, you need code that’s going to zero-out the tax rate if the cart subtotal is >= 135£.

    I followed WooCommerce’s recommendation and installed the Code Snippets plugin. Once you do that, then you need to create a new snippet with the code below; set it to “Only run in front end” from the radio buttons beneath the editor window. Save it with a useful name, and add some comments explaining what the point of this is, to make life better for your future self.

    Note that the code below differs in significant ways from what is on the Woocommerce website (here and here, which — annoyingly and astoundingly — do not work, and their stated modification of “change 110 to 135” is simplistic, has the wrong comparison operator, and doesn’t account for currency exchange between the US & UK — that is, if your store works in US$).

    I hope other people find this helpful for the Brexit VAT 135£ zero rate problem, and that you don’t have to waste an entire afternoon figuring this out from scratch. CAVEAT: I’m not a PHP expert, and probably can’t answer anyone’s questions; I’m really good at modifying other people’s code and cobbling together other people’s solutions, but that’s about where my expertise ends. I’m sharing this because it seems to work and I’m frankly pissed that Woocommerce’s official solution is pathetic.

    function apply_uk_zero_tax_rate( $cart ) {
    	
    	//UK VAT limit is 135 GBP; as of 2/11/2021, that's $186.25
    	$VAT_limit_UK = 186.25;
    	
    	// get customer shipping location
    	$customer_country = WC()->customer->get_shipping_country();
    	
    	// Loop through cart items to get cart subtotal
    	foreach ( $cart->get_cart() as $cart_item ) {
            	$subtotal += $cart_item['line_total'];
    	}
    	
    	// Now check: If country <> GB (Great Britain), OR
            // country = GB & cart subtotal less than 135£, THEN
    	// do nothing & keep standard tax rates
    	if ( ($customer_country != 'GB') || ( ($customer_country == 'GB') && ($subtotal < $VAT_limit_UK) ) )
            	return;
    	
    	// Otherwise, loop through cart & set each item's tax rate to zero rate
    	// (Note use of slug 'zero-rate', instead of name 'Zero rate')
    	foreach ( $cart->get_cart() as $cart_item ) {
           		$cart_item['data']->set_tax_class( 'zero-rate' );
    	}	
    }
    add_filter( 'woocommerce_before_calculate_totals', 'apply_uk_zero_tax_rate', 10, 1 );

    Hello,
    Thank you very much for your response. Your code is very good and helpful but I have found some additional issue. I see that UK government have created rules which are so difficult as possible.
    The problem is the VAT tax for shipping. Are you sure that VAT tax for shipping is calculated correctly?

    Hello @biglesliep , thanks for your help!
    Indeed it’s annoying that the WooCommerce crew seems not to care about this problem. Your code snippet is very helpful, only we still have to manually adjust the treshold due to changing exchange rates. SO there’s still a need to solve that problem within the Woocommerce core.

    @shaunkuschel , while you define yourself as Happiness engeneer, in fact the link you gave only causes more problems and keeps users unhappy.

    @jarwu , you can at every line in the tax rates section uncheck the box for calculation the tax on shipping costs. By unckecking the line works correctly according to HMRC, I think.

    Hello,
    @biglesliep , very good code. Every think works very well, I am happy ?? I agree solving problem with calculation tax from shipping cost, is necessary uncheck box in WC tax settings in line with tax values for GB.

    Kind regards

    I am really glad that I could be of help here.

    I agree that the exchange rate is still a big problem. I have, for this client, set myself a reminder every 3 months to update the exchange rate (they have a relatively low volume of orders). There’s probably some nifty code somewhere that could solve this; I’ll see if I can find anything to incorporate into the code I posted earlier.

    Hi,
    You can’t update exchange rate. It works. I you use https://wpwham.com/documentation/currency-switcher-for-woocommerce/ plug-in.
    I have set up $VAT_limit_UK = 135;
    The only condition is that customer should have chosen GBP for right calculations.
    If customer is from GB and he use EUR, the condition of 135GBP value will be also used for changing tax group by this algorithm.
    Maybe you have idea how to additionally limit that algorithm to GBP currency only?
    I think also that recalculation condition <=135 GBP to all possible currencies is not necessary. Customers from UK will want to buy in GBP and word press change this currency automatically base on IP geo localisation.

    Hi @biglesliep thanks for you code!
    I’ve been searching around the web for a solution to this question since December and only now I’ve came to this thread.
    Since we ship to the UK from within the EU, I went for @jarwu ‘s solution and used the currency switcher plug in to convert Eur to GBP and set the $VAT_limit_Uk = 135.
    It all went fine but I’ve encountered an issue:
    It only takes 2 of our products to reach the 135 GBP limit; as so, and when I add 2 products with the same variation or same price ( for instance 2X 77 GBP products), the rule does not work and 0% VAT rule doesn’t come up.
    Only when I update to 3 products 3×77 GBP, the VAT disappears; when I update the cart again to 2X 77 GBP, the VAT rule applies correctly and VAT for UK is 0%.
    I hope I’m not being too confusing… Can you help? ??

    Thanks again @biglesliep and @jarwu for your help, it’s good to know that there’s help out there when woo can’t solve this up for themselves.
    Cheers,
    Luis

    • This reply was modified 3 years, 9 months ago by lucius777.

    Hi @lucius777,
    Maybe your question is not directly for me, but I’m trying to help.
    Maybe you should to check your configuration in tax in WC. I have in store product with the price after recalculation to GBP about 77 GBP net price, and it is calculated correctly. I have tested it with values 3, 10, 50, 100, … GBP and it works.

    Hi @jarwu , well it was for anyone that could help! I’ve set a 20% Brexit Vat at WC, the 77 GBP product is calculated correctly at 77 + 20% GBP.
    The problem is when I add two items of the same product: 2x 77 = 154 GBP which way above 135 GBP, so the rule should be applied; the cart shows 154 GBP + 20 % Brexit VAT when it should show only 154 GBP. When I add another item (the 3rd one of the same item), the rule applies showing VAT exemption.
    I then withdraw the 3rd one and the rule is OK as it should be.

    When I try it with different product with different prices the rule is also OK.

    I have the currency exchange rate update set to every minute, could it influence the cart in any way this?

    Thanks for your feedback

    • This reply was modified 3 years, 9 months ago by lucius777.

    Hi,
    I have product with similar price and in my shop it works OK.
    Could you explain in more details “When I try it with different product with different prices the rule is also OK”?

    I use update rates twice a day but I suppose it haven’t an influence.

Viewing 15 replies - 1 through 15 (of 18 total)
  • The topic ‘BREXIT UK VAT collection’ is closed to new replies.