feat: apercu obligatoire et recapitulatif signe des montants #329
Labels
No labels
autopilot:pending-human
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
status:needs-clarification
status:needs-fix
status:ready
status:review
status:triage
type:bug
type:feature
type:infra
type:refactor
type:schema
type:security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/Simpl-Resultat#329
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Refs:
spec-decisions-import-csv-format.md+spec-plan-import-csv-format.md(racine du repo).Contexte
Rien ne rattrape une erreur de format avant l'ecriture en base :
src/pages/ImportPage.tsx:196-202) sans aucun total. L'etapefile-previewexiste pourtant dansImportWizardStep(types/index.ts:543) sans avoir jamais ete rendue — le modal l'avait supplantee.ImportConfirmation.tsx:57-80affiche delimiteur, encodage, format de date et lignes ignorees, mais ni le mode de montant, ni la convention de signe, ni le mapping. Le reglage le plus fragile est invisible au dernier point de controle.Le recapitulatif signe est le controle le plus rentable du chantier : il rattrape visuellement toute erreur de convention, quelle qu'en soit la cause.
Taches
file-previewdansImportPage, traversee a chaque import (decision explicite : obligatoire, pas conditionnee a la confiance)sign_conventionet relance le parsing — il agit sur la configuration, jamais sur les donnees seules, pour que la correction soit memoriseeImportConfirmationaffiche mode, convention et mapping en plus des quatre reglages actuelsCriteres d'acceptation
Depends on #328
Revision /review-spec — 2026-08-13
Corrections a appliquer, issues de la revue 3 experts :
FilePreviewTableseul) est trop etroit et modifier ce fichier mute aussi le modal encore vivant. A ajouter :useImportWizard:file-previewn'a aucune transition dans le reducer (SET_STEPne la vise jamais) ;parseAndCheckDuplicatessaute desource-configaduplicate-check(:719, commentaire « skips preview step ») ;checkDuplicates(:685, exporte:1006) est du code mort a recabler.ImportPage: remplacer la paire de boutons Apercu / Verifier-doublons (:126-140) parWizardNavigation.FilePreviewModal(:196-202) : le retirer.sign_conventionn'est applique que dans la branche montant unique (useImportWizard.ts:514). Le bouton doit, dans ce mode, permuterdebitAmountetcreditAmountdans le mapping puis relancer le parsing — sinon il ne rattrape rien sur un fichier a deux colonnes mappees a l'envers.Fichiers concernes
src/pages/ImportPage.tsx— etapefile-previewrendue, paire de boutons remplaceesrc/hooks/useImportWizard.ts— transition reducer, recablage decheckDuplicates(:685) etparseAndCheckDuplicates(:719)src/components/import/FilePreviewTable.tsx— recapitulatif signesrc/components/import/FilePreviewModal.tsx— supprimersrc/components/import/ImportConfirmation.tsx— mode, convention, mappingsrc/components/import/WizardNavigation.tsxsrc/i18n/locales/fr.json+en.jsonDecisions prises en planification
Emplacement du code partage : le codec
formatToRow/formatFromRowetmapRowvivent danssrc/utils/importFormat.ts— meme dossier queamountParser,dateParseretcsvAutoDetect, qui portent deja la logique pure du domaine. Les types restent danssrc/shared/types/.Aucune correction retroactive des transactions deja importees a l'envers : la voie de reparation est
deleteImportWithTransactionspuis re-import. Ne jamais muter des montants deja ecrits.L'import reste entierement en edition Free — aucun gating a ajouter.
Les specs
spec-decisions-import-csv-format.mdetspec-plan-import-csv-format.mdsont committees a la racine (force-add, precedent PR #295) : elles sont lisibles depuis un worktree.Le seuil de 90 % ne conditionne rien ici : l'apercu est traverse a chaque import, quel que soit le score (decision de cadrage, contre la recommandation d'un apercu conditionnel).
Spec source
spec-plan-import-csv-format.md+spec-decisions-import-csv-format.md(racine du repo, committees).maximus referenced this issue2026-08-14 15:29:39 +00:00