---
title: "Simulation fiscale sur l'horizon de détention"
method: POST
path: "/fiscal/simulations"
---

# Simulation fiscale sur l'horizon de détention

`POST /fiscal/simulations`

## Request

- Base URL: `https://pillr.fr/api/v1`
- URL: `https://pillr.fr/api/v1/fiscal/simulations`
- Auth: HTTP bearer

Simulation fiscale déterministe d'un investissement locatif, décrit ou désigné par une annonce, avec le moteur du simulateur de pillr.fr et de l'agent du Hub : location nue, meublée longue durée et courte durée, chacune évaluée sous chacun de ses régimes (micro-foncier, réel avec déficit, bailleur privé, micro-BIC, micro-BIC classé, réel LMNP, SCI à l'IS). Pour chaque régime : impôt et cash-flow année par année, revente nette et impôt de plus-value, TRI, VAN, enrichissement, et le motif d'un régime inaccessible. Recommandation motivée au meilleur TRI après impôt, prix maximum pour un TRI visé et pour un cash-flow nul, test de résistance, contraintes locales. Règles fiscales codées dans le moteur et citées dans ses avertissements ; aucun conseil fiscal. Coût : 2 crédits par appel réussi.

## Request body

- object
  - `annonce` string: Annonce du catalogue : prix, surface, type, commune, DPE, chambres, loyer estimé et travaux servent de défaut.
  - `prix` integer: Prix d'achat hors frais, en euros.
  - `surface` number
  - `insee` string: Commune : loyer de marché, vacance, courte durée, réglementation, frais d'acquisition du département.
  - `loyer` number: Loyer mensuel en location nue, en euros ; sans lui, le loyer estimé de l'annonce ou le loyer de marché.
  - `type` 'appartement' | 'maison'
  - `neuf` boolean
  - `dpe` 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G'
  - `chambres` integer
  - `travaux` number
  - `mobilier` number
  - `apport_pct` number: Apport, en % de l'investissement.
  - `taux` number: Taux du crédit, en % par an.
  - `duree` integer: Durée du crédit, en années.
  - `tmi` number: Tranche marginale d'imposition, en %.
  - `charges` number: Charges non récupérables, en euros par mois.
  - `taxe_fonciere` number: Taxe foncière, en euros par an.
  - `horizon` integer: Années de détention avant revente.
  - `bailleur_prive_loyer` 'intermediaire' | 'social' | 'tres_social': Niveau de loyer du statut du bailleur privé.
  - `sci_distribue` boolean: SCI à l'IS : résultats distribués (sinon capitalisés).
  - `lcd_classe` boolean
  - `lcd_conciergerie` boolean
  - `lcd_occupation_pct` number
  - `lcd_autorise` boolean
  - `valorisation_pct` number: Valorisation annuelle du bien, en %.
  - `hausse_loyer_pct` number: Hausse annuelle des loyers, en %.
  - `tri_vise_pct` number: TRI visé pour le prix maximum, en %.

## Response `200`

Réponse servie et débitée (sauf réponse identique déjà servie dans les 24 h).

- object
  - `annonce` string, nullable, required
  - `bien` string, nullable, required
  - `hypotheses` object, required
    - `prix_eur` number, required
    - `surface_m2` number, required
    - `type_bien` string, required
    - `neuf` boolean, required
    - `travaux_eur` number, required
    - `mobilier_eur` number, required
    - `apport_pct` number, required
    - `taux_credit_pct` number, required
    - `duree_credit_ans` number, required
    - `tmi_pct` number, required
    - `charges_mensuelles_eur` number, required
    - `taxe_fonciere_eur_an` number, required
    - `frais_acquisition_eur` number, nullable, required
    - `frais_acquisition_source` string, nullable, required
    - `horizon_ans` integer, required
    - `valorisation_pct` number, nullable, required: Valorisation annuelle du bien retenue ; null : celle du moteur.
    - `hausse_loyer_pct` number, nullable, required: Hausse annuelle des loyers retenue ; null : celle du moteur.
    - `source_loyer` string, required
    - `source_lcd` string, required
  - `strategies` object[], required
    - `strategie` string, required
    - `cle` 'lld_nue' | 'lld_meublee' | 'lcd', required: lld_nue : location nue ; lld_meublee : location meublée longue durée (LMNP) ; lcd : location courte durée (meublé de tourisme).
    - `loyer_mensuel_eur` number, required
    - `rendement_brut_pct` number, required
    - `rendement_net_avant_impot_pct` number, required
    - `cashflow_mensuel_avant_impot_eur` number, required
    - `investissement_total_eur` number, required
    - `apport_eur` number, nullable, required
    - `mensualite_credit_eur` number, required
    - `regime_conseille` object, nullable, required
      - `regime` string, required
      - `cle` 'micro_foncier' | 'reel_foncier' | 'bailleur_prive' | 'micro_bic' | 'micro_bic_classe' | 'reel_bic_lmnp' | 'sci_is', required: Régime fiscal : micro-foncier, réel foncier, bailleur privé (Relance logement), micro-BIC, micro-BIC classé, réel LMNP, SCI à l'IS.
      - `tri_pct` number, nullable, required
      - `rendement_net_net_annee1_pct` number, nullable, required
      - `cashflow_mensuel_apres_impot_annee1_eur` number, required
      - `cashflow_cumule_apres_impot_eur` number, required
      - `impot_total_horizon_eur` number, required
      - `revente_nette_eur` number, required
      - `enrichissement_eur` number, required
      - `annees_sans_impot` integer, required
      - `cotisations_sociales_eur` number, nullable, required
    - `raisons` string[], required
    - `regimes` object[], required
      - `regime` string, required
      - `cle` 'micro_foncier' | 'reel_foncier' | 'bailleur_prive' | 'micro_bic' | 'micro_bic_classe' | 'reel_bic_lmnp' | 'sci_is', required: Régime fiscal : micro-foncier, réel foncier, bailleur privé (Relance logement), micro-BIC, micro-BIC classé, réel LMNP, SCI à l'IS.
      - `eligible` boolean, required
      - `inaccessible` boolean, required: Vrai si le régime n'est pas ouvert à ce bien ; raison dit pourquoi.
      - `raison` string, required
      - `impot_annee1_eur` number, required
      - `base_imposable_annee1_eur` number, required
      - `cashflow_mensuel_apres_impot_annee1_eur` number, required
      - `tri_pct` number, nullable, required
      - `van_eur` number, required: Valeur actuelle nette des flux de l'investisseur sur l'horizon.
      - `impot_total_horizon_eur` number, required
      - `cotisations_sociales_eur` number, nullable, required: Meublé de tourisme au-delà du seuil de recettes : cotisations sociales, déjà comprises dans l'impôt.
      - `cashflow_cumule_apres_impot_eur` number, required
      - `annees_sans_impot` integer, required
      - `revente` object, required
        - `prix_eur` number, required
        - `capital_restant_du_eur` number, required
        - `impot_eur` number, required: Impôt sur la plus-value de revente (ou plus-value professionnelle de la SCI).
        - `amortissements_reintegres_eur` number, required
        - `net_apres_credit_eur` number, required
      - `enrichissement_eur` number, required
      - `notes` string[], required
      - `annees` object[], required
        - `annee` integer, required
        - `loyer_brut` number, required
        - `loyer_encaisse` number, required
        - `charges` number, required
        - `interets` number, required
        - `capital_rembourse` number, required
        - `base_imposable` number, required
        - `impot` number, required: Impôt de l'année (impôt sur le revenu et prélèvements sociaux, ou IS) ; négatif : économie d'impôt sur le revenu global.
        - `cashflow_avant_impot` number, required
        - `cashflow_apres_impot` number, required
        - `cumul_apres_impot` number, required
        - `amortissement_deduit` number, required
        - `report` number, required: Déficits ou amortissements en report à la fin de l'année.
        - `capital_restant_du` number, required
        - `valeur_bien` number, required
        - `enrichissement` number, required
    - `courte_duree` object, nullable, required
      - `prix_nuit_eur` number, required
      - `occupation_pct` number, required
      - `nuits_reservees` integer, required
      - `nuits_ouvertes` integer, required
      - `rotations` integer, required
      - `capacite` integer, required
      - `revenu_annee1_eur` number, required
      - `revenu_croisiere_eur` number, required
      - `ratio_vs_loyer_nu` number, nullable, required
      - `confiance` string, required
      - `source` string, required
      - `marche` object, required
        - `nom` string, nullable, required
        - `annonces_actives` number, nullable, required
        - `date` string, nullable, required
        - `score_marche` number, nullable, required
        - `score_demande` number, nullable, required
        - `score_saisonnalite` number, nullable, required
        - `score_croissance` number, nullable, required
        - `score_reglementation` number, nullable, required
        - `variation_annuelle_annonces_pct` number, nullable, required
      - `couts` object, required
        - `plateforme_pct` number, required
        - `conciergerie_pct` number, required
        - `renouvellement_pct` number, required
        - `menage_eur` number, required
        - `linge_eur` number, required
        - `energie_eur` number, required
        - `internet_eur` number, required
        - `assurance_eur` number, required
        - `classement_eur` number, required
        - `total_eur` number, required
      - `reglementation` object, required
        - `niveau` string, required
        - `recommandable` boolean, required
        - `titre` string, required
        - `texte` string, required
      - `notes` string[], required
      - `avertissements` string[], required
  - `recommandation` object, nullable, required: La stratégie au meilleur TRI après impôt et revente, parmi les stratégies recommandables, et son régime.
    - `strategie` string, required
    - `cle_strategie` 'lld_nue' | 'lld_meublee' | 'lcd', required: lld_nue : location nue ; lld_meublee : location meublée longue durée (LMNP) ; lcd : location courte durée (meublé de tourisme).
    - `regime` string, required
    - `cle_regime` 'micro_foncier' | 'reel_foncier' | 'bailleur_prive' | 'micro_bic' | 'micro_bic_classe' | 'reel_bic_lmnp' | 'sci_is', required: Régime fiscal : micro-foncier, réel foncier, bailleur privé (Relance logement), micro-BIC, micro-BIC classé, réel LMNP, SCI à l'IS.
    - `tri_pct` number, nullable, required
    - `rendement_net_net_pct` number, nullable, required
    - `raisons` string[], required
  - `courbes` object, nullable, required
    - `strategie` string, required
    - `annees` integer[], required
    - `regimes` object[], required
      - `regime` string, required
      - `cle` 'micro_foncier' | 'reel_foncier' | 'bailleur_prive' | 'micro_bic' | 'micro_bic_classe' | 'reel_bic_lmnp' | 'sci_is', required: Régime fiscal : micro-foncier, réel foncier, bailleur privé (Relance logement), micro-BIC, micro-BIC classé, réel LMNP, SCI à l'IS.
      - `eligible` boolean, required
      - `cumul_apres_impot` number[], required
      - `enrichissement` number[], required
      - `impot` number[], required
  - `prix_maximum` object, nullable, required
    - `strategie` string, required
    - `regime` string, required
    - `prix_demande_eur` number, required
    - `pour_tri_cible` object, nullable, required
      - `tri_cible_pct` number, required
      - `prix_eur` number, required
      - `ecart_pct` number, required
    - `pour_cashflow_nul` object, nullable, required
      - `prix_eur` number, required
      - `ecart_pct` number, required
  - `test_de_resistance` object, nullable, required
    - `strategie` string, required
    - `regime` string, required
    - `scenarios` object[], required
      - `cle` string, required
      - `libelle` string, required
      - `tri_pct` number, nullable, required
      - `cashflow_mensuel_apres_impot_annee1_eur` number, required
      - `enrichissement_eur` number, required
  - `contraintes_locales` object[], required
    - `niveau` 'info' | 'attention', required
    - `titre` string, required
    - `texte` string, required
  - `avertissements` string[], required
  - `qualite` object, required: Ce qui permet de juger la valeur : nombre, provenance, incertitude, drapeaux, date et source.
    - `n` integer, nullable, required: Nombre d'observations derrière la valeur ; null si sans objet.
    - `provenance` 'mesure' | 'estime', nullable, required: mesure : observé sur la donnée ; estime : modèle, barème ou imputation ; null : sans objet.
    - `incertitude` object, nullable, required: Incertitude de la valeur : fourchette et demi-largeur.
      - `demi_largeur_pct` number, nullable, required: Demi-largeur de la fourchette, en % de la valeur.
      - `bas` number, nullable, required
      - `haut` number, nullable, required
    - `drapeaux` string[], required: Ce qui doit faire lire la valeur avec prudence ; vide si rien.
    - `methode` string, nullable, required: Méthode de calcul ou de rattachement, en clair.
    - `donnees_du` string, nullable, required: Date de la donnée (AAAA-MM-JJ ou horodatage ISO 8601).
    - `source` string, required: Source publique ou moteur Pillr, en clair.
  - `credits` object, required: Crédits débités par cet appel (réservés, pour une tâche en cours), et crédits encore utilisables ce mois avant la coupure : crédits offerts, crédits inclus du mois et crédits facturables sous le plafond de dépense (null si inconnus ou en bac à sable).
    - `debites` integer, required
    - `restants` integer, nullable, required

## Other responses

- `400`: Paramètres invalides
- `401`: Clé d'API absente
- `402`: Crédits insuffisants ; Carte requise ; Plafond mensuel de dépense atteint
- `403`: Portée insuffisante
- `404`: Ressource absente : rien n'est débité
- `429`: Trop de requêtes par minute
- `500`: Erreur interne
- `503`: API indisponible ; Donnée momentanément indisponible

---

[API](https://skmtc.dev/pillr/apis/api-pillr.md) · [All operations](https://skmtc.dev/pillr/apis/api-pillr/llms.txt) · [OpenAPI document](https://skmtc.dev/pillr/apis/api-pillr/revisions/218b2866bd6c?raw)
