# Validation TVA UE

Valide un numéro de TVA UE via le service VIES de la Commission européenne, avec statut d’indisponibilité explicite.

## Endpoint

- Méthode: `POST`
- URL: `https://api.helpmyagent.com/v1/vat/eu/validate`
- Prix: `0.005 USD` / call

## Découverte machine

- llms.txt: https://helpmyagent.com/llms.txt
- OpenAPI 3.1: https://api.helpmyagent.com/openapi.json
- capabilities.json: https://helpmyagent.com/capabilities.json
- MCP: https://helpmyagent.com/mcp
- RFC 9727: https://helpmyagent.com/.well-known/api-catalog
- pricing.json: https://helpmyagent.com/pricing.json
- x402: https://helpmyagent.com/.well-known/x402
- x402-service.json: https://helpmyagent.com/.well-known/x402-service.json
- Health status: https://helpmyagent.com/health

## x402 payment methods

- USDC on `eip155:8453`
- RLUSD on `xrpl:0`

## Couverture

EU

## À utiliser quand

- Valider un numéro de TVA UE avant facturation ou référencement fournisseur.

## À éviter quand

- Utilisez une API plus spécialisée si vous n’avez besoin que d’une donnée élémentaire déjà disponible.

## Limites

- Les résultats dépendent de la disponibilité et du périmètre des sources publiques citées.

## Exemples de demandes

- Valider un numéro de TVA UE avant facturation ou référencement fournisseur.

## Fraîcheur

```json
{
    "mode": "source_dependent"
}
```

## Sources

- [European Commission VIES](https://ec.europa.eu/taxation_customs/vies/)

## Schéma d’entrée

```json
{
    "type": "object",
    "properties": {
        "vat_number": {
            "type": "string",
            "pattern": "^(?:AT|BE|BG|CY|CZ|DE|DK|EE|EL|ES|FI|FR|GR|HR|HU|IE|IT|LT|LU|LV|MT|NL|PL|PT|RO|SE|SI|SK|XI)[A-Za-z0-9]{2,14}$",
            "description": "Numéro de TVA UE complet avec préfixe pays à deux lettres ; sinon fournir country_code et number séparément."
        },
        "country_code": {
            "type": "string",
            "enum": [
                "AT",
                "BE",
                "BG",
                "CY",
                "CZ",
                "DE",
                "DK",
                "EE",
                "EL",
                "ES",
                "FI",
                "FR",
                "GR",
                "HR",
                "HU",
                "IE",
                "IT",
                "LT",
                "LU",
                "LV",
                "MT",
                "NL",
                "PL",
                "PT",
                "RO",
                "SE",
                "SI",
                "SK",
                "XI"
            ],
            "description": "Préfixe pays UE/VIES utilisé lorsque le numéro de TVA est fourni en deux parties."
        },
        "number": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{2,14}$",
            "description": "Partie nationale du numéro de TVA sans préfixe pays, utilisée avec country_code."
        }
    },
    "additionalProperties": false,
    "anyOf": [
        {
            "required": [
                "vat_number"
            ]
        },
        {
            "required": [
                "country_code",
                "number"
            ]
        }
    ],
    "description": "Paramètres structurés de l’API vat/eu/validate."
}
```

## Schéma de sortie

```json
{
    "type": "object",
    "properties": {
        "vat_number": {
            "type": "string",
            "description": "Valeur structurée retournée pour « vat number » selon le contrat de cette API."
        },
        "country_code": {
            "type": "string",
            "description": "Valeur structurée retournée pour « country code » selon le contrat de cette API."
        },
        "number": {
            "type": "string",
            "description": "Valeur structurée retournée pour « number » selon le contrat de cette API."
        },
        "status": {
            "type": "string",
            "description": "Statut normalisé de l’API ou de la source."
        },
        "valid": {
            "type": [
                "boolean",
                "null"
            ],
            "description": "Indique si l’identifiant fourni respecte les règles de validation de l’API."
        },
        "request_date": {
            "type": [
                "string",
                "null"
            ],
            "description": "Valeur structurée retournée pour « request date » selon le contrat de cette API."
        },
        "name": {
            "type": [
                "string",
                "null"
            ],
            "description": "Nom public de l’entreprise, personne, acheteur ou enregistrement concerné."
        },
        "address": {
            "type": [
                "string",
                "null"
            ],
            "description": "Valeur structurée retournée pour « address » selon le contrat de cette API."
        },
        "request_identifier": {
            "type": [
                "string",
                "null"
            ],
            "description": "Valeur structurée retournée pour « request identifier » selon le contrat de cette API."
        },
        "checked_at": {
            "type": "string",
            "description": "Horodatage UTC du contrôle effectué par HelpMyAgent."
        },
        "source": {
            "type": "string",
            "description": "Valeur structurée retournée pour « source » selon le contrat de cette API."
        }
    },
    "additionalProperties": false,
    "required": [
        "vat_number",
        "country_code",
        "number",
        "status",
        "valid",
        "request_date",
        "name",
        "address",
        "request_identifier",
        "checked_at",
        "source"
    ],
    "description": "Résultat structuré retourné par l’API vat/eu/validate."
}
```

## Instantané de démonstration

Cet exemple est un instantané stocké en base de données et ne déclenche aucun appel API en direct.
- URL: https://api.helpmyagent.com/demo/vat/eu/validate
- Généré le: 2026-09-07T14:50:12+00:00

## Exemple de requête

```json
{
    "vat_number": "FR39356000000"
}
```

## Exemple de réponse stocké

```json
{
    "vat_number": "FR39356000000",
    "country_code": "FR",
    "number": "39356000000",
    "status": "unavailable",
    "valid": null,
    "request_date": null,
    "name": null,
    "address": null,
    "request_identifier": null,
    "checked_at": "2026-09-07T16:50:12+02:00",
    "source": "ec.europa.eu:vies"
}
```

## Règles de facturation

```json
{
    "charge_on": "valid_result",
    "no_charge_on_empty_result": true,
    "no_charge_on_error": true
}
```
