Forums / Currencies & Sales Taxes, VAT, GST, etc. / Brexit, VAT, minimum order requirement for UK addresses?

Brexit, VAT, minimum order requirement for UK addresses?

Views: 14,974

Results 1 to 20 of 36
15 Dec 2020, 4:02 PM
#1
rixstix avatar

rixstix

Totally Zenned

Join Date:
Aug 2009
Location:
North Idaho, USA
Posts:
2,015
Plugin Contributions:
0

Brexit, VAT, minimum order requirement for UK addresses?

zc 156c
php 7.3.25

Searches didn't yield any recent results of any built-in features for being able to set a mimimum order for addresses in the UK to satisfy Brexit requirements for shipments to the UK?

AFAIK:
Effective 11pm 12/31/2020
Order total of product value as shipped (including product discounts, if any) but not including shipping, insurance, etc
Order value based upon current currency exchange for 135 GBP

Other than disabling shipments to the UK entirely, are their any work-around suggestions that utilize existing built-in features?

Rick
RixStix (dot) com
aka: ChainWeavers (dot) com

17 Dec 2020, 5:22 PM
#3
rixstix avatar

rixstix

Totally Zenned

Join Date:
Aug 2009
Location:
North Idaho, USA
Posts:
2,015
Plugin Contributions:
0

Re: Brexit, VAT, minimum order requirement for UK addresses?

Thank you. I had read that, or similar, info. I was looking for a way within my zen-cart site (without customizations to remember to fix on every software update) to set a minimum order amount for orders destined for a UK shipping address to prevent all the 'stuff' required of sellers for orders less than £135. Otherwise, we will just disable the UK using the countries list.

From what I read, orders > £135, are handled just as they are now. VAT, Customs, etc collected at the time of delivery.
Orders < £135, require the seller to take care of paperwork, tax collection, customs collection, documents using a specified format attached to package and payments by seller to the UK tax collector monthly.

This is the first case where I have seen the minimum threshold exemption removed from an onerous procedure for micro-business.

Rick
RixStix (dot) com
aka: ChainWeavers (dot) com

17 Dec 2020, 8:04 PM
#4
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,515
Plugin Contributions:
176

Re: Brexit, VAT, minimum order requirement for UK addresses?

No, there's not currently any built-in way to disable all shipping methods based on order-value.
In fact, doing it "generically" is quite complex. Doing it for a specific shipping module is a possibility, but requires coding for zone-detection and amounts and currency exchange and so on.

EDIT: See my post below for a working solution ...

.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole

Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

17 Dec 2020, 8:26 PM
#5
rixstix avatar

rixstix

Totally Zenned

Join Date:
Aug 2009
Location:
North Idaho, USA
Posts:
2,015
Plugin Contributions:
0

Re: Brexit, VAT, minimum order requirement for UK addresses?

TNX DrByte,

That's what I needed to hear and we will just tell the few UK customers to ask for intervention on a case by case basis since Brexit rules are too onerous for small business to create a method for automated compliance.

Rick
RixStix (dot) com
aka: ChainWeavers (dot) com

17 Dec 2020, 8:44 PM
#6
torvista avatar

torvista

Totally Zenned

Join Date:
Aug 2007
Location:
Gijón, Asturias, Spain
Posts:
2,876
Plugin Contributions:
7

Re: Brexit, VAT, minimum order requirement for UK addresses?

Without trying at all, no doubt Advanced Shipper can do this, but I certainly will not be making the slightest effort to try.
I will be angry enough dealing with the import of goods from the UK. Idiots.
So, the UK is off my list of shipping countries and I'll be sticking to more convenient, sensible countries like New Zealand.

Steve
github.com/torvista: BackupMySQL, Structured Data, Multiple Copy-Move-Delete, Google reCaptcha, Image Checker, Spanish Language Pack and more...

18 Dec 2020, 3:58 PM
#7
rixstix avatar

rixstix

Totally Zenned

Join Date:
Aug 2009
Location:
North Idaho, USA
Posts:
2,015
Plugin Contributions:
0

Re: Brexit, VAT, minimum order requirement for UK addresses?

TNX Steve,

If our UK sales pick up to a point where it makes sense to allow regular orders, I'll take a look.

I wanted to make sure that I didn't miss something that was built-in.

Rick
RixStix (dot) com
aka: ChainWeavers (dot) com

30 Dec 2020, 9:34 PM
#8
bones avatar

bones

New Zenner

Join Date:
Jan 2008
Posts:
5
Plugin Contributions:
0

Re: Brexit, VAT, minimum order requirement for UK addresses?

torvista:

I will be angry enough dealing with the import of goods from the UK. Idiots.
So, the UK is off my list of shipping countries and I'll be sticking to more convenient, sensible countries like New Zealand.

I'm in the UK and I'm no fan of Brexit either :(

Unfortunately the UK VAT collection by sellers for orders under 135 GBP is just the tip if the iceberg. The EU is also implementing the same idea from 1st July 2021 (it was going to be 1st January as well, but now delayed!), see https://www.avalara.com/vatlive/en/vat-news/eu-2021-e-commerce-vat-package.html

This is even more complex than the UK as I understand it, as for low value sales (< 150 EUR), the non-EU seller is required to collect the VAT due appropriate to each of the 27 countries (there's 80 or so rates in all across different products). IIRC, Norway is also looking at something similar (Norway is not in the EU VAT area).

So I'm guessing there's no modules (yet) to handle this type of thing? i.e. depending on the cart total and shipping destination, apply applicable in country VAT rates and total it up. Is this just some sort of orders_total module, but ideally each displayed product would display the with-VAT price too?

While my details of the UK setup is as hazy as most peoples (even at this stage in the day), it may well be the case that any package imported without the registered
seller VAT number will just be charged VAT and tariff as normal by the carrier/post system - this will be the default for the EU system and simply has the disadvantage that the shipment is delayed while the fee is collected and may additional incur a handling fee as per > 150 EUR items do in any case.

31 Dec 2020, 11:25 AM
#9
torvista avatar

torvista

Totally Zenned

Join Date:
Aug 2007
Location:
Gijón, Asturias, Spain
Posts:
2,876
Plugin Contributions:
7

Re: Brexit, VAT, minimum order requirement for UK addresses?

@Bones
This is a different issue and should be discussed in a different thread..if it is an issue for Zen Cart at all?
For us ZC is one of several sales channels, so this VAT declaration is something is something to be extracted from an ERP/accounting software. Maybe users who use ZC exclusively will need an export/report summary....not a big deal.

The subject of this thread may change further, now that there is a "deal" (sic).

Steve
github.com/torvista: BackupMySQL, Structured Data, Multiple Copy-Move-Delete, Google reCaptcha, Image Checker, Spanish Language Pack and more...

12 Jan 2021, 4:35 AM
#10
northfur avatar

northfur

New Zenner

Join Date:
Jan 2015
Location:
On, Canada
Posts:
40
Plugin Contributions:
0

Re: Brexit, VAT, minimum order requirement for UK addresses?

I'm in Canada. ZC 1.5.4

So while I'm waiting for my VAT number/approval so I can continue to sell things to the UK and be compliant, (I've currently disabled the UK) I'm having a hard time with setting up a way to collect VAT.

Now, I've created a zone, tax class and tax rate of 20%. That's not a problem.

The part that I need help with is the 135 GBP cutoff. The new Brexit rules are that any sales under 135 GBP need to have VAT collected at the point of sale. Above that 135 GBP, and I no longer need to collect VAT and it will be collected on their end at importation through Royal Mail.

So where would I be able to implement such a rule?
If the order total (not including shipping) is under 135 GBP, apply VAT during checkout. If the order total (not including shipping) is above 135 GBP, do not apply VAT during checkout.

6 Feb 2021, 9:44 PM
#11
gsh68 avatar

gsh68

Zen Follower

Join Date:
Mar 2011
Posts:
103
Plugin Contributions:
0

Re: Brexit, VAT, minimum order requirement for UK addresses?

I'm surprised there isn't more interest in this as in July the exact same rules will be enforced for all EU sales as well with €150 limit.
As a UK based business I was going to ask the same thing for EU sales.
Is this achievable?

10 Feb 2021, 5:48 AM
#12
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,515
Plugin Contributions:
176

Re: Brexit, VAT, minimum order requirement for UK addresses?

I think I've found a way to do it, with an Observer class and a special "description" pattern on the Zone Definition: [999:ZZZ]

  1. Create normal Tax Rates and Tax Classes and Zone Definitions
  2. In the Zone Definition (Geo Zone) for the affected country, add the pattern to the description
    eg: for UK, if the threshold is 135 GBP, then the description might read: "UK VAT below threshold of [135:GBP]"
  3. Ensure you have a GBP currency, and Update Exchange Rates regularly.

Drop the attached file into /includes/classes/observers/auto.max_taxable_threshold.php

Should work on v1.5.6 and v1.5.7

EDIT: See updated attachment in later post below.

.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole

Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

10 Feb 2021, 5:43 PM
#13
rixstix avatar

rixstix

Totally Zenned

Join Date:
Aug 2009
Location:
North Idaho, USA
Posts:
2,015
Plugin Contributions:
0

Re: Brexit, VAT, minimum order requirement for UK addresses?

TNX for taking the time to look at this.

Questions ( I'm sorry if I missed the answer in the code comments )

Does this just prevent taxes from being charged on order amounts above the threshold?
and not disallow orders below the minimum threshold?

or does it allow orders below the minimum threshold to be placed?

Does it require the customer to change currency or does currency conversions apply? ie: allow order in USD even if the GBP > threshold (##£135)

In my specific case for the UK Brexit example, I have no desire or intent of creating any UK VAT account, record keeping, reporting, etc as required for orders below £135 and refusing all order placement below that amount. I have no problem operating 'business as usual' for orders above £135. I don't expect you to spend much, if any, time on my account.

Rick
RixStix (dot) com
aka: ChainWeavers (dot) com

10 Feb 2021, 7:58 PM
#14
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,515
Plugin Contributions:
176

Re: Brexit, VAT, minimum order requirement for UK addresses?

RixStix:

Does this just prevent taxes from being charged on order amounts above the threshold?
Correct.

RixStix:

and not disallow orders below the minimum threshold?

or does it allow orders below the minimum threshold to be placed?
It doesn't restrict orders from being placed.

RixStix:

Does it require the customer to change currency or does currency conversions apply? ie: allow order in USD even if the GBP > threshold (##£135)
It auto-determines whether the amount in the cart is over the specified threshold after doing currency-conversions, so that it doesn't matter what currency the customer is shopping in. This does of course depend on your store being set up with that currency available (so that it can do the conversion) and that you regularly update the exchange rates. The side-effect of having the currencies available is that the customer "could" shop in those other currencies if you provide them a means of switching between currencies (such as with the currencies sidebox).

RixStix:

In my specific case for the UK Brexit example, I have no desire or intent of creating any UK VAT account, record keeping, reporting, etc as required for orders below £135 and refusing all order placement below that amount. I have no problem operating 'business as usual' for orders above £135.
In its current state, this module does NOT "prevent" orders from being placed. It merely skips charging VAT if the threshold is met.

.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole

Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

10 Feb 2021, 11:27 PM
#15
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,515
Plugin Contributions:
176

Re: Brexit, VAT, minimum order requirement for UK addresses?

Update:

This edition lets you deny checkout if the customer hasn't sufficient total in their cart to meet the threshold.

Setting the Zone Definition's description to [135:GBP:Deny] would require them to add at least 135 GBP value to their cart to allow checkout (or change their address to another zone for which you have no threshold set).
Again, when you keep your cart's exchange rates current it will automatically manage doing its calculations based on the currency described in the threshold regardless of the customer's current "shopping" currency.

EDIT: See updated version on 2021-03-30 post below...

.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole

Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

11 Feb 2021, 6:37 PM
#16
rixstix avatar

rixstix

Totally Zenned

Join Date:
Aug 2009
Location:
North Idaho, USA
Posts:
2,015
Plugin Contributions:
0

Re: Brexit, VAT, minimum order requirement for UK addresses?

TNX DrByte,

Works exactly as expected.
Have a cup of coffee, donut, adult beverage on me.

Rick
RixStix (dot) com
aka: ChainWeavers (dot) com

11 Feb 2021, 8:48 PM
#17
gsh68 avatar

gsh68

Zen Follower

Join Date:
Mar 2011
Posts:
103
Plugin Contributions:
0

Re: Brexit, VAT, minimum order requirement for UK addresses?

Thanks for this. How would it differ in my situation as I only have GBP as a currency and will adjust the GBP equivalent to the euro tax threshold manually every month.

11 Feb 2021, 9:19 PM
#18
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,515
Plugin Contributions:
176

Re: Brexit, VAT, minimum order requirement for UK addresses?

gsh68:

Thanks for this. How would it differ in my situation as I only have GBP as a currency and will adjust the GBP equivalent to the euro tax threshold manually every month.
I suppose if you didn't want to add any other currencies you could just do the conversion by hand and specify [NNN:GBP] where NNN is the equivalent already converted to GBP.
One side-effect to that is that the alert message displayed to customers would say the price in GBP which may be confusing to them if they know about the rule in terms of the other currency.

.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole

Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

3 Mar 2021, 9:35 PM
#19
brittainmark avatar

brittainmark

Totally Zenned

Join Date:
Apr 2009
Posts:
509
Plugin Contributions:
1

Re: Brexit, VAT, minimum order requirement for UK addresses?

No sure If this is an issue or not. I have been testing this out in light of the EU tax changes and think I may have hit a problem. Once you have set your billing address there is no way that you can change it if your order is below the threshold and you have used deny to prevent order below the threshold.
The code returns you to the Shopping cart each time then if you go back to the check out even if you click the change address button on the shipping address you are returned to the shopping cart.

Like I said I am not sure that this is really an issue as most people would not change their billing address once they had started, just cause an issue when testing.
You can get around this by changing line 86 from zen_redirect(zen_href_link(FILENAME_SHOPPING_CART)); to zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT_ADDRESS));

This works fine for testing but probably not suitable for live, as it encourages changing the address.

I was also trying to make it work for the shopping basket instead of just at checkout to give the customer warning that their order did not meet the minimum order based on the delivery country used in the shipping estimator.
code I used was

  /**
     * NOTIFY_HEADER_END_SHOPPING_CART
     *
     * Here we check for "Deny" status.
     *
     */
    public function updateNotifyHeaderEndShoppingCart(&$class, $eventID)
    {
        global $messageStack, $current_page_base;
        global $order;
        
        $taxCountryId = $_REQUEST['zone_country_id'];
        $taxZoneId = 0;
        
        $data = $this->process($order, $taxCountryId, $taxZoneId);
        
        // if not set to Deny, we abort with a return
        if (!is_array($data) || $data['status'] !== 'DENY') {
            return;
        }
        
        $error_message = sprintf(TEXT_MINIMUM_ORDER_THRESHOLD_NOT_MET, $data['threshold'], $data['currency']) . '<br>';
        
        $_SESSION['valid_to_checkout'] = false;
        
        if (!in_array($current_page_base, ['shopping_cart', 'checkout_shipping', 'checkout_one'])) {
            $messageStack->add_session('header', $error_message, 'caution');
            zen_redirect(zen_href_link(FILENAME_SHOPPING_CART));
        }
        // else set message to current page instead of to session for redirect
        $messageStack->add('header', $error_message, 'caution');
    }

Mark Brittain
http:\innerlightcrystals.co.uk\sales\

27 Mar 2021, 7:00 PM
#20
rixstix avatar

rixstix

Totally Zenned

Join Date:
Aug 2009
Location:
North Idaho, USA
Posts:
2,015
Plugin Contributions:
0

Re: Brexit, VAT, minimum order requirement for UK addresses?

We have a hiccup today. Customer address is in the Netherlands and is receiving the Brexit ERROR during checkout.

zen-cart 1.5.6.c

I changed the ```
Zone Description: [135:GBP:Deny]


Based upon the To Use notes, my original steps were:

Create/Insert  Zone Definition:
Zone Name:  UK-Brexit
Zone Description:  [135:GBP:Deny]
Status:  yellow

UK-Brexit Zone Name details:
Country:  United Kingdom
Zone:  All Zones
 
Note:  Nothing done to the other 3 zone definitions:  Idaho, International, USA
 
Customer in the Netherlands logs into their account, adds items to cart and begins checkout process.
Error message
ERROR: Orders to this destination must be greater than £135
Currency selected:  USD
Currency is updated every 3rd day by CRON and was last updated 3/25/2021 @ 10am PDT

I cannot do anything to troubleshoot until after the affected customer places their order, which I expect sometime today.

Rick
RixStix (dot) com
aka: ChainWeavers (dot) com