Title: VAT Sentinel
Author: flexpoint
Published: <strong>July 28, 2026</strong>
Last modified: July 28, 2026

---

Search plugins

![](https://ps.w.org/vat-sentinel/assets/banner-772x250.png?rev=3625409)

![](https://ps.w.org/vat-sentinel/assets/icon-256x256.png?rev=3625409)

# VAT Sentinel

 By [flexpoint](https://profiles.wordpress.org/flexpoint/)

[Download](https://downloads.wordpress.org/plugin/vat-sentinel.0.1.0.zip)

 * [Details](https://wordpress.org/plugins/vat-sentinel/#description)
 * [Reviews](https://wordpress.org/plugins/vat-sentinel/#reviews)
 * [Development](https://wordpress.org/plugins/vat-sentinel/#developers)

 [Support](https://wordpress.org/support/plugin/vat-sentinel/)

## Description

VAT Sentinel adds a VAT number field to your WooCommerce checkout for EU/EEA business
buyers, validates it against the European Commission’s official VIES service, and
applies the cross-border B2B reverse charge when the number is valid. Every check
is recorded with a UTC timestamp.

The difference: when VIES is unavailable (which happens regularly and is outside
any vendor’s control), VAT Sentinel does not break your checkout. It accepts the
order, flags it as “VAT pending verification”, and lets you re-check it once VIES
recovers.

VAT Sentinel is a validation and record-keeping tool. It is NOT tax advice and does
not guarantee tax compliance. Always consult your own tax advisor.

Works on the block checkout, the modern WooCommerce default (it uses the WooCommerce
Additional Checkout Fields and Store API, so it requires WooCommerce 8.9 or newer).
The VAT number field does not currently appear on the legacy classic (shortcode)
checkout — if your store still uses the classic checkout, switch to the block checkout
to use VAT Sentinel.

#### Free

 * VAT number field at checkout (shown for EU/EEA, taxable carts)
 * Live VIES validation with basic format checks
 * Reverse-charge zero-rating for valid cross-border EU B2B carts, recorded with
   an internal order note (invoices/PDFs are not modified)
 * Accept + flag orders when VIES is down, with a manual re-check button
 * Live per-country VIES status panel
 * On-screen log of recent checks, including the business name and address VIES 
   returns (when the member state provides them)

#### Pro (planned)

A paid Pro version is planned for the future. It is not available yet, and this 
free version is complete and usable on its own.

### External services

This plugin connects to the European Commission’s VAT Information Exchange System(
VIES), a third-party service operated by the European Commission (a separate data
controller). It is used to validate VAT numbers. When a buyer enters a VAT number,
the plugin sends that VAT number and country code (and, if you configure it, your
own merchant VAT number as the requester) to the VIES REST endpoint at https://ec.
europa.eu/taxation_customs/vies/rest-api/ to confirm whether the number is valid
and to obtain a consultation reference. The plugin also makes a periodic request
to the VIES /check-status endpoint to display per-country availability; no personal
data is sent on that call. No data is sent to VIES except what is required to perform
the validation. VIES terms and privacy information are available at https://ec.europa.
eu/taxation_customs/vies/ .

The VIES “consultation number” is evidence that a validation was performed at a 
given date and time. It is proof that you checked. It is not proof of tax compliance
or of the order’s correct VAT treatment.

### Privacy

VAT numbers and validation results are stored locally in your own WordPress database
as part of your order/tax records. You (the site owner) are the data controller 
for this data; the plugin and its author do not receive it.

A VAT number can be personal data (for example for a sole trader), so: the lawful
basis for keeping it is your legal obligation to retain VAT evidence, commonly for
7 to 10 years depending on your country. Because the validation log is kept as tax
evidence, records are retained for that period and are not deleted automatically
on uninstall. To act on a data-subject erasure request you can remove the relevant
rows from the database; note that your legal obligation to retain VAT evidence may
justify keeping a record despite an erasure request. Document your own retention
policy in your store’s privacy notice.

This free version sends no usage statistics or telemetry of any kind.

The plugin’s full privacy policy is at https://vatsentinel.eu/privacy.html . The
plugin is published by Flexpoint Solutions OÜ; questions and support are at https://
vatsentinel.eu/support.html .

## Screenshots

[⌊A valid EU business VAT number is validated against VIES at checkout: the buyer
sees a clear confirmation and VAT drops to zero (reverse charge) before the order
is placed.⌉⌊A valid EU business VAT number is validated against VIES at checkout:
the buyer sees a clear confirmation and VAT drops to zero (reverse charge) before
the order is placed.⌉[

A valid EU business VAT number is validated against VIES at checkout: the buyer 
sees a clear confirmation and VAT drops to zero (reverse charge) before the order
is placed.

[⌊An invalid VAT number keeps VAT charged, and the buyer is told why. When VIES 
itself is down, the buyer sees an honest "temporarily unavailable" message instead
of a broken checkout.⌉⌊An invalid VAT number keeps VAT charged, and the buyer is
told why. When VIES itself is down, the buyer sees an honest "temporarily unavailable"
message instead of a broken checkout.⌉[

An invalid VAT number keeps VAT charged, and the buyer is told why. When VIES itself
is down, the buyer sees an honest “temporarily unavailable” message instead of a
broken checkout.

[⌊Every check is recorded with a UTC timestamp, including the business name and 
address VIES returned and the official consultation number when the member state
provides them.⌉⌊Every check is recorded with a UTC timestamp, including the business
name and address VIES returned and the official consultation number when the member
state provides them.⌉[

Every check is recorded with a UTC timestamp, including the business name and address
VIES returned and the official consultation number when the member state provides
them.

[⌊Each order shows a VAT Sentinel box: the number checked, the result, whether reverse
charge was applied, and the VIES-returned business identity.⌉⌊Each order shows a
VAT Sentinel box: the number checked, the result, whether reverse charge was applied,
and the VIES-returned business identity.⌉[

Each order shows a VAT Sentinel box: the number checked, the result, whether reverse
charge was applied, and the VIES-returned business identity.

[⌊Settings and the live per-country VIES status panel, straight from the European
Commission.⌉⌊Settings and the live per-country VIES status panel, straight from 
the European Commission.⌉[

Settings and the live per-country VIES status panel, straight from the European 
Commission.

## FAQ

### Why doesn’t the VAT number field show at checkout?

The most common reason: your store uses the legacy classic (shortcode) checkout.
The field is registered through the WooCommerce Additional Checkout Fields API, 
which renders on the block checkout (the WooCommerce default) — it does not appear
on the classic checkout. Beyond that, the field appears when the cart is taxable,
and it requires WooCommerce 8.9 or newer. If another plugin replaces or heavily 
customizes your checkout, the field may not render there.

### The VAT number is valid — why was VAT not removed?

Reverse charge only applies to cross-border EU B2B sales: the buyer’s billing country
must be an EU country different from your store’s base country. A domestic order
keeps VAT even with a valid VAT number. And if VIES was unreachable at the time,
the default safe mode keeps VAT charged (see below).

### What happens when VIES is down?

By default (safe mode) the order is still accepted, VAT is charged, and the order
is flagged “VAT pending verification” with a manual re-check button for when VIES
recovers. There is an opt-in setting to apply reverse charge provisionally instead,
clearly marked “at your own risk”. Either way your checkout never breaks because
VIES is down.

### Why is my order flagged “VAT pending verification”?

The VIES service was unavailable when the order was placed, so we accepted the order
rather than blocking your sale and flagged it for re-checking. Until VIES confirms
the number, the VAT treatment on this order is provisional and may be adjusted. 
VAT Sentinel records the check; it does not certify the order’s tax treatment. Use
the re-check button once VIES is back up.

### Is VIES down right now?

Open the VAT Sentinel status panel; it shows live per-country availability straight
from VIES.

### VIES returned no business name or address. Is something wrong?

No. Some EU member states do not return the trader’s name or address (Germany, for
example). The validity result and the consultation reference still stand; the log
shows “not provided by VIES” for those fields.

### Does VAT Sentinel change my invoices or PDF documents?

No. It validates the number, adjusts the order’s VAT via the standard WooCommerce
exemption, and writes an internal order note plus an audit record. It does not generate
or modify invoices, and it does not add reverse-charge wording to invoice documents—
your invoicing plugin or accounting tool must do that.

### Where are the validation records stored?

In your own WordPress database: an append-only audit table (`wp_vatsentinel_vat_log`,
with your table prefix) plus meta fields on each order. Nothing is sent to the plugin
author.

### What is the consultation reference and how do I get one?

Enter your own business VAT number in VAT Sentinel’s settings. Validations are then
made with your number as the requester, and VIES returns an official consultation
number that is stored with the check — dated evidence that the validation was performed.
Without your merchant VAT number configured, checks still work but VIES does not
issue a consultation number.

### What happens to my records if I uninstall the plugin?

Uninstalling removes the plugin’s settings but deliberately keeps the audit table
and order data, because validation records are tax evidence you are commonly required
to retain for years. If you truly want them gone, remove the `wp_vatsentinel_vat_log`
table and the order meta manually.

### Can I run VAT Sentinel together with another VAT/tax plugin?

Use one VAT validation plugin at a time. Two plugins that both set the customer’s
VAT exemption will fight each other and can produce wrong totals. General tax-rate
plugins are fine; a second VIES/VAT-number plugin is not.

### Does this make me VAT compliant?

No. VAT Sentinel validates numbers and keeps proof that you checked. It is not tax
advice and does not guarantee compliance. Consult your tax advisor.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“VAT Sentinel” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ flexpoint ](https://profiles.wordpress.org/flexpoint/)

[Translate “VAT Sentinel” into your language.](https://translate.wordpress.org/projects/wp-plugins/vat-sentinel)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/vat-sentinel/), check
out the [SVN repository](https://plugins.svn.wordpress.org/vat-sentinel/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/vat-sentinel/) by
[RSS](https://plugins.trac.wordpress.org/log/vat-sentinel/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.1.0

 * Initial release: VIES validation, reverse charge, accept+flag on downtime, audit
   record.

## Meta

 *  Version **0.1.0**
 *  Last updated **7 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [eu vat](https://wordpress.org/plugins/tags/eu-vat/)[reverse charge](https://wordpress.org/plugins/tags/reverse-charge/)
   [vat validation](https://wordpress.org/plugins/tags/vat-validation/)[vies](https://wordpress.org/plugins/tags/vies/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/vat-sentinel/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/vat-sentinel/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/vat-sentinel/reviews/)

## Contributors

 *   [ flexpoint ](https://profiles.wordpress.org/flexpoint/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/vat-sentinel/)