{"id":10652,"date":"2026-08-05T13:28:04","date_gmt":"2026-08-05T11:28:04","guid":{"rendered":"https:\/\/consultoriaehero.com\/?page_id=10652"},"modified":"2026-08-05T13:28:04","modified_gmt":"2026-08-05T11:28:04","slug":"intra-community-vat-in-woocommerce","status":"publish","type":"page","link":"https:\/\/consultoriaehero.com\/en\/intra-community-vat-in-woocommerce\/","title":{"rendered":"Intra-community VAT in WooCommerce"},"content":{"rendered":"<div class=\"ehero-lp\">\n<style>\n    .ehero-lp{--ehero-primary:#017cba;--ehero-primary-dark:#015e8e;--ehero-accent:#00b2e2;--ehero-cyan:#00b2e2;--ehero-success:#0f9400;--ehero-ink:#1f2a37;--ehero-muted:#5b6b7c;--ehero-soft:#f4f7fb;--ehero-line:#e3e9f0;max-width:1020px;margin:0 auto;padding:0 4px;color:var(--ehero-ink);font-size:18px;line-height:1.7;font-family:inherit}\n    .ehero-lp *{box-sizing:border-box}\n    .ehero-lp h1,.ehero-lp h2{line-height:1.22;color:var(--ehero-primary);margin:0 0 .5em;font-weight:800;font-family:inherit}\n    .ehero-lp h3{line-height:1.25;color:var(--ehero-ink);margin:0 0 .5em;font-family:inherit}\n    .ehero-lp h1{font-size:2.2rem}\n    .ehero-lp h2{font-size:1.7rem;margin-top:1.8em;text-align:center}\n    .ehero-lp h2::after{content:\"\";display:block;width:64px;height:3px;background:var(--ehero-accent);margin:.55em auto 0;border-radius:2px}\n    .ehero-lp h3{font-size:1.15rem}\n    .ehero-lp p{margin:0 0 1em}\n    .ehero-lp ul{margin:0 0 1em;padding-left:1.3em}\n    .ehero-lp li{margin-bottom:.5em}\n    .ehero-lp a{color:var(--ehero-accent)}\n    .ehero-lp a:hover{text-decoration-color:var(--ehero-cyan)}\n    .ehero-lp .ehero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--ehero-soft);color:var(--ehero-primary);font-weight:700;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:14px}\n    .ehero-lp .ehero-eyebrow::before{content:\"\";flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--ehero-cyan)}\n    .ehero-lp .ehero-hero{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-bottom:26px;background:linear-gradient(120deg,#017cba 0%,#0596d8 58%,#00a7df 100%);color:#fff;overflow:hidden}\n    .ehero-lp .ehero-hero-inner{max-width:1140px;margin:0 auto;padding:clamp(30px,5vw,58px) clamp(18px,4vw,44px);display:flex;align-items:center;gap:clamp(26px,4vw,52px)}\n    .ehero-lp .ehero-hero-body{flex:1 1 auto;min-width:0}\n    .ehero-lp .ehero-hero-media{flex:0 0 40%;min-width:0;margin:0}\n    .ehero-lp .ehero-hero-media img{width:100%;height:auto;display:block;border-radius:14px;filter:drop-shadow(0 14px 30px rgba(0,0,0,.28))}.ehero-cta{margin-bottom:2.6em}\n    .ehero-lp .ehero-hero .ehero-eyebrow{background:rgba(255,255,255,.2);color:#fff}\n    .ehero-lp .ehero-hero .ehero-eyebrow::before{background:#fff}\n    .ehero-lp .ehero-hero .ehero-hero-title{color:#fff}\n    .ehero-lp .ehero-hero .ehero-sub{color:#eaf4fb}\n    .ehero-lp .ehero-hero .ehero-btn{background:#fff;color:var(--ehero-primary)}\n    .ehero-lp .ehero-hero .ehero-btn:hover{background:var(--ehero-cyan);color:var(--ehero-ink)}\n    .ehero-lp .ehero-hero .ehero-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}\n    .ehero-lp .ehero-hero .ehero-btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}\n    .ehero-lp .ehero-hero-cta{margin:.5em 0 0}\n    @media(max-width:860px){.ehero-lp .ehero-hero-inner{flex-direction:column;text-align:center;gap:24px}.ehero-lp .ehero-hero-media{order:-1;flex:0 0 auto;width:100%;max-width:460px;margin:0 auto}.ehero-lp .ehero-hero-cta .ehero-btn{margin:6px 5px 0}}\n    .ehero-lp .ehero-sub{font-size:1.15rem;color:var(--ehero-muted);margin:0 0 1.3em}\n    .ehero-lp .ehero-btn{display:inline-block;background:var(--ehero-primary);color:#fff;font-weight:700;text-decoration:none;padding:14px 32px;border-radius:999px;margin:6px 6px 0;transition:transform .1s ease,background .1s ease}\n    .ehero-lp .ehero-btn:hover{background:var(--ehero-primary-dark);transform:translateY(-1px)}\n    .ehero-lp .ehero-btn--ghost{background:transparent;color:var(--ehero-primary);border:2px solid var(--ehero-line)}\n    .ehero-lp .ehero-btn--ghost:hover{background:var(--ehero-soft);border-color:var(--ehero-cyan)}\n    .ehero-lp .ehero-toc{background:var(--ehero-soft);border:1px solid var(--ehero-line);border-radius:14px;padding:18px 22px;margin:18px 0 6px}\n    .ehero-lp .ehero-toc strong{display:block;color:var(--ehero-ink);font-size:.72em;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}\n    .ehero-lp .ehero-toc ol{margin:0;padding-left:1.2em;columns:2;column-gap:34px}\n    .ehero-lp .ehero-toc li{margin:4px 0;font-size:.97rem;break-inside:avoid}\n    .ehero-lp .ehero-toc a{color:var(--ehero-primary);text-decoration:none}\n    .ehero-lp .ehero-toc a:hover{text-decoration:underline;text-decoration-color:var(--ehero-cyan)}\n    .ehero-lp .ehero-img{margin:1.6em 0;text-align:center}\n    .ehero-lp .ehero-img img{max-width:100%;height:auto;border:1px solid var(--ehero-line);border-radius:14px;box-shadow:0 6px 24px rgba(1,124,186,.08)}\n    .ehero-lp .ehero-img figcaption{font-size:.9rem;color:var(--ehero-muted);margin-top:8px}\n    .ehero-lp .ehero-grid{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px}\n    .ehero-lp .ehero-card{flex:1 1 260px;background:#fff;border:1px solid var(--ehero-line);border-radius:14px;padding:22px}\n    .ehero-lp .ehero-card h3{margin-top:0;display:flex;align-items:center;gap:8px}\n    .ehero-lp .ehero-card h3::before{content:\"\";flex:0 0 10px;width:10px;height:10px;border-radius:3px;background:var(--ehero-cyan)}\n    .ehero-lp .ehero-card p{margin:0;color:var(--ehero-muted);font-size:.98rem}\n    .ehero-lp .ehero-steps{list-style:none;counter-reset:ehero-step;margin:14px 0 0;padding:0}\n    .ehero-lp .ehero-steps li{counter-increment:ehero-step;position:relative;padding:0 0 20px 56px;margin:0}\n    .ehero-lp .ehero-steps li::before{content:counter(ehero-step);position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:var(--ehero-primary);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px rgba(0,178,226,.3)}\n    .ehero-lp .ehero-steps li strong{display:block;margin-bottom:2px;color:var(--ehero-ink)}\n    .ehero-lp .ehero-steps li p{margin:0;color:var(--ehero-muted);font-size:.98rem}\n    .ehero-lp .ehero-chips{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}\n    .ehero-lp .ehero-chips li{background:#fff;border:1px solid var(--ehero-line);border-radius:999px;padding:8px 16px;font-size:.95rem;font-weight:600;color:var(--ehero-ink);display:inline-flex;align-items:center;gap:7px;margin:0}\n    .ehero-lp .ehero-chips li::before{content:\"\u2713\";color:var(--ehero-success);font-weight:800}\n    .ehero-lp .ehero-note{background:var(--ehero-soft);border-radius:12px;padding:16px 18px;color:var(--ehero-muted);font-size:.95rem}\n    .ehero-lp details{border:1px solid var(--ehero-line);border-radius:10px;padding:0 16px;margin-bottom:10px;background:#fff}\n    .ehero-lp details[open]{border-color:var(--ehero-primary)}\n    .ehero-lp summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none;color:var(--ehero-primary)}\n    .ehero-lp summary::-webkit-details-marker{display:none}\n    .ehero-lp summary::after{content:\"+\";float:right;font-weight:700;color:var(--ehero-accent)}\n    .ehero-lp details[open] summary::after{content:\"\u2013\"}\n    .ehero-lp details p{padding-bottom:14px;margin:0;color:var(--ehero-muted)}\n    .ehero-lp .ehero-cta{text-align:center;background:linear-gradient(135deg,var(--ehero-primary),var(--ehero-primary-dark));color:#fff;border-radius:18px;padding:36px 20px;margin-top:2em}\n    .ehero-lp .ehero-cta h2{color:#fff;margin-top:0}\n    .ehero-lp .ehero-cta p{color:#dbe6f3;max-width:640px;margin:0 auto 1.2em}\n    .ehero-lp .ehero-cta .ehero-btn{background:#fff;color:var(--ehero-primary)}\n    .ehero-lp .ehero-cta .ehero-btn:hover{background:var(--ehero-cyan);color:var(--ehero-ink)}\n    .ehero-lp .ehero-cta .ehero-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}\n    .ehero-lp .ehero-cta .ehero-btn--ghost:hover{border-color:var(--ehero-cyan);background:rgba(255,255,255,.08)}\n    @media(max-width:760px){.ehero-lp .ehero-hero{flex-direction:column;text-align:center;padding:26px 20px}.ehero-lp .ehero-hero-media{flex:0 0 auto;max-width:320px;margin:0 auto}}\n    @media(max-width:600px){.ehero-lp{font-size:17px}.ehero-lp h1{font-size:1.7rem}.ehero-lp h2{font-size:1.4rem}.ehero-lp .ehero-toc ol{columns:1}}\n    \/* Ocultamos el t\u00edtulo de p\u00e1gina plano del tema (article.hentry > h1); el H1 va DENTRO del hero, estilo 902 *\/\n    .hentry > h1:first-child{display:none}\n    .ehero-lp .ehero-hero-title{font-size:1.55em;line-height:1.2;margin:0 0 .45em;color:var(--ehero-primary);font-weight:800;font-family:inherit}\n    \/* Escala tipogr\u00e1fica mayor (textos m\u00e1s legibles) *\/\n    .ehero-lp .ehero-sub{font-size:1.14em}\n    .ehero-lp h2{font-size:1.4em;color:var(--ehero-primary)}\n    .ehero-lp h3{font-size:1.08em}\n    .ehero-lp .ehero-card p,.ehero-lp .ehero-steps li p{font-size:.9em;line-height:1.6;color:#3d4a59}\n    .ehero-lp .ehero-toc li{font-size:.88em}\n    .ehero-lp .ehero-chips li{font-size:.84em}\n    .ehero-lp .ehero-note{font-size:.92em}\n    .ehero-lp .ehero-img figcaption{font-size:.8em}\n    .ehero-lp .ehero-eyebrow{font-size:.74em}\n    .ehero-lp .ehero-card h3{font-size:1.06em}\n  html,body{overflow-x:clip}<\/style>\n<section class=\"ehero-hero\">\n<div class=\"ehero-hero-inner\">\n<div class=\"ehero-hero-body\">\n    <span class=\"ehero-eyebrow\">Intra-EU VAT \u00b7 VIES \u00b7 OSS<\/span><\/p>\n<h1 class=\"ehero-hero-title\">Intra-EU VAT in WooCommerce, charged correctly from the very first order<\/h1>\n<p class=\"ehero-sub\">Validate the VAT ID against VIES in real time, apply or remove the <em>reverse charge<\/em> exemption on the server, and charge the destination country\u2019s VAT when required. No spreadsheets and no blocking the sale if VIES goes down.<\/p>\n<p class=\"ehero-hero-cta\"><a class=\"ehero-btn\" href=\"https:\/\/consultoriaehero.com\/en\/etiqueta-producto\/intra-community-vat-woocommerce\/\">View EHERO Woo VAT<\/a> <a class=\"ehero-btn ehero-btn--ghost\" href=\"#como-funciona\">How it works<\/a><\/p>\n<\/p><\/div>\n<figure class=\"ehero-hero-media\"><img decoding=\"async\" src=\"https:\/\/e9miay56dfh.exactdn.com\/wp-content\/uploads\/2026\/08\/ehero-woo-vat-panel.jpg?strip=all&w=1920\" alt=\"Intra-EU VAT dashboard in WooCommerce with EHERO Woo VAT\" loading=\"eager\" \/><\/figure>\n<\/div>\n<\/section>\n<nav class=\"ehero-toc\">\n    <strong>On this page<\/strong><\/p>\n<ol>\n<li><a href=\"#problema\">How much it costs to get intra-EU VAT wrong<\/a><\/li>\n<li><a href=\"#funcionamiento\">See it in action<\/a><\/li>\n<li><a href=\"#solucion\">What EHERO Woo VAT does on every order<\/a><\/li>\n<li><a href=\"#como-funciona\">How to get it up and running<\/a><\/li>\n<li><a href=\"#para-quien\">Who is it for?<\/a><\/li>\n<li><a href=\"#nativo\">Why WooCommerce\u2019s native VAT is not enough<\/a><\/li>\n<li><a href=\"#compatibilidad\">Compatibility<\/a><\/li>\n<li><a href=\"#licencia\">What your license includes<\/a><\/li>\n<li><a href=\"#faq\">Frequently asked questions<\/a><\/li>\n<\/ol>\n<\/nav>\n<h2 id=\"problema\">How much it costs to get intra-EU VAT wrong<\/h2>\n<p>A store that sells to businesses in other EU countries can lose money on VAT in two ways, and both are silent.<\/p>\n<p>The first is <strong>charging VAT to someone who should not pay it<\/strong>: the customer is a company with a valid VAT ID, the transaction is exempt under <em>reverse charge<\/em>, but the store still charges 21%. The second is worse: <strong>not charging VAT to someone who should pay it<\/strong>. Someone enters a VAT ID that does not exist, or exists but is not registered in the intra-EU operators registry, and WooCommerce assumes the exemption applies. That uncollected VAT comes out of your margin when the tax authority claims it back, with penalties.<\/p>\n<p>It is worth putting numbers on it, because this cost does not appear in any store metric.<\/p>\n<h3>Case 1 \u00b7 Exemption granted incorrectly<\/h3>\n<p>You sell \u20ac40,000 a year to EU businesses and one in ten orders uses a VAT ID that is not in the registry. That is \u20ac4,000 of taxable base on which you should have charged VAT: at 21%, <strong>\u20ac840 out of your pocket<\/strong>, plus penalties if you catch it late.<\/p>\n<h3>Case 2 \u00b7 Threshold crossed without noticing<\/h3>\n<p>You pass the <strong>\u20ac10,000<\/strong> distance-sales threshold in September and keep applying Spanish 21% VAT until December. Sales to Germany should have carried 19%, France 20%, Italy 22%. It is not just the rate difference: those amounts are declared to the wrong country and the quarter has to be redone.<\/p>\n<h3>Case 3 \u00b7 The customer who never comes back<\/h3>\n<p>A French company with a valid VAT ID pays 21% because your store did not recognize it. That customer does not complain: they buy elsewhere. It is the most expensive of the three and the only one that never appears in any return.<\/p>\n<h2 id=\"funcionamiento\">See it in action<\/h2>\n<p>These three screens are the ones you will look at every month. The first tells you whether you are close to the threshold; the second is your defense in an audit; the third is what you hand to your accountant.<\/p>\n<figure class=\"ehero-img\"><img decoding=\"async\" src=\"https:\/\/e9miay56dfh.exactdn.com\/wp-content\/uploads\/2026\/08\/ehero-woo-vat-panel.jpg?strip=all&w=1920\" alt=\"Intra-EU VAT dashboard in WooCommerce with the OSS threshold and VAT map by country\" loading=\"lazy\" \/><figcaption>Validations completed, exemptions granted, accumulated exempt base, and how much remains until the \u20ac10,000 threshold.<\/figcaption><\/figure>\n<figure class=\"ehero-img\"><img decoding=\"async\" src=\"https:\/\/e9miay56dfh.exactdn.com\/wp-content\/uploads\/2026\/08\/ehero-woo-vat-validaciones-vies.jpg?strip=all&w=1920\" alt=\"Audit log of VIES validations in WooCommerce\" loading=\"lazy\" \/><figcaption>Every VIES check is logged: number, country, company, result, and date.<\/figcaption><\/figure>\n<figure class=\"ehero-img\"><img decoding=\"async\" src=\"https:\/\/e9miay56dfh.exactdn.com\/wp-content\/uploads\/2026\/08\/ehero-woo-vat-informe-oss.jpg?strip=all&w=1920\" alt=\"OSS report of VAT by destination country in WooCommerce\" loading=\"lazy\" \/><figcaption>Base and tax amount by destination country, ready for the draft return.<\/figcaption><\/figure>\n<h2 id=\"solucion\">What EHERO Woo VAT does on every order<\/h2>\n<div class=\"ehero-grid\">\n<div class=\"ehero-card\">\n<h3>Validates the VAT ID in VIES<\/h3>\n<p>Checks the European Commission\u2019s official service at checkout, with caching to avoid repeated calls and an audit log of every check.<\/p>\n<\/div>\n<div class=\"ehero-card\">\n<h3>Applies the exemption on the server<\/h3>\n<p>The <em>reverse charge<\/em> is decided on the server, not in the browser: nobody can enable it by tampering with the form. If the VAT ID stops being valid on renewal, the exemption is removed automatically.<\/p>\n<\/div>\n<div class=\"ehero-card\">\n<h3>Does not break checkout if VIES fails<\/h3>\n<p>The order goes through with a 48-hour grace period and is revalidated afterward. Fail-closed, but without losing the sale because of an external outage.<\/p>\n<\/div>\n<div class=\"ehero-card\">\n<h3>OSS with destination VAT<\/h3>\n<p>When you pass the threshold or register for OSS, it applies the buyer\u2019s country rate, with cumulative tracking.<\/p>\n<\/div>\n<div class=\"ehero-card\">\n<h3>Spanish special cases<\/h3>\n<p>Equivalence surcharge, personal income tax withholding, and IGIC and IPSI for the Canary Islands, Ceuta, and Melilla. The ones that force manual invoice corrections.<\/p>\n<\/div>\n<div class=\"ehero-card\">\n<h3>Draft returns<\/h3>\n<p>Generates draft 349, OSS, and 303 returns using the data the store already has.<\/p>\n<\/div><\/div>\n<h2 id=\"como-funciona\">How to get it up and running (without touching a line of code)<\/h2>\n<ol class=\"ehero-steps\">\n<li><strong>Install and activate<\/strong>\n<p>Upload the ZIP, activate your license, and the VAT ID field appears automatically at checkout.<\/p>\n<\/li>\n<li><strong>Tell it what you are<\/strong>\n<p>Country of establishment, whether you are registered for OSS, and which special regimes apply to you.<\/p>\n<\/li>\n<li><strong>Run a test purchase<\/strong>\n<p>With a real VAT ID from another country, you will see the exemption applied and the record appear in Validations.<\/p>\n<\/li>\n<li><strong>Review the month-end report<\/strong>\n<p>The country totals and draft returns are already prepared.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"ehero-img\"><img decoding=\"async\" src=\"https:\/\/e9miay56dfh.exactdn.com\/wp-content\/uploads\/2026\/08\/ehero-woo-vat-exenciones-iva.jpg?strip=all&w=1920\" alt=\"List of granted intra-EU VAT exemptions in WooCommerce\" loading=\"lazy\" \/><figcaption>Each exemption granted, with the VAT ID that justified it and the order it was applied to.<\/figcaption><\/figure>\n<h2 id=\"para-quien\">Who is this intra-EU VAT control for in WooCommerce?<\/h2>\n<p>If you only sell to private customers within Spain, you do not need it. It starts paying for itself in three situations:<\/p>\n<ul>\n<li><strong>You sell B2B to other EU countries.<\/strong> Every order with a VAT ID is a tax decision you are currently making by eye.<\/li>\n<li><strong>You are close to \u20ac10,000 in distance sales.<\/strong> You need to know when you cross the threshold before you cross it, not in the return.<\/li>\n<li><strong>You operate under Spanish special regimes.<\/strong> Equivalence surcharge, IRPF, or IGIC are covered by almost no international plugin.<\/li>\n<\/ul>\n<h2 id=\"nativo\">Why WooCommerce\u2019s native VAT is not enough<\/h2>\n<p>WooCommerce includes VAT rates by country and tax classes, and for a store that only sells in its own market, that is enough. The problem starts when the tax decision no longer depends on the country and instead depends on <em>who<\/em> the buyer is.<\/p>\n<p>WooCommerce does not know whether a VAT ID exists: it does not query VIES. It also does not know whether you have crossed the distance-sales threshold, nor does it keep a record of why it granted an exemption eight months ago. And the Spanish regimes simply are not there.<\/p>\n<p>Free VAT ID validation plugins solve one piece: they check the number and remove the tax. What they do not include is what matters when an audit comes: the audit log, behavior when VIES does not respond, revalidation on renewals, and consistency between the VAT ID country and the billing country.<\/p>\n<h2 id=\"compatibilidad\">Compatibility<\/h2>\n<ul class=\"ehero-chips\">\n<li>WordPress 6.2+<\/li>\n<li>WooCommerce 8.0+<\/li>\n<li>PHP 7.4+<\/li>\n<li>Classic checkout<\/li>\n<li>Block checkout<\/li>\n<li>Store API<\/li>\n<li>FunnelKit<\/li>\n<li>HPOS<\/li>\n<li>Multi-currency<\/li>\n<\/ul>\n<p>And if you translate your store with <a href=\"https:\/\/consultoriaehero.com\/producto\/traducir-woocommerce\/\">EHERO Woo Multilang<\/a>, the checkout tax notices appear in the customer\u2019s language.<\/p>\n<h2 id=\"licencia\">What your license includes<\/h2>\n<p>One license, one domain, everything included: the full plugin with no locked features, one year of updates, and email support in Spanish for incidents, bugs, and installation. VAT rates for all 27 countries are updated with the plugin, so you do not maintain tables manually.<\/p>\n<p class=\"ehero-hero-cta\"><a class=\"ehero-btn\" href=\"https:\/\/consultoriaehero.com\/en\/etiqueta-producto\/intra-community-vat-woocommerce\/\">See pricing and terms<\/a><\/p>\n<h2 id=\"faq\">Frequently asked questions<\/h2>\n<h3>What happens if the VIES service is down when a customer buys?<\/h3>\n<p>The order still goes through. It is marked with a 48-hour grace period and automatically revalidated afterward. If the VAT ID turns out to be invalid on revalidation, the exemption is removed and logged. What it does not do is block the purchase: losing a sale because of a European Commission service outage is not worth it.<\/p>\n<h3>Does it help with OSS compliance?<\/h3>\n<p>It applies the destination country\u2019s VAT when appropriate, keeps the cumulative totals by country, and generates the draft return. Filing is done by your accountant: this is a compliance tool, not tax advice.<\/p>\n<h3>Can a customer fake the VAT ID to avoid paying VAT?<\/h3>\n<p>Not the easy way. The exemption is decided on the server after querying VIES, not with a form field, and there is a consistency check between the VAT ID country and the billing country.<\/p>\n<h3>Does it work with block checkout?<\/h3>\n<p>Yes. It is compatible with classic checkout, block checkout through the Store API, and FunnelKit.<\/p>\n<h3>Does it cover equivalence surcharge and IRPF?<\/h3>\n<p>Yes, along with IGIC and IPSI. These are the Spanish regimes that international plugins usually leave out and that force manual invoice corrections.<\/p>\n<h3>What if I have already been charging VAT incorrectly for months?<\/h3>\n<p>The plugin does not fix the past, but the validation log and country report give your accountant the material needed to regularize it. From the moment it is installed, every decision is documented.<\/p>\n<h2 id=\"relacionados\">Related products<\/h2>\n<ul>\n<li><a href=\"https:\/\/consultoriaehero.com\/en\/product\/ehero-woo-holded-complete-holded-woocommerce-integration\/\">EHERO Woo Holded<\/a> \u2014 sends orders and invoices to Holded without copying them manually.<\/li>\n<li><a href=\"https:\/\/consultoriaehero.com\/en\/product-category\/integrations-and-sync\/erp-and-billing\/\">ERP and invoicing for WooCommerce<\/a> \u2014 all connectors with management software.<\/li>\n<li><a href=\"https:\/\/consultoriaehero.com\/producto\/suscripciones-woocommerce\/\">EHERO Woo Subscriptions<\/a> \u2014 renewals also revalidate the VAT ID.<\/li>\n<\/ul>\n<section class=\"ehero-cta\">\n<h2>Stop deciding VAT by eye on every order<\/h2>\n<p>Real VIES validation, exemption on the server, and destination-country VAT when required. What you review manually today, solved at checkout.<\/p>\n<p><a class=\"ehero-btn\" href=\"https:\/\/consultoriaehero.com\/en\/etiqueta-producto\/intra-community-vat-woocommerce\/\">View EHERO Woo VAT<\/a><\/p>\n<\/section>\n<\/div>\n<p><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"SoftwareApplication\",\"name\":\"EHERO Woo VAT\",\"operatingSystem\":\"WordPress, WooCommerce\",\"applicationCategory\":\"BusinessApplication\",\"description\":\"Intracommunity VAT control in WooCommerce: real-time VIES validation, server-side reverse charge exemption, destination-country OSS, and draft 349, OSS, and 303 forms.\",\"url\":\"https:\/\/consultoriaehero.com\/en\/product\/ehero-woo-vat-eu-vat-control-vies-and-intra-community-exemption-for-woocommerce\/\",\"offers\":{\"@type\":\"Offer\",\"price\":\"99.99\",\"priceCurrency\":\"EUR\",\"url\":\"https:\/\/consultoriaehero.com\/en\/product\/ehero-woo-vat-eu-vat-control-vies-and-intra-community-exemption-for-woocommerce\/\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"Consultor\u00eda EHERO S.L.U\",\"url\":\"https:\/\/consultoriaehero.com\/en\/\"}}<\/script><br \/>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What happens if the VIES service is down when a customer buys?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The order still goes through, with a 48-hour grace period, and is automatically revalidated afterward. If the VAT number is found to be invalid on revalidation, the exemption is removed and recorded.\"}},{\"@type\":\"Question\",\"name\":\"Does it help with OSS compliance?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Applies the VAT of the destination country when applicable, keeps a country-by-country total, and generates the draft return. Your accountant handles the filing.\"}},{\"@type\":\"Question\",\"name\":\"Can a customer fake the VAT number to avoid paying VAT?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. The exemption is decided on the server after checking VIES, and there is a consistency check between the country of the VAT number and the billing country.\"}},{\"@type\":\"Question\",\"name\":\"Does it work with the block checkout?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, with the classic checkout, with the block checkout through the Store API, and with FunnelKit.\"}},{\"@type\":\"Question\",\"name\":\"Does it cover equivalence surcharge and personal income tax?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, along with IGIC and IPSI, the Spanish regimes that international plugins usually leave out.\"}},{\"@type\":\"Question\",\"name\":\"What if I have already been charging VAT incorrectly for months?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The validation log and the country report provide the material for your accountant to regularize it. From the moment of installation, every decision is documented.\"}}]}<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Intra-EU VAT \u00b7 VIES \u00b7 OSS Intra-EU VAT in WooCommerce, charged correctly from the very first order Validate the VAT ID against VIES in real time, apply or remove the reverse charge exemption on the server, and charge the destination country\u2019s VAT when required. No spreadsheets and no blocking the sale if VIES goes down. [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_jf_save_progress":"","rank_math_focus_keyword":"IVA intracomunitario WooCommerce,validar VIES WooCommerce,exenci\u00f3n IVA reverse charge WooCommerce,OSS WooCommerce,IVA UE WooCommerce","rank_math_title":"Intra-community VAT in WooCommerce: guide and solution | EHERO","rank_math_description":"How to correctly charge intra-community VAT in WooCommerce: real VIES validation, reverse charge exemption on the server, OSS by country, and forms 349 and 303.","rank_math_robots":[],"rank_math_canonical_url":"","rank_math_seo_score":52,"footnotes":""},"class_list":["post-10652","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/consultoriaehero.com\/wp-json\/wp\/v2\/pages\/10652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/consultoriaehero.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/consultoriaehero.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/consultoriaehero.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/consultoriaehero.com\/wp-json\/wp\/v2\/comments?post=10652"}],"version-history":[{"count":2,"href":"https:\/\/consultoriaehero.com\/wp-json\/wp\/v2\/pages\/10652\/revisions"}],"predecessor-version":[{"id":10654,"href":"https:\/\/consultoriaehero.com\/wp-json\/wp\/v2\/pages\/10652\/revisions\/10654"}],"wp:attachment":[{"href":"https:\/\/consultoriaehero.com\/wp-json\/wp\/v2\/media?parent=10652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}