Rule-based multi-level Odoo sales commissions on order, invoice or payment, with period settlements and automated vendor-bill payouts. One-time license from $249.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Rule-based multi-level Odoo sales commissions on order, invoice or payment, with period settlements and automated vendor-bill payouts.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Spreadsheet-driven commissions are where sales incentive plans go to die: someone exports last month's invoices, hand-keys margins, argues with reps over what "counts," and eventually cuts a payout weeks late. The Advanced Sales Commission & Incentive Engine is a net-new Odoo application that ECOSIRE designs, builds, installs and supports for your team — turning your commission plan into deterministic, auditable rules that run automatically inside Odoo 17, 18 or 19 (Community or Enterprise).
Rule engine matching on product, product category, salesperson, sales team, customer, or customer segment, evaluated in a defined priority order with a first-match or stack-all mode
Rate types per rule: flat percentage, fixed amount per unit/order, or tiered/accelerator schedules that lift the rate once a rep crosses a quota threshold
Margin-based commissions that compute on gross margin (sale price minus product cost) rather than revenue, using stored computed fields with @api.depends so figures stay consistent
Target and quota tracking with attainment-driven accelerators — commission rate scales with percent-to-goal per rep, team or period
Selectable recognition basis per plan: accrue on confirmed sale order, on posted customer invoice, or only on reconciled payment (cash basis)
Automatic clawbacks and adjustments on credit notes, refunds and partial payments — reversals recompute without manual journal gymnastics
At its core is a commission rule engine built on native Odoo models (models.Model) and stored computed fields (@api.depends). You define rules that match on product, product category, salesperson, sales team, customer, margin band or target attainment, then attach a rate — a flat percentage, a fixed amount, or a tiered/accelerator schedule that pays a higher rate once a rep clears quota. Because every rate line is a real record with ir.model.access.csv permissions and record rules, reps see only their own statements while managers see the whole plan.
You choose the recognition basis that matches how you actually get paid: commission can accrue when the sale order is confirmed (sale.order), when the customer invoice is posted (account.move), or — the honest default for cash-flow-conscious teams — only when the payment is reconciled (account.payment). The engine recomputes cleanly on credit notes, partial payments and refunds, so a clawback happens automatically instead of via an awkward email.
Multi-level and team structures are first-class: an account executive can earn on their own deal while their team lead earns an override, and a partner or referrer earns a split — all from the same source transaction, with no double-counting. At period close you run a settlement: the engine snapshots every eligible line into a locked commission statement (a QWeb PDF report per rep), and, on approval, generates the matching vendor bill (account.move, type in_invoice) so Accounting pays commissions through the normal AP and payment run — fully traceable, no off-ledger transfers.
Everything is wired into Odoo's automation and reporting: scheduled/automated actions can close periods and notify reps, dashboards and pivot views break commission down by rep, team, product and period, and the whole model is reachable over XML-RPC/JSON-RPC if you need to feed a BI tool or external payroll system. This is a build-to-order engagement — ECOSIRE scopes your exact plan, builds the module against your Odoo version, ships tested code with __manifest__.py, security, views and reports, migrates historical data if needed, trains your team, and stands behind it with a support window. Typical delivery is 2–4 weeks from signed scope; this is not an instant apps.odoo.com download.
Owns the incentive plan and needs it enforced consistently. Wants accelerators, quota attainment and team overrides to run automatically so reps trust their numbers and disputes disappear, with dashboards to model plan cost before rollout.
Needs commissions to hit the ledger cleanly. Values the cash-basis recognition option and automatic vendor-bill generation so payouts flow through standard AP, stay reconciled, and are fully auditable at close.
Runs a network of agents, resellers or referrers earning splits on the same deals as internal reps. Needs multi-level structures with no double-counting and per-partner statements that can be shared securely via record rules or a portal.
Wants to see exactly what they've earned and why, in real time inside Odoo — every qualifying line, basis and rate — without waiting for a month-end spreadsheet, and to trust that clawbacks and adjustments are applied fairly.
Buy the license on ecosire.com and download the Advanced Sales Commission & Incentive Engine module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Advanced Sales Commission & Incentive Engine, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Rules by product / category / margin / target / team | Full multi-dimensional rule engine, tailored to your exact plan | Possible but you specify and pay for every rule from scratch | Often limited to fixed rate types the app author chose | |
| Recognition on order vs invoice vs payment (cash basis) | All three, configurable per plan, with automatic clawbacks | Whatever you build; edge cases (refunds/partials) often missed | ||
| Multi-level overrides & partner splits without double-counting | Built in and reconciled to your plan definition | Achievable but the no-double-count logic is the hard part | ||
| Automated vendor-bill payout generation | One-click settlement → account.move (in_invoice) through standard AP | Must be designed and tested for ledger accuracy | ||
| Period settlement + locked per-rep QWeb statement | Snapshotted, versioned, audit-ready PDF per rep | Build your own report and locking logic | ||
| Record-level security (reps see only their own data) | ir.model.access.csv + record rules configured to your org | Only if you implement and test the record rules yourself | ||
| Fits your Odoo 17/18/19 version & edition | Built and tested against your exact version and co-installed apps | Depends entirely on your internal team's expertise | Only versions the author published; may lag your upgrade | |
| Delivery, training, docs and supported bug-fix window | Scoped build in 2–4 weeks + training + SLA-backed support | Your timeline, your risk, no external SLA |
This is a build-to-order engagement, not an instant download. Typical delivery is 2–4 weeks from signed scope, depending on plan complexity (number of rule types, override levels and whether you need historical backfill). The flow is: discovery call to capture your exact commission plan → written scope and fixed quote → we build the module against your Odoo 17/18/19 version → you review in a UAT environment → we deploy to production and train your team. You get the full source code in a repository you own.
We build for Odoo 17, 18 and 19, on both Community and Enterprise. The engine relies on standard core models (sale.order, account.move, account.payment) so it works on Community without Enterprise-only apps. During scoping we confirm your version and any co-installed apps (e.g. a third-party margin or subscription module) so the build integrates cleanly. If you later upgrade Odoo, we provide compatibility guidance and can port the module forward under a maintenance agreement.
Every engagement includes a post-launch support window with a bug-fix guarantee — if the module doesn't behave as specified, we fix it at no charge within the SLA. Beyond that window you can take an optional maintenance plan that covers enhancements, new rule types, Odoo version upgrades and priority support. Because you own the source code, you're never locked in; you can also have your own team maintain it if you prefer.
Yes — recognition basis is configurable per plan. You can accrue commission when the sales order is confirmed, when the customer invoice is posted, or only when the payment is actually reconciled (cash basis). The cash-basis option is popular with teams protecting cash flow: reps earn as money lands, and partial payments accrue proportionally. Credit notes and refunds automatically trigger clawbacks so reversals are handled without manual journal entries.
Each source transaction is evaluated once against your structure. A rep earns their own commission, their manager or team lead earns a separate override line, and a referring partner earns a split line — all derived from the same order/invoice/payment but recorded as distinct commission lines with their own basis and rate. The engine tracks the relationship (via salesperson, sales team and partner links) so overrides and splits stack intentionally and totals reconcile exactly to what the plan defines.
At period close you run a settlement that snapshots every eligible line into a locked commission statement per rep (a QWeb PDF you can share). On approval, the engine generates a matching vendor bill (account.move, in_invoice) so payouts go through Odoo's standard Accounts Payable and payment run — no off-ledger transfers. Every step is tracked in the chatter (who computed, who approved, when paid), and record rules ensure reps see only their own figures while finance sees everything.
Rule-based multi-level Odoo sales commissions on order, invoice or payment, with period settlements and automated vendor-bill payouts.