EU VAT Number Validation & Reverse Charge
Add-on ID: kv_eu_vat_validation · Edition: CS-Cart & Multi-Vendor · Latest version: 1.0.0 · Compatible with: CS-Cart & Multi-Vendor 4.17.2 – 4.21.x, PHP 7.4 – 8.3 · Changelog: view
Selling to businesses in other EU countries? Their VAT number has to be valid in VIES, the European Commission’s VAT register, before you can invoice without VAT under the reverse charge rule. This add-on adds a VAT number field to the customer profile and the checkout, checks every number live in VIES (and UK numbers with HMRC if you want), and removes the VAT from the order for valid business buyers in another EU country than your store. The order keeps the VIES answer and its consultation number, and the invoice shows the VAT number and the reverse charge note.
- VAT number field: a normal CS-Cart profile field in the contact information, on the profile page and at checkout. Already collecting VAT numbers in a field of your own? Point the add-on at it.
- Format check for 29 prefixes: all 27 EU countries, Northern Ireland (XI) and the UK (GB). Spaces, dots and dashes are accepted, Greek numbers can start with GR or EL, and a number without a prefix takes the buyer’s country.
- Live VIES check: the result appears under the field while the customer types (valid with the registered company name, not valid, wrong country), and again at checkout.
- Automatic reverse charge: a valid number from another EU country than the store gets 0% VAT through CS-Cart’s own tax calculation, including taxes that are already included in your prices (the business buyer pays the net price). Domestic sales keep VAT.
- Proof for the tax office: with your own VAT number entered, every check returns a VIES consultation number. It is stored with the order together with the date, the registered name and address.
- Invoices: the VAT number, the reverse charge note and the consultation number on the invoice and the order summary (document templates of 4.17 to 4.21 and the classic invoice), and your own VAT number under the store address.
- When VIES is down: choose to accept the number and flag the order for review, or to charge VAT. Answers are cached (24 hours by default), outages for 10 minutes, so VIES is never asked twice for the same number in a row.
- Admin tools: a VAT panel on the order page with a re-check button, an orders filter (reverse charge, needs review, with a VAT number, invalid), a validation log with a manual check, and the counters you need at a glance.
- Multi-Vendor: vendors keep their own VAT number in the core Tax number field; it is checked when the vendor profile is saved and printed on the vendor’s invoices.
- Full page cache (4.21): nothing visitor-specific is printed on cached pages; the live check runs in the background.

Documentation
Section titled “Documentation”| Page | Contents |
|---|---|
| Installation | Requirements, installing, upgrading, uninstalling |
| Configuration | Settings, your VAT number, fallback, UK numbers, taxes, license |
| Usage | What customers see, orders, invoices, the log, Multi-Vendor and Ultimate |
| Developer notes | How the reverse charge is applied, data model, endpoints, hooks, document variables |
| FAQ | Common questions |
Compatibility
Section titled “Compatibility”| CS-Cart / Multi-Vendor | 4.17.2 – 4.21.x (Ultimate and Multi-Vendor editions) |
| PHP | 7.2.5 – 8.3 (whatever your CS-Cart version supports), cURL extension and outgoing HTTPS for VIES/HMRC |
| Checkout | The standard CS-Cart checkout (lite checkout) |
| Themes | Responsive and themes based on it (Bright, Nova and others) |
| Taxes | Any CS-Cart tax setup: price includes tax or not, unit price or subtotal calculation |
| Full page cache (4.21) | Supported |
The add-on validates numbers and applies the rules described here. It does not give tax advice: check with your accountant which sales qualify for the reverse charge in your situation.