GravityForms – VAT-ID Field Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
Gravity Forms VAT ID Field — Validate EU VAT IDs (VIES & German BZSt eVatR)
Collect and verify European VAT IDs (USt-IdNr.) in your Gravity Forms — with real,
server-side validation, optional live online checks against EU VIES and the German BZSt eVatR service,
and a reusable Settings API field for developers. No Composer, no external libraries, no monthly
fees.
Whether you run B2B checkout forms, partner/reseller onboarding, e-invoicing intake, or any form that
captures a VAT number, this add-on makes sure the value you store is actually a valid European VAT ID —
not just a string that “looks right”.
Why you’ll love it
- ✅ Real validation, not just a regex. Structure, EU country prefix and
per-country length are all checked on the server, where it can’t be bypassed. - Optional live online verification against the official EU VIES
REST API and the German BZSt eVatR confirmation service — turn it on per field. - ️ Never loses a sale to an outage. If an online service is down, slow or
inconclusive, the local check stays authoritative and the submission is not blocked. - Developer-friendly. Ships a reusable vat_id Gravity Forms
Settings API field and stores your own VAT ID in a standard add-on settings page
(Forms → Settings → VAT ID Field). - ⚡ Lightweight & dependency-free. Uses the built-in WordPress HTTP API — no
Composer install, no bundled SDKs, no bloat. - Translation-ready. English and German included, fully internationalized.
Key features
A dedicated VAT ID form field
- Drag-and-drop field in the form editor, grouped under e-Invoicing Fields.
- Clean single-line input, auto-normalized to upper-case and stored without separators
(e.g. DE 123 456 789 → DE123456789).
Robust, layered validation (server-side)
- Structure — two-letter country prefix followed by 2–13 alphanumeric characters.
- EU country + length — the prefix must be a known EU VAT country, including the VAT
specials EL (Greece) and XI (Northern Ireland), with the correct
per-country length. - Optional online check (configurable per field):
- EU VIES — validates any EU VAT ID against the official VIES service.
- German BZSt eVatR — confirms a foreign EU VAT ID against your
own German VAT ID (qualified “USt-IdNr.-Bestätigung”). Falls back to VIES
automatically when eVatR doesn’t apply.
Robustness first: only a definitive invalid result ever blocks a submission.
Timeouts, rate limits and service outages can never reject a legitimate customer.
Optional country restriction
Accept VAT IDs from one specific country only — perfect for region-specific forms.
Own VAT ID in the add-on settings
Your company’s own German VAT ID (used as the requester for the eVatR confirmation) is entered once
under Forms → Settings → VAT ID Field — a standard Gravity Forms add-on
settings page, right where you’d expect it.
Reusable Settings API field (vat_id)
Expose the same VAT ID validation inside any add-on’s plugin or feed settings:
$fields[] = array(
'name' => 'company_vat_id',
'type' => 'vat_id',
'label' => __( 'Company VAT ID', 'your-textdomain' ),
'class' => 'medium',
);
How online verification works
- Format / length only — no external call; pure local validation.
- EU VIES (ec.europa.eu) — validates any EU VAT ID.
- German BZSt eVatR (api.evatr.vies.bzst.de) — confirms a foreign
EU VAT ID against your own German VAT ID.
The eVatR procedure requires your own German VAT ID (set once under Forms →
Settings → VAT ID Field) and can only confirm VAT IDs from other member states; when it
doesn’t apply, the add-on transparently falls back to VIES.
What’s included
- The plugin (form field + reusable vat_id Settings API field + shared settings page).
- English and German translations (.po / .mo / .pot).
- Full documentation in English and German (README + feature overview).
- Clean, heavily commented, object-oriented code — easy to read, extend and audit.
Requirements & compatibility
- WordPress with Gravity Forms ≥ 2.5
- PHP ≥ 7.4 (with the standard json extension)
- Works alongside the companion Gravity Forms SEPA Fields add-on (IBAN / BIC) —
they share the same “e-Invoicing Fields” group and settings page without conflicts.
Privacy / GDPR
When an online check is enabled, the submitted VAT ID (and, for a qualified eVatR check, any company
name/address passed) is transmitted to the selected external service — the EU Commission
(VIES) and/or the German Federal Central Tax Office (BZSt eVatR). The add-on
itself stores no data beyond the form entry value. Mention this in your site’s privacy policy where
required.
Support & updates
Clean, well-documented code that’s easy to maintain. Localization-ready out of the box. Built to
follow Gravity Forms’ official add-on framework and Settings API conventions, so it stays compatible as
your stack evolves.
Changelog
1.2.0
- Reworked & extended online validation: per-field Validation method select
(none / EU VIES / German BZSt eVatR), replacing the former “Validate against VIES” checkbox
(legacy value still honored). - New online validator wrapping the VIES and BZSt eVatR REST
services (dependency-free). - New shared, extensible “e-Invoicing Fields” settings page holding your own German
VAT ID. - VAT ID is now also a reusable Gravity Forms Settings API field (vat_id).
- Online services never block a submission when unavailable or inconclusive.
1.1.0
- Split off into a standalone plugin providing only the VAT ID field (per-country length / EU-prefix
check, optional default-country restriction, optional VIES check).

