Scope
Purpose, audiences, what each surface contains, the V1/V2 boundary per area, explicit exclusions, numbered assumptions and the constraints of the Algerian context.
Purpose
HOCO distributes phone accessories of three brands — HOCO, ACEFAST and BOROFONE — to shops across Algeria. Orders, field work and follow-up run on phone calls, WhatsApp and spreadsheets; the ecosystem replaces them with one platform and one source of truth (cahier §1.1). The cahier sets eight business objectives (§1.3) and six success indicators (§1.4):
| Objective (cahier §1.3) | Measured by (cahier §1.4, ANA-04) |
|---|---|
| Centralise reseller and prospect data · grow the number of active points of sale | Reseller adoption: share of accounts activated, sign-in frequency |
| Speed up order taking and validation · reduce manual-order errors | Order digitalisation: share of orders placed through the apps · Operational quality: fewer errors, cancellations and delays |
| Follow delegates, tours, visits and conversions | Field conversion: prospects → accounts → first orders · Tour performance: visits done / planned |
| Visibility on stock, sales, payments and zone performance · reliable indicators | Dashboards and reports (ANA-01, ANA-03) |
| Retain resellers with promotions, packs and loyalty levels | Loyalty: order frequency and level progression (levels in V2) |
Audiences
| Audience | Role key | Uses | Main jobs | Data scope |
|---|---|---|---|---|
| Super administrator | SUPER_ADMIN | BO | Global settings, roles and permissions, users, audit | Everything |
| Commercial administrator | COMMERCIAL_ADMIN | BO | CRM, account validation, delegates, zones, tours, promotions, order confirmation, after-sales, reporting | All commercial data, no purchase prices |
| Stock manager | STOCK_MANAGER | BO | Products, attributes, stock, inventories, return reception | Catalog and stock |
| Finance manager | FINANCE_MANAGER | BO | Invoices, payments and declarations, credit, credit notes, financial reports | Finance, purchase prices and margins |
| Delivery manager | DELIVERY_MANAGER | BO | Preparation, shipping, carriers, proof of delivery | Orders to fulfil |
| Direction | DIRECTION | BO | Dashboards, KPIs, consolidated reports | Read-only, all modules |
| Delegate (délégué commercial) | DELEGATE | DA | Tours, visits, prospects, sign-ups, invitations, assisted first orders, reports | Their zones, assigned resellers, own performance |
| Reseller (revendeur) | RESELLER | RA, RW | Catalog, cart, orders and tracking, returns, after-sales claims, invoices and payments, support | Their own data |
| Guest (visitor without account) | — | RA, RW | Browse the catalog, promotions and banners without prices; contact support on WhatsApp; sign up | Public catalog |
| HOCO, the client organisation | — | — | Validates the cahier, the SRS baseline, designs and acceptance (PV de recette); takes the decisions of the register; owns its data, store and provider accounts; is the data controller under Law 18-07 | — |
Roles and their permissions: permissions matrix (cahier §3, ACL-01).
Delivery frame
V1 — design, development and deployment — takes three months from Sunday 18 October 2026 (team decision of 18 October). Production goes live at the start of January 2027 and a two-week pilot with a limited group of delegates and resellers follows (cahier §14 phase 9); generalisation and V2 come after the three months. The reseller web is part of V1: it is built in the V1 phase, goes through acceptance with the other interfaces and is deployed before the pilot. Dates come from the plan — see the timeline and the releases.
| Phase (plan) | Cahier §14 phases | Delivers |
|---|---|---|
| P0 — Foundations | 1 Cadrage · 2 UX/UI · 3 Architecture | Decisions, the complete design, services, database, API contract, mobile foundations |
| P1 — V1 build & integration | 4 Back-office · 5 Reseller app · 6 Delegate app · 7 Integration | Server, back-office, reseller web, both Flutter apps, staging integration, field test, store readiness |
| P2 — Acceptance, go-live & pilot | 8 Tests · 9 Pilot | End-to-end tests, client acceptance and PV, production go-live, training, two-week pilot |
| P3 — Generalisation (after the three months) | 10 Généralisation | Pilot improvements, progressive opening by zone, public store release |
| P4 — V2 | §14.2 | The V2 evolutions below |
If the build slips, dates hold and scope moves after go-live in the order of decision D-38, unless HOCO decides otherwise.
In scope per surface
| Surface | V1 content (cahier §14.1 plus the decisions of 17–18 October 2026) |
|---|---|
| Back-office (web, desktop, tablet and large screens) | Dashboards by role; CRM with list, map, reseller 360°, validation queue with customer-type review, follow-ups, segments; delegates, zones, objectives, tour planning, live map, visits; catalog with brands, categories and sub-categories, filterable attributes, three prices per variant, visibility, import; stock, movements, inventories; orders with the « Commandes à confirmer » queue, controls, modification, assisted orders, delivery board, carriers; returns and after-sales claims; invoices, payments and declarations, credit control, credit notes; promotions, daily offers and banners; support tickets, announcements, notification templates; reports and exports; users, roles, audit, settings, reference lists, support regions, app versions, imports |
| Reseller app (Android first) and reseller web (responsive, same account, same cart) | Guest browsing without prices; sign-up with OTP and declared customer type, account claim, pending-validation state; home, search, barcode scanner (app), catalog with advanced filters and facets; product detail; favorites; server-side cart, checkout, addresses; order tracking updated live, documents, cancellation before confirmation, assisted-order confirmation, reorder; returns and after-sales claims; balance, credit, invoices, payment declarations; promotions and daily offers; notifications; support tickets and the regional WhatsApp button; profile, store documents, settings |
| Delegate app (Android, offline-first) | Sign-in, location consent; home with today's tour and objectives; tour programme, map and navigation, GPS check-in, visit with checklist, note and photos, not-done reasons, visit report and follow-ups; prospects list and map, field sign-up offline, invitation with QR and share, first-order assistance, orders of their resellers; tour closing and performance; messages, sync centre |
| Central API and worker | Authentication and sessions, permissions and scopes, every business rule, audit, numbering, files, notifications (push, SMS, email, inbox), real-time streams for the back-office and the reseller apps, offline sync, scheduled jobs, imports and exports |
| Operations | Development, pre-production (acceptance) and production environments; deployment, domains, certificates, backups and restore tests; store publication; monitoring; training and documentation (cahier §13) |
V1 / V2 boundary
V2 follows cahier §14.2 (« Fidélité avancée, packs rentables, crédit détaillé … intégration livraison, WhatsApp Business et comptabilité … optimisation automatique des tournées et analyses avancées »). Returns and after-sales, which the cahier lists in V2, were moved into V1 by the team on 17 October 2026.
| Area | In V1 | In V2 |
|---|---|---|
| Authentication, access, audit, geography | Everything (AUTH-01 to AUTH-11, ACL, AUD, GEO) | — |
| CRM | Records, lifecycle, assignment, segments, timeline, follow-ups, validation, documents | Merge tool for historical duplicates (CRM-13) |
| Catalog | Everything, including advanced filters and attributes (CAT-12, CAT-13) | — |
| Pricing | Three prices per variant by customer type, VAT, history, re-validation | Per-reseller agreements and level prices (PRC-03); quantity tiers dropped (D-37) |
| Stock | Levels, reservation and deduction, automatic restock, ledger, alerts, inventories, override, availability-only display | API sync with HOCO's stock system (STK-09; V1 uses imports) |
| Orders | Cart, checkout, 11-status lifecycle, explicit confirmation, live status, assisted orders, first order, cancellation, phone orders, documents, returns (ORD-13) | — |
| Delivery | Preparation, shipping, proof, carriers managed by hand, delivery-fee policy | Carrier API (DLV-05) |
| Finance | Invoices, payment methods, declarations, allocations, basic credit control, reseller finance view, credit notes (FIN-08) | Detailed credit with terms and automatic blocking (FIN-06), automatic reminders (FIN-07), accounting exports (FIN-09) |
| Promotions | Daily offers, scheduled promotions, targeting, stacking, caps, banners, flash sales and the promotion tabs (PRM-07, change request 03) | Profitable packs (PRM-06), exclusive offers by level (PRM-08) |
| Loyalty | — | The whole programme (LOY-01 to LOY-05), missions and challenges (LOY-06), Top 3 of the month (LOY-07); split to confirm (D-16) |
| Field operations | Everything, including the recommended visit order (nearest neighbour) | Routing-engine optimisation (FLD-18) |
| Invitations | Everything | — |
| Support | Tickets, after-sales claims with resolutions (SUP-04), regional WhatsApp (SUP-05), contacts and FAQ | — |
| Notifications | Inbox, push, SMS, email, WhatsApp share links, matrix, preferences, announcements; smart notifications — groups, Notification Centre, action buttons, rule-based commercial triggers, anti-fatigue rules (NOT-09 to NOT-17, change request 03) | WhatsApp Business API messages (NOT-08); loyalty-driven notifications (NOT-18) |
| Analytics | Dashboards, essential reports, success KPIs, exports | Advanced analytics (ANA-06) |
| Administration, sync, reseller web, non-functional, security, operations | Everything | — |
| Integrations | Maps, FCM, SMS, email, file storage, provider costs | ERP and accounting API (INT-06) |
The V2 requirements, live from requirements.json:
| ID | Requirement | Release | Priority | Source | Apps |
|---|---|---|---|---|---|
CRM-13 | Merge tool for historical duplicates | V2 | COULD | §4.2 | BO |
PRC-03 | Per-reseller price agreements and level-based prices on top of the three customer-type prices | V2 | SHOULD | §8 | API · BO |
STK-09 | Synchronisation with the client's existing stock system (V1 import, V2 API) | V2 | SHOULD | §11 | API |
DLV-05 | Carrier API integration (shipment creation, tracking webhooks) | V2 | SHOULD | §11, §14.2 | API |
FIN-06 | Detailed credit: payment terms, due dates, automatic blocking or approval when exceeded | V2 | SHOULD | §4.7, §14.2 | API · BO |
FIN-07 | Automatic reminders and unpaid alerts | V2 | SHOULD | §4.7 | API · BO |
FIN-09 | Accounting exports and financial reports | V2 | SHOULD | §4.7, §11 | API · BO |
PRM-06 | Profitable packs: bundles of references at a pack price, added to cart as a unit | V2 | SHOULD | §4.6, §5.5, §14.2 | API · BO · RA · RW |
PRM-08 | Exclusive offers by loyalty level and their tab | V2 | COULD | Client doc 03 (18 Oct 2026) | API · BO · RA · RW |
LOY-01 | Points earned per order, credited after delivery or payment (setting), bonuses | V2 | SHOULD | §4.4, §4.6, §14.2 | API |
LOY-02 | Points expiry, adjustments and reversal on cancellation or refund | V2 | SHOULD | §4.6 | API · BO |
LOY-03 | Levels Bronze, Silver, Gold, VIP over a period with client-validated thresholds | V2 | SHOULD | §4.6 | API · BO · RA · RW |
LOY-04 | Rewards catalogue (voucher, free delivery, discount, gift, early access) and redemption | V2 | SHOULD | §4.6, §5.5 | API · BO · RA · RW |
LOY-05 | Traceable points history for the reseller and the back-office | V2 | SHOULD | §5.5, §12 | API · BO · RA · RW |
LOY-06 | Missions and challenges: commercial, interaction, weekly and monthly challenges, surprise and personalised missions | V2 | SHOULD | Client doc 03 (18 Oct 2026) | API · BO · RA · RW |
LOY-07 | Top 3 resellers of the month: ranking, vouchers, badges and home highlight | V2 | COULD | Client doc 03 (18 Oct 2026) | API · BO · RA · RW |
FLD-18 | Automatic tour optimisation (routing engine) | V2 | COULD | §14.2 | API · BO |
NOT-08 | WhatsApp Business API automated messages | V2 | COULD | §11, §14.2 | API |
NOT-18 | Loyalty-driven notifications: double points, new level, missions, gifts, anniversary, objective almost reached, challenge of the month | V2 | SHOULD | Client doc 03 (18 Oct 2026) | API · RA · RW |
ANA-06 | Advanced analytics (cohorts, forecasting, delegate benchmarking) | V2 | COULD | §14.2 | BO · API |
INT-06 | ERP / accounting import-export (files in V1, API in V2) | V2 | SHOULD | §11 | API |
Change request 03 — Smart notifications
On 18 October 2026 HOCO sent DOCUMENT 03 : SMART NOTIFICATIONS: 24 commercial notification types, a Notification Centre on the home page, an action button on every notification, a monthly Top 3 of resellers and three promotion tabs. The document is not part of the cahier. It is treated as a change request and placed as follows (details and reasons on smart notifications):
| Release | Added to the scope |
|---|---|
| V1 | Notification groups and the Notification Centre on the reseller home (NOT-09); an action button on every notification (NOT-10); rule-based triggers: new arrival, new catalogue, trending product (NOT-11), targeted back in stock and limited quantity (NOT-12), promotion, flash sale, price drop (NOT-13), abandoned cart and reorder reminder (NOT-14), complementary products (NOT-15), commercial push (NOT-16); anti-fatigue rules (NOT-17); flash sales with countdown and the tabs Promotions / Ventes flash (PRM-07) |
| V2 | Loyalty-driven notifications (NOT-18); missions and challenges (LOY-06); Top 3 resellers of the month (LOY-07); the Offres exclusives tab by level (PRM-08) |
| Later / to decide | HOCO Academy videos and quizzes (D-40); AI bought together suggestions (D-41); the Daily / Weekly / Monthly mission cadence and the product-review mission (D-42) |
Impact: six new tasks, about 6.5 working days in total: DES-23, SRV-39, SRV-40, DSH-14, WEB-06, MRA-11. Most of it lands on Anis's lane, which has no slack (D-38). The milestone dates are recomputed on the timeline. If go-live is threatened, NOT-15 (COULD) and then NOT-11 move first in the deferral order.
Exclusions
Not in V1 nor V2. Any of them is a change request (change control).
| Id | Excluded | Note |
|---|---|---|
| EX-01 | Online card payment (CIB, Edahabia) and any payment gateway | Transfers, CCP and BaridiMob are declared with a proof and verified by finance |
| EX-02 | Sales to consumers (B2C), public price list or marketplace | Guests see the catalog without prices |
| EX-03 | Several companies, currencies or VAT regimes (multi-tenant) | One company, DZD |
| EX-04 | Warehouse management beyond stock levels: locations, lots, serial numbers, scanning-based picking, supplier purchase orders | Receipts and adjustments are recorded; the picking list is printed |
| EX-05 | General ledger, payroll, delegates' commissions | Accounting exports are V2; commissions are not in the cahier |
| EX-06 | A driver app for HOCO's own fleet | Delivery is confirmed in the back-office with proof |
| EX-07 | Chat between resellers, delegates and HOCO, and bulk marketing SMS or WhatsApp campaigns | Tickets, announcements and WhatsApp links cover the cahier |
| EX-08 | Historical data migration beyond the initial import of products, resellers, users and stock (cahier §13.2) | No past orders, invoices or balances (D-31) |
| EX-09 | Content production: product photos, descriptions, translations, price grids | Supplied by HOCO in the import templates |
| EX-10 | Hardware (phones for delegates, printers), external provider fees and subscriptions | Identified and validated by HOCO (cahier §11, INT-07) |
| EX-11 | Native tablet or desktop applications; iOS apps unless HOCO decides (D-10) | iPhone users use the reseller web |
| EX-12 | Electronic invoicing to a tax-administration platform | Invoices are PDF documents |
Assumptions
Each assumption is what the team builds with; a different answer from HOCO is a change request unless it is an open decision.
| Id | Assumption | Linked |
|---|---|---|
| A-01 | Android first. The two Flutter apps target Android on mid-range phones; iOS only on HOCO's decision. | NFR-04, D-10 |
| A-02 | French interface in V1; Arabic (right-to-left) and English are prepared (keys, layouts, templates) and delivered when validated. | NFR-06, D-09 |
| A-03 | hoco.dz is a placeholder for the API, apps and links (api.hoco.dz, app.hoco.dz). | D-12 |
| A-04 | One company, one currency (DZD), one VAT regime; amounts stored as integer centimes; VAT 19 % by default. | EX-03 |
| A-05 | One active cart per reseller, server-side, shared by the app and the web. | ORD-01, RWA-02 |
| A-06 | One reseller record = one point of sale with one login (the main phone). Chains with several shops are several records. | CRM-01 |
| A-07 | Each reseller has one customer type — super-gros, demi-gros or détail — that selects one of the three prices of every variant. | AUTH-11, D-01 |
| A-08 | Every order is confirmed by a person in the back-office; staffing of the confirmation queue during working hours is HOCO's. | ORD-14 |
| A-09 | One warehouse at launch; the model supports several. | D-02 |
| A-10 | Payments are not processed online; COD is collected by the driver and confirmed by finance. | EX-01, D-03 |
| A-11 | Delivery is managed by hand in V1 (own fleet, carrier companies, pickup). | D-08 |
| A-12 | A tour is one delegate on one date; weekly or monthly planning creates daily tours. | FLD-03 |
| A-13 | Open reseller sign-up with back-office validation; invitations attribute sign-ups to delegates. | D-28 |
| A-14 | HOCO provides the data (products with three prices and attributes, resellers, users, stock) in the import templates before go-live. | ADM-06, D-31 |
| A-15 | HOCO owns the accounts — Play Console, Firebase, maps, SMS gateway, domain, hosting — and pays the providers. | D-25 |
| A-16 | Pilot: two weeks, two to three delegates and 20–40 resellers in one zone, right after go-live. | OPS-06, D-32 |
Constraints
| Id | Constraint | Consequence in the specification |
|---|---|---|
| C-01 | CCP and BaridiMob (Algérie Poste) offer no merchant confirmation API | Payments are declared with a proof and verified by hand (PENDING_VERIFICATION) — PaymentStatus |
| C-02 | Wilayas and communes are the administrative reference and change by law (the 2019 reform created new wilayas) | Geography is versioned reference data loaded by seed, never hard-coded (GEO-01) |
| C-03 | Weak and intermittent mobile networks outside city centres | Delegate app offline-first with idempotent replay; compressed photos; small payloads (cahier §7.3, offline sync design) |
| C-04 | Law 18-07 of 10 June 2018 on the protection of personal data (national authority ANPDP): purpose, consent, rights of access and rectification, security, prior formalities, limits on transfers abroad | Location consent and transparency, retention periods, deactivation and anonymisation (BR-53, BR-84); hosting location decided with HOCO (D-15); legal review by HOCO's counsel |
| C-05 | Google Play policies: prominent disclosure and consent for location, background-location declaration and foreground-service type, data-safety form, privacy-policy URL, account deletion in the app and on the web for apps that create accounts, recent target API level | Consent screen DA-04, foreground service during tours (D-24), deletion requests (BR-85), store readiness task MOB-14 |
| C-06 | SMS encoding: accented French switches to UCS-2 (70 characters per segment) | OTP and SMS templates written without accents (BR-59) |
| C-07 | Fiscal mentions on invoices (RC, NIF, NIS, AI, VAT) and stamp duty on cash payments under the current finance law | Document templates and the stamp-duty setting confirmed by HOCO's accountant (D-21) |
| C-08 | Working week Sunday–Thursday, business days in Africa/Algiers; Ramadan starts shortly after the planned pilot | Day boundaries, queue alerts and the plan use that calendar (timeline) |
| C-09 | Three-month frame for V1 with go-live at the start of January | Scope moves after go-live rather than dates (D-38) |
Software requirements specification
What the SRS of the HOCO B2B ecosystem contains, how to use it, the baseline in numbers, the map of its pages and the change-control rule.
Glossary
French ↔ English glossary of the business, administrative, project and technical terms used in the cahier and across the HOCO docs.