WooCommerce EU VAT Rates CSV Generator

Standard, reduced and zero VAT rates for all 27 EU countries plus the UK, Norway and Switzerland, mapped to WooCommerce's tax classes.

Describe the result you need. AI will set up the tool and ask for any missing details.

Configure with AI

Enter to submit · Shift + Enter for a new line

Sent to AI. Leave out passwords and private customer data.

Your details

"all" for all 27, or two-letter codes.

WooCommerce EU VAT rate import CSV

woocommerce-eu-vat-rates.csv
Country code,State code,Postcode / ZIP,City,Rate %,Tax name,Priority,Compound,Shipping,Tax class
AT,,,,20.0000,VAT,1,0,1,
BE,,,,21.0000,VAT,1,0,1,
BG,,,,20.0000,VAT,1,0,1,
HR,,,,25.0000,VAT,1,0,1,
CY,,,,19.0000,VAT,1,0,1,
CZ,,,,21.0000,VAT,1,0,1,
DK,,,,25.0000,VAT,1,0,1,
EE,,,,24.0000,VAT,1,0,1,
FI,,,,25.5000,VAT,1,0,1,
FR,,,,20.0000,VAT,1,0,1,
DE,,,,19.0000,VAT,1,0,1,
GR,,,,24.0000,VAT,1,0,1,
HU,,,,27.0000,VAT,1,0,1,
IE,,,,23.0000,VAT,1,0,1,
IT,,,,22.0000,VAT,1,0,1,
LV,,,,21.0000,VAT,1,0,1,
LT,,,,21.0000,VAT,1,0,1,
LU,,,,17.0000,VAT,1,0,1,
MT,,,,18.0000,VAT,1,0,1,
NL,,,,21.0000,VAT,1,0,1,
PL,,,,23.0000,VAT,1,0,1,
PT,,,,23.0000,VAT,1,0,1,
RO,,,,21.0000,VAT,1,0,1,
SK,,,,23.0000,VAT,1,0,1,
SI,,,,22.0000,VAT,1,0,1,
ES,,,,21.0000,VAT,1,0,1,
SE,,,,25.0000,VAT,1,0,1,
GB,,,,20.0000,VAT,1,0,1,

28 tax rates. Rates last checked 30 Sep 2026: European Commission (EU), GOV.UK, Skatteetaten (Norway) and the Federal Tax Administration (Switzerland). Import at WooCommerce → Settings → Tax → Standard rates → Import CSV, then repeat for each class tab that got rows.

Which VAT rate applies depends on the product category, and countries with two reduced rates apply them to different goods. Confirm which rate covers what you sell with that country's VAT office before moving products into a reduced-rate class.

Greece is GR in WooCommerce, not EL as in the EU's own VAT tables. The file already uses GR.

Below the EU's EUR 10,000 distance-selling threshold, sales to consumers in other EU countries can stay taxed at your own country's rate; above it (or once you register for the One Stop Shop), you charge the customer's country's rate and declare it all through the OSS return. Only import the rates you actually have to charge.

Rates, and how they map to WooCommerce tax classes

WooCommerce's tax importer needs exactly 10 columns per row. This generator writes a Standard-rate row for every country you include, and an optional reduced-rate row on top.

RateTax class in the CSVSet-up needed
StandardBlank (Standard)None, it's built in.
First reduced ratereduced-rateNone, WooCommerce ships this class by default.
Second reduced rate ("Add both")reduced-rate-2Add a class named exactly "Reduced rate 2" under WooCommerce → Settings → Tax → Additional tax classes first.
UK zero ratezero-rateNone, built in.

Default settings

EU countries
all
Reduced rate
Standard rate only
United Kingdom
included, 20%

28 rows: the 27 EU standard rates (Luxembourg 17% to Hungary 27%) plus the UK's 20%.

Which rate applies to what you sell

Several countries run two reduced rates covering different categories: Hungary's 5% and 18%, for example, don't apply to the same goods. Picking "Add both" gives you both rows so you can split products between them, but it doesn't tell you which products go where; check that against the country's own VAT office or a EU VAT adviser.

  • Denmark has no reduced rate at all in the EU table: it's a single 25% rate on everything, so the reduced-rate option adds nothing there.
  • Switzerland also has a separate 3.8% rate for hotel and short-term accommodation, which isn't included here since it's a sector-specific rate rather than a general reduced rate; add it as its own tax class row if you sell accommodation.

Importing, thresholds and limits

  1. 01

    Turn on taxes

    WooCommerce → Settings → General → tick Enable tax rates and calculations.

  2. 02

    Add extra classes if needed

    WooCommerce → Settings → Tax → Additional tax classes, one per line, only if you picked "Add both" reduced rates.

  3. 03

    Import each class

    WooCommerce → Settings → Tax, then Import CSV on the Standard rates tab and again on each reduced-rate tab that got rows.

  • Below the EU's EUR 10,000 distance-selling threshold, cross-border sales to EU consumers can stay taxed at your own country's rate; above it, you charge the buyer's country's rate and can declare it all through One Stop Shop (OSS) instead of registering in every country.
  • WooCommerce uses GR for Greece; the EU's own VAT tables use EL. This file already uses GR, so don't "correct" it.

Questions people ask

Do I need to charge every EU country's VAT?

Only once you're above the EUR 10,000 EU-wide distance-selling threshold, or if you've registered for OSS voluntarily. Below that, EU consumer sales can usually stay taxed at your own country's rate; check your own situation.

What's the difference between the Reduced rate and Zero rate classes?

Reduced rate is WooCommerce's built-in class for a lower, non-zero VAT rate. Zero rate is for 0%, used here for the UK's zero-rated goods (most food, children's clothes, books).

Why does "Add both" need an extra setup step?

WooCommerce ships with only two extra classes out of the box, Reduced rate and Zero rate. A country's second reduced rate needs a third class, which you add yourself under Additional tax classes; otherwise those rows silently fall back to Standard.

Is Norway or Switzerland actually in the EU VAT system?

No, neither is an EU member, so they're not in the EU table. They're included here as separate, correctly sourced entries (Norway's MVA, Switzerland's VAT) for stores that also ship there.

Do these rates include VAT on shipping?

Only if you leave "Charge VAT on shipping too" on, which is the default. Most EU countries tax shipping as part of the sale when the goods are taxable.

Want this builtinto your store?

I'm Emmanuel, a Shopify and WooCommerce developer. If this tool pointed at something you'd rather have fixed for you (a faster store, cleaner product data, a migration, a custom feature), send me a note.

Emmanuel Asika

Emmanuel Asika

Shopify & WooCommerce developer, Dublin

I build and fix online stores: new builds, migrations, speed, SEO and the custom bits apps can't do.

hello@emmanuelasika.com