Skip to main content
Sales Target & Quota Management — A build-to-order ERPNext app that lets sales managers set quotas by rep, team, territory an — 1/1Illustrative preview

A build-to-order ERPNext app that lets sales managers set quotas by rep,

team, territory and product, track real-time attainment against live Sales Invoice and Sales Order data, and drive competition with leaderboards and gamification.

ECOSIRE scopes, builds, installs and supports it for you.

What is Sales Target & Quota Management?

A build-to-order ERPNext app that lets sales managers set quotas by rep, team, territory and product, track real-time attainment against live Sales Invoice and Sales Order data, and drive competition with leaderboards and gamification. ECOSIRE scopes, builds, installs and supports it for you. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

`Sales Target` DocType keyed by sales person, sales team, territory, item group and fiscal/custom period, with naming series and validation on overlapping periods
`Target Slab` child table for tiered thresholds (e.g. 80/100/120%) that can drive commission calculation and accelerators
Real-time attainment computed against your chosen source-of-truth transaction — `Sales Invoice`, `Sales Order` or `Delivery Note` — so dashboard figures reconcile to the books
`hooks.py` doc events (`on_submit`/`on_cancel`) on source transactions that recompute attainment instantly, with roll-ups offloaded to the background queue via `frappe.enqueue`
Nightly `scheduler_events` job that snapshots a `Target Attainment` history record per rep/period for trend, pace and forecast-vs-actual variance
Forecast-vs-actual variance view with pace-to-target and projected-close, so managers see who will land short before period end
Live attainment dashboard built with Frappe Dashboard Charts, Number Cards and a custom Workspace/Page — quota, booked, gap and % attained per rep and team
Leaderboard with ranks, streaks and configurable badges/points for gamification, driven off the same attainment data
Whitelisted (`@frappe.whitelist()`) methods and Frappe REST API endpoints exposing attainment JSON for wallboards, mobile and Slack/Teams digests
Role profiles and user-permission scoping so reps see their own card, managers see their territory, and leadership sees all — enforced by ERPNext's permission engine
Client Scripts on the target form for guided entry, live % preview and quota-vs-quota consistency warnings
Query Report / Report Builder-friendly views for board-level rollups, exportable to Excel/CSV and printable via Print Format
Team and hierarchy aggregation that respects the `Sales Person` tree and Sales Team child-table attribution already in ERPNext
Configurable notification digests (period open, mid-period pace alert, at-risk and goal-hit) via ERPNext Notifications / email, no external service required

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

Quota-carrying sales teams running on ERPNext hit a wall fast: the native Sales module tracks opportunities, orders and invoices, but it has no first-class concept of a quota, a target period or attainment. Managers end up exporting sales data to a spreadsheet every Monday, hand-keying targets per rep, and reconciling numbers by hand — which means the whole team is chasing a figure nobody can see live. ERPNext's Sales Person master and Sales Team child table give you attribution, and Sales Analytics gives you retrospective charts, but there is no place to say "Ayesha carries 4,000,000 PKR this quarter across the North territory" and have the system score it in real time.

We build a proper Frappe app (its own installable module, not a pile of Customize Form tweaks) that adds the missing quota layer. The core is a Sales Target DocType keyed by sales person, team, territory, product/item group and fiscal period, with a Target Slab child table for tiered thresholds (e.g. 80% / 100% / 120%) that can feed commission logic. Attainment is computed against your real transactions — Sales Invoice, Sales Order or Delivery Note, whichever you recognise revenue on — so the number on the dashboard is the same number in your books. A nightly scheduler_events job snapshots attainment into a Target Attainment history table for trend and forecast-versus-actual variance, and hooks.py doc events (on_submit, on_cancel) on the source transaction keep live figures current the moment a rep books a deal, with heavy roll-ups pushed to the background queue via frappe.enqueue so submitting an invoice never slows down.

On top of that data model we build the experience the team actually logs in for: a live attainment dashboard (Frappe Dashboard Charts plus a custom Page/Workspace) showing quota, booked, gap and pace-to-target per rep and team; a leaderboard with ranks, streaks and badges for gamification; and manager views for forecast-versus-actual variance and slab progression. Everything is exposed through the Frappe REST API and @frappe.whitelist() methods so the same figures can power a wallboard, a mobile view or a Slack/Teams digest. Permissions are enforced with role profiles and user-permission scoping — a rep sees their own card and the public leaderboard, a manager sees their territory, and a VP sees everything — using ERPNext's standard permission engine rather than bolted-on checks.

Because this is build-to-order, ECOSIRE builds, installs and supports it rather than handing you a generic marketplace download. After a short scoping call we confirm exactly which transaction defines "attained", your period cadence (monthly/quarterly), your slab and commission rules, and your role hierarchy, then build against Frappe/ERPNext v15 (with v16 support). Typical delivery is one working week from confirmed scope. We validate on a staging bench with your anonymised data, run UAT with your managers, deploy behind a rollback plan, and hand over the git repository plus documentation so you own the code outright.

What you get

  • Installable source code for your version — a versioned, `bench get-app`-installable Frappe app built for your v15/v16 bench
  • Installation and configuration on your environment (staging then production), including scheduler and background-worker wiring
  • Technical documentation — DocType and field reference, hooks and whitelisted-method map, permission model and REST endpoints
  • User guide plus a live training session for managers and reps on setting targets, reading the dashboard and the leaderboard
  • Post-go-live support window for bug fixes and adjustments after deployment
  • UAT on a staging bench with your anonymised data, sign-off checklist, and a documented rollback plan
  • Full git repository handover so you own the code and can extend or re-deploy it independently

Who this is for

Head of Sales / Sales Director

Owns the number for the whole team and needs one live view of quota vs attainment across territories and periods, plus forecast-vs-actual variance to know who will land short — without waiting for a Monday spreadsheet.

Regional / Team Sales Manager

Runs a quota-carrying pod and needs per-rep targets, slab progression and a leaderboard that motivates the team, scoped so they see their own territory's numbers reconciled to real ERPNext invoices.

Sales Operations / RevOps Analyst

Configures the target periods, slabs and commission thresholds, and wants the attainment data exposed via the REST API and reports so it feeds commission runs, wallboards and board decks cleanly.

ERPNext System Administrator

Maintains the bench and needs a clean installable app with proper hooks, scheduler events, role profiles and a rollback plan — not ad-hoc customisations that break on the next ERPNext upgrade.

How Sales Target & Quota Management Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Quota / target conceptDedicated `Sales Target` DocType with periods, slabs and hierarchyWhatever your dev builds from scratchGeneric target fields, rarely period-awareNo quota concept — only Sales Person attribution
Real-time attainmentLive via `on_submit` doc events, reconciled to your source transactionPossible but you design and test it yourselfOften batch/manual refresh onlyRetrospective Sales Analytics charts, no live scoring
Forecast vs actual varianceNightly snapshot history with pace-to-target and projectionExtra scope, extra costUsually not includedNot available
Leaderboards & gamificationRanks, streaks and configurable badges off the same dataBuild and maintain entirely yourselfSometimes, quality variesNone
Commission-ready slabs`Target Slab` tiers exposed via REST for payout logicBespoke, no reuse guaranteeFlat targets, rarely tieredNo tiered target structure
Permissions & scopingRole profiles + user permissions per rep/manager/VPDepends on your dev's diligenceCoarse or all-or-nothingStandard perms, but nothing to scope
Version support & upgradesBuilt for v15/v16 as a clean installable app, upgrade-testedYou carry all upgrade riskDepends on vendor's maintenanceN/A — no feature to maintain
Ownership & supportFull git handover + post-go-live support windowYou own it and all the bugsVendor-locked, subscription supportCommunity forums only

Frequently Asked Questions about Sales Target & Quota Management

How long until it is live? What is the delivery lead time?

This is build-to-order, so there is no instant download. After a short scoping call to confirm your source transaction, period cadence, slab rules and role hierarchy, typical delivery is one working week from confirmed scope. That window includes building the app, validating on a staging bench with your anonymised data, UAT with your managers, and production deployment behind a rollback plan.

How is attainment calculated — will it match our accounts?

You choose the source of truth at scoping: `Sales Invoice`, `Sales Order` or `Delivery Note`. Attainment is computed directly from those submitted transactions using the existing Sales Person and Sales Team attribution, so the figure on the dashboard is the same figure in your ERPNext books. `on_submit`/`on_cancel` doc events keep it live, and a nightly scheduler snapshot preserves history for trend and variance.

Which ERPNext and Frappe versions do you support?

We build for Frappe/ERPNext v15 as the primary target and support v16. We deliver it as a proper installable Frappe app (`bench get-app`) with `hooks.py`, DocTypes, scheduler events and role profiles — not Customize Form hacks — so it survives standard bench upgrades. Confirm your exact bench version on the scoping call and we build against it.

What about ongoing support and updates after go-live?

Every build includes a post-go-live support window for bug fixes and adjustments. Because you receive the full git repository and own the code, you can maintain and extend it yourself, or engage ECOSIRE for a support/maintenance retainer to cover new ERPNext versions, feature additions and upgrade testing.

Can the targets feed our commission calculations?

Yes. The `Target Slab` child table models tiered thresholds and accelerators (for example 80/100/120%), and attainment plus slab position is exposed through whitelisted methods and the REST API. That gives your commission process — whether a spreadsheet, a payroll integration or a future ERPNext build — a clean, reconciled source for tiered payout logic.

Will reps be able to see each other's numbers?

Visibility is enforced with role profiles and user-permission scoping. A rep sees their own card and the shared leaderboard; a manager sees their team or territory; leadership sees everything. The leaderboard is deliberately public to drive gamification, while raw per-deal detail stays scoped by ERPNext's standard permission engine.

Do we own the code or is it locked to ECOSIRE?

You own it. Handover includes the full git repository and technical documentation, so there is no lock-in. You can host it on your own bench, extend it with your own developers, or bring it to us for further work — the choice is yours.

Request a quote

Sales Target & Quota Management

A build-to-order ERPNext app that lets sales managers set quotas by rep, team, territory and product, track real-time attainment against live Sales Invoice and Sales Order data, and drive competition with leaderboards and gamification. ECOSIRE scopes, builds, installs and supports it for you.

  • `Sales Target` DocType keyed by sales person, sales team, territory, item group and fiscal/custom period, with naming series and validation on overlapping periods
  • `Target Slab` child table for tiered thresholds (e.g. 80/100/120%) that can drive commission calculation and accelerators
  • Real-time attainment computed against your chosen source-of-truth transaction — `Sales Invoice`, `Sales Order` or `Delivery Note` — so dashboard figures reconcile to the books
  • `hooks.py` doc events (`on_submit`/`on_cancel`) on source transactions that recompute attainment instantly, with roll-ups offloaded to the background queue via `frappe.enqueue`

Request a Quotation

Tell us about your Sales Target & Quota Management requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.