# Validate an intra-community VAT number

An intra-community VAT number cannot be checked with a formula: it is verified against VIES, the European Commission service that queries the tax administration of the member state concerned. /v1/tva/verifier/{numero} makes that call and returns the consultation identifier, which is the auditable trace of the check.

## Three states, never two

The answer is `valid`, `invalid` or `unavailable`. Many integrations collapse the third state into the second for simplicity — and then block compliant customers every time one member state's administration has an outage. We refuse that collapse: it is a design decision, not an implementation detail.

> Keep the VIES consultation identifier with your accounting entry. It is what proves, months later, that the check really was performed **on that date**.

## Validating is not matching: the limit to know

VIES answers “this number is assigned and active”. It does not answer “this number belongs to the company you think”. Depending on the member state, the name and address returned are partial or absent. If your need is to know whether the number matches **this** supplier, you must cross-check the registry — that is what `/v1/facture/verifier` does, recomputing the number from the company identifier.

## When to use it, and when not to pay

- **Use it** before invoicing under an intra-community exemption, when onboarding a new business customer, and when checking an incoming invoice.
- **No need to pay** if you only want to **compute** a French VAT number from a company number: the key derives from the number, and our identity routes already return it.
- **Re-run it** periodically on recurring customers: a number valid today can be revoked tomorrow, and it is the buyer who carries the risk.

## How you pay

Every route is paid **per call**, in USDC or EURC on the Base network, over the x402 protocol: no account to create, no API key, no subscription. The first call returns a `402` quote your client settles, then replays the call. A failed call is never billed.

Would you rather have a euro invoice and prepaid credits? That is **in preparation**, and we will not announce a date until it is open. Write to [contact@sirenic.eu](mailto:contact@sirenic.eu?subject=Euro%20credit%20packs) and we will let you know when it opens.

Paid responses are **Ed25519-signed**: you can later prove what was served to you, and when. The whole catalogue is free to read in the [OpenAPI document](https://api.sirenic.eu/openapi.json) and in [llms.txt](https://api.sirenic.eu/llms.txt).

**One call, end to end**

```
# Client x402 (npm) — le devis 402 est réglé et l'appel rejoué automatiquement
npx x402-fetch https://api.sirenic.eu/v1/entreprise/552032534

# Ou en MCP, dans Claude Code / Cursor
claude mcp add --transport http sirenic https://api.sirenic.eu/mcp
```

## Routes used and pricing

| Route | Price | What it returns |
| --- | --- | --- |
| `/v1/tva/verifier/{numero}` | $0.003 | EU VAT validation against the official VIES service: validate any intra-community VAT number (all member states) for compliance and due diligence. This tax id check is the tax half of verify supplier before payment, and a required check under the e-invoicing mandate France September 2026. Returns valid/invalid/unavailable status with the VIES consultation identifier as proof — VAT number validation usable across Europe for KYB and supplier onboarding. |
| `/v1/facture/verifier` | $0.02 | Invoice verification for France — cross-check the identifiers PRINTED ON an invoice in one call: SIREN against the official registry (existence, active status, live), the VAT number on the invoice against the one computed from the SIREN AND live against VIES, the IBAN (ISO form, key digits, bank identified). Deterministic verdict coherent/incoherent/inverifiable, closed-list reasons. Flags a VAT that belongs to another company or a ceased supplier. Not a payee verification. |
| `/v1/facturation/dossier` | $0.03 | Invoice verification and supplier verification — verify supplier before payment in France, the invoicing pack of the e-invoicing mandate France September 2026 (all VAT-liable companies must receive): legal identity, obligation dates, intra-EU VAT number checked LIVE against VIES, IBAN form + key check, bank identified, deterministic pret_a_facturer verdict, closed-list reasons. Not a payee verification: no holder name, no account existence check. A VIES outage never yields a false invalid. |

> ⚠️ The IBAN check is not a payee verification: neither the account holder's name nor the account's existence is checked (verification_titulaire: non_disponible).

> ⚠️ Sirenic is not an accredited French e-invoicing platform (PDP), never accesses the central directory, and neither issues, transmits nor routes any invoice.

## Frequently asked questions

### Are all member states covered?

Yes, validation goes through VIES, which covers all member states. The quality of the additional information returned (name, address) depends on each national administration.

### What happens if VIES is down?

The response is unavailable, and the call is not billed as a successful check. Retry later: never treat that answer as a refusal.

## Take it further

- [See a real response (free)](https://api.sirenic.eu/exemples/tva-verifier-numero.json)
- [Get the quote for /v1/tva/verifier/{numero}](https://api.sirenic.eu/v1/tva/verifier/{numero})
- [Read the route reference](https://api.sirenic.eu/en/api)
- [Get notified about euro packs](mailto:contact@sirenic.eu?subject=Euro%20credit%20packs)

## Read next

- [Cross-check the identifiers printed on an invoice you received](https://api.sirenic.eu/en/use-cases/check-incoming-invoice-do-its-identifiers-contradict-each)
- [Verify a supplier before you pay them](https://api.sirenic.eu/en/use-cases/verify-supplier-before-payment-identity-vat-iban)

---

Volume figures on this page were measured in our database on 2026-08-19. They are dated snapshots, not live counters.

Full catalogue : https://api.sirenic.eu/