• Resolved collinsavenue

    (@collinsavenue)


    So this is my issue:
    When from country Estonia I want to hide VAT because base country is Estonia (this works fine by unchecking the “Show EU VAT field when customer is located in base country” box).

    When from Finland, the VAT fields shows up even if customer is not a company.

    So I tried to hide the field so that the VAT field would only show up when something is typed into company field and it works but not when country is base (Estonia) country.
    Then it shows the VAT field for a moment and then hides. Check the video: https://www.loom.com/share/4c74cf63969949e0a1f02a3e107ac9c5

    Is it possible to add this option to future updates, that show VAT field only if company field is filled?

    add_action( 'woocommerce_after_checkout_form', 'bbloomer_conditionally_hide_show_checkout_field1', 9999 );
     
    function bbloomer_conditionally_hide_show_checkout_field1() {
      wc_enqueue_js( "
        jQuery('#billing_company').keyup(function() {
          if (jQuery(this).val().length == 0) {
            jQuery('#vat_number_field').hide();
          } else {
            jQuery('#vat_number_field').show();
          }
        }).keyup();
      ");
    }
    
Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author Diego

    (@daigo75)

    The EU VAT Assistant offers an option to make the VAT number required (not just visible) when a company name is entered. In the VAT number visibility settings, there are two options for that:
    – Required if customer enters a company name
    – Required if customer enters a company name (EU addresses only)

    I’m not aware of plans to introduce an option like “visible, but optional, if customer enters a company name“, but the code snippet from the following thread should be sufficient to implement that logic: https://www.ads-software.com/support/topic/only-show-vat-field-when-company-name-is-filled-in/#post-9702765

    • This reply was modified 4 years ago by Diego. Reason: Formatting
    Thread Starter collinsavenue

    (@collinsavenue)

    Cool, thanks. It works but once you enter something in the VAT field and click away, then then the field hides again.

    https://pastebin.com/zaw94DvU Can you test also using this code?

    Thread Starter collinsavenue

    (@collinsavenue)

    Nevermind, something from elementor is conflicting with it I guess, tried it on another site and works fine.

    Thread Starter collinsavenue

    (@collinsavenue)

    Actually I think the problem is that by default no country is selected in checkout and because I have reordered my fields the company field is higher with VAT (before country selection) and therefore it hides the field once I click away from the VAT field. If I select the country and then enter company name, the VAT field shows up and works fine.

    Plugin Author Diego

    (@daigo75)

    That could indeed be the issue. A country must always be selected at checkout, as that’s a key element that the scripts look for, to do their job. An easy way to address this issue is to set the “default customer location” to “geolocation” (or anything other than “no default location”, actually), at WooCommerce > Settings. That will pre-populate the country at checkout, ensuring that a value is always present.

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Show VAT field only if company field is filled and not at all when base country?’ is closed to new replies.