---
name: project_methode_remboursement_investissement
description: "Méthode de remboursement et nom du compte courant sur les investissements — champs DB, formulaires, retrait automatique"
metadata: 
  node_type: memory
  type: project
  originSessionId: 5682d634-7345-40a8-8184-f617d1dd8444
---

## Champs ajoutés sur `investissements`

| Colonne | Type | Rôle |
|---|---|---|
| `methode_remboursement` | TEXT nullable | `'portefeuille'` \| `'compte_courant'` \| null |
| `nom_compte_courant` | TEXT nullable | Nom du compte bancaire quand methode = compte_courant |

## Règle d'affichage dans les formulaires

Le select "Méthode de remboursement" n'apparaît que si la plateforme sélectionnée a `methode_remboursement = 'choix_investisseur'`. Implémenté dans **Investissements.jsx** et **InvestissementDetail.jsx** (formulaire d'édition).

Le champ "Nom du compte courant" (obligatoire) apparaît quand `methode_remboursement === 'compte_courant'`. Il utilise un `<input list=...>` avec `<datalist>` peuplé depuis `GET /api/investissements/comptes-courants` (retourne les paires `{investisseur_id, nom_compte_courant}` distinctes, filtré côté client par `form.investisseur_id`).

## Retrait automatique dans dépôts/retraits

Quand un remboursement est enregistré avec `methode_remboursement = 'compte_courant'`, la fonction `syncAutoRetrait()` dans `remboursements.js` crée automatiquement un retrait dans `depots_retraits` avec `source = 'auto_remboursement'` et `remboursement_id = rembId`. Ce retrait est supprimé/recréé à chaque PUT et supprimé au DELETE du remboursement.

Ces retraits automatiques sont **exclus** du calcul du solde porte-monnaie (filtre `source !== 'auto_remboursement'`).

## Affichage fiche détail

`inv.methode_remboursement` affiché dans "Informations du projet" :
- `'portefeuille'` → "Porte-monnaie de la plateforme"
- `'compte_courant'` → "Compte courant de l'investisseur (nom_compte_courant)"

**Why:** Baltis et d'autres plateformes françaises laissent le choix à l'investisseur entre porte-monnaie et virement bancaire direct.
**How to apply:** Toujours vérifier que les deux formulaires (liste + détail) et le pré-remplissage du formulaire remboursement sont cohérents. Voir [[feedback_remb_methode_fallback]].
