Nanti Sales Coach
Configuration.
Every setting an administrator can change, with its real name, default, and what it does. One settings record per company, under Sales, Sales Coach, Settings.
All settings live on one record per company under Sales → Sales Coach → Settings, and that is the only place the coach is configured. Odoo’s general Settings page carries a Coach configuration pointer with an Open Sales Coach settings button, nothing editable, so every company has one authoritative settings record. The form always edits the record of the company selected in Odoo; its company field is read-only. Only coach Managers can open it; only Odoo Administrators can see the API key.
Connection and AI
| Setting | Name | Default | What it does |
|---|---|---|---|
| Backend URL | backend_url | https://coach.nanti.ai | Where this Odoo server sends AI coaching requests. |
| API key | api_key | empty | The private tenant key used by the Odoo server. Administrator-only, never sent to the browser. |
| Enable AI | enable_llm | on | Turn AI enrichment on or off. When off, salespeople still get deterministic local coaching cards. |
| Send customer names | send_customer_names | on | Allow customer names in the compact AI payloads. Turn off to send only opaque references. |
| Language mode | language_mode | user | Which language the AI writes in: the salesperson’s, the company’s, or a fixed one. |
| Fixed language | fixed_language | empty | The exact language used when the mode is fixed. |
| Business profile | business_profile | empty | A short description of your business that helps the AI argue like your sales manager. |
| Industry preset | industry_preset | generic | generic, food distribution, wholesale, or retail supply. |
| Coach Chat | enable_chat | off | The Ask tab: free-text questions about the current customer. A premium AI feature; a chat question counts as 2 enrichments. |
| Per-salesperson AI cap | user_monthly_cap | 0 | Optional monthly enrichment cap per salesperson; 0 means no cap. At the cap, that user keeps deterministic coaching until next month. |
| Weekly digest | enable_digest | off | The Monday-morning manager digest email. See For managers and owners. |
Analysis window and panel
| Setting | Name | Default | What it does |
|---|---|---|---|
| Lookback days | lookback_days | 365 | How many days of confirmed sales history the coach studies. |
| Min orders for pattern | min_orders_for_pattern | 3 | Purchases required before the coach trusts a repeat pattern. |
| Max cards | max_cards | 7 | Cards shown immediately; the rest sit behind “Show N more”. |
| Debounce (ms) | debounce_ms | 1200 | How long the panel waits after line edits before recomputing. |
| Cache TTL (hours) | cache_ttl_hours | 6 | How long AI wording can be reused for the same context. The cache lives in your own database. |
| History source | history_source | orders | Confirmed sales orders are the history source today. |
| Coach on confirmed orders | coach_on_confirmed_orders | off | Coach confirmed sale orders while they are still editable; turn off to keep confirmed orders as a read-only recap. Locked or done orders always keep the recap. |
Signal thresholds
| Setting | Name | Default |
|---|---|---|
| Missing-regular factor | missing_regular_factor | 0.8 |
| Quantity-drop threshold | qty_drop_threshold | 0.6 |
| Low-basket threshold | basket_low_threshold | 0.5 |
| New-line target | new_lines_target | 2 |
| Affinity minimum lift | affinity_min_lift | 1.3 |
| Affinity minimum support | affinity_min_support | 5 |
| Allow heuristic links | allow_heuristic_links | off |
| Enable expiry push | enable_expiry_push | off |
| Expiry window (days) | expiry_window_days | 21 |
| Enable Coach Score | enable_coach_score | on |
| Discount warning floor (%) | max_discount_warn | 15.0 |
| Margin warning floor | min_margin_warn | 0.0 (0 = cost-based margin check off) |
| Volume-nudge band | volume_nudge_band | 0.10 |
| Show credit to salespeople | show_credit_to_salespeople | off (managers always see credit) |
Lower thresholds make the coach speak sooner; higher ones make it stricter. The defaults are tuned for repeat-order businesses.
Per-signal and per-KPI toggles
Every play has its own on/off switch (enable_sig_*), and every snapshot KPI has one too
(enable_kpi_*). All shipped plays and the six core KPIs default to on; the four optional
KPIs (overdue balance, margin profile, year-to-date revenue, premium share) default to off,
and overdue balance and margin render only when the underlying data exists. The expiry push
play additionally requires the master enable_expiry_push switch above; the payment nudge play
additionally requires Accounting to be installed, and shows to salespeople only with
“Show credit to salespeople” on.
Toggles that are ahead of their features
Four KPI switches are visible in Settings but their tiles are still in development and do not render yet: overdue balance, margin profile, YTD revenue, and premium share. Leaving them on has no effect today; they are wired for what ships next. (The credit watch, margin guard, and volume nudge plays formerly listed here are live now.)
Product and customer flags
| Flag | Where | Effect |
|---|---|---|
| Strategic for coaching | Product | The coach may suggest it as a range-growth play. |
| Exclude from coaching | Product | The product never appears in any play. |
| Clearance | Product | Stock the coach may push to category buyers, when expiry push is on. |
| Coach opt-out | Customer | The customer generates no coaching at all. |
Access
Access to the panel is by security group, not by setting: the User group to use the coach, the Manager group to configure it. See Getting started.