Skip to content

011 — Navigation and User Journeys

Navigation is the fastest way to read a system's business shape. This document reconstructs the business flow from the menus that are actually rendered.


Odoo ERP Back Office — "B2B Ecommerce" Application

flowchart LR
    R["B2B Ecommerce"] --> D["Dashboard"]
    R --> O["Orders Management"]
    R --> P["Products Management"]
    R --> C["Customers Management"]
    R --> CF["Configuration 🔒 admin"]

    O --> O1["RFQ Quotations"]
    O --> O2["Quotations"]
    O --> O3["Orders"]

    P --> P1["Brands"]
    P --> P2["Public Categories"]
    P --> P3["Product Tags"]
    P --> P4["Product Notices"]
    P --> P5["Products"]
    P --> P6["Product Variants 🔒 variant group"]
    P --> P7["Pricelists 🔒 pricing team"]

    C --> C1["Customer Segments"]
    C --> C2["Customers"]
    C --> C3["Customer Users"]
    C --> C4["Online Users"]
    C --> C5["Users Tags"]

    CF --> F1["Account Managers"]
    CF --> F2["Notifications"]
    CF --> F3["Merchants"]
    CF --> F4["Product Merchants"]
    CF --> F5["Combo Choices"]
    CF --> F6["Categories"]

Root menu visibility: system administrators and the Ecommerce Account Manager group.

Menu Group restriction What it does
Dashboard — OWL client action with counters that drill into filtered order lists (Action Required, New RFQs, Total RFQs)
Orders Management → RFQ Quotations — Orders in the RFQ portal states
Orders Management → Quotations — Orders in the quotation / PO states
Orders Management → Orders — Confirmed orders (state = sale)
Products Management → Pricelists Pricing Team or admin Pricelist maintenance
Products Management → Product Variants Product-variant group Product Variant list
Customers Management → Customers Account Manager / admin Two variants of the same menu: an attachment-scoped view for Account Managers, a full-chatter view for admins
Configuration System admin only Master data and reference lists
Import Products Technical group only JSON import wizard, deliberately hidden from normal users

Odoo ERP Back Office — "Access Management" Application

flowchart LR
    AR["Access Management"] --> AC["Configuration"]
    AR --> UR["User Access Right (report)"]
    AC --> A1["Applications"]
    AC --> A2["Screen Categories"]
    AC --> A3["Screens"]
    AC --> A4["Roles"]

Permissions and role assignments are managed inside the Screen and Role forms rather than through their own top-level menus. The User Access Right wizard produces an effective-permission report for a chosen user.


Account Management Portal (/admin/*)

flowchart LR
    S["AMP sidebar"] --> D["Dashboard<br/>/admin/dashboard"]
    S --> OM["Orders management"]
    S --> PM["Products management"]
    S --> CM["Customers management"]
    S --> M["Messages<br/>/admin/messages"]
    S --> CF["Configuration<br/>/admin/configuration"]

    OM --> O1["Shared Request"]
    OM --> O2["RFQ Quotations"]
    OM --> O3["Quotations"]
    OM --> O4["Orders"]
    OM --> O5["Archived Orders"]

    PM --> P1["Product Categories"]
    PM --> P2["Products"]
    PM --> P3["Brands"]
    PM --> P4["Pricelists"]

    CM --> C1["Customer Segments"]
    CM --> C2["Customers"]

The sidebar is a static, typed tree in the frontend. Each leaf carries an AMM screen reference (amp.dashboard, amp.rfq_quotations, …). When AMM returns data the tree is filtered to the permitted screens; a group node disappears when all its children do. When AMM is absent the full tree renders.

The orders section is ordered to mirror the workflow: unqualified interest (Shared Request) → incoming requests (RFQ Quotations) → issued quotations → confirmed orders → archive.


Customer Portal (/)

flowchart LR
    H["Header"] --> PR["Products mega-menu<br/>public category tree"]
    H --> BR["Brands menu"]
    H --> SE["Product search"]
    H --> NO["Notifications"]
    H --> BA["Basket selector<br/>switch between draft requests"]
    H --> UM["User menu"]

    UM --> TH["Help + light/dark theme"]
    UM --> CP["Company Profile"]
    UM --> LO["Sign out"]

    CP --> T1["Users 🔒 company admin"]
    CP --> T2["User Tags 🔒 company admin"]
    CP --> T3["Draft Requests"]
    CP --> T4["RFQs"]
    CP --> T5["Orders"]
    CP --> T6["Archived"]

Company Profile is a single route with a ?page= parameter driving a left navigation. The Users and User Tags tabs are visible only to company admins; a standard user landing on them is redirected to Orders. Unguarded auxiliary pages: /help and /release-notes.

The header basket selector is the key storefront affordance — a customer keeps several named baskets in parallel and switches the active one without leaving the catalog.


Screen ↔ Navigation Mapping

AMM application Screens in the catalogue Rendered by
amp dashboard, shared_wishlist, rfq_quotations, quotations, orders, archived_orders, product_categories, products, brands, pricelists, pricelist_items, client_categories, clients, client_users, user_tags, messages AMP sidebar tree
client home, products, orders, company_profile, company_users, user_tags, help Customer header + company-profile tabs

pricelist_items, client_users and user_tags (amp) exist in the catalogue for permission purposes but have no dedicated sidebar entry — they are reached from within their parent screen or from the Customer Portal.


User Journeys

Journey 1 — Customer user places an order

journey
    title From catalog to confirmed order
    section Discover
      Log in with login and password: 4: Customer user
      Browse categories / brands / search: 5: Customer user
      Open product detail, pick a product variant: 5: Customer user
    section Compose
      Add to a named basket: 5: Customer user
      Request a product not in the catalog: 3: Customer user
      Set target prices: 4: Customer user
    section Negotiate
      Submit as RFQ: 5: Customer user
      Chat with the account manager: 4: Customer user, Account Manager
      Receive quotation e-mail + in-app notice: 5: Customer user
    section Close
      Review quotation, submit PO: 5: Customer user
      Track Processing → Delivered: 4: Customer user

Journey 2 — Account Manager works the queue

flowchart LR
    A["Dashboard<br/>Action Required · New RFQs"] --> B["Shared Request<br/>proactive outreach"]
    A --> C["RFQ Quotations queue"]
    C --> D["Open order · price lines<br/>resolve product requests"]
    D --> E["Comment for the customer<br/>+ internal note"]
    E --> F["Submit quotation<br/>PDF + e-mail sent"]
    F --> G["Quotations queue<br/>await PO"]
    G --> H["Confirm order → Processing"]
    H --> I["Delivered"]
    C -.->|"clarify"| J["Messages inbox<br/>live chat"]

Journey 3 — Onboarding a new customer company

sequenceDiagram
    actor AM as Account Manager
    participant AMP as AMP
    participant B as ERP Back Office
    actor CA as Customer Company Admin
    actor CU as Customer user

    AM->>AMP: create customer company<br/>category, pricelist, address, account manager
    Note over AMP: customer gets its own order sequence
    AM->>AMP: create the company admin user
    AM->>B: send invitation (QR code e-mail / printable PDF)
    CA->>CA: activate account via invitation
    CA->>CU: create sub-users, assign tags
    CA->>CU: control access with portal_activate
    CU->>CU: log in and start ordering

Journey 4 — Product goes live in the catalog

flowchart LR
    A["Create product in AMP<br/>or bulk JSON import"] --> B["Assign brand,<br/>public categories, media"]
    B --> C["Link product attributes<br/>generate product variants"]
    C --> D["Set prices on pricelists<br/>or via price rules"]
    D --> E["Optional: featured flag,<br/>product badge, product notice, terms"]
    E --> F["Visible to customers whose<br/>pricelist prices the product"]

Product visibility is a pricing consequence, not a separate publish switch: the catalog is filtered by what the requesting company's pricelist can price.