| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Sales (sale_management)
• Discuss (mail) • Invoicing (account) |
| Lines of code | 747 |
| Technical Name |
gb_sales_target_quottracker |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Sales (sale_management)
• Discuss (mail) • Invoicing (account) |
| Lines of code | 747 |
| Technical Name |
gb_sales_target_quottracker |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
Sales Target & Quota Trac
Per-rep and team sales quotas, attainment dashboard and leaderboard
Odoo has no native sales-quota model, so targets and attainment live in spreadsheets that go stale the moment an order is confirmed. This app lets you define monthly, quarterly or custom quota plans (gb.quota.plan) with a target per salesperson and per team, then measures attainment straight from your sale.order records on either a confirmed-order or invoiced basis. Pace-aware badges flag who is ahead or behind for the point in the period, a run-rate forecast projects who will hit their number, and a live leaderboard wizard ranks the team. Built for sales managers, RevOps and reps on Community sale_management with nothing Enterprise-only.
Key Features
Per-period quota plans
gb.quota.plan defines a month, quarter or custom period with a revenue_basis of confirmed orders or invoiced amount. The _onchange_period helper snaps date_from/date_to to the month or quarter automatically, and plans run draft to running to closed via action_start and action_close.
Rep and team quota lines
gb.quota.line carries a target_amount per salesperson (line_type rep) or sales team (line_type team). Constraints enforce one line per rep per plan and require the right subject, and _onchange_user auto-fills the team from the rep's sale_team_id.
Attainment straight from sale orders
_recompute_achievement searches sale.order in the period via _build_order_domain, summing amount_untaxed of confirmed orders (or only invoiced ones when revenue_basis is invoiced). It stores achieved_amount and order_count, so attainment, gap and attainment % reflect real pipeline, not a spreadsheet.
Pace-aware status badges
_compute_attainment compares each line's attainment against _expected_pace — the percentage of the period actually elapsed — to flag ahead, on_track, behind or achieved. A rep at 40% on day five reads 'ahead', the same rep at month-end reads 'behind', so the badge means something.
Run-rate forecasting
_compute_forecast derives a daily_run_rate from achieved-to-date over days elapsed, projects forecast_amount and forecast_attainment to end of period, and sets will_hit_target. Managers see who is on pace to land their number, not just where they are today.
Team roll-up lines
action_generate_team_lines creates or refreshes one team line per distinct crm.team, summing its reps' targets. Plan-level target_total, achieved_total, attainment and rep_count aggregate the rep lines so the whole period totals in one view.
Live leaderboard wizard
gb.quota.leaderboard.wizard refreshes achievement then ranks rep lines by attainment via get_leaderboard, writing rank back onto each line and into transient leaderboard rows. It drives healthy competition and instantly shows who is top and who needs help.
Refresh, drill-down and digest
action_refresh recomputes every line from the latest orders with a last_refresh stamp, and action_open_orders opens the exact sale orders backing a line's number. build_digest produces a plain-text leaderboard summary that action_post_digest drops into the plan chatter for managers.
Use Cases
Screenshots
Quota Plans
Why Choose This Module
Define monthly or quarterly quotas per salesperson and per team, then let the module measure attainment straight from your confirmed sales orders. A live leaderboard ranks reps by attainment so managers always know who is ahead and who needs help — all on Odoo Community.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: LGPL-3
- Languages: 35+
- Author: Baris Genc
- Dependencies: sale_management
- Support: odoo@gencbaris.com
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