If you’ve ever splurged on skincare products in Paris (guilty) or picked up designer threads in Milan, there’s a good chance you accidentally left money on the table.
We at Travel Off Path see this all the time: travelers forget to claim their VAT (value-added tax) refund—and it can be worth hundreds of dollars on a single trip.
Here’s the ultimate, do-it-now guide to getting that cash back, with exact steps, qualification details, country-specific information, and a tool at the end to put it all together.
First: Who can get a VAT refund—and on what?
In most countries that have a consumption tax, non-resident tourists can reclaim the tax on goods (not services) they’re exporting home in their personal luggage. Think fashion, skincare, electronics, and souvenirs.
This generally excludes refunds on hotels, meals, car rentals, tours, or anything you “use up” in the country.
The core rules are universal: the goods must be for personal use and must leave the country (or economic bloc, like the EU) within a specific timeframe, usually three months. You may need to present them at the border, unused and in their original packaging, for inspection.
Quick example: France explicitly requires your total at a single shop, same day, to exceed €100 (tax included), and you must validate your form(often at a PABLO kiosk) before you fly out of the EU.
The step-by-step: How to actually get paid
1) At the store:
Tell the retailer you want to shop tax-free and show your passport. They’ll prepare a digital or paper tax-free form (by the retailer or a refund operator like Global Blue/Planet). Some countries have official e-systems (France: PABLO; Spain: DIVA).
2) At the airport/exit point:
Find the Customs validation point before check-in and security (signs for Tax Free/PABLO/DIVA). Scan or stamp your form and keep the goods handy—officers may ask to see them. If liquids are in your carry-on, validate before you check bags and pass security.
3) Get the refund:
After validation, head to the refund desk or mail/submit forms as instructed. Note: operators charge fees, so your net refund is slightly less than the sticker VAT rate. (France’s standard VAT is 20%, but you’ll receive less after fees.)
Global Spotlight: Country Cheat Sheet (2025)
Europe
- France: Minimum spend of €100 in the same shop on the same day. Uses the PABLO digital kiosk system for easy validation.
- Italy: Minimum spend dropped to €70.01 per receipt, making it easier to claim on smaller purchases.
- Spain: Uses the DIVA digital validation system. Goods must be exported from the EU within 3 months.
- UK (England, Scotland, Wales): The general tourist VAT refund scheme was ended in 2021. Don’t plan on an airport refund in London, though retailers continue to lobby for its return.
Asia-Pacific
- Japan: Minimum spend is ¥5,000 (excluding tax). Many major retailers can process the refund for you directly in-store—you just show your passport and they’ll deduct the tax at checkout.
- South Korea: Minimum spend is KRW 30,000. Look for “Tax-Free” or “Tax Refund” signs in shop windows. Kiosks are available at major airports for easy processing.
- Australia: Minimum spend is AUD $300 (including GST) in a single store. You must export the goods within 60 days. Use the official Tourist Refund Scheme (TRS) app to pre-fill your details and speed up the process at the airport.
The Americas
- United States: There is no national VAT or GST, so you cannot claim a federal tax refund. However, two states offer sales tax refunds to international tourists at specific airports: Texas and Louisiana. Rules and qualifying airports are very specific.
- Canada: The visitor GST/HST rebate program was largely discontinued in 2007. Refunds are now only available in very limited circumstances, such as for certain tour packages or accommodations. It’s generally not available for goods you purchase.
Middle East
- United Arab Emirates (UAE): Minimum spend is AED 250. You must specifically shop at retailers registered with the “Tax-Free” scheme (look for a sticker in the window). Validation is done at kiosks in the airport before you depart.
What doesn’t qualify?
- Services (hotels, restaurant bills, tours, car rentals)
- Used or consumed goods (e.g., opened perfume, worn clothing)
- Transport/vehicle gear, fuel, tobacco, and certain restricted items. These exclusions are spelled out by customs authorities (France/Spain) and apply widely across the EU.
Pro tips to avoid the most common mistakes
- Ask for the form at checkout—every time. If the shop won’t do tax-free sales, consider buying elsewhere.
- Bundle purchases to hit country minimums (France €100; Italy €70.01). One bigger receipt beats multiple small ones.
- Keep items accessible in your carry-on until after validation—Customs might inspect them.
- Validate at your last EU exit point. Flying Paris→Rome→U.S.? Validate in Rome, not Paris.
- Leave enough time at the airport. Lines at validation/refund counters can be long—especially now that Europe is rolling out new border tech like EES (biometric entry/exit), which could add a few minutes elsewhere in the airport journey.
Make it part of your travel game plan
If you’re traveling internationally this year, tax refunds are a savvy way to stretch your budget. Combine this know-how with other smart money tips, like using no-foreign-transaction-fee credit cards and understanding the local currency.
Being prepared for entry requirements and airport procedures will ensure you have a smooth, stress-free departure.
Bottom line
VAT refunds aren’t a loophole—they’re a built-in perk for visitors. Ask for the form at checkout, validate it at departure, and submit for payment. Do that, and your next shopping haul could come with a satisfying cashback coda—just like snagging that €80 back on French skincare before your flight home. (Chef’s kiss.)
Save this guide and use our tool below for your next trip—and if you want more wallet-friendly wins, our Europe coverage is packed with smart, current travel hacks tailor-made for savvy shoppers.
Global Tourist Tax Refund Guide { const mainContainer = document.getElementById(‘top-tax-refund-tool-v1’); const data = { generalProcess: { title: “The 4-Step Refund Process”, items: [ { emoji: ‘🛍️’, number: ‘1’, title: ‘At the Store’, description: ‘Ask the retailer for a “tax-free form” and present your passport.’ }, { emoji: ‘✈️’, number: ‘2’, title: ‘At the Airport/Border’, description: ‘Before check-in, go to the customs desk with your forms, receipts, and items.’ }, { emoji: ‘🛂’, number: ‘3’, title: ‘Get Customs Validation’, description: ‘An officer will stamp your forms or provide digital validation. This step is critical.’ }, { emoji: ‘💸’, number: ‘4’, title: ‘Claim Your Refund’, description: ‘Go to a refund operator desk for an immediate refund, or mail your validated forms.’ } ] }, regions: { eu: { title: “European Union (EU)”, note: “Important: For EU countries, you complete customs validation at your final exit point from the EU. (e.g., Fly Paris -> Rome -> USA, get stamp in Rome).”, countries: [ { name: “France”, min: “€100.01 per store/day”, rate: “20%”, process: “Uses the PABLO electronic system for fast validation at airport kiosks.” }, { name: “Italy”, min: “€70.01 per receipt”, rate: “22%”, process: “Uses the Otello digital system. Ensure the retailer logs the transaction electronically.” }, { name: “Spain”, min: “No minimum spend”, rate: “21%”, process: “Almost entirely digital via the DIVA system. Scan your form’s barcode at airport kiosks.” }, { name: “Germany”, min: “€50.01 per day/store”, rate: “19%”, process: “Relies more on manual paper form stamping. Be prepared for lines at the customs (Zoll) counter.” }, { name: “Portugal”, min: “€50 (before tax)”, rate: “23%”, process: “Uses the ‘e-Taxfree Portugal’ digital system, streamlined at major airports like Lisbon.” }, { name: “Greece”, min: “€50 per receipt”, rate: “24%”, process: “Standard paper-based or digital process through major refund operators.” }, { name: “Ireland”, min: “No minimum spend”, rate: “23%”, process: “Goods must be for personal use. Both digital and paper systems are in use.” }, { name: “Netherlands”, min: “€50 per receipt”, rate: “21%”, process: “Standard EU process. Amsterdam’s Schiphol Airport has efficient customs desks.” }, { name: “Austria”, min: “€75.01 per receipt”, rate: “20%”, process: “Standard EU process. Ensure your form is fully completed before approaching customs.” }, { name: “Belgium”, min: “€50 per receipt”, rate: “21%”, process: “Standard EU process. Brussels Airport is well-equipped for processing.” } ] }, nonEuEurope: { title: “Europe (Non-EU)”, note: “Important: You must get your customs stamp upon exiting that specific country, not at the end of your entire European trip.”, countries: [ { name: “Switzerland”, min: “CHF 300 per receipt”, rate: “8.1%”, process: “CRITICAL: Get your form stamped by Swiss Customs before entering the next country, even by train.” }, { name: “United Kingdom”, min: “N/A”, rate: “20%”, process: “The general tourist VAT refund scheme was abolished in England, Scotland, and Wales. No airport refunds.” }, { name: “Norway”, min: “NOK 315 per receipt”, rate: “25%”, process: “Get customs validation when leaving Norway for any other country (including EU nations).” }, { name: “Turkey”, min: “Varies by retailer”, rate: “18% (Standard)”, process: “Look for a ‘Tax-Free’ sticker. Get your form validated by Turkish Customs before check-in.” } ] }, world: { title: “Rest of World”, note: null, countries: [ { name: “Japan”, min: “JPY 5,000 (excl. tax)”, rate: “10% (Consumption Tax)”, process: “Many stores process the refund instantly at the point of sale. Consumables are sealed in a bag.” }, { name: “South Korea”, min: “KRW 30,000 per receipt”, rate: “10% (VAT)”, process: “Get instant refunds for smaller amounts in many downtown locations or process at airport kiosks.” }, { name: “Australia”, min: “AUD 300 per business”, rate: “10% (GST)”, process: “Claim within 60 days of purchase under the Tourist Refund Scheme (TRS). Use the TRS mobile app to pre-fill details.” }, { name: “Canada”, min: “N/A”, rate: “5% (GST) + Provincial”, process: “Canada does not have a general federal tax refund program for visitors.” } ] } } }; const buildElement = (tag, options = {}) => { const el = document.createElement(tag); Object.entries(options).forEach(([key, value]) => { if (key === ‘listeners’) { Object.entries(value).forEach(([event, handler]) => el.addEventListener(event, handler)); } else { el[key] = value; } }); return el; }; const appendBranding = () => { const branding = buildElement(‘p’, { className: ‘tool-branding’ }); branding.innerHTML = `Powered by Travel Off Path`; mainContainer.appendChild(branding); }; const scrollToToolTop = () => mainContainer.scrollIntoView({ behavior: ‘smooth’, block: ‘start’ }); const renderHomeView = () => { mainContainer.innerHTML = ”; const title = buildElement(‘h2’, { innerHTML: `🌍 Global Tax Refund Guide` }); const description = buildElement(‘p’, { textContent: ‘Select an option to find rules, rates, and minimum purchase amounts for popular travel destinations.’ }); const buttonGrid = buildElement(‘div’, { className: ‘button-grid’ }); const processButton = buildElement(‘button’, { className: ‘tool-button’, listeners: { click: () => { renderGeneralProcessView(); scrollToToolTop(); } } }); processButton.innerHTML = `🔢 General 4-Step Process →`; const euButton = buildElement(‘button’, { className: ‘tool-button’, listeners: { click: () => { renderRegionView(‘eu’); scrollToToolTop(); } } }); euButton.innerHTML = `🇪🇺 European Union (EU) →`; const nonEuButton = buildElement(‘button’, { className: ‘tool-button’, listeners: { click: () => { renderRegionView(‘nonEuEurope’); scrollToToolTop(); } } }); nonEuButton.innerHTML = `🇨🇭 Europe (Non-EU) →`; const worldButton = buildElement(‘button’, { className: ‘tool-button’, listeners: { click: () => { renderRegionView(‘world’); scrollToToolTop(); } } }); worldButton.innerHTML = `🌏 Rest of World →`; buttonGrid.append(processButton, euButton, nonEuButton, worldButton); mainContainer.append(title, description, buttonGrid); appendBranding(); }; const renderGeneralProcessView = () => { mainContainer.innerHTML = ”; const backButton = buildElement(‘button’, { className: ‘back-button’, innerHTML: `← Back`, listeners: { click: () => { renderHomeView(); scrollToToolTop(); } } }); const title = buildElement(‘h3’, { textContent: data.generalProcess.title }); const cardContainer = buildElement(‘div’); data.generalProcess.items.forEach(item => { const card = buildElement(‘div’, { className: ‘info-card’ }); card.innerHTML = ` ${item.number}
${item.title}
${item.description}`; cardContainer.appendChild(card); }); mainContainer.append(backButton, title, cardContainer); appendBranding(); }; const renderRegionView = (regionKey) => { mainContainer.innerHTML = ”; const region = data.regions[regionKey]; const backButton = buildElement(‘button’, { className: ‘back-button’, innerHTML: `← Back`, listeners: { click: () => { renderHomeView(); scrollToToolTop(); } } }); const title = buildElement(‘h3’, { textContent: region.title }); mainContainer.append(backButton, title); if (region.note) { const note = buildElement(‘div’, { className: ‘region-note’, innerHTML: region.note }); mainContainer.appendChild(note); } const buttonGrid = buildElement(‘div’, { className: ‘button-grid’ }); region.countries.forEach((country, index) => { const countryButton = buildElement(‘button’, { className: ‘tool-button’, listeners: { click: () => { renderCountryDetailView(regionKey, index); scrollToToolTop(); } } }); countryButton.innerHTML = `${country.name} →`; buttonGrid.appendChild(countryButton); }); mainContainer.appendChild(buttonGrid); appendBranding(); }; const renderCountryDetailView = (regionKey, countryIndex) => { mainContainer.innerHTML = ”; const country = data.regions[regionKey].countries[countryIndex]; const backButton = buildElement(‘button’, { className: ‘back-button’, innerHTML: `← Back to Region`, listeners: { click: () => { renderRegionView(regionKey); scrollToToolTop(); } } }); const title = buildElement(‘h3’, { textContent: country.name }); const card = buildElement(‘div’, { className: ‘info-card’ }); const minPurchase = buildElement(‘div’, {className: ‘detail-item’, innerHTML: `Minimum Purchase ${country.min}`}); const rate = buildElement(‘div’, {className: ‘detail-item’, innerHTML: `Standard Tax Rate ${country.rate}`}); const process = buildElement(‘div’, {className: ‘detail-item’, style: ‘flex-direction: column; align-items: flex-start;’}); process.innerHTML = `Key Process
${country.process}`; card.append(minPurchase, rate, process); mainContainer.append(backButton, title, card); appendBranding(); }; renderHomeView(); }); ]]>
The Travel Off Path Advantage: Your Travel Toolkit
Subscribe To Our Latest Posts
Enter your email address to subscribe to Travel Off Path’s latest breaking travel news, straight to your inbox.
Please visit:
Our Sponsor