EU VIES validation

Cross-border invoices, validated live.

Reverse-charge isn't optional when you invoice a German agency or a Dutch B2B customer. Baslic hits the EU VIES registry live on every cross-border invoice, surfaces the company name, and flags the entry as reverse-charge — before you click save.

What you see in the app

Paste a VAT ID, watch it resolve.

Type or paste an EU VAT ID. Baslic hits VIES live and returns the registered company name, address, and a verified-at timestamp. If the ID is invalid, you see why — instantly.

Typical lookup: ~400 ms. Cached for 24h — re-validating the same counterparty within a day is free.

EU VIES · live lookup

Counterparty VAT ID

DE 129 273 398

Valid · cached 17 May 2026 10:42 UTC

Bauhaus AG · Mannheim, Germany

Carl-Benz-Str. 34, 68167 Mannheim · DE

Auto-flagged

Reverse-charge · ALV 0%

ruleId: vat-fi-rc-eu-b2b
Stored with invoice for audit replayVIES response · cached 24h
Three scenarios that come up daily

Every outcome, a named rule.

Valid VIES + EU B2B service

  1. YInvoice a German agency for SaaS access
  2. BVIES live-check returns 'valid: Bauhaus AG'
  3. BAdds 0% VAT line + reverse-charge note
  4. BStores VIES response timestamp for audit
vat-fi-rc-eu-b2b

Invalid / non-existent VAT ID

  1. YCounterparty gives you a VAT ID
  2. BVIES live-check returns 'not registered'
  3. BFlags invoice — cannot use reverse-charge
  4. BSuggests Finnish VAT (25.5%) or B2C handling
vat-fi-vies-invalid

VIES temporarily offline

  1. YForward invoice to a recently-validated EU B2B
  2. BVIES API times out (it happens)
  3. BServes cached response (< 24h old) if available
  4. BElse queues for retry — receipt held, not lost
vat-fi-vies-fallback

Yyou · BBaslic

Why our VIES handling is different

Four things most apps skip.

Live, not stale

Every cross-border invoice triggers a fresh VIES call. A 6-month-old check doesn't satisfy a Finnish auditor — and it doesn't satisfy us.

Cached audit proof

VIES response, company name, address, and verified-at timestamp are stored with the invoice. Your auditor can replay the validation a year later.

Reverse-charge automation

Valid VIES + EU service invoice → 0% VAT + 'käännetty verovelvollisuus' note auto-added to the invoice text. ruleId attached.

Country-aware

Knows the VAT ID format quirks: GR uses EL, NL has the C/P suffix, IT has 11 digits. Validates locally before hitting VIES — saves API calls.

Coverage

All 27 EU members.

Every member state's VAT ID format is supported, validated locally, and verified live against VIES. UK, NO, CH, US counterparties — handled separately as non-EU exports (0% with proof attached).

27 member states · 27 formats

AT

Austria

BE

Belgium

BG

Bulgaria

HR

Croatia

CY

Cyprus

CZ

Czechia

DK

Denmark

EE

Estonia

FI

Finland

FR

France

DE

Germany

EL

Greece

HU

Hungary

IE

Ireland

IT

Italy

LV

Latvia

LT

Lithuania

LU

Luxembourg

MT

Malta

NL

Netherlands

PL

Poland

PT

Portugal

RO

Romania

SK

Slovakia

SI

Slovenia

ES

Spain

SE

Sweden

B2C distance sales

Selling to EU consumers? OSS handled.

Under the EU OSS scheme, B2C goods to consumers in other EU countries get the customer's country VAT once you cross €10,000 / year. Baslic tracks the threshold, switches the rate automatically, and prepares the OSS quarterly return.

Send your first EU B2B invoice — validated.

Try it on a real counterparty. VIES check in ~400 ms, reverse-charge attached, audit proof stored.