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.
| Field | Details |
|---|---|
| Task code | DES-18 |
| Phase | P0 — Foundations (cadrage, UX/UI, architecture & contract) |
| Product scope | V1 |
| Status | Planned |
| Start | Wed 11 Nov 2026 |
| Due | Wed 11 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-17 |
| Unblocks | DSH-06, DES-19 |
| Milestones | — |
Summary
Orders list and detail with controls, order on behalf, assisted queue, delivery board, carriers, invoices, payments, credit accounts.
Description
Day 18 designs the back-office flows where no order moves without an explicit confirmation (ORD-14), and where delivery, returns, after-sales and payments stay traceable. The screens are BO-38 orders, BO-39 order detail, BO-40 order on behalf, BO-41 orders to confirm, BO-42 delivery board, BO-43 carriers, BO-44 invoices, BO-45 payments and declarations, BO-46 credit accounts and BO-69 returns and after-sales claims. Inputs: cahier §4.4 and §4.7, ORD-04/05/06/08/11/12/13/14, STK-03/08, DLV-01…04, FIN-01/03/04/05/08, SUP-04, and the operations admin.orders.toConfirm|validate|refuse|modify|transition|cancel|confirmAssisted|history, admin.deliveries.*, admin.carriers.crud, admin.returns.*, admin.invoices.*, admin.payments.* and admin.credit.*. BO-38, BO-39 and BO-42 are bespoke; the rest are template pages. Consumers: Anis's DSH-06 (BO-38…43), DSH-07 (BO-44…46) and DSH-13 (BO-69 and the claim side of BO-56).
Subtasks
| # | Subtask | Owner |
|---|---|---|
| 1 | BO-41 Commandes à confirmer: Envoyée and En attente orders, oldest first; controls as icon + text (stock, crédit, prix, minimum, adresse); age « depuis 3 h »; overdue marker; channel (Application, Web, Commande assistée, Back-office); first-order badge; AssistedConfirmation state; live new-row highlight; empty « Aucune commande à confirmer » | Akram |
| 2 | BO-41 actions: Confirmer (one click + toast with « Annuler » for 6 s), Mettre en attente, Refuser with a required reason (ORDER_REFUSAL_REASON); bulk confirm only for orders whose controls all pass | Akram |
| 3 | BO-38 Commandes: tabs per status with counts, filters (channel, wilaya, délégué, date, amount, first order, assisted), badges, export, live counters | Akram |
| 4 | BO-39 Commande (bespoke): entity header CMD-2026-000158 + status pill + channel; control panel; actions limited to allowed transitions (state machine annotated); controlled modification with reason and diff in history; stock override with a recorded reason (STK-08); cancel with reason (stock released); FAC/BL documents; delivery block; links to after-sales and returns; timeline | Akram |
| 5 | BO-40 Nouvelle commande pour un revendeur (Form): reseller search, product picker at the reseller's customer-type price, cart rules, address, payment method, note; the order then lands in BO-41 like any other (no automatic confirmation) | Akram |
| 6 | BO-42 Livraisons (bespoke kanban): À préparer → En préparation → Prête → Expédiée → Livrée, plus Échec de livraison; drops allowed only on legal transitions; cards (order, reseller, wilaya, items, age, carrier); picking list; carrier and tracking number; proof of delivery (photo + recipient name); failure reason. BO-43 Transporteurs: Livreur HOCO / Société de livraison / Retrait au dépôt | Akram |
| 7 | BO-69 Retours: approve or reject with a reason → En retour → reception (accepted quantity per line) → automatic RETURN stock movement and credit note issued; ReturnStatus pills; proof viewer for photos | Akram |
| 8 | BO-69 Réclamations SAV: diagnosis → resolution Remplacement (creates a free order), Retour (creates a return), Avoir, Réparation or Refusée with a reason; linked order lines; TicketStatus pills | Akram |
| 9 | BO-44 Factures (InvoiceStatus pills, PDF, credit notes). BO-45 Paiements et déclarations: queue of declared payments with the proof viewer, confirm or reject with a reason (PAYMENT_REJECT_REASON), record a payment, partial allocation to invoices (FIN-04). BO-46 Comptes crédit: ceiling, used, available, ceiling change with reason and history | Akram |
| 10 | Page specs for the 7 template pages and the transition × action table on BO-39 | Akram |
| 11 | Feasibility: live queue via /v1/admin/events, kanban drag rules, return reception and credit-note generation | Anis |
Deliverables
- Claude Design › Back-office ›
BO · Orders & deliveryandBO · Finance(e.g.BO-41 · Orders to confirm · live-new-order) - Order state machine annotated on BO-39: every action with the statuses where it is available
- Returns and after-sales resolution flows in BO-69 with the resulting documents (free order, return, credit note)
Acceptance criteria
- Every order path (app, web, assisted, phone) ends in BO-41 and needs an explicit confirmation; no frame shows automatic validation
- Refusal, rejection and cancellation always require a reason from the reference list
- Kanban drops are allowed only on legal DeliveryStatus transitions, and forbidden drops have a visible state
- Return reception shows the automatic restock and the credit note
- Bulk confirm is offered only when every control passes
- Anis's review answer is OK or OK with notes
Requirements covered
| Requirement | Title | Release |
|---|---|---|
| ORD-05 | Back-office processing: automatic controls, validation, controlled modification, refusal with reason | V1 |
| DLV-01 | Preparation workflow (picking list) up to 'ready' | V1 |
| FIN-03 | Payment recording in the back-office and payment declaration with proof by the reseller | V1 |
Screens
| Screen | Name | App |
|---|---|---|
| BO-38 | Orders list | BO |
| BO-39 | Order detail (controls, actions, history) | BO |
| BO-40 | New order on behalf of a reseller | BO |
| BO-41 | Orders to confirm (new, on hold, assisted) | BO |
| BO-42 | Delivery board | BO |
| BO-43 | Carriers | BO |
| BO-44 | Invoices | BO |
| BO-45 | Payments & declarations | BO |
| BO-46 | Credit accounts | BO |
| BO-69 | Returns & after-sales claims | BO |
Test measures
- Walkthrough with Anis against /docs/srs/lifecycles-and-statuses: every transition has an entry point
- Scenario test: a reseller order goes RA-20 → BO-41 → BO-39 → BO-42 → delivered, then a return in BO-69
- Table density and status-pill legibility at 1280 with the queue full
Risks
- The confirmation queue becomes a bottleneck for HOCO — design bulk confirm for clean orders and the overdue marker (4 working hours by default) so the queue stays short.
KPI
- Delivered by Wed 11 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-17 — Day 17 — Back-office: catalog, pricing & stock
Products list and editor, brands, categories, price lists, import wizard, stock overview, movements, adjustments, inventory, warehouses.
DES-19 — Day 19 — Back-office: field ops, promotions, support, reports, admin
Delegates, zones, objectives, tour planner/editor/live detail, visits, checklists; promotions editor, banners; tickets, announcements, templates; reports and exports; users, roles matrix, audit, settings, reference lists, app versions, imports.