Skip to main content
Glama

Fiscalité d'une sortie de PER

simulate_per_sortie
Read-onlyIdempotent

Calcule la fiscalité d'une sortie de PER, en capital, en rente, en rente réversible ou en comparaison. Entrées : capital, versements déduits et non déduits, âge de sortie, pension annuelle brute du foyer hors PER, nombre de parts, objet du calcul, et éventuellement les TMI. Sortie : impôt sur le revenu, égal à la différence de barème du foyer avec et sans le flux, et prélèvements sociaux. tmiRetraite est une entrée de comparaison, distincte du taux appliqué à la sortie. Capital : versements déduits imposés comme des pensions, sans abattement de 10 % (BOI-RSA-PENS-30-10-20), versements non déduits exonérés, gains au prélèvement forfaitaire dont les prélèvements sociaux de 18,6 %. Rente : même différence de barème ; prélèvements sociaux de 18,6 % sur la fraction d'âge de toute la rente.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "capitalPER": "<capitalPER>",
      "versementsDeduits": "<versementsDeduits>",
      "ageRetraite": "<ageRetraite>",
      "pensionAnnuelleBrute": "<pensionAnnuelleBrute>",
      "parts": "<parts>",
      "objetCalcul": "<objetCalcul>"
    },
    "name": "simulate_per_sortie"
  }
}

Input Schema

NameRequiredDescriptionDefault
partsYesNombre de parts du foyer.
situationNoPersonne seule ou couple soumis à imposition commune. Sert au plafonnement du quotient familial. Absente : 2 parts de référence.
tmiActuelNoTMI actuelle en taux décimal (0.30 pour 30 %), lorsqu'elle est fournie.
capitalPERYesCapital accumulé dans le PER.
horizonAnsNo
ageRetraiteYesÂge au moment de la sortie.
objetCalculYes
tmiRetraiteNoTMI à la retraite, en taux décimal. Distincte du taux appliqué à la sortie. Sert à la comparaison avec tmiActuel lorsque les deux sont fournis.
rendementAnnuelNo
versementsDeduitsYesVersements déduits du revenu imposable.
pensionAnnuelleBruteYesPension annuelle brute du foyer hors PER. L'impôt vaut l'impôt sur le revenu de la pension augmentée du flux, moins l'impôt sur le revenu de la pension seule.
versementsNonDeduitsNoVersements non déduits. Absents : 0. Exonérés d'impôt à la sortie en capital. En rente, leur quote-part suit la fraction d'âge pour l'impôt sur le revenu.
tauxReversionConjointNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / situation
      Added value: +{
      +  "description": "Personne seule ou couple soumis à imposition commune. Sert au plafonnement du quotient familial. Absente : 2 parts de référence.",
      +  "enum": [
      +    "seul",
      +    "couple"
      +  ],
      +  "type": "string"
      +}
  2. Changed8 schema fields changed
    • changedInput schema / properties / ageRetraite / description
      Previous value: -"Âge au moment de la sortie"New value: +"Âge au moment de la sortie."
    • changedInput schema / properties / capitalPER / description
      Previous value: -"Capital accumulé dans le PER"New value: +"Capital accumulé dans le PER."
    • changedInput schema / properties / parts / description
      Previous value: -"Nombre de parts du foyer. Requis. Il n'est pas supposé."New value: +"Nombre de parts du foyer."
    • changedInput schema / properties / pensionAnnuelleBrute / description
      Previous value: -"Pension annuelle brute du foyer hors PER. Requis. L'impôt est IR(pension + flux) moins IR(pension seule)."New value: +"Pension annuelle brute du foyer hors PER. L'impôt vaut l'impôt sur le revenu de la pension augmentée du flux, moins l'impôt sur le revenu de la pension seule."
    • changedInput schema / properties / tmiActuel / description
      Previous value: -"TMI actuel en taux décimal (0.30 pour 30 %), seulement si la personne la donne"New value: +"TMI actuelle en taux décimal (0.30 pour 30 %), lorsqu'elle est fournie."
    • changedInput schema / properties / tmiRetraite / description
      Previous value: -"N'est pas le taux appliqué à la sortie. Sert seulement à la comparer à tmiActuel si les deux sont donnés."New value: +"TMI à la retraite, en taux décimal. Distincte du taux appliqué à la sortie. Sert à la comparaison avec tmiActuel lorsque les deux sont fournis."
    • changedInput schema / properties / versementsDeduits / description
      Previous value: -"Versements déduits du revenu, jamais supposés"New value: +"Versements déduits du revenu imposable."
    • changedInput schema / properties / versementsNonDeduits / description
      Previous value: -"Versements non déduits. Absents : 0. Exonérés d'impôt à la sortie en capital. En rente, seule leur quote-part suit la fraction d'âge pour l'impôt sur le revenu."New value: +"Versements non déduits. Absents : 0. Exonérés d'impôt à la sortie en capital. En rente, leur quote-part suit la fraction d'âge pour l'impôt sur le revenu."
  3. First observed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, closed-world, non-destructive), so the bar is lower; the description goes well beyond them by disclosing the calculation model (IR = difference of the household barème with and without the flow) plus legal basis (BOI-RSA-PENS-30-10-20) and the 18,6 % social-levy treatment per mode. It stops short of explaining what horizonAns/rendementAnnuel/tauxReversionConjoint actually change in the computation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then inputs, then output, then per-mode tax rules – a logical order for a complex domain. It is dense but every sentence carries domain content; only the repeated input/output roster mildly overlaps the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a 13-parameter tax engine with no output schema, and the description does define the return values (IR + prélèvements sociaux), which is a real strength. But three inputs are left opaque, the currency/units of the outputs are unstated, and the shape of the 'comparaison' result is not described, leaving gaps for an agent to discover by trial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 69 % and the schema itself already explains the trickiest fields (pensionAnnuelleBrute's difference formula, tmiRetraite's 'distincte du taux appliqué à la sortie', versementsNonDeduits' exemption), so the description largely restates structured data rather than adding to it. Three parameters (horizonAns, rendementAnnuel, tauxReversionConjoint) remain undocumented in both places, so a baseline 3 is warranted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb + resource (calcule la fiscalité d'une sortie de PER) and immediately enumerates the four modes it handles (capital, rente, rente réversible, comparaison). The resource is a distinct product from the sibling simulate_av/simulate_cto/simulate_pea tools, so an agent can route correctly without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the intended context clear through the enumeration of objetCalcul modes and by explaining that tmiRetraite serves the comparison case only. It does not, however, state any exclusion or explicitly name a sibling to use instead (e.g. when a PER exit comparison should go through compare_results).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.