
Remove VAT in Shopify checkout for Canary Islands, Ceuta, Melilla, Heligoland, Büsingen, Mount Athos, Livigno and Campione d’Italia.
TL;DR: Shopify often treats special VAT territories like their parent EU country because the checkout country is still Spain, Germany, Greece or Italy. For VAT, that can be too broad. EU Tax Exemption can remove VAT in checkout when the delivery address matches supported VAT-excluded territory postcodes, including the Canary Islands, Ceuta, Melilla, Heligoland, Büsingen, Mount Athos, Livigno and Campione d’Italia.
For many Shopify stores, the Canary Islands, Ceuta and Melilla look like normal Spanish addresses in checkout. The buyer selects Spain, enters a Spanish postcode, and Shopify sees the country code as ES.
That is fine for shipping, but it can be wrong for VAT. Mainland Spain is part of the EU VAT area. The Canary Islands are part of Spain, but they are not part of the EU VAT area. The European Commission lists the Canary Islands separately from Spain for VAT rules, and the Spanish Tax Agency explains that Spanish VAT applies to the Peninsula and Balearic Islands, excluding the Canary Islands, Ceuta and Melilla.
The same type of issue exists in a few other EU member states. Germany has Heligoland and Büsingen, Greece has Mount Athos, and Italy has Livigno and Campione d’Italia. They belong to an EU member state, but they are outside the normal EU VAT area.
So if you sell from a Dutch, Spanish, German, Belgian or other EU Shopify store to one of these territories, you may need a way to distinguish those orders from normal mainland orders.
The app detects supported VAT-excluded territory delivery addresses by country and postcode. These are the postcode rules used:
| Postcode range | Territory or province | Main area covered | VAT handling |
|---|---|---|---|
| 35000-35999 | Las Palmas | Gran Canaria, Lanzarote, Fuerteventura | Remove Spanish VAT |
| 38000-38999 | Santa Cruz de Tenerife | Tenerife, La Palma, La Gomera, El Hierro | Remove Spanish VAT |
| 51000-51999 | Ceuta | Ceuta | Remove Spanish VAT |
| 52000-52999 | Melilla | Melilla | Remove Spanish VAT |
| 27498 | Germany | Heligoland | Remove German VAT |
| 78266 | Germany | Büsingen am Hochrhein | Remove German VAT |
| 63086 | Greece | Mount Athos | Remove Greek VAT |
| 23041 | Italy | Livigno | Remove Italian VAT |
| 22061 | Italy | Campione d’Italia | Remove Italian VAT |
In short: the app checks the delivery country and postcode together. A postcode only triggers when it belongs to the matching country and the supported VAT-excluded territory.
Example postcodes that trigger VAT removal:
Example mainland Spain postcodes that do not trigger the exemption:
35000 falls under the province of Las Palmas. In practice, the exact city can depend on the full address and street, but for VAT detection the important part is the postcode prefix: 35xxx means Canary Islands, province Las Palmas.
The matching western province range is 38xxx, which belongs to Santa Cruz de Tenerife.
Ceuta uses the 51xxx postcode range. Melilla uses the 52xxx postcode range.
The same checkout logic can be used for a small set of non-Spanish territories that are also outside the EU VAT area:
The Italian waters of Lake Lugano are also listed outside the EU VAT area, but normal Shopify delivery addresses do not map cleanly to a separate standalone postcode for “waters”. The practical checkout rule focuses on the delivery addresses merchants can actually receive in Shopify.
IP detection can be useful for deciding whether to show a widget in the storefront, but it is not strong enough for checkout tax decisions. A customer can browse from one location and ship to another. Someone may use mobile internet, a VPN, a company network or a hotel connection.
For VAT removal in checkout, the delivery address is the better signal. The buyer enters their country and postcode in checkout, and that address ends up on the order. That gives the merchant a cleaner audit trail than an IP guess.
With the VAT-excluded territories checkout option enabled, the EU Tax Exemption app can automatically remove VAT when checkout detects a supported delivery country and postcode combination.
The buyer does not need to enter a VAT number for this specific case. The exemption is based on the delivery territory, not on VIES validation.
This is different from normal EU B2B VAT exemption. For a French, German or Belgian business customer, you normally validate the VAT number through VIES. For VAT-excluded territory delivery addresses, the key signal is the destination address.
To make this work in checkout, the EU Tax Exemption checkout block must be active. A backend setting alone is not enough, because the app needs to read the delivery postcode while the buyer completes checkout and update the price before the order is placed.
Setup checklist:
If you only use the storefront widget, the app can still validate VAT numbers and help B2B customers. But automatic VAT removal by special-territory postcode happens in checkout, so the checkout block is required for this specific flow.
Ceuta and Melilla are included in the checkout postcode rule. Ceuta uses 51xxx. Melilla uses 52xxx.
The order tag is intentionally general: vat-excluded-territory. That keeps the evidence simple while still making these orders easy to find in Shopify Admin.
Yes, when the delivery country is Spain and the postcode is a five-digit postcode starting with 35, 38, 51 or 52, the app treats it as a Spanish VAT-excluded territory delivery.
Yes. The checkout rule also supports 27498 and 78266 for Germany, 63086 for Greece, and 23041 and 22061 for Italy.
Not for this specific postcode-based checkout exemption. The exemption is based on where the goods are delivered. For regular EU B2B reverse-charge orders, VAT number validation still matters.
Yes. A Dutch Shopify store can sell to mainland Spain, the Canary Islands, Ceuta and Melilla. Mainland Spain should normally remain taxable where applicable, while these VAT-excluded delivery territories can be handled separately by postcode.
Shopify tax behavior depends on your market, tax settings and checkout setup. Many merchants still run into the practical issue that these territories are entered as Spain in checkout. A postcode-based rule gives you explicit control for this edge case.
Yes. This article explains the Shopify implementation pattern, not legal or tax advice. Your accountant should confirm the correct VAT treatment for your products, customer type and shipping flow.
Need help setting this up? Install EU Tax Exemption or contact us and we can help you test Spanish VAT-excluded territory checkout behavior with real postcodes.