Bilan #2 — Catégories priced + saisie quantité × prix #140

Closed
opened 2026-04-25 16:08:16 +00:00 by maximus · 0 comments
Owner

Refs: spec-decisions-bilan.md + spec-plan-bilan.md (v2)

Depends on #138 (Bilan #1a), #146 (Bilan #1b)

Tâches

  • Étendre balance.service.ts upsertSnapshot pour gérer le kind priced (validation value === quantity * unit_price côté TS, complément du CHECK SQL)
  • Tests vitest validation priced (kind invariants côté service)
  • Étendre AccountForm.tsx pour permettre kind = simple | priced lors création dune catégorie
  • Étendre SnapshotLineRow.tsx avec variant priced (champs quantity / unit_price / value calculé read-only)
  • Validation UI : symbole obligatoire pour comptes liés à catégorie priced
  • Empêcher suppression catégorie is_seed = 1 côté UI (bouton désactivé) + côté service (erreur claire)
  • Empêcher suppression catégorie avec comptes liés (FK RESTRICT — message UI clair indiquant les comptes à archiver dabord)
  • Clés i18n complémentaires
  • Entrée CHANGELOG

Critères dacceptation

  • Un utilisateur peut créer une catégorie personnalisée priced et la sauvegarder
  • Un utilisateur peut saisir une ligne priced (quantité + prix unitaire) ; value se calcule automatiquement
  • Suppression dune catégorie is_seed = 1 refusée
  • Suppression dune catégorie avec comptes liés refusée avec message clair
Refs: spec-decisions-bilan.md + spec-plan-bilan.md (v2) Depends on #138 (Bilan #1a), #146 (Bilan #1b) ## Tâches - [ ] Étendre balance.service.ts upsertSnapshot pour gérer le kind priced (validation value === quantity * unit_price côté TS, complément du CHECK SQL) - [ ] Tests vitest validation priced (kind invariants côté service) - [ ] Étendre AccountForm.tsx pour permettre kind = simple | priced lors création dune catégorie - [ ] Étendre SnapshotLineRow.tsx avec variant priced (champs quantity / unit_price / value calculé read-only) - [ ] Validation UI : symbole obligatoire pour comptes liés à catégorie priced - [ ] Empêcher suppression catégorie is_seed = 1 côté UI (bouton désactivé) + côté service (erreur claire) - [ ] Empêcher suppression catégorie avec comptes liés (FK RESTRICT — message UI clair indiquant les comptes à archiver dabord) - [ ] Clés i18n complémentaires - [ ] Entrée CHANGELOG ## Critères dacceptation - Un utilisateur peut créer une catégorie personnalisée priced et la sauvegarder - Un utilisateur peut saisir une ligne priced (quantité + prix unitaire) ; value se calcule automatiquement - Suppression dune catégorie is_seed = 1 refusée - Suppression dune catégorie avec comptes liés refusée avec message clair
maximus added this to the spec-price-fetching milestone 2026-04-25 16:08:16 +00:00
maximus added the
status:ready
type:feature
source:human
labels 2026-04-25 16:08:16 +00:00
maximus modified the milestone from spec-price-fetching to overnight-2026-04-26-bilan 2026-04-25 18:18:07 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: maximus/Simpl-Resultat#140
No description provided.