DES-17 — Day 17 — Back-office: catalog, pricing & stock
Products list and editor, brands, categories, price lists, import wizard, stock overview, movements, adjustments, inventory, warehouses.
| Field | Details |
|---|---|
| Task code | DES-17 |
| Phase | P0 — Foundations (cadrage, UX/UI, architecture & contract) |
| Product scope | V1 |
| Status | Planned |
| Start | Tue 10 Nov 2026 |
| Due | Tue 10 Nov 2026 |
| Responsible | Akram — UI/UX designer |
| Co-responsible | — |
| Effort | 1 person-day(s) planned · 1.25 from scratch · size S |
| Area · app | Back-office design · design |
| Depends on | DES-16 |
| Unblocks | DSH-04, DES-18 |
| Milestones | — |
Summary
Products list and editor, brands, categories, price lists, import wizard, stock overview, movements, adjustments, inventory, warehouses.
Description
Day 17 designs the back-office catalog and stock: products with their three customer-type prices and filterable attributes, and a stock ledger that only the back-office sees. The screens are BO-27 products, BO-28 product editor, BO-29 brands, BO-30 categories, BO-31 (as decided on Day 5), BO-32 import wizard, BO-33 stock overview, BO-34 movements, BO-35 receipt/adjustment, BO-36 inventory sessions, BO-37 warehouses and BO-71 attribute definitions; only BO-28 and BO-32 are bespoke. Inputs: cahier §4.3 and §15.4, CAT-01…06/12/13, PRC-01/02/04, STK-01…06, ACL-04, and the operations admin.products.*, admin.variants.*, admin.brands.crud, admin.categories.*, admin.attributes.crud, admin.products.import, admin.stock.*, admin.inventory.* and admin.warehouses.crud. The attribute definitions of BO-71 must visibly drive both the product editor and the reseller filters (RA-13, RW-03). Consumers: Anis's DSH-04 (BO-27…32, BO-71) and DSH-05 (BO-33…37).
Subtasks
| # | Subtask | Owner |
|---|---|---|
| 1 | BO-27 Produits (List): image, reference, name, brand, category › sub-category, ProductStatus pill, variant count, availability with quantities (back-office only), « Attributs incomplets » flag; filters brand, category, status, completeness; bulk activate / hide / archive / export | Akram |
| 2 | BO-28 Produit, tabs Général / Variantes / Images / Visibilité / Stock: brand, reference, name, category, description, warranty, barcode, ProductStatus; variants with SKU and barcode; uploader 1:1, 5 MB or less, JPEG/PNG/WebP, order and main image; visibility per reseller or segment (CAT-05); stock per warehouse read-only with a link to BO-33 | Akram |
| 3 | BO-28 Prix tab (PRC-01): per variant Super-gros / Demi-gros / Détail HT with the TTC equivalent, VAT rate (19 % default), recommended retail price, purchase price masked without permission (ACL-04), PriceChange history (date, user, old → new) | Akram |
| 4 | BO-28 Attributs tab: fields generated from the category's AttributeDefinitions (number with unit, list, yes/no), required and incomplete markers, values that feed the reseller filters | Akram |
| 5 | BO-71 Attributs par catégorie: definitions with key, French label, type list / number / yes-no, unit, allowed values, filter widget chips / range / toggle, display order, usage count; warning when changing a definition in use; preview of the resulting RA-13 / RW-03 filter section for one shared example category (chargers) | Akram |
| 6 | BO-29 Marques (HOCO, ACEFAST, BOROFONE logos, order). BO-30 Catégories: tree with sub-categories, drag reorder, image, attribute count, warning when archiving a category that still has products | Akram |
| 7 | BO-31 per the Day-5 decision: either a bulk editor of the three prices (filter by brand/category, inline edit, % adjustment, diff preview, confirm, history), or a V2 placeholder with no V1 frame | Akram |
| 8 | BO-32 Import produits (bespoke wizard): template download → upload XLSX/CSV → column mapping including the three prices and attributes → dry-run report with row errors (downloadable) → confirm → result (created, updated, skipped) | Akram |
| 9 | BO-33 Stock: per variant × warehouse physical, reserved and available (available = physical − reserved), threshold, alert pills, tabs En rupture / Sous le seuil. BO-34 Mouvements: ledger by StockMovementType (Réception, Ajustement, Inventaire, Réservation, Libération de réservation, Sortie, Retour, Transferts) with the linked order, return or inventory, user and date; export | Akram |
| 10 | BO-35 Réception / ajustement: warehouse, lines, quantity ±, required reason, confirmation. BO-36 Inventaires: sessions, counting lines, variance, validation posting INVENTORY movements. BO-37 Entrepôts: list and form | Akram |
| 11 | Page specs for the 10 template pages (columns, filters, actions, permissions, empty-state copy) | Akram |
| 12 | Feasibility: generated attribute form, three-price editing grid, import mapping UI | Anis |
Deliverables
- Claude Design › Back-office ›
BO · Catalog & stockwith BO-27…37 and BO-71 (BO-28 and BO-32 fully designed, the rest as filled page specs) - One shared example (category « Chargeurs ») shown in BO-71 → BO-28 → RA-13 / RW-03
- Annotated price and stock rules: HT/TTC display, permission masking, quantities visible in the back-office only
Acceptance criteria
- Each variant shows exactly three selling prices plus VAT, recommended price and the permission-masked purchase price; no price-list or quantity-tier UI exists for V1
- The attribute definition in BO-71 visibly drives both the BO-28 fields and the reseller filter section
- Stock quantities appear only in back-office frames, never in a reseller-facing preview
- Every StockMovementType value is represented in the ledger, including
RETURN - BO-31 matches the decision recorded on Day 5
- Anis's review answer is OK or OK with notes
Requirements covered
| Requirement | Title | Release |
|---|---|---|
| CAT-03 | Product data: brand, reference, name, category, description, characteristics, images, barcode, warranty, variants | V1 |
| CAT-06 | Product import/export (Excel/CSV) with a validation report | V1 |
| STK-02 | Physical, reserved and available stock (available = physical − reserved) with alert thresholds | V1 |
Screens
| Screen | Name | App |
|---|---|---|
| BO-27 | Products list | BO |
| BO-28 | Product editor | BO |
| BO-29 | Brands | BO |
| BO-30 | Categories | BO |
| BO-31 | Price grid — three customer-type prices (bulk edit) | BO |
| BO-32 | Product import wizard | BO |
| BO-33 | Stock overview | BO |
| BO-34 | Stock movements journal | BO |
| BO-35 | Stock receipt / adjustment | BO |
| BO-36 | Inventory sessions | BO |
| BO-37 | Warehouses | BO |
| BO-71 | Product attributes (filters) per category | BO |
Test measures
- Walkthrough with Anis: define an attribute → fill it on a variant → see it in the RA-13 filter
- Check the import mapping against the product minimum data of cahier §15.4
- Permission check: the purchase price frame for a role without the pricing permission
Risks
- The BO-31 decision is still open on Day 17 — design the bulk three-price editor (useful either way) and let Anis drop it if it moves to V2.
KPI
- Delivered by Tue 10 Nov 2026 within 1 person-day(s).
- Every acceptance criterion above demonstrated before hand-off; linked requirements' acceptance criteria pass.
- Zero open critical defects, permission gaps or data-integrity regressions at sign-off.
Generated from content/plan/tasks.json by scripts/generate-team-tasks.mjs. Dates are computed by the scheduler (Sunday–Thursday weeks, holidays excluded) — change the plan, not this page.
DES-16 — Day 16 — Back-office: CRM
Resellers list and map, reseller 360°, create/edit, validation queue, follow-ups, segments.
DES-18 — Day 18 — Back-office: orders, delivery & finance
Orders list and detail with controls, order on behalf, assisted queue, delivery board, carriers, invoices, payments, credit accounts.