---
name: feedback_montant_verse_formula
description: "Formule du montant versé dans les formulaires remboursement — conditionnel isIndicatif, style champs calculés"
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 1035faf3-2491-41aa-85f7-cfaabbeda8da
---

Le champ "Montant versé" dans les formulaires remboursement doit être conditionnel selon `isIndicatif` :

```js
const montantRembourse = isIndicatif
  ? round2(capital + cashback + interets_bruts)  // plateforme étrangère ou exonéré : brut versé intégralement
  : netRecu;                                      // plateforme française flat_tax : net après prélèvements
```

`isIndicatif = isExonere || currentPlat?.fiscalite !== 'flat_tax'`

**Pourquoi :** bug découvert en juin 2026 — `InvestissementDetail.jsx` utilisait toujours `interets_bruts` au lieu de brancher sur `isIndicatif`, contrairement à `Remboursements.jsx` qui avait le bon pattern. Pour une plateforme française, la flat_tax est prélevée à la source, donc le versement réel est diminué des prélèvements.

**Comment appliquer :** pour tout nouveau formulaire remboursement, vérifier que `montantRembourse`/`netRecu` est calculé avec cette logique conditionnelle. `Remboursements.jsx` (lignes ~1422-1424) est la référence correcte.

## Style champs calculés / en lecture seule

Utiliser systématiquement :
```jsx
style={{ background: 'var(--surface-2)', color: 'var(--text-muted)', cursor: 'not-allowed' }}
```

Ne **jamais** utiliser `var(--bg-input-readonly)` — cette variable CSS n'est pas définie dans le thème.
