Major additions accumulated over 9 days — single commit per request. Flow editor (new): - Generic visual editor for step trees, usable by project wizard + agent flows - PROJECT_KINDS / AGENT_KINDS catalogs decouple UI from domain - Drag-and-drop reorder via vuedraggable with scope isolation per peer group - Chain-aware depends_on rewrite on reorder (sequential only — DAGs preserved) - Variable picker with per-applies_to catalog (Customer / Quotation / Service Contract / Issue / Subscription), insert + copy-clipboard modes - trigger_condition helper with domain-specific JSONLogic examples - Global FlowEditorDialog mounted once in MainLayout, Odoo inline pattern - Server: targo-hub flow-runtime.js, flow-api.js, flow-templates.js - ERPNext: Flow Template/Run doctypes, scheduler, 5 seeded system templates - depends_on chips resolve to step labels instead of opaque "s4" ids QR/OCR scanner (field app): - Camera capture → Gemini Vision via targo-hub with 8s timeout - IndexedDB offline queue retries photos when signal returns - Watcher merges late-arriving scan results into the live UI Dispatch: - Planning mode (draft → publish) with offer pool for unassigned jobs - Shared presets, recurrence selector, suggested-slots dialog - PublishScheduleModal, unassign confirmation Ops app: - ClientDetailPage composables extraction (useClientData, useDeviceStatus, useWifiDiagnostic, useModemDiagnostic) - Project wizard: shared detail sections, wizard catalog/publish composables - Address pricing composable + pricing-mock data - Settings redesign hosting flow templates Targo-hub: - Contract acceptance (JWT residential + DocuSeal commercial tracks) - Referral system - Modem-bridge diagnostic normalizer - Device extractors consolidated Migration scripts: - Invoice/quote print format setup, Jinja rendering - Additional import + fix scripts (reversals, dates, customers, payments) Docs: - Consolidated: old scattered MDs → HANDOFF, ARCHITECTURE, DATA_AND_FLOWS, FLOW_EDITOR_ARCHITECTURE, BILLING_AND_PAYMENTS, CPE_MANAGEMENT, APP_DESIGN_GUIDELINES - Archived legacy wizard PHP for reference - STATUS snapshots for 2026-04-18/19 Cleanup: - Removed ~40 generated PDFs/HTMLs (invoice_preview*, rendered_jinja*) - .gitignore now covers invoice preview output + nested .DS_Store Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
4.4 KiB
4.4 KiB
ERPNext Item Master — Diff vs Legacy gestionclient
Tracks every new Item created in ERPNext that does not exist (by SKU or
semantic concept) in the legacy gestionclient.product table. Each entry lists
the rationale, so the migration audit trail stays intact as we re-model pricing
in the wizard.
Conventions:
- Reused = SKU matches legacy 1:1 (already imported in bulk).
- Semantic reuse = different SKU in wizard, but a legacy SKU covers the same concept — wizard-constants points at the legacy SKU.
- New = ERPNext-only SKU, no legacy equivalent.
New Items (wizard-generated lines with no legacy counterpart)
| ERPNext SKU | Name | Rate | Group | Why new |
|---|---|---|---|---|
TV-BASE |
Télévision de base | 19.95 $ | Télévision | Wizard simplifies legacy TVBSKINNY/TVBSTANDARD/TVBEVO (25/30/35 $) into a single flat base. |
TV-MIX5 |
Bonus Mix 5 chaînes | 10.00 $ | Télévision | Positive-rate addon (vs legacy RABTV_MIX5 rebate at 0 ). Wizard flattens "pick 5 thematic forfaits + get rebate" into a single "+10 for 5 picks" line. |
TV-MIX10 |
Bonus Mix 10 chaînes | 17.50 $ | Télévision | Same pattern as TV-MIX5 — replaces legacy picking N TVF* packs + RABTV_MIX10. |
TV-PREMIUM-SUR |
Supplément chaîne premium | 3.00 $ | Télévision | Wizard surcharge per premium sport pick (RDS, TSN, Sportsnet, TVA Sports). Emitted as a line per premium group. No legacy equivalent — legacy had thematic forfaits at 20 $ (TVFSPORTFR/EN) instead. |
TV-ALC-OVER |
Chaînes additionnelles (à la carte) | 0.00 $ (rate computed per line) | Télévision | Overage line when channel picks exceed the Mix allotment. No legacy equivalent. |
REF-CREDIT-50 |
Crédit parrainage | -50.00 $ | Rabais | One-time credit when a valid referral code is entered. Legacy used CRPROGREC (-21.74 $) with a different program. Pre-existed in ERPNext. |
EQ-WIFI-BOOST |
Booster WiFi (maillage) | 5.00 $ | Équipement | Mesh booster — no legacy equivalent (legacy sold UniFi APs at 160–316 $, not a monthly rental). |
RAB-LOYAUTE |
Rabais Fidélité | -40.00 $ | Rabais | Flat fidélité rebate on FTTH80I to reach 39.95 $ promo. Legacy used RAB_X (-20 $) + other flags — wizard centralizes. |
FEE-INSTALL |
Frais d'installation | 99.95 $ | Frais | Flat install fee. Legacy model was INSTFIBRES 199 + `RABINS` -199 = 0 $ net with 24mo contract. Wizard simplifies. |
FEE-EXTRA |
Frais supplémentaire — installation | 0.00 $ (rate per line) | Frais | Per-step extra fees (émondage, creusage, etc.) from EXTRA_FEE_PRESETS. |
Semantic reuse — wizard points at legacy SKUs
| Wizard concept | Legacy SKU reused | Rate | Notes |
|---|---|---|---|
| À la carte TV | TELE_CARTE |
0 $ | Legacy description: « Télévision à la carte » — exact match. Wizard uses this as the base for à-la-carte selections. |
| Téléphonie illimitée CA/US | TELEPMENS |
28.95 $ | Legacy description: « Téléphonie IP, options toutes incluses, Canada et É-U illimité ». Bundle discount (to reach ~10 $/mo) is applied manually, not auto-generated. |
| Portabilité téléphonique | TELEPTRANS |
40.00 $ | Legacy: « Transfert de numéro ». Wizard references only if port-in is requested. |
| Rabais combo 2 / 3 / 4 services | RAB2X / RAB3X / RAB4X |
-5 / -10 / -15 $ | Added manually at the sales rep's discretion — no longer auto-inserted by the wizard. |
| Rabais engagement 24 mois | RAB24M |
-15 $ | Legacy-only; reused directly. |
Reused 1:1 (no diff)
- All
FTTH*ISKUs (80, 150, 500, 1500, 3500, 8000) - All
FTTB*ISKUs (25, 50, 100, 300, 1000) - All
TVF*thematic forfaits (CRAVE, STARZ, SPORTEN, SPORTFR, SE, DECOU, STYLE, FILM, JEUNE, etc.) - All
TVB*base packages (SKINNY, STANDARD, EVO) - Rebates:
RABTV_MIX5,RABTV_MIX10,RAB2X,RAB3X,RAB4X,RAB24M,RAB36M,RAB_X,RABINS - Fees:
ACTTELEP,INSTFIBRES,INSTFCAMP,CRINSTFIB - Phone:
TELEPMENS,TELEPTRANS,SERV911,TELEPMENSCR
Notable legacy SKUs explicitly NOT used by the wizard
TVBSKINNY/TVBSTANDARD/TVBEVO— superseded byTV-BASE- Individual
TVF*thematic forfaits — wizard uses picker + Mix 5/10 instead INSTFIBRES+RABINSrebate mechanic — replaced by singleFEE-INSTALLRABTV_MIX5/RABTV_MIX10rebate items — replaced by positive-rateTV-MIX5/TV-MIX10
Last updated: 2026-04-21 (wizard → legacy Item mapping audit).