{"id":23480,"date":"2022-10-29T23:17:24","date_gmt":"2022-10-30T07:17:24","guid":{"rendered":"https:\/\/www.linquip.com\/blog\/?p=23480"},"modified":"2022-10-29T23:18:37","modified_gmt":"2022-10-30T07:18:37","slug":"how-to-validate-vat-numbers-from-your-customers","status":"publish","type":"post","link":"https:\/\/www.linquip.com\/blog\/how-to-validate-vat-numbers-from-your-customers\/","title":{"rendered":"How to validate VAT numbers from your customers"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.linquip.com\/blog\/how-to-validate-vat-numbers-from-your-customers\/#Introduction\" >Introduction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.linquip.com\/blog\/how-to-validate-vat-numbers-from-your-customers\/#Find_the_meaning_of_each_character_in_the_VAT_number\" >Find the meaning of each character in the VAT number.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.linquip.com\/blog\/how-to-validate-vat-numbers-from-your-customers\/#Use_this_simple_formula_to_validate_the_number\" >Use this simple formula to validate the number.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.linquip.com\/blog\/how-to-validate-vat-numbers-from-your-customers\/#Use_a_VAT_validation_Software\" >Use a VAT validation Software<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.linquip.com\/blog\/how-to-validate-vat-numbers-from-your-customers\/#Test_the_result_on_the_website_of_your_countrys_tax_office\" >Test the result on the website of your country&#8217;s tax office<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.linquip.com\/blog\/how-to-validate-vat-numbers-from-your-customers\/#Use_an_API_to_validate_numbers_from_all_EU_countries\" >Use an API\u00a0 to validate numbers from all EU countries.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.linquip.com\/blog\/how-to-validate-vat-numbers-from-your-customers\/#There_is_a_simple_algorithm_for_validating_VAT_numbers_for_each_country_and_a_good_API_will_do_it_for_you\" >There is a simple algorithm for validating VAT numbers for each country, and a good API will do it for you<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.linquip.com\/blog\/how-to-validate-vat-numbers-from-your-customers\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Introduction\"><\/span>Introduction<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/europa.eu\/youreurope\/business\/taxation\/vat\/vat-rules-rates\/index_en.htm\" target=\"_blank\" rel=\"noreferrer noopener\">VAT numbers<\/a> are used by many countries to identify businesses and individuals. They&#8217;re used for a variety of reasons, but mainly it&#8217;s so that governments can collect taxes on goods or services that are being sold in their countries. VAT numbers are based on a standardized format across EU nations and most non-EU European states as well. This means that they&#8217;re relatively easy to validate using simple algorithms, allowing you to avoid errors caused by incorrect or mistyped numbers.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Find_the_meaning_of_each_character_in_the_VAT_number\"><\/span>Find the meaning of each character in the VAT number.<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Using a table, you can find each character&#8217;s meaning in a VAT number. For example, the first character is always a letter, the second character is always a number, and so on. The fifth character can be either letter or number depending on whether it&#8217;s being used as a check digit or not.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Use_this_simple_formula_to_validate_the_number\"><\/span>Use this simple formula to validate the number.<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>To be sure that the number is correct, you can use this simple formula:<\/p>\n<ul>\n<li>Find the meaning of each character in the VAT number. Use this guide to help you. For example, if your customer&#8217;s VAT number has a &#8220;9&#8221; in it, it means they&#8217;re based in Austria, not Germany.<\/li>\n<li>Subtract &#8220;1&#8221; from the total number of characters (including spaces) in their VAT code. The result will be how many digits are left over after removing all letters from your customer&#8217;s VAT number\u2014in other words, how many numbers need to be added together to get &#8220;1&#8221; less than what was initially given?<\/li>\n<li>Add those remaining numbers until you get one digit less than what was initially given! This is done using another formula: &#8220;first digit plus the second digit equals the third digit.&#8221; So if your client gave you a number like 4-3-0, then adding 4+3+0 would provide 5, which makes sense because they said they were based out of London, which made me think immediately about London&#8217;s postal codes, which are structured just like this too!<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Use_a_VAT_validation_Software\"><\/span>Use a VAT validation Software<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>There are many <a href=\"https:\/\/vatcheckapi.com\/vat-validation-software\/\" target=\"_blank\" rel=\"noreferrer noopener\">software solutions for VAT number validation<\/a>. Some of them are free, and some of them are paid. You can use a free solution to get started and then upgrade when needed.<\/li>\n<li>The best way to determine which solution is right for your business is by researching the options and determining what kind of information you need from each one.<\/li>\n<li>A good rule of thumb is that if you have a small number of customers or products, it&#8217;s probably fine just using Google Sheets or Excel to manage your data because they&#8217;re both very easy-to-use programs that can handle basic spreadsheet functions like sorting and filtering data.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Test_the_result_on_the_website_of_your_countrys_tax_office\"><\/span>Test the result on the website of your country&#8217;s tax office<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Once you&#8217;ve tested your code and validation system, the next step is to try it on your country&#8217;s tax office website. You can do this by pasting your VAT number into one of their forms or entering it as if you were purchasing with a specific retailer. If the result matches what you expect, then congratulations! Your validation system works and can be used by customers to verify their VAT numbers.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Use_an_API_to_validate_numbers_from_all_EU_countries\"><\/span>Use an API\u00a0 to validate numbers from all EU countries.<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>An API is a programming interface that allows two applications to talk to each other. In the case of validating VAT numbers, we use an API from a third-party provider that lets us validate terms and conditions.<\/p>\n<p>It&#8217;s important to know that all businesses must have an <a href=\"https:\/\/vatcheckapi.com\/\" target=\"_blank\" rel=\"noopener\">API<\/a> key before they can start using the service. You have to contact them and request one before you can begin to validating numbers.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"There_is_a_simple_algorithm_for_validating_VAT_numbers_for_each_country_and_a_good_API_will_do_it_for_you\"><\/span>There is a simple algorithm for validating VAT numbers for each country, and a good API will do it for you<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>This is a simple algorithm for validating VAT numbers, and it will work across Europe. There are minor variations between countries in how the algorithm works, but the differences are small enough that your application can handle them automatically.<\/p>\n<p>The core of the validation process is a simple PHP script that compares two numbers: the customer&#8217;s VAT number (which you obtain from their payment details) and an internal ID that identifies your particular country&#8217;s tax office. Once you&#8217;ve got this script running on your site, any purchases made by customers with invalid VAT numbers will be flagged before they even reach your bank account\u2014and voila! You&#8217;ve just saved yourself a lot of time and money!<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The VAT number is an essential piece of information that you must obtain before proceeding with the transaction. It tells you whether or not your customer is registered for VAT and, if they are, what rate they should be taxed at. If there&#8217;s any doubt about this information, I recommend contacting them directly to confirm their status before proceeding with the sale.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction VAT numbers are used by many countries to identify businesses and individuals. They&#8217;re used for a variety of reasons, but mainly it&#8217;s so that governments can collect taxes on goods or services that are being sold in their countries. VAT numbers are based on a standardized format across EU nations and most non-EU European &#8230;<\/p>\n","protected":false},"author":1,"featured_media":23481,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","footnotes":""},"categories":[325],"tags":[341],"class_list":["post-23480","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sponsored","tag-sponsored"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.linquip.com\/blog\/wp-json\/wp\/v2\/posts\/23480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linquip.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linquip.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linquip.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linquip.com\/blog\/wp-json\/wp\/v2\/comments?post=23480"}],"version-history":[{"count":3,"href":"https:\/\/www.linquip.com\/blog\/wp-json\/wp\/v2\/posts\/23480\/revisions"}],"predecessor-version":[{"id":23484,"href":"https:\/\/www.linquip.com\/blog\/wp-json\/wp\/v2\/posts\/23480\/revisions\/23484"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.linquip.com\/blog\/wp-json\/wp\/v2\/media\/23481"}],"wp:attachment":[{"href":"https:\/\/www.linquip.com\/blog\/wp-json\/wp\/v2\/media?parent=23480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linquip.com\/blog\/wp-json\/wp\/v2\/categories?post=23480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linquip.com\/blog\/wp-json\/wp\/v2\/tags?post=23480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}