Skip to content

009 — Feature Catalog

Every feature reachable from a visible menu, screen or active API route, with a short technical description. Grouped by surface.

Legend — surfaces: C = Customer Portal · A = Account Management Portal · B = Odoo ERP Back Office.


Catalog & Merchandising

Feature Surfaces Technical description
Product browsing C Paginated catalog endpoint with filtering by public category, brand, product tag and product attribute values; prices resolved against the requesting company's pricelist
Product search C Server-side text search folded into the same catalog domain builder
Product detail C Returns the template, its product variants, product attribute exclusion rules, effective price / list price / discount, terms, product notice and media
Product Variant selection C Product attribute-value matrix with exclusion data so impossible combinations are disabled client-side
Brands C · A · B Brand catalog with ordering and an active flag; brand menu in the storefront header; full CRUD in AMP with duplicate-name protection
Public categories C · A · B Hierarchical merchandising tree with images and descriptions; drives the storefront mega-menu; CRUD in AMP
Featured products C · B is_featured_product flag surfaced on the home page
Product notices C · A · B Short catalog notice attached to a product; managed from an ERP Back Office menu and selectable in AMP
Product badges A Odoo website-sale badges exposed as a lookup for the AMP product form
"Need call" products C · A · B Products that must be quoted by phone; the flag propagates onto order lines
Product terms C · B Per-product HTML terms and conditions rendered on the detail page
Banners C · A · B Scheduled marketing banners with activation windows, optional promotion URL, optional targeting to one customer, and linked products/categories; carousel on the storefront home page

Product Management (AMP & ERP Back Office)

Feature Surfaces Technical description
Product CRUD A · B Create, read, update, delete product templates over REST, including multipart media upload and media retention control
Product attribute management A List product attributes and values; link a product attribute to a template; unlink a product attribute; remove a single product attribute value
Product variant management A Generate the full product variant matrix from linked product attributes, create specific product variants, list, update and delete product variants
Bulk product import A · B JSON import pipeline: tolerant parsing of loosely formatted JSON, find-or-create of brands, categories and product attributes, product variant assignment, price assignment per pricelist, optional image download. Exposed both as a REST endpoint and as an ERP Back Office wizard
Product categories (internal) B Standard Odoo product category tree, surfaced in the module's Configuration menu
Combo choices B Standard Odoo product combos, surfaced in Configuration

Pricing

Feature Surfaces Technical description
Pricelist CRUD A · B Create, update, delete and inspect pricelists; currency lookup endpoint
Price rule (item) CRUD A Full CRUD overproduct.pricelist.item with search, filtering, counting and paging; rules resolve to product or product variant with display names
Customer-segment default pricing A · B Each customer segment (res.partner.grade) carries a default pricelist; assigning a category to a customer applies it
Pricelist / category conflict resolution B When a customer is given both a category and a different pricelist, the module resolves the conflict deterministically and logs the outcome in the customer's chatter
Per-company price resolution C All catalog and order prices are computed against the requesting company's effective pricelist at request time
Customer target price C · A Order lines carry the price the customer is asking for, visible to the account manager during pricing

Sales Orders

Feature Surfaces Technical description
Basket / draft request creation C Creates a draftsale.order; optionally copies an existing order as the starting point
Multiple named baskets C portal_label plus a per-customer sequence lets a user keep several parallel baskets and switch between them from the header
Order line management C · A Create, update and delete lines; quantity, product and target price on the customer side, price and discount on the account-manager side
RFQ submission C State transition torfq_submitted, blocked when the order has no real lines
Quotation issuance A Transition toquotation_submitted renders the quotation PDF and sends the portal quotation mail template
PO submission C Customer converts a received quotation intopo_submitted
Order confirmation A Transition toin_progress runs Odoo's standard confirmation (state = sale)
Delivery & cancellation A Terminal transitions todelivered / cancel / rejected
Order queues C · A · B Server-side filtered lists per portal state — Draft Requests, RFQs, Quotations, Orders, Archived, Shared Request
Order detail C · A Full order payload: lines, totals, attachments, chatter counts, planning state, requests, account-manager comment
Draft orders shortcut C Lightweight endpoint returning the user's most recent drafts for the header basket selector
Planning state C · A · B Late / On Time / Upcoming computed from the planned order date and the current portal state
Action required flag A · B portal_visible drives the shared-request queue, an ERP Back Office filter and a dashboard counter
Reviewed / printed tracking C · A Timestamps recorded when the customer reviews or prints a quotation
Pending-submit detection C · A Editing an already-quoted order flags it as changed but not re-submitted
Account-manager notes vs. comment A · B Internal note (never shown to the customer) and a customer-visible comment on the same order
Order deletion C Only the creating user may delete their basket

Catalog Requests

Feature Surfaces Technical description
Request a missing product C Free-text new product request with quantity and reference URL, attached to an order
Request triage A · B State machine submitted → in progress → product added / not found, with a date stamp per transition
Auto-created order line C · A Linking a sourced product to a request creates the corresponding order line automatically; unlinking removes it
Open-request counter B Live count of unresolved requests on the ERP Back Office order form with a drill-down

Customers & Users

Feature Surfaces Technical description
Password login C · A The only sign-in method. Accepts a loginor a National ID / Iqama; establishes an Odoo session cookie
Forgotten-password reset C · A Three-step self-service flow at/reset-password: e-mail a one-time code, verify it for a secret token, set a new password. The code never signs the user in
Password change C · A An authenticated user changes their own password
Customer company CRUD A · B Create, read, update, archive and restore B2B customer companies, including address, category, pricelist and account manager
Customer segments A · B CRUD overres.partner.grade, used as the segmentation and default-pricing dimension
Account-manager assignment A · B Primary account manager plus an additional many-to-many set; drives notification routing and chat thread scoping
Portal user management C · A · B Company admins create, update, activate, deactivate and delete their own company's users; internal staff manage the same from the ERP Back Office
Dual activation control C · A · B Vendor-sideactivate and customer-side portal_activate must both be true
User tags C · A · B Per-company tags for organising portal users, with full CRUD from the customer portal
Invitation by QR code A · B Generates an invitation URL and QR image, sends the invitation mail template, and offers a printable PDF report
Online users view B ERP Back Office list of currently connected portal users, driven by presence
Account managers view B Configuration list of internal users flagged as account managers
Address lookups A Country and state endpoints for customer address forms

Collaboration

Feature Surfaces Technical description
Order chatter C · A · B Read, post and update comments on an order; access validated against the order's company
Chatter attachments C · A · B Upload and delete files on an order thread; deletion restricted to the uploader; portal provenance recorded on every attachment
Attachment listing A Generic endpoint listing documents attached to a record with access checks
Live chat — customer side C Initialises or joins the company's discuss channel, sends messages, marks as read; messages arrive over WebSocket
Live chat — account manager inbox A Thread list across all managed customer companies with last message, unread count and presence; init, send and mark-read per thread
ERP Back Office chat widget B An internal user can converse with portal users directly from the Odoo web client
Presence / online status C · A · B Heartbeat-driven online / away / offline status shown in the chat UIs and the ERP Back Office Online Users list
In-app notifications C · A Typed activity feed (user login, order update, message, user activation) with unread badge, mark-one-seen and mark-all-seen; delivered live over the bus
E-mail notifications — Account manager receives an e-mail on RFQ submitted, RFQ revised, PO submitted and shared request; globally switchable in settings

ERP Back Office Only

Feature Technical description
B2B Dashboard OWL client action with counters (Action Required, New RFQs, Total RFQs, …) that drill into pre-filtered order lists
Portal-state search filters Saved filters on the order search view for every portal state plus Action Required and Quotation Issued
Live list refresh Orders broadcast a bus event on every change so open lists update without a manual reload
Notifications administration Configuration menu listing all generated notifications
Module settings Shop portal URL and the e-mail notification master switch, under Settings → B2B Ecommerce

Platform / Cross-Cutting

Feature Technical description
Media proxy CORS-enabled image and binary endpoints so the portal can render Odoo-hosted media directly
Build info endpoint Reports the deployed build so an environment can be identified from the outside
Permission lookup AMM endpoint returning a user's roles, permission codes and visible screen tree per portal
Release notes page Public/release-notes timeline in the portal, generated at build time from per-release JSON; only business-facing highlights are exposed
Help page Public/help page in the customer portal
Theming Light / dark mode toggle persisted per user in both portals