ImportWizard
Wizard 3 étapes pour l'import de relevés bancaires CSV. Gère la détection automatique de format, l'aperçu des données, la sélection du compte cible et l'affichage du résultat d'import.
Source : src/components/import-wizard.tsx
Props
| Prop | Type | Description |
|---|---|---|
accounts | Account[] | Liste des comptes disponibles : { id, name, institution: { name } }[] |
defaultAccountId | string? | Compte présélectionné (ignoré si absent de la liste) |
<ImportWizard
accounts={accounts}
defaultAccountId={selectedAccountId}
/>
Étapes
Étape 1 — Upload
Zone de dépôt (drag & drop) ou sélection de fichier. Accepte uniquement .csv.
Dès qu'un fichier est sélectionné :
- Le format est détecté via
detectCsvFormat(lecture du contenu) - Les 5 premières lignes de données sont parsées pour l'aperçu
Étape 2 — Aperçu
Affiche :
- Badge de format détecté (
BOURSO_OPS,BOURSO_PEA,REVOLUT,CSV_TR,UNKNOWN) - Avertissement si format inconnu
- Info spéciale PEA (snapshot uniquement, pas de transactions)
- Tableau d'aperçu avec colonnes adaptées au format
- Sélecteur de compte cible
Le bouton Importer est désactivé si le format est UNKNOWN ou si aucun compte n'est sélectionné.
Étape 3 — Résultat
En cas de succès : trois compteurs (transactions importées, doublons ignorés, snapshots créés).
En cas d'erreur : message d'erreur de l'action serveur.
Un bouton réinitialise le wizard pour importer un autre fichier.
Formats supportés
| Valeur | Banque | Séparateur |
|---|---|---|
BOURSO_OPS | BoursoBank Opérations | ; |
BOURSO_PEA | BoursoBank PEA | ; |
REVOLUT | Revolut | , |
CSV_TR | Trade Republic | , |
Accessibilité
- Zone de dépôt accessible au clavier (
role="button",tabIndex={0},onKeyDown Enter) aria-labelexplicite sur la zone de dépôt- Sélecteur de compte via
<select>natif avec<label>lié