
內容簡介
VIESAC 是一款專為 WooCommerce 設計的免費外掛,能夠驗證 VAT 號碼並在結帳時應用 B2B 反向徵稅及供應地規則。透過即時的註冊查詢與決策引擎,確保正確的稅務處理。
【主要功能】
• 驗證歐盟及英國的 VAT 號碼
• 支援多國 VAT 格式及即時查詢
• 智能 B2B 反向徵稅引擎
外掛標籤
開發者團隊
② 後台搜尋「VIESAC – Free VAT Validation for WooCommerce」→ 直接安裝(推薦)
📦 歷史版本下載
原文外掛簡介
VIESAC helps WooCommerce stores validate VAT and GST numbers and apply B2B reverse-charge and place-of-supply rules at checkout. It combines local format and checksum checks, live registry lookups across 48 VAT/GST jurisdictions, standard VAT/GST rate setup for 115 countries, and a decision engine that chooses tax treatment from cart contents and destination.
Official registries used for live checks:
* European Union (EU-27) & Monaco (MC): Real-time checks via the European Commission’s EU VIES system for all 27 EU member states, plus Monaco (MC) through the French VIES route and DGFiP register.
* United Kingdom (GB & XI): Great Britain VAT validation via the official HMRC VAT API; Northern Ireland (XI) validation via EU VIES.
* Switzerland (CH) & Liechtenstein (LI): Support for 9-digit CHE UID format and Liechtenstein companies (Liechtenstein and Switzerland form a unified VAT territory; Liechtenstein VAT numbers follow the Swiss UID registry).
* Norway (NO): 9-digit MVA format & Modulo 11 checksum verification; live VAT registration check via the Brønnøysund Register Centre (Enhetsregisteret).
* Serbia (RS): 9-digit PIB format & ISO 7064 MOD 11,10 checksum verification; live company check via the Serbian Tax Administration VAT Register.
* Turkey (TR): 10-digit VKN algorithmic format verification; live taxpayer check via the Turkish Revenue Administration (GİB) e-Fatura registry.
* Bosnia and Herzegovina (BA): 12-digit PDV identifier; live check via the Indirect Taxation Authority (UINO). The 13-digit direct-tax JIB is a different identifier.
* North Macedonia (MK): 13-digit EDB tax number with Modulo 11 check digit verification; live check via the Public Revenue Office (UJP).
* Albania (AL): NIPT / NUIS, a letter, eight digits, and a letter; live business registry check via the National Business Center (QKB).
* Iceland (IS): 5–6-digit VSK number or 10-digit kennitala with Modulo 11 checksum; live check via Skatturinn. Kennitala identifies the entity; the registry determines VAT registration.
* Australia (AU): 11-digit ABN with Modulo 89 checksum; live ABN status check via the Australian Business Register (ABR). An active ABN does not itself establish GST registration.
* United Arab Emirates (AE): 15-digit Tax Registration Number (TRN); live VAT registration check via the Federal Tax Authority (FTA) register.
* Armenia (AM): 8-digit Taxpayer Identification Number (TIN / ՀՎՀՀ, including /1 VAT suffix notation); live check via the State Revenue Committee (SRC / Petekamutner).
* Georgia (GE): 9-digit or 11-digit taxpayer identification code; live VAT registration check via the Georgia Revenue Service (rs.ge).
* Egypt (EG): 9-digit Tax Registration Number (TRN); live taxpayer registration check via the Egyptian Tax Authority (ETA).
* Taiwan (TW): 8-digit Unified Business Number (UBN / BAN) with statutory Modulo 5 checksum; live verification via the MOEA GCIS Open Data API and Ministry of Finance (MOF) tax register.
* Japan (JP): Qualified Invoice Issuer Registration Number (T + 13 digits); live check via the National Tax Agency (NTA) Qualified Invoice Issuer Register.
* Singapore (SG): Unique Entity Number (UEN formats A, B, C) or IRAS M GST number; live verification via the ACRA Open Data API and IRAS GST register.
* India (IN): 15-character Goods and Services Tax Identification Number (GSTIN) with statutory base-36 Modulo 36 check character; instant format and checksum verification at checkout, followed by a live GSTN / IRIS IRP portal lookup when the order audit is created.
* South Africa (ZA): 10-digit VAT reference number (starting with 4) with statutory SARS Luhn / Modulo 10 checksum; live verification via the South African Revenue Service (SARS).
* Argentina (AR): 11-digit CUIT (prefixes 20, 23, 24, 27, 30, 33, 34) with statutory Modulo 11 checksum; live taxpayer and IVA status verification via ARCA (formerly AFIP).
Intelligent B2B Reverse-Charge & Place of Supply Engine
VIESAC automatically determines the correct tax treatment during checkout without complex configuration:
* Physical Goods vs. Digital/Virtual Services: Dynamically resolves the place of supply based on cart contents. Physical shipments evaluate the delivery/shipping destination; digital or purely virtual orders evaluate the customer’s billing country.
* Intra-EU B2B Reverse Charge: 0% VAT is applied automatically only when a buyer enters a valid VAT number from a different EU member state.
* Domestic Sales Protection: Domestic orders (destination matching the store’s base country) always retain standard local VAT, even if a valid local VAT number is provided.
* Unified Swiss-Liechtenstein Territory: Sales between Switzerland and Liechtenstein stay domestic within the customs union and keep local tax.
* Monaco & Isle of Man: Monaco uses French VAT numbers (FR); Isle of Man uses UK VAT numbers (GB). Both stay in the same VAT territory as France and the United Kingdom.
* Places outside the EU VAT area: Canary Islands, Ceuta, Melilla, Åland, Jersey, Guernsey, Heligoland, Büsingen, Livigno, Campione d’Italia, and Mount Athos are treated as outside the EU VAT area for place-of-supply, even when the country code looks EU.
* Cross-Border Exports: Verified non-EU businesses (across all supported national registries including GB, CH, NO, RS, TR, BA, MK, AL, IS, AU, AE, AM, GE, EG, TW, JP, SG, IN, ZA, and AR) can receive 0% export VAT. An invalid number for a supported registry keeps shop tax. For countries without live VIESAC validation, an alphanumeric tax number can remove tax as an unverified export with no API call and no VIESAC audit; the merchant confirms that number later.
* Instant Checkout Feedback: Validation runs when the customer leaves the VAT field (blur / focusout), with debounce while typing.
* Official registry unavailable: Checkout still completes if VIES, HMRC, or another official VAT registry does not answer in time. For a qualifying cross-border order, the store can finish checkout without VAT and keep checking in the background. The order shows the result when the registry responds. In WooCommerce → VIESAC you can instead keep the normal tax until the registry confirms the number. A paid virtual order stays on hold by default, so the download is not sent until the registry confirms the number. Physical orders are fulfilled as usual unless you turn that hold on.
1-Click Standard VAT Rate Setup (115 Countries)
Merchants can import and configure the official standard VAT or GST rate for their store base country in WooCommerce with a single click directly from the VIESAC settings page (WooCommerce -> VIESAC). VIESAC covers 115 countries and territories across the EU-27, the UK, Europe, the Caucasus, Central Asia, the Middle East, Asia-Pacific, Africa, and the Americas. Existing rates and custom reduced rates remain completely untouched.
Stored Proof & Audit Certificates
Eligible verified B2B orders can store a timestamped VIESAC audit record, registry evidence, and a downloadable PDF certificate in order details, subject to the stored-proof allowance. This is a VIESAC certificate containing registry evidence; it is not a certificate issued by the tax authority.
Features
Automated Reverse-Charge Engine – Dynamic place of supply evaluation for goods vs. virtual services
Real-time EU VIES Validation – Live verification for all 27 EU member states, Northern Ireland (XI), and Monaco (MC)
UK VAT checks via HMRC – Validate Great Britain (GB) VAT numbers through HMRC’s official API
20 Non-EU National Tax & Business Registries – Live validation for Switzerland & Liechtenstein (UID), Norway (Brønnøysund), Serbia (Tax Administration), Turkey (GİB e-Fatura), Bosnia and Herzegovina (UINO), North Macedonia (UJP), Albania (QKB), Iceland (Skatturinn), Australia (ABR), United Arab Emirates (FTA), Armenia (SRC), Georgia (Revenue Service), Egypt (ETA), Taiwan (MOEA GCIS & MOF), Japan (NTA Qualified Invoice Register), Singapore (ACRA & IRAS), India (GSTN), South Africa (SARS), and Argentina (ARCA)
VAT Territory Aliases – Switzerland–Liechtenstein, Monaco–France, and Isle of Man–United Kingdom stay in one tax territory where the rules require it
Developer Hooks – Country-aware VAT/company labels, placeholders, visibility and required fields in Classic Checkout; product/destination exemption restrictions in Classic and Blocks; live checks and audits for supported countries stay on the VIESAC path (docs)
Instant Checkout Validation – Checks on field blur/focusout with typing debounce
1-Click Standard VAT/GST Rate (115 Countries) – Import the official standard rate for the store country across 115 jurisdictions without touching reduced rates
Country-specific Format & Checksum Checks – Client-side syntax, domestic prefix normalization (CHE, ABN, TRN, UBN, BAN, UEN, GST, GSTIN, CUIT, CVR, NIP, OIB, PIB), and statutory checksum validation (NO, RS, TR, AU, IS, DK, MK, TW, IN, ZA, AR) without an API key
Audit Records & Certificates – Timestamped registry evidence and downloadable VIESAC PDF certificates on eligible WooCommerce orders
Usage Transparency – Separate views for monthly checks, hourly capacity, and stored proof quotas
HPOS & Blocks Compatible – Works with WooCommerce Custom Order Tables and Checkout Blocks
Multilingual Ready – 28 languages; works with WPML, Polylang, and TranslatePress
VAT number validation by country
VIESAC includes country-specific VAT/GST number format validation for every jurisdiction below. Live validation uses EU VIES for EU member states, Northern Ireland, and Monaco, plus official national registries for 20 non-EU countries:
Albania (AL/ALB) – NIPT / NUIS, letter + 8 digits + letter; QKB registry check
Argentina (AR/ARG/CUIT) – 11-digit CUIT (20, 23, 24, 27, 30, 33, 34) with Modulo 11 checksum; ARCA registry check
Armenia (AM/ARM) – 8-digit TIN (with optional /1 VAT suffix); State Revenue Committee (SRC) registry check
Australia (AU/AUS/ABN) – 11-digit ABN with Modulo 89 checksum; ABR status check (active ABN is separate from GST registration)
Bosnia and Herzegovina (BA/BIH) – 12-digit PDV; UINO registry check (not 13-digit JIB)
Egypt (EG/EGY) – 9-digit TRN; Egyptian Tax Authority (ETA) registry check
Georgia (GE/GEO) – 9-digit or 11-digit taxpayer ID; Georgia Revenue Service (rs.ge) check
Iceland (IS/ISL) – 5–6-digit VSK or 10-digit kennitala with Modulo 11 checksum; Skatturinn registration check
India (IN/IND/GSTIN) – 15-character GSTIN with Modulo 36 check character; format + checksum at checkout and full GSTN portal verification on order audit creation
Japan (JP/JPN) – T + 13 digits (or 13-digit corporate number normalized with T); National Tax Agency (NTA) Qualified Invoice Issuer check
North Macedonia (MK/MKD) – 13-digit EDB with Modulo 11 checksum; UJP registry check
Singapore (SG/SGP/UEN/GST) – 9–10 character UEN (formats A, B, C) or IRAS M GST number; ACRA & IRAS GST registry check
South Africa (ZA/ZAF) – 10-digit VAT number starting with 4 with SARS Modulo 10 checksum; SARS registry check
Taiwan (TW/TWN/UBN/BAN) – 8-digit Unified Business Number with Modulo 5 checksum; MOEA GCIS & MOF tax register check
United Arab Emirates (AE/ARE/UAE/TRN) – 15-digit TRN; Federal Tax Authority (FTA) registry check
Austria (AT) – Austrian VAT numbers
Belgium (BE) – Belgian VAT numbers
Bulgaria (BG) – Bulgarian VAT numbers
Croatia (HR/OIB) – Croatian VAT/OIB numbers
Cyprus (CY) – Cypriot VAT numbers
Czechia (CZ) – Czech VAT numbers
Denmark (DK/CVR) – Danish 8-digit CVR/VAT numbers
Estonia (EE) – Estonian VAT numbers
Finland (FI) – Finnish VAT numbers
France (FR) & Monaco (MC) – French and Monegasque VAT numbers
Germany (DE) – German VAT numbers
Greece (EL/GR) – Greek VAT numbers
Hungary (HU) – Hungarian VAT numbers
Ireland (IE) – Irish VAT numbers
Italy (IT) – Italian VAT numbers
Latvia (LV) – Latvian VAT numbers
Lithuania (LT) – Lithuanian VAT numbers
Luxembourg (LU) – Luxembourg VAT numbers
Malta (MT) – Maltese VAT numbers
Netherlands (NL/NLD) – Dutch VAT numbers (with suffix normalization)
Poland (PL/NIP) – Polish VAT/NIP numbers
Portugal (PT) – Portuguese VAT numbers
Romania (RO) – Romanian VAT numbers
Serbia (RS/SRB/PIB) – 9-digit PIB with checksum; live registration check through the Serbian Tax Administration with an API key
Slovakia (SK) – Slovak VAT numbers
Slovenia (SI/SL) – Slovenian VAT numbers
Spain (ES) – Spanish VAT numbers
Sweden (SE) – Swedish VAT numbers (including 10-digit organisation number auto-completion)
Switzerland (CH/CHE) & Liechtenstein (LI) – CHE UID format; live UID register check; unified territory with Liechtenstein
Turkey (TR/TUR) – 10-digit VKN with checksum; live GİB e-Fatura taxpayer register check with an API key
Northern Ireland (XI) – Northern Irish VAT numbers through EU VIES (goods destination rules)
Great Britain (GB/UK) – UK VAT numbers through HMRC for England, Scotland, and Wales
Norway (NO) – 9-digit MVA with checksum; live VAT registration check through the Brønnøysund Register Centre with an API key
Getting started
Install and activate the plugin.
Go to WooCommerce -> VIESAC.
Get your free API key from https://viesac.eu/app/api.
Enter the API key and save.
Languages
VIESAC is available in 28 languages: English, Norwegian Bokmål, German, French, Spanish, Italian, Polish, Dutch, Romanian, Greek, Czech, Swedish, Hungarian, Portuguese, Bulgarian, Danish, Finnish, Slovak, Croatian, Serbian (Cyrillic), Latvian, Estonian, Lithuanian, Slovenian, Russian, Turkish, Arabic, Ukrainian.
Multilingual compatibility
VIESAC uses standard WordPress gettext for its interface and VAT validation messages, so it works with WordPress language packs and the Gettext translation tools in WPML, Polylang, and TranslatePress.
Custom VAT field label and VAT field placeholder values are supported too:
WPML: translate them in WPML -> String Translation after saving the VIESAC settings.
Polylang: translate them in Languages -> String translations after saving the VIESAC settings.
TranslatePress: translate them as regular strings in its translation editor after visiting checkout in the target language.
External services
This plugin connects to the VIESAC API to validate VAT numbers, retrieve account usage information, and optionally create audit records with certificate storage.
It sends data to https://viesac.eu only when a store administrator enters an API key and the plugin performs one of these actions:
Live VAT validation via https://viesac.eu/api/v1/validate
VAT audit creation via https://viesac.eu/api/v1/audits
Account and usage lookup via https://viesac.eu/api/v1/account
Depending on the action, the plugin may send:
VAT country code and VAT number
Company name
Company address
Order number
Order audit details in XML format for certificate generation
Service provider documentation:
Privacy Policy: https://viesac.eu/privacy-policy
Terms of Service: https://viesac.eu/terms-of-service
For developers
English hook reference: https://viesac.eu/extensions/woocommerce/developers
Hooks can wrap validation, change checkout text, or keep tax on. They cannot replace a live VIESAC result for a supported country, and they cannot skip the audit when that result removes tax. Countries without live VIESAC checks never create a VIESAC audit.
