{"id":1171,"date":"2025-12-17T01:09:27","date_gmt":"2025-12-17T00:09:27","guid":{"rendered":"https:\/\/newcraft.dev\/posts\/\/"},"modified":"2026-02-28T08:40:47","modified_gmt":"2026-02-28T07:40:47","slug":"multi-location-fulfillment-now-you-can-hide-the-vat-exemption-widget-for-all-your-warehouse-countries","status":"publish","type":"marketing-post","link":"https:\/\/newcraft.dev\/nl\/posts\/multi-location-fulfillment-now-you-can-hide-the-vat-exemption-widget-for-all-your-warehouse-countries\/","title":{"rendered":"Multi-Location Fulfillment? Now You Can Hide the VAT Exemption Widget for All Your Warehouse Countries"},"content":{"rendered":"\n<p>If you fulfil orders from multiple warehouse locations, you already know that domestic customers in your warehouse countries shouldn&#8217;t see the VAT exemption widget. A UK customer shopping from your UK warehouse doesn&#8217;t need a VAT exemption form. A German customer shopping from your German fulfilment centre is a domestic buyer. Showing them a B2B VAT exemption widget creates confusion. A new feature lets you hide the VAT exemption widget for all countries where you operate warehouses, with a single configuration. Here&#8217;s how it works and why it matters for multi-location operations.<\/p>\n\n\n\n<p><strong>TL;DR:<\/strong> Shipping from multiple EU warehouses? The VAT exemption widget confuses domestic customers who can&#8217;t actually get tax-free pricing. New setting: enter all your fulfillment countries (e.g., <code>NL, DE, FR<\/code>) and the widget automatically hides for those shipping addresses. Find it in Checkout Editor \u2192 Tax Exempt widget \u2192 Settings. <a href=\"https:\/\/apps.shopify.com\/tax-exemption\" target=\"_blank\" rel=\"noopener\"><strong>Available now for Shopify Plus \u2192<\/strong><\/a><\/p>\n\n\n\n<p>You run fulfillment centers in the Netherlands, Germany, and France. A German customer places an order. They see the VAT exemption widget and think: &#8220;Great, I can get business pricing!&#8221;<\/p>\n\n\n\n<p>But wait. Your German warehouse will ship to them. That&#8217;s a domestic sale. VAT exemption doesn&#8217;t apply.<\/p>\n\n\n\n<p>Now you have a confused customer and a support ticket.<\/p>\n\n\n\n<p><strong>Sound familiar?<\/strong> Let&#8217;s fix this.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Problem with &#8220;Hide for Same Country&#8221;<\/h2>\n\n\n\n<p>Our app already has a setting to hide the VAT widget when the customer&#8217;s shipping country matches your store&#8217;s primary country. That works great if you only ship from one location.<\/p>\n\n\n\n<p>But many B2B merchants have grown beyond a single warehouse:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You have fulfillment centers across Europe<\/li>\n\n\n\n<li>You use 3PL partners in multiple countries<\/li>\n\n\n\n<li>You ship from the nearest warehouse to reduce delivery times<\/li>\n<\/ul>\n\n\n\n<p>When a French customer orders and you fulfill from your French warehouse, that&#8217;s <strong>not<\/strong> a cross-border sale. VAT exemption doesn&#8217;t apply. But the original &#8220;Hide for same country&#8221; setting only checks your store&#8217;s registered country (let&#8217;s say Netherlands).<\/p>\n\n\n\n<p><strong>Result:<\/strong> French customers see the VAT widget, enter their VAT number, and expect tax-free pricing. Then they get charged VAT anyway because it&#8217;s a domestic French shipment.<\/p>\n\n\n\n<p>This creates:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Customer confusion<\/li>\n\n\n\n<li>Support tickets<\/li>\n\n\n\n<li>Abandoned carts<\/li>\n\n\n\n<li>Complaints about &#8220;broken&#8221; tax exemption<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Quick VAT Refresher: Why This Matters<\/h2>\n\n\n\n<p>Let&#8217;s recap when <a href=\"https:\/\/newcraft.dev\/posts\/shopify-vat-reverse-charge\/\">VAT exemption actually applies<\/a>:<\/p>\n\n\n\n<p><strong>Intra-Community (Cross-Border B2B):<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You&#8217;re in NL, customer is in DE<\/li>\n\n\n\n<li>Customer has valid VAT number<\/li>\n\n\n\n<li>Goods cross a border<\/li>\n\n\n\n<li><strong>Result:<\/strong> VAT exemption applies, reverse charge mechanism kicks in<\/li>\n<\/ul>\n\n\n\n<p><strong>Domestic (Same Country):<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You ship from DE warehouse to DE customer<\/li>\n\n\n\n<li>Even if customer has a valid VAT number<\/li>\n\n\n\n<li><strong>Result:<\/strong> VAT must be charged. Customer reclaims it via their VAT return later.<\/li>\n<\/ul>\n\n\n\n<p>The widget is specifically for <a href=\"https:\/\/newcraft.dev\/posts\/shopify-vat-exemption-eu-businesses\/\">intra-community supplies<\/a>. When both seller and buyer are in the same country \u2013 whether that&#8217;s your primary store location or a secondary fulfillment center \u2013 the widget shouldn&#8217;t appear.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Solution: Disable Widget for Specific Countries<\/h2>\n\n\n\n<p>We&#8217;ve added a new setting: <strong>&#8220;Disable widget for specific countries&#8221;<\/strong><\/p>\n\n\n\n<p>Enter all countries where you have fulfillment operations:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>NL, DE, FR\n<\/code><\/pre>\n\n\n\n<p>The widget now automatically hides when the customer&#8217;s shipping address matches <strong>any<\/strong> of these countries.<\/p>\n\n\n\n<p><strong>How it works:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Customer enters German shipping address<\/li>\n\n\n\n<li>App checks: &#8220;Is DE in the disabled list?&#8221;<\/li>\n\n\n\n<li>Yes \u2192 Widget stays hidden<\/li>\n\n\n\n<li>Customer proceeds with normal domestic checkout (VAT included)<\/li>\n<\/ul>\n\n\n\n<p>No confusion. No false expectations. No support tickets.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Who Needs This?<\/h2>\n\n\n\n<p><strong>Multi-Warehouse Merchants:<\/strong> You have your own fulfillment centers in multiple EU countries. Orders route to the nearest warehouse.<\/p>\n\n\n\n<p><strong>3PL Users:<\/strong> You work with third-party logistics providers who have warehouses across Europe. Amazon FBA sellers, this means you.<\/p>\n\n\n\n<p><strong>Dropshippers with EU Suppliers:<\/strong> Your suppliers ship directly from their locations in various EU countries.<\/p>\n\n\n\n<p><strong>Anyone Expanding Fulfillment:<\/strong> You&#8217;re planning to open a second warehouse and want to get ahead of this problem.<\/p>\n\n\n\n<p>If you ship from only one country, you don&#8217;t need this. The standard &#8220;Hide for same country&#8221; setting handles your use case perfectly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Set It Up<\/h2>\n\n\n\n<p><strong>Step 1:<\/strong> Go to your Shopify Admin \u2192 Settings \u2192 Checkout<\/p>\n\n\n\n<p><strong>Step 2:<\/strong> Click &#8220;Customize&#8221; to open the Checkout Editor<\/p>\n\n\n\n<p><strong>Step 3:<\/strong> Select the Tax Exempt widget from the sidebar<\/p>\n\n\n\n<p><strong>Step 4:<\/strong> Find &#8220;Disable widget for specific countries&#8221; in settings<\/p>\n\n\n\n<p><strong>Step 5:<\/strong> Enter country codes separated by commas: <code>NL, DE, FR<\/code><\/p>\n\n\n\n<p><strong>Step 6:<\/strong> Save<\/p>\n\n\n\n<p>That&#8217;s it. The change is live immediately.<\/p>\n\n\n\n<p><strong>Country codes to use:<\/strong> Use standard <a href=\"https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2\" target=\"_blank\" rel=\"noopener\">ISO 3166-1 alpha-2 codes<\/a>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Netherlands: NL<\/li>\n\n\n\n<li>Germany: DE<\/li>\n\n\n\n<li>France: FR<\/li>\n\n\n\n<li>Belgium: BE<\/li>\n\n\n\n<li>Austria: AT<\/li>\n\n\n\n<li>Spain: ES<\/li>\n\n\n\n<li>Italy: IT<\/li>\n\n\n\n<li>Poland: PL<\/li>\n<\/ul>\n\n\n\n<p>You get the idea. Add every country where you have fulfillment operations.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"718\" height=\"2234\" src=\"https:\/\/newcraft.dev\/wp-content\/uploads\/2025\/12\/CleanShot-Helium-2025-12-17-at-01.06.37@2x-1.png\" alt=\"\" class=\"wp-image-1174\" style=\"width:279px;height:auto\" srcset=\"https:\/\/newcraft.dev\/wp-content\/uploads\/2025\/12\/CleanShot-Helium-2025-12-17-at-01.06.37@2x-1.png 718w, https:\/\/newcraft.dev\/wp-content\/uploads\/2025\/12\/CleanShot-Helium-2025-12-17-at-01.06.37@2x-1-96x300.png 96w, https:\/\/newcraft.dev\/wp-content\/uploads\/2025\/12\/CleanShot-Helium-2025-12-17-at-01.06.37@2x-1-329x1024.png 329w, https:\/\/newcraft.dev\/wp-content\/uploads\/2025\/12\/CleanShot-Helium-2025-12-17-at-01.06.37@2x-1-494x1536.png 494w, https:\/\/newcraft.dev\/wp-content\/uploads\/2025\/12\/CleanShot-Helium-2025-12-17-at-01.06.37@2x-1-658x2048.png 658w\" sizes=\"auto, (max-width: 718px) 100vw, 718px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What Happens to Your Legitimate B2B Customers?<\/h2>\n\n\n\n<p>You might wonder: &#8220;If I hide the widget for Germany, how do German B2B customers get their tax exemption?&#8221;<\/p>\n\n\n\n<p>They don&#8217;t \u2013 and that&#8217;s correct.<\/p>\n\n\n\n<p>When you ship from Germany to Germany, <a href=\"https:\/\/newcraft.dev\/posts\/complete-vat-guide-eu-shopify\/\">VAT exemption doesn&#8217;t apply<\/a>. The German business customer pays German VAT at checkout. They then reclaim this VAT through their regular quarterly VAT return.<\/p>\n\n\n\n<p>This is how it works for domestic B2B transactions throughout the EU. The buyer pays VAT upfront and recovers it later. Not ideal for cash flow, but that&#8217;s EU tax law.<\/p>\n\n\n\n<p><strong>Where VAT exemption DOES apply:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>German customer orders<\/li>\n\n\n\n<li>You ship from your NL or FR warehouse (cross-border)<\/li>\n\n\n\n<li>Widget appears, customer enters VAT number<\/li>\n\n\n\n<li><a href=\"https:\/\/newcraft.dev\/posts\/shopify-vat-reverse-charge\/\">Reverse charge applies<\/a>, no VAT charged<\/li>\n<\/ul>\n\n\n\n<p>The widget still works perfectly for true cross-border sales.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Combining with Other Visibility Settings<\/h2>\n\n\n\n<p>This new setting works alongside our existing visibility options:<\/p>\n\n\n\n<p><strong>&#8220;Hide for same country&#8221;<\/strong> Still useful. Hides widget when shipping country matches your primary store country.<\/p>\n\n\n\n<p><strong>&#8220;Hide for non-EU countries&#8221;<\/strong> Hides the widget for <a href=\"https:\/\/newcraft.dev\/posts\/shopify-plus-hide-tax-widget-non-eu\/\">customers outside the European Union<\/a>. US, UK, Swiss customers don&#8217;t see it.<\/p>\n\n\n\n<p><strong>&#8220;Disable for specific countries&#8221;<\/strong> The new setting. Hides widget for any country you specify.<\/p>\n\n\n\n<p>You can combine these:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hide for non-EU? \u2713<\/li>\n\n\n\n<li>Hide for same country? \u2713<\/li>\n\n\n\n<li>Disable for NL, DE, FR? \u2713<\/li>\n<\/ul>\n\n\n\n<p>Now the widget only appears for EU customers shipping to countries where you <strong>don&#8217;t<\/strong> have fulfillment \u2013 exactly where reverse charge applies.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Real-World Scenario<\/h2>\n\n\n\n<p><strong>Your Setup:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Store registered in Netherlands<\/li>\n\n\n\n<li>Warehouses in: NL, DE, FR<\/li>\n\n\n\n<li>Selling B2B across all EU countries<\/li>\n<\/ul>\n\n\n\n<p><strong>Before this feature:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Customer Location<\/th><th>Fulfills From<\/th><th>Widget Shows?<\/th><th>Problem<\/th><\/tr><\/thead><tbody><tr><td>Germany<\/td><td>DE<\/td><td>Yes<\/td><td>Customer expects exemption, gets charged VAT<\/td><\/tr><tr><td>France<\/td><td>FR<\/td><td>Yes<\/td><td>Same issue<\/td><\/tr><tr><td>Netherlands<\/td><td>NL<\/td><td>No<\/td><td>Works correctly (same country hidden)<\/td><\/tr><tr><td>Belgium<\/td><td>NL<\/td><td>Yes<\/td><td>Works correctly (cross-border)<\/td><\/tr><tr><td>Spain<\/td><td>FR<\/td><td>Yes<\/td><td>Works correctly (cross-border)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>After enabling &#8220;Disable for NL, DE, FR&#8221;:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Customer Location<\/th><th>Fulfills From<\/th><th>Widget Shows?<\/th><th>Result<\/th><\/tr><\/thead><tbody><tr><td>Germany<\/td><td>DE<\/td><td>No<\/td><td>Clean domestic checkout<\/td><\/tr><tr><td>France<\/td><td>FR<\/td><td>No<\/td><td>Clean domestic checkout<\/td><\/tr><tr><td>Netherlands<\/td><td>NL<\/td><td>No<\/td><td>Clean domestic checkout<\/td><\/tr><tr><td>Belgium<\/td><td>NL<\/td><td>Yes<\/td><td>Proper cross-border exemption<\/td><\/tr><tr><td>Spain<\/td><td>FR<\/td><td>Yes<\/td><td>Proper cross-border exemption<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>No more confused customers. No more support tickets about &#8220;VAT exemption not working.&#8221;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A Note on Fulfillment Logic<\/h2>\n\n\n\n<p>This feature hides the widget based on the customer&#8217;s shipping address. It doesn&#8217;t know which warehouse will actually fulfill the order.<\/p>\n\n\n\n<p>Most merchants route orders to the nearest warehouse, so shipping country = fulfillment country in most cases. But if your routing is more complex, keep that in mind.<\/p>\n\n\n\n<p><strong>Example edge case:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Customer ships to Belgium<\/li>\n\n\n\n<li>You disable widget for BE because you have a warehouse there<\/li>\n\n\n\n<li>But this specific order routes to your NL warehouse (cross-border)<\/li>\n\n\n\n<li>Customer doesn&#8217;t see widget, pays VAT, but could have qualified for exemption<\/li>\n<\/ul>\n\n\n\n<p>For most setups, this isn&#8217;t an issue. Your fulfillment country list matches your routing logic. But if you have unusual routing rules, you might want to only disable countries where you <strong>always<\/strong> fulfill domestically.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Available Now for Shopify Plus<\/h2>\n\n\n\n<p>This feature works within Shopify&#8217;s Checkout Extensibility, which means it&#8217;s available for Shopify Plus merchants.<\/p>\n\n\n\n<p><strong>Already using EU Tax Exemption Easy?<\/strong> The setting is available in your widget configuration right now. Open the Checkout Editor and add your fulfillment countries.<\/p>\n\n\n\n<p><strong>Not using the app yet?<\/strong> <a href=\"https:\/\/apps.shopify.com\/tax-exemption\" target=\"_blank\" rel=\"noopener\">Install EU Tax Exemption Easy<\/a> to get automatic VAT validation, proper exemptions for cross-border B2B sales, and smart widget visibility controls.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Related Guides<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/newcraft.dev\/posts\/shopify-plus-hide-tax-widget-non-eu\/\">How to Hide Tax Exemption Widgets for Non-EU Customers<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/newcraft.dev\/posts\/shopify-vat-reverse-charge\/\">VAT Reverse Charge for Intra-Community Supplies<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/newcraft.dev\/posts\/complete-vat-guide-eu-shopify\/\">Complete VAT Guide for EU Shopify Stores<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/newcraft.dev\/posts\/shopify-business-customer-no-vat\/\">When to Not Charge VAT to Business Customers<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/newcraft.dev\/posts\/automatic-vat-validation-shopify\/\">Automatic VAT Validation in Shopify<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently Asked Questions: VAT Exemption Widget and Multi-Location Fulfillment<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Shipping from multiple EU warehouses? The VAT exemption widget might be confusing your domestic customers. Here&#8217;s how to fix that with one simple setting.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"_acf_changed":false,"_breakdance_hide_in_design_set":false,"_breakdance_tags":""},"class_list":["post-1171","marketing-post","type-marketing-post","status-publish","hentry"],"acf":{"related_apps":""},"_links":{"self":[{"href":"https:\/\/newcraft.dev\/nl\/wp-json\/wp\/v2\/marketing-post\/1171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/newcraft.dev\/nl\/wp-json\/wp\/v2\/marketing-post"}],"about":[{"href":"https:\/\/newcraft.dev\/nl\/wp-json\/wp\/v2\/types\/marketing-post"}],"wp:attachment":[{"href":"https:\/\/newcraft.dev\/nl\/wp-json\/wp\/v2\/media?parent=1171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}