Page 2 of 4 FirstFirst 1234 LastLast
Results 11 to 20 of 36
  1. #11
    Join Date
    Mar 2011
    Posts
    78
    Plugin Contributions
    0

    Default Re: Brexit and VAT

    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?

  2. #12
    Join Date
    Jan 2004
    Posts
    66,364
    Blog Entries
    7
    Plugin Contributions
    274

    Default Re: BREXIT: Set 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.

  3. #13
    Join Date
    Aug 2009
    Location
    North Idaho, USA
    Posts
    2,008
    Plugin Contributions
    1

    Default Re: BREXIT: Set 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

  4. #14
    Join Date
    Jan 2004
    Posts
    66,364
    Blog Entries
    7
    Plugin Contributions
    274

    Default Re: BREXIT: Set minimum order requirement for UK addresses

    Quote Originally Posted by RixStix View Post
    Does this just prevent taxes from being charged on order amounts above the threshold?
    Correct.

    Quote Originally Posted by RixStix View Post
    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.

    Quote Originally Posted by RixStix View Post
    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).

    Quote Originally Posted by RixStix View Post
    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.

  5. #15
    Join Date
    Jan 2004
    Posts
    66,364
    Blog Entries
    7
    Plugin Contributions
    274

    Default Re: BREXIT: Set 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.

  6. #16
    Join Date
    Aug 2009
    Location
    North Idaho, USA
    Posts
    2,008
    Plugin Contributions
    1

    Default Re: BREXIT: Set 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

  7. #17
    Join Date
    Mar 2011
    Posts
    78
    Plugin Contributions
    0

    Default Re: BREXIT: Set 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.

  8. #18
    Join Date
    Jan 2004
    Posts
    66,364
    Blog Entries
    7
    Plugin Contributions
    274

    Default Re: BREXIT: Set minimum order requirement for UK addresses

    Quote Originally Posted by gsh68 View Post
    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.

  9. #19
    Join Date
    Apr 2009
    Posts
    416
    Plugin Contributions
    2

    Default Re: BREXIT: Set 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
    PHP Code:
      /**
         * 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\

  10. #20
    Join Date
    Aug 2009
    Location
    North Idaho, USA
    Posts
    2,008
    Plugin Contributions
    1

    Default Re: BREXIT: Set 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
    Code:
    Zone Description:  [135:GBP:Deny]
    by removing the eny and the error goes away.

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

    Create/Insert Zone Definition:
    Zone Name: UK-Brexit
    Zone Description: [135:GBPeny]
    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

 

 
Page 2 of 4 FirstFirst 1234 LastLast

Similar Threads

  1. v151 including shipping costs to order total for VAT calculation and incorrect VAT
    By McLovin in forum Currencies & Sales Taxes, VAT, GST, etc.
    Replies: 1
    Last Post: 9 Nov 2014, 12:31 PM
  2. Setting minimum order for check/money order only
    By coldspag in forum Managing Customers and Orders
    Replies: 0
    Last Post: 26 Nov 2008, 02:18 PM
  3. VAT number requirement for customers
    By Janneman664 in forum Managing Customers and Orders
    Replies: 3
    Last Post: 13 Sep 2007, 11:00 AM
  4. Minimum purchase requirement for Discount Group
    By MichellyAqua12 in forum Discounts/Coupons, Gift Certificates, Newsletters, Ads
    Replies: 0
    Last Post: 14 Mar 2007, 08:30 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg
Zen-Cart, Internet Selling Services, Klamath Falls, OR