> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cleariflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Endpoint de calcul TVA

> L'endpoint `calculate` permet un calcul précis de la TVA pour une tarification conforme, en tenant compte des réglementations spécifiques à chaque pays, des montants de transaction et des catégories de produits optionnelles.

## Premiers pas

### URL de base

```
https://vat.cleariflow.com/v1/calculate/
```

### Endpoint de calcul

L'endpoint `calculate` requiert votre clé API unique, le pays et le prix que vous souhaitez vérifier :

```
https://vat.cleariflow.com/v1/calculate/
? api_key = YOUR_UNIQUE_API_KEY
& amount = 175  
& country_code = DE
& category = standard
```

Cette requête réussie renvoie des résultats complets de calcul de TVA, incluant les taux, les montants et les informations sur le pays :

<ResponseExample>
  ```json theme={"system"}
  {
      "amount_excluding_vat": "175.00",
      "amount_including_vat": "208.25",
      "country": {
          "code": "DE",
          "name": "Germany"
      },
      "vat_amount": "33.25",
      "vat_category": "standard",
      "vat_rate": "0.190"
  }
  ```
</ResponseExample>

### Paramètres de requête

<ParamField query="api_key" type="String" required>
  Votre clé API unique. Notez que chaque utilisateur possède des clés API uniques pour chaque API Cleariflow ; votre clé de l'API de validation TVA ne fonctionnera pas pour votre API de géolocalisation IP, par exemple.
</ParamField>

<ParamField query="amount" type="String" required>
  Le montant pour lequel vous souhaitez obtenir le montant de TVA ou à partir duquel le calculer.
</ParamField>

<ParamField query="country_code" type="String" required>
  Le code ISO 3166-1 alpha-2 à deux lettres du pays dans lequel la transaction a lieu.
</ParamField>

<ParamField query="category" type="String" required>
  La catégorie de TVA à utiliser pour le calcul. Utilisez « standard » pour le taux de TVA standard, ou des catégories spécifiques comme « e-books », « audiobooks », etc. pour les taux réduits.
</ParamField>

<ParamField query="is_vat_incl" type="Boolean">
  Si le montant inclut déjà la TVA et que vous souhaitez effectuer le calcul inverse pour séparer le montant et la TVA, définissez ce paramètre sur true. S'il n'est pas explicitement inclus, il sera false par défaut.
</ParamField>

### Paramètres de réponse

La réponse de l'API est renvoyée dans un [format JSON](https://www.json.org/json-en.html) universel et léger.

<ResponseField name="amount_excluding_vat" type="String">
  Le montant hors TVA.
</ResponseField>

<ResponseField name="amount_including_vat" type="String">
  La somme du montant de base et de la TVA, c'est-à-dire `amount_excluding_vat` + `vat_amount`.
</ResponseField>

<ResponseField name="vat_amount" type="String">
  Le montant de TVA calculé.
</ResponseField>

<ResponseField name="vat_category" type="String">
  La catégorie de l'achat, utilisée pour déterminer si elle bénéficie d'un taux réduit. Voir ci-dessous pour la liste des catégories prises en charge.
</ResponseField>

<ResponseField name="vat_rate" type="String">
  Le taux de TVA sous forme de chaîne décimale (par ex., « 0.190 » pour 19 %).
</ResponseField>

<ResponseField name="country" type="Object">
  Objet contenant les informations sur le pays.
</ResponseField>

<ResponseField name="country.code" type="String">
  Le code ISO 3166-1 alpha-2 à deux lettres du pays dans lequel la transaction a lieu.
</ResponseField>

<ResponseField name="country.name" type="String">
  Le nom du pays à partir duquel la TVA est calculée.
</ResponseField>
