{"id":63394,"date":"2019-11-18T10:44:50","date_gmt":"2019-11-18T10:44:50","guid":{"rendered":"https:\/\/blog.hellotax.com\/blog\/?p=63394"},"modified":"2019-11-19T13:25:16","modified_gmt":"2019-11-19T13:25:16","slug":"vat-ids-for-all-dutch-sole-traders","status":"publish","type":"post","link":"https:\/\/hellotax.com\/blog\/vat-ids-for-all-dutch-sole-traders\/","title":{"rendered":"Netherlands January 2020: new VAT IDs for all Dutch sole traders"},"content":{"rendered":"\n<p>In order to separate the VAT number in Holland from the local social security number, new VAT numbers are assigned which are valid from next year. If you have customers or suppliers in Holland, you will have to adapt your records.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"536\" src=\"https:\/\/hellotax.com\/blog\/wp-content\/uploads\/2019\/11\/Holland-1024x536.jpg\" alt=\"\" class=\"wp-image-63404\" srcset=\"https:\/\/hellotax.com\/blog\/wp-content\/uploads\/2019\/11\/Holland-1024x536.jpg 1024w, https:\/\/hellotax.com\/blog\/wp-content\/uploads\/2019\/11\/Holland-300x157.jpg 300w, https:\/\/hellotax.com\/blog\/wp-content\/uploads\/2019\/11\/Holland-768x402.jpg 768w, https:\/\/hellotax.com\/blog\/wp-content\/uploads\/2019\/11\/Holland.jpg 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What\u2019s new?<\/h2>\n\n\n\n<p>In the Netherlands, the VAT identification numbers of sole traders are currently related to their <strong>Dutch personal social security number<\/strong>. <\/p>\n\n\n\n<p>To make handling the distribution of those numbers easier in the future, to simplify the required steps, and as the European Union General Data Protection Regulation does apply for the Dutch VAT numbers, the tax authorities will now issue <strong>new VAT registration numbers<\/strong>.<\/p>\n\n\n<div class=\"cta-shortcode cta-shortcode-embed\"><div class=\"cta-content\"><h3 class=\"font600\">Join our VAT community<\/h3><p>Discuss about VAT on Facebook with our <strong>+1500 members<\/strong> VAT community.<\/p>\n<\/div><div class=\"cta-embed-code\"><style>\r\n\t#_form_10_ ._form-thank-you { position:relative; left:0; right:0; text-align:center; font-size:18px; }\r\n<\/style>\r\n<form method=\"POST\" action=\"https:\/\/fbahero77513.activehosted.com\/proc.php\" id=\"_form_10_\" class=\"_form _form_10 _inline-form  _dark\" novalidate>\r\n  <input type=\"hidden\" name=\"u\" value=\"10\" \/>\r\n  <input type=\"hidden\" name=\"f\" value=\"10\" \/>\r\n  <input type=\"hidden\" name=\"s\" \/>\r\n  <input type=\"hidden\" name=\"c\" value=\"0\" \/>\r\n  <input type=\"hidden\" name=\"m\" value=\"0\" \/>\r\n  <input type=\"hidden\" name=\"act\" value=\"sub\" \/>\r\n  <input type=\"hidden\" name=\"v\" value=\"2\" \/>\r\n  <div class=\"_form-content\">\r\n    <div class=\"_form_element _x02957572 _full_width \" >\r\n      <label class=\"_form-label\">\r\n      <\/label>\r\n      <div class=\"_field-wrapper\">\r\n        <input type=\"text\" name=\"email\" placeholder=\"Enter your email\" required\/>\r\n      <\/div>\r\n    <\/div>\r\n    <div style=\"padding-top:10px;\" class=\"_button-wrapper _full_width\">\r\n      <button id=\"_form_10_submit\" class=\"_submit button button-secondary\" type=\"submit\">\r\n        Get your invitation\r\n      <\/button>\r\n    <\/div>\r\n    <div class=\"_clear-element\">\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"_form-thank-you\" style=\"display:none;\">\r\n  <\/div>\r\n<\/form><script type=\"text\/javascript\">\r\nwindow.cfields = [];\r\nwindow._show_thank_you = function(id, message, trackcmp_url) {\r\n  var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');\r\n  form.querySelector('._form-content').style.display = 'none';\r\n  thank_you.innerHTML = message;\r\n  thank_you.style.display = 'block';\r\n  if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\r\n    \/\/ Site tracking URL to use after inline form submission.\r\n    _load_script(trackcmp_url);\r\n  }\r\n  if (typeof window._form_callback !== 'undefined') window._form_callback(id);\r\n};\r\nwindow._show_error = function(id, message, html) {\r\n  var form = document.getElementById('_form_' + id + '_'), err = document.createElement('div'), button = form.querySelector('button'), old_error = form.querySelector('._form_error');\r\n  if (old_error) old_error.parentNode.removeChild(old_error);\r\n  err.innerHTML = message;\r\n  err.className = '_error-inner _form_error _no_arrow';\r\n  var wrapper = document.createElement('div');\r\n  wrapper.className = '_form-inner';\r\n  wrapper.appendChild(err);\r\n  button.parentNode.insertBefore(wrapper, button);\r\n  document.querySelector('[id^=\"_form\"][id$=\"_submit\"]').disabled = false;\r\n  if (html) {\r\n    var div = document.createElement('div');\r\n    div.className = '_error-html';\r\n    div.innerHTML = html;\r\n    err.appendChild(div);\r\n  }\r\n};\r\nwindow._load_script = function(url, callback) {\r\n    var head = document.querySelector('head'), script = document.createElement('script'), r = false;\r\n    script.type = 'text\/javascript';\r\n    script.charset = 'utf-8';\r\n    script.src = url;\r\n    if (callback) {\r\n      script.onload = script.onreadystatechange = function() {\r\n      if (!r && (!this.readyState || this.readyState == 'complete')) {\r\n        r = true;\r\n        callback();\r\n        }\r\n      };\r\n    }\r\n    head.appendChild(script);\r\n};\r\n(function() {\r\n  if (window.location.search.search(\"excludeform\") !== -1) return false;\r\n  var getCookie = function(name) {\r\n    var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));\r\n    return match ? match[2] : null;\r\n  }\r\n  var setCookie = function(name, value) {\r\n    var now = new Date();\r\n    var time = now.getTime();\r\n    var expireTime = time + 1000 * 60 * 60 * 24 * 365;\r\n    now.setTime(expireTime);\r\n    document.cookie = name + '=' + value + '; expires=' + now + ';path=\/';\r\n  }\r\n      var addEvent = function(element, event, func) {\r\n    if (element.addEventListener) {\r\n      element.addEventListener(event, func);\r\n    } else {\r\n      var oldFunc = element['on' + event];\r\n      element['on' + event] = function() {\r\n        oldFunc.apply(this, arguments);\r\n        func.apply(this, arguments);\r\n      };\r\n    }\r\n  }\r\n  var _removed = false;\r\n  var form_to_submit = document.getElementById('_form_10_');\r\n  var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;\r\n\r\n  var getUrlParam = function(name) {\r\n    var regexStr = '[\\?&]' + name + '=([^&#]*)';\r\n    var results = new RegExp(regexStr, 'i').exec(window.location.href);\r\n    return results != undefined ? decodeURIComponent(results[1]) : false;\r\n  };\r\n\r\n  for (var i = 0; i < allInputs.length; i++) {\r\n    var regexStr = \"field\\\\[(\\\\d+)\\\\]\";\r\n    var results = new RegExp(regexStr).exec(allInputs[i].name);\r\n    if (results != undefined) {\r\n      allInputs[i].dataset.name = window.cfields[results[1]];\r\n    } else {\r\n      allInputs[i].dataset.name = allInputs[i].name;\r\n    }\r\n    var fieldVal = getUrlParam(allInputs[i].dataset.name);\r\n\r\n    if (fieldVal) {\r\n      if (allInputs[i].type == \"radio\" || allInputs[i].type == \"checkbox\") {\r\n        if (allInputs[i].value == fieldVal) {\r\n          allInputs[i].checked = true;\r\n        }\r\n      } else {\r\n        allInputs[i].value = fieldVal;\r\n      }\r\n    }\r\n  }\r\n\r\n  var remove_tooltips = function() {\r\n    for (var i = 0; i < tooltips.length; i++) {\r\n      tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\r\n    }\r\n      tooltips = [];\r\n  };\r\n  var remove_tooltip = function(elem) {\r\n    for (var i = 0; i < tooltips.length; i++) {\r\n      if (tooltips[i].elem === elem) {\r\n        tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\r\n        tooltips.splice(i, 1);\r\n        return;\r\n      }\r\n    }\r\n  };\r\n  var create_tooltip = function(elem, text) {\r\n    var tooltip = document.createElement('div'), arrow = document.createElement('div'), inner = document.createElement('div'), new_tooltip = {};\r\n    if (elem.type != 'radio' && elem.type != 'checkbox') {\r\n      tooltip.className = '_error';\r\n      arrow.className = '_error-arrow';\r\n      inner.className = '_error-inner';\r\n      inner.innerHTML = text;\r\n      tooltip.appendChild(arrow);\r\n      tooltip.appendChild(inner);\r\n      elem.parentNode.appendChild(tooltip);\r\n    } else {\r\n      tooltip.className = '_error-inner _no_arrow';\r\n      tooltip.innerHTML = text;\r\n      elem.parentNode.insertBefore(tooltip, elem);\r\n      new_tooltip.no_arrow = true;\r\n    }\r\n    new_tooltip.tip = tooltip;\r\n    new_tooltip.elem = elem;\r\n    tooltips.push(new_tooltip);\r\n    return new_tooltip;\r\n  };\r\n  var resize_tooltip = function(tooltip) {\r\n    var rect = tooltip.elem.getBoundingClientRect();\r\n    var doc = document.documentElement, scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0));\r\n    if (scrollPosition < 40) {\r\n      tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _below';\r\n    } else {\r\n      tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _above';\r\n    }\r\n  };\r\n  var resize_tooltips = function() {\r\n    if (_removed) return;\r\n    for (var i = 0; i < tooltips.length; i++) {\r\n      if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);\r\n    }\r\n  };\r\n  var validate_field = function(elem, remove) {\r\n    var tooltip = null, value = elem.value, no_error = true;\r\n    remove ? remove_tooltip(elem) : false;\r\n    if (elem.type != 'checkbox') elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\r\n    if (elem.getAttribute('required') !== null) {\r\n      if (elem.type == 'radio' || (elem.type == 'checkbox' && \/any\/.test(elem.className))) {\r\n        var elems = form_to_submit.elements[elem.name];\r\n        if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {\r\n          no_error = elem.checked;\r\n        }\r\n        else {\r\n          no_error = false;\r\n          for (var i = 0; i < elems.length; i++) {\r\n            if (elems[i].checked) no_error = true;\r\n          }\r\n        }\r\n        if (!no_error) {\r\n          tooltip = create_tooltip(elem, \"Please select an option.\");\r\n        }\r\n      } else if (elem.type =='checkbox') {\r\n        var elems = form_to_submit.elements[elem.name], found = false, err = [];\r\n        no_error = true;\r\n        for (var i = 0; i < elems.length; i++) {\r\n          if (elems[i].getAttribute('required') === null) continue;\r\n          if (!found && elems[i] !== elem) return true;\r\n          found = true;\r\n          elems[i].className = elems[i].className.replace(\/ ?_has_error ?\/g, '');\r\n          if (!elems[i].checked) {\r\n            no_error = false;\r\n            elems[i].className = elems[i].className + ' _has_error';\r\n            err.push(\"Checking %s is required\".replace(\"%s\", elems[i].value));\r\n          }\r\n        }\r\n        if (!no_error) {\r\n          tooltip = create_tooltip(elem, err.join('<br\/>'));\r\n        }\r\n      } else if (elem.tagName == 'SELECT') {\r\n        var selected = true;\r\n        if (elem.multiple) {\r\n          selected = false;\r\n          for (var i = 0; i < elem.options.length; i++) {\r\n            if (elem.options[i].selected) {\r\n              selected = true;\r\n              break;\r\n            }\r\n          }\r\n        } else {\r\n          for (var i = 0; i < elem.options.length; i++) {\r\n            if (elem.options[i].selected && !elem.options[i].value) {\r\n              selected = false;\r\n            }\r\n          }\r\n        }\r\n        if (!selected) {\r\n          elem.className = elem.className + ' _has_error';\r\n          no_error = false;\r\n          tooltip = create_tooltip(elem, \"Please select an option.\");\r\n        }\r\n      } else if (value === undefined || value === null || value === '') {\r\n        elem.className = elem.className + ' _has_error';\r\n        no_error = false;\r\n        tooltip = create_tooltip(elem, \"This field is required.\");\r\n      }\r\n    }\r\n    if (no_error && elem.name == 'email') {\r\n      if (!value.match(\/^[\\+_a-z0-9-'&=]+(\\.[\\+_a-z0-9-']+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$\/i)) {\r\n        elem.className = elem.className + ' _has_error';\r\n        no_error = false;\r\n        tooltip = create_tooltip(elem, \"Enter a valid email address.\");\r\n      }\r\n    }\r\n    if (no_error && \/date_field\/.test(elem.className)) {\r\n      if (!value.match(\/^\\d\\d\\d\\d-\\d\\d-\\d\\d$\/)) {\r\n        elem.className = elem.className + ' _has_error';\r\n        no_error = false;\r\n        tooltip = create_tooltip(elem, \"Enter a valid date.\");\r\n      }\r\n    }\r\n    tooltip ? resize_tooltip(tooltip) : false;\r\n    return no_error;\r\n  };\r\n  var needs_validate = function(el) {\r\n    return el.name == 'email' || el.getAttribute('required') !== null;\r\n  };\r\n  var validate_form = function(e) {\r\n    var err = form_to_submit.querySelector('._form_error'), no_error = true;\r\n    if (!submitted) {\r\n      submitted = true;\r\n      for (var i = 0, len = allInputs.length; i < len; i++) {\r\n        var input = allInputs[i];\r\n        if (needs_validate(input)) {\r\n          if (input.type == 'text') {\r\n            addEvent(input, 'blur', function() {\r\n              this.value = this.value.trim();\r\n              validate_field(this, true);\r\n            });\r\n            addEvent(input, 'input', function() {\r\n              validate_field(this, true);\r\n            });\r\n          } else if (input.type == 'radio' || input.type == 'checkbox') {\r\n            (function(el) {\r\n              var radios = form_to_submit.elements[el.name];\r\n              for (var i = 0; i < radios.length; i++) {\r\n                addEvent(radios[i], 'click', function() {\r\n                  validate_field(el, true);\r\n                });\r\n              }\r\n            })(input);\r\n          } else if (input.tagName == 'SELECT') {\r\n            addEvent(input, 'change', function() {\r\n              validate_field(this, true);\r\n            });\r\n          } else if (input.type == 'textarea'){\r\n            addEvent(input, 'input', function() {\r\n              validate_field(this, true);\r\n            });\r\n          }\r\n        }\r\n      }\r\n    }\r\n    remove_tooltips();\r\n    for (var i = 0, len = allInputs.length; i < len; i++) {\r\n      var elem = allInputs[i];\r\n      if (needs_validate(elem)) {\r\n        if (elem.tagName.toLowerCase() !== \"select\") {\r\n          elem.value = elem.value.trim();\r\n        }\r\n        validate_field(elem) ? true : no_error = false;\r\n      }\r\n    }\r\n    if (!no_error && e) {\r\n      e.preventDefault();\r\n    }\r\n    resize_tooltips();\r\n    return no_error;\r\n  };\r\n  addEvent(window, 'resize', resize_tooltips);\r\n  addEvent(window, 'scroll', resize_tooltips);\r\n  window._old_serialize = null;\r\n  if (typeof serialize !== 'undefined') window._old_serialize = window.serialize;\r\n  _load_script(\"\/\/d3rxaij56vjege.cloudfront.net\/form-serialize\/0.3\/serialize.min.js\", function() {\r\n    window._form_serialize = window.serialize;\r\n    if (window._old_serialize) window.serialize = window._old_serialize;\r\n  });\r\n  var form_submit = function(e) {\r\n    e.preventDefault();\r\n    if (validate_form()) {\r\n      \/\/ use this trick to get the submit button & disable it using plain javascript\r\n      document.querySelector('#_form_10_submit').disabled = true;\r\n            var serialized = _form_serialize(document.getElementById('_form_10_'));\r\n      var err = form_to_submit.querySelector('._form_error');\r\n      err ? err.parentNode.removeChild(err) : false;\r\n      _load_script('https:\/\/fbahero77513.activehosted.com\/proc.php?' + serialized + '&jsonp=true');\r\n    }\r\n    return false;\r\n  };\r\n  addEvent(form_to_submit, 'submit', form_submit);\r\n})();\r\n<\/script><\/div><\/div>\n\n\n\n<p>Sole traders\nare receiving those new VAT number since October and it will <strong>be valid from 01 January 2020<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What to do now?<\/h2>\n\n\n\n<p>If you have\ncustomers or suppliers in the Netherlands that are sole traders with a Dutch\nVAT number, you\u2019ll need to reference this new VAT identification by the\nbeginning of next year, so better <strong>contact\nthe respective party <\/strong>before the Christmas holidays begin and update your systems\naccordingly.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In order to separate the VAT number in Holland from the local social security number, new VAT numbers are assigned which are valid from next year. If you have customers or suppliers in Holland, you will have to adapt your records. What\u2019s new? In the Netherlands, the VAT identification numbers of sole traders are currently [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":63406,"parent":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_lmt_disableupdate":"yes","_lmt_disable":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[5593],"tags":[],"class_list":{"0":"post-63394","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-vat-compliance","8":"entry"},"acf":[],"modified_by":"Niki Stanev","_links":{"self":[{"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/posts\/63394","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/comments?post=63394"}],"version-history":[{"count":0,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/posts\/63394\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/media\/63406"}],"wp:attachment":[{"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/media?parent=63394"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/categories?post=63394"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/tags?post=63394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}