---
title: "Rachat de trimestres (VPLR — coût, gain, ROI)"
method: POST
path: "/api/fiscal/v1/calc/rachat"
tags: ["retraite"]
---

# Rachat de trimestres (VPLR — coût, gain, ROI)

`POST /api/fiscal/v1/calc/rachat`

## Request

- Base URL: `https://app.qotien.fr`
- URL: `https://app.qotien.fr/api/fiscal/v1/calc/rachat`
- Auth: none declared

Coût et rentabilité d'un rachat de trimestres (versement pour la retraite, art. L351-14-1). Barème 2026 (Circulaire CNAV 2026-04) selon âge/option/revenu, 2 options (taux seul / taux et durée), coût net d'IR (déductible), gain de pension et ROI en années. Gère le rachat d'études (abattement ≤ 40 ans) et de stage (12 % PMSS). Plafond légal 12 trimestres tous motifs. — palier etude · 0.250000 USD (x402 v2, USDC/Base).

## Request body

- object
  - `age` number, required: Âge au rachat (20-66).
  - `n_trim` number, required: Nombre de trimestres à racheter (max 12 tous motifs).
  - `option` 'taux' | 'taux_duree': "taux" (taux seul) ou "taux_duree" (taux et durée). Le stage est taux seul uniquement.
  - `motif` 'etudes' | 'incompletes' | 'stage': Études (abattement ≤ 40 ans), années incomplètes, ou stage (12 % PMSS, ≤ 30 ans, max 2).
  - `revenu_moyen` number: Moyenne des revenus des 3 dernières années (D351-8) — détermine la tranche du barème.
  - `sam` number: SAM (25 meilleures années) — chiffre le gain de pension.
  - `tmi` number: TMI en FRACTION 0-1 (ex. 0,30 pour 30 %) — chiffre l'économie d'IR (rachat déductible). ⚠️ l'outil "tmi" RENVOIE un pourcentage (30) ; ici on attend la fraction (0,30).
  - `trim_acquis` number
  - `trim_requis` number
  - `trim_manquants` number: Trimestres manquants pour le taux plein (pilote la décote et le gain).
  - `pension_brute_annuelle` number: Pension brute annuelle — chiffre le gain net.
  - `rfr` number
  - `parts` number

## Response `200`

Résultat sourcé — enveloppe commune (ok/confiance/sources/millesime), jamais un chiffre nu.

- Envelope
  - `ok` boolean, required: true = succès ; false = erreur (champ "error" présent à la place de result).
  - `domaine` 'fiscal' | 'retraite' | 'referentiel' | 'qotien', required: Domaine de la capacité.
  - `capability` string, required: Nom de la capacité appelée.
  - `result` object, required: Résultat. Contient typiquement { value:number, unit:string, label:string } ; les outils retraite ajoutent confiance, fourchette, et le détail par régime.
    - `value` number: Valeur principale (quand le résultat est scalaire).
    - `unit` string: Unité de value (EUR, PERCENT, RATE…).
    - `label` string: Libellé lisible du résultat.
    - `confiance` 'fiable' | 'estime' | 'partiel' | 'non_calculable' | 'sourcee' | 'variable': Confiance propre au résultat retraite (prime sur la confiance de capacité).
  - `confiance` 'fiable' | 'estime' | 'partiel' | 'non_calculable' | 'sourcee' | 'variable', required: Niveau de confiance de CE résultat (fiscal = fiable ; retraite = variable).
  - `sources` string[], required: Sources primaires/légales du calcul.
  - `referentiel` string: Version du référentiel sourcé utilisé.
  - `millesime_fiscal` string, required: Millésime fiscal (année des barèmes appliqués).
  - `annee_revenus` number: Année des revenus concernés.
  - `avertissement` string: Avertissement d'usage (résultat brut, pas un conseil personnalisé).

## Other responses

- `400`: Entrée invalide.
- `402`: Paiement requis (x402 v2, USDC/Base) — 0.250000 USD.
- `429`: Rate limit dépassé.

---

[API](https://skmtc.dev/qotien/apis/qotien-api-fiscale-retraite-sourcee-datee.md) · [All operations](https://skmtc.dev/qotien/apis/qotien-api-fiscale-retraite-sourcee-datee/llms.txt) · [OpenAPI document](https://skmtc.dev/qotien/apis/qotien-api-fiscale-retraite-sourcee-datee/revisions/c130d35543dd?raw)
