EU Verify¶
Appelez cet outil avant de générer une facture. check_invoice_party dit si un vendeur ou un acheteur est prêt à facturer. Factur-X ne produit pas de fichier quand le verdict est not_ready, et renvoie le dossier de preuve daté avec le document. C'est une API de format et de vérification, pas une Plateforme Agréée et pas un point d'accès Peppol.
La même API REST et le même serveur MCP exposent toujours les huit contrôles de registre dont le verdict est composé.
| Outil | Question à laquelle il répond | Registre |
|---|---|---|
check_invoice_party |
Cette partie peut-elle figurer sur une facture, et quelle est la preuve ? | SIREN, VIES, IBAN, adresse, EORI si fourni |
check_vat |
Ce numéro de TVA intracommunautaire est-il valide, et au nom de qui ? | VIES (DG TAXUD) |
lookup_siren |
À quelle entreprise française correspond ce SIREN / SIRET / nom ? | Recherche d'entreprises (RNE + Sirene) |
normalize_siret |
Ce SIREN/SIRET est-il bien formé, et quel est son numéro de TVA ? | aucun, calcul local |
check_iban |
Cet IBAN est-il valide, et de quelle banque s'agit-il ? | mod-97 + registre bancaire |
normalize_address_eu |
Quelle est la forme canonique de cette adresse ? | Base Adresse Nationale (FR) |
normalize_phone |
Quel est ce numéro en E.164, et est-ce un mobile ? | libphonenumber |
check_email |
Cette adresse peut-elle recevoir du courrier, est-elle jetable ? | DNS |
check_eori |
Ce numéro EORI est-il enregistré en douane ? | EOS validation (DG TAXUD) |
Rien n'est conservé. Les valeurs soumises sont transmises au registre indiqué et la réponse est mise en cache 24 h au maximum.
Une enveloppe, quatre statuts¶
Tous les outils répondent avec la même structure, pour qu'un client (ou un agent) n'ait qu'un champ à tester :
{
"tool": "check_vat",
"status": "valid",
"input": { "vat": "FR03552081317" },
"normalized": { "country_code": "FR", "vat_number": "03552081317", "vat": "FR03552081317" },
"data": { "name": "ELECTRICITE DE FRANCE", "address": "22 AVENUE DE WAGRAM 75008 PARIS" },
"source": "vies",
"cached": false,
"checked_at": "2026-09-03T19:02:47Z"
}
status |
Signification |
|---|---|
valid |
L'identifiant existe et est actif dans le registre. |
invalid |
Bien formé mais inconnu, inactif, ou clé de contrôle fausse. reason précise lequel. |
normalized |
Rien à interroger ; normalized contient la forme canonique. |
upstream_unavailable |
Le registre n'a pas répondu. Ce n'est pas un résultat négatif : réessayez après retry_after_s. Ces appels sont gratuits. |
invoice_ready |
Uniquement check_invoice_party. data.evidence est le dossier daté (SIREN, identifiant VIES, clé IBAN). |
not_ready |
Uniquement check_invoice_party. data.reasons est une liste fermée. Ce n'est pas une panne de registre. |
C'est cette dernière ligne qui justifie le produit. Les États membres de VIES tombent indépendamment les uns des autres, et un code qui traduit « le registre italien est hors service » par « ce numéro de TVA est faux » refuse de vrais clients. Les statuts outil par outil sont détaillés dans Outils.
Démarrer¶
- Démarrage rapide : une clé gratuite et un premier appel, en deux minutes.
- Outils : chaque outil, ses arguments, la signification de ses statuts.
- API REST et Serveur MCP : les deux surfaces.
- Tarifs : Free 500 appels/mois, puis 9 / 29 / 79 EUR.
Déjà client facturx-api en Pro ou Scale ? Votre clé fx. fonctionne ici aussi, avec son propre quota. Voir
Tarifs.