Launch pricing: Lock in Pro at $79/yr before prices go up View pricing →

B2B VAT number field

Overview

B2B sales do not count toward the EUR 10,000 OSS threshold — but only if you know they are B2B. Since version 1.2.0, the free plugin adds an optional VAT-number field to the checkout so business customers can identify themselves. The number is stored on the order (in the _oss_vat_number meta key) and used by order classification to decide whether the order is excluded.

The field works on both checkout types:

  • Classic (shortcode) checkout — a field labelled VAT number (EU businesses) in the billing section.
  • Block-based checkout (the WooCommerce default) — an optional VAT number field in the contact section.

Display modes

Under WooCommerce → One Stop Shop → Settings, the VAT number field at checkout setting has three modes:

  • Auto — show unless another VAT plugin provides one (default). If a known third-party EU VAT plugin is detected (such as WooCommerce EU VAT Number, Aelia EU VAT Assistant, or Germanized), the plugin defers to it and does not add a duplicate field. The classifier still reads the other plugin’s number from its usual meta keys.
  • Always show — render the field regardless.
  • Never show — never render the field. VAT numbers stored by other plugins are still respected.

Validation statuses

Every VAT number on an order resolves to one of these statuses, visible in the orders list tooltip and the EU VAT OSS order box:

StatusMeaningCounts toward threshold?
noneNo VAT number present (B2C)Yes
exemptOrder marked VAT-exempt (is_vat_exempt = yes)No
assumedFormat-valid number, not VIES-verifiedNo by default (Yes in strict mode)
verifiedConfirmed via VIES (Pro)No
invalidMalformed, or VIES confirmed it does not existYes — flagged for review

The free plugin validates the format of the number locally — the country prefix plus each member state’s length and pattern — without contacting any external service. Confirming that a number actually exists and is active is a live VIES lookup provided by the Pro add-on.

A bad number never hides a sale

This is the design principle worth knowing: a malformed VAT number keeps the order counting toward the threshold. The plugin never silently drops a sale because of a number it cannot trust. Instead, the order is flagged with a red warning icon in the orders list (“A B2B VAT number was provided but is invalid or unverified — this sale is counted toward the threshold”) so you can review it — and, if the customer made a typo, correct the number on the order.

Strict mode: Require VIES verification

The Require VIES verification for B2B checkbox in Settings flips the default for format-valid numbers:

  • Off (default) — a structurally valid VAT number excludes the order from the threshold.
  • On — an order is excluded only after its number is confirmed via the EU VIES service. Until then it counts toward the threshold. This is the safer, stricter choice.

VIES verification itself is a Pro feature. If you enable strict mode without Pro, orders carrying a VAT number will keep counting — which is conservative, never under-counting.

Numbers from other plugins

Even when the plugin’s own field is not shown, classification checks the common meta keys used by popular EU VAT plugins: _oss_vat_number, _vat_number, _billing_vat_number, _billing_eu_vat_number, vat_number, _vat_id, and _billing_vat. The list is extendable via the oss_vat_number_meta_keys filter.

Notes

  • The field is always optional for customers; an empty value is simply a B2C order.
  • Greece uses the VAT prefix EL (not GR), and Northern Ireland uses XI. Great Britain (GB) numbers are not valid EU B2B identifiers post-Brexit.
  • An explicit VAT exemption on the order (is_vat_exempt = yes, set by the merchant or another plugin) excludes the order with or without a VAT number.