Quote Recovery & Win-Rate Cockpit
A recovery radar for your open quotations. Every quotation gets a 0-100 risk score from real signals — expired, no follow-up, never sent, gone silent, no contact — plus the ONE next best action to recover it. On one live cockpit. Works without CRM. Optional AI. Bring your own API key.
Which quotations are quietly expiring — and the one action to recover each — on one screen.
- No idea which quotes are at risk of dying
- No follow-up scheduled — the silent killer
- Reps guess who to call next
- 0-100 risk score per quotation, High/Medium/Low
- The signals behind it — not a black box
- The one next action to recover each quote
It reads quotations, activities and dates from standard Sales — no CRM required, nothing to map per instance.
Act in one click
This is not just a risk score. When a quotation needs attention, hit Schedule and its next best action lands as a native Odoo activity — assigned to the salesperson, dated and reversible. Or schedule every open quotation at once.
The next best action becomes a standard to-do on the quotation — it shows in the salesperson's Activities and inbox. Nothing custom, nothing to learn.
Schedule a single quotation from its row, or handle them all in one go with Schedule all open.
Each activity is created for the right salesperson and due on the deadline you set in configuration.
It is a standard Odoo activity — mark it done, reschedule or delete it anytime. You confirm before anything is created.
Score the risk, see why, act
A 0-100 risk score per open quotation from real signals: expired, no follow-up, never sent, gone silent, no contact.
The signals behind every score, and the band (High / Medium / Low) — so you trust it, not a black box.
The one next best action per quote (resend it, call to check, schedule the first follow-up), one click to the quotation.
The quotations to recover
Every open quotation ranked by risk, with the signals that flagged it and the single next best action — the exact worklist to save the quarter. One click opens the quotation.
The recovery worklist
A sortable, filterable list of every scored quotation with a risk bar, band and next action — filter to High and hand your reps exactly what to recover.
Risk, at a glance
High, medium and low counts, average risk and the value trapped in at-risk quotations — plus the risk breakdown, so you see the health of your pipeline instantly.
AI risk read — optional, your own key
Add your own Anthropic Claude or OpenAI key and get a short read of which quotations to recover first and the plays to run, in your language. The module calls the provider directly from your Odoo: no data goes through a third party, and you control the model and the cost. The AI never posts or changes anything. Works standalone or with the author's AI Engine app — one key for the whole suite.
Set it up once
Choose the company, an optional sales team, when a quote counts as stale or never-sent, and the High/Medium thresholds. Add your AI key if you want it — or let the shared AI Engine handle it.
Features
- Act in one click — schedule the next best action as a native Odoo activity on the quotation, or schedule them all at once. Reversible from each record.
- 0-100 risk score & band — High / Medium / Low, from visible signals.
- The signals — expired, no follow-up scheduled, overdue follow-up, never sent, gone silent since it was sent, no contact.
- The next best action — one concrete step per quotation, so reps know exactly what to do.
- Quotations to recover — ranked by risk, one click to the quotation.
- Risk breakdown — high/medium/low and the value trapped in at-risk quotations, at a glance.
- Live cockpit — the recovery radar, updated on demand.
- Daily automatic refresh — a scheduled job keeps the radar current.
- AI risk read (optional) — Anthropic Claude or OpenAI, your own key; which to recover first and the plays, in your language. Encrypted at rest.
- Works on any Odoo with Sales — no CRM required. Community and Enterprise.
- Multilingual — English, Spanish, French, German, Italian and Portuguese (BR).
Perfect for sales managers and reps who want to stop quotations from quietly expiring — and know exactly what to do about each one.
Keywords: quote recovery, quotation follow-up, sales quotation reminder, expired quote alert, quote win rate, sales quotation dashboard, stale quotation, sale order risk score, quotation expiry alert, next best action sales, quote recovery cockpit, sales rep worklist, AI sales insight, Claude sales insight, OpenAI quote analysis, quotation early warning, quote probability risk, expiring quote alert, sales order follow-up, quotation aging report, win rate cockpit, unconfirmed quotation, abandoned quote recovery.
Palabras clave: recuperación de cotizaciones, seguimiento de cotizaciones, recordatorio de cotización, alerta de cotización vencida, tasa de cierre de cotizaciones, panel de cotizaciones, cotización estancada, puntuación de riesgo de pedido de venta, alerta de vencimiento de cotización, próxima mejor acción, cockpit de recuperación de cotizaciones, lista de trabajo de ventas, IA, inteligencia artificial, Claude, OpenAI, alerta temprana de cotizaciones, cotización abandonada, seguimiento de presupuestos, CRM Odoo, ventas Odoo.
Permissions & data security
Built to respect Odoo's access model — audited so nothing leaks between users or companies.
- 🏢 Multi-company isolation. Every record and setting is tagged to its company; a user only ever sees the data of the companies they are allowed into. Cross-company access is impossible — verified.
- 🔑 AI key encrypted & admin-only. Your provider key is stored encrypted at rest (Fernet / AES) — the plaintext is never saved — and is readable or editable only by a system administrator.
- 👤 Role-based access. The app respects Odoo's access groups — there is no portal or public exposure. Everything computes on your standard data through the app's own service, so no restricted field is ever surfaced.
- ✅ Secure by design — multi-company isolation; AI key encrypted at rest and admin-only. Audited across the whole suite.
Requires the Sales app. Works with Odoo Community and Enterprise. No CRM required.
More from the author: Aski — ask your Odoo in natural language by chat or voice, and get real figures from your phone. https://aski.dev
Questions, or want a quick personalized demo? Email me at jhonrojas.dev@gmail.com — I am happy to answer questions or set up a short demo.
Support: jhonrojas.dev@gmail.com · License: OPL-1
About the author
Jhon Jairo Rojas Ortiz
Odoo developer · custom modules, integrations & business intelligence
5+ years of hands-on Odoo experience — building and shipping real modules, integrations and analytics for companies across LATAM and Europe. Every app I publish is maintained and supported personally.
Custom Odoo modulesIntegrations & APIsBI & analyticsOdoo 14–19
inConnect on LinkedIn →| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 1103 |
| Technical Name |
jjro_quote_recovery |
| License | OPL-1 |
| Website | https://aski.dev |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module