All posts
Functional5 min read

Tracking Sales Commissions for Representatives in Odoo

Set up sales commission tracking in Odoo using analytic accounts or custom fields - calculating rep commissions based on invoiced sales and integrating with payroll or vendor bills for payout.

Sales Commission Tracking in Odoo#

Odoo doesn't have a built-in commission module in all versions, but commissions can be tracked effectively using a combination of sales reporting, analytic tags, and commission calculation logic - with payout via payroll or vendor bills.

Approach 1 - Reporting-Based Commission Calculation#

The simplest approach uses Odoo's standard Sales Analysis report:

  1. Sales → Reporting → Sales Analysis:

- Filter by: Date = this period, Status = Invoiced

- Group by: Salesperson

- Measure: Invoiced Revenue (or Margin)

  1. Export to Excel
  2. Apply commission rate per rep:

- Rep A: 3% on revenue

- Rep B: 4% on gross margin

  1. Calculate commission outside Odoo (or in a spreadsheet)

Approach 2 - Analytic Tags for Commission Tracking#

Track commissions inside Odoo using analytic accounts:

For each sales rep, create an analytic account:

  • Sales → Configuration → Analytic Accounts → New:

- Name: Commission - Jay Smith

- Plan: Sales Commissions

On each sale order → Other Info → Analytic Account: assign the rep's analytic account.

When the invoice is posted, the revenue is tagged to the rep's analytic account.

Commission Report: Accounting → Reporting → Analytic Report → filter by Sales Commissions plan → see revenue per rep.

Approach 3 - Commission Module (Community/OCA)#

For automated calculation, install the OCA commission module (sale_commission) from the Odoo Community Association:

  • Define commission plans (% of revenue, tiered rates, product-specific rates)
  • Link plans to salespeople
  • Commissions auto-calculate on invoice validation
  • Commission payables are tracked as agent settlements

Paying Commissions#

Via Payroll (Employees)#

Add the calculated commission to the payslip as an Other Input:

  1. Payroll → Configuration → Other Input Types → New: Commission
  2. On the payslip → Other Inputs tab → add commission amount
  3. Payslip generates the payment through the payroll run

Via Vendor Bill (External Reps/Agents)#

If commission is paid to external agents:

  1. Create the agent as a vendor in Odoo
  2. Create a vendor bill for the commission amount
  3. Pay through accounts payable

Commission Statement#

Generate a monthly commission statement per rep:

  • From Sales Analysis: revenue per rep
  • Apply the agreed rate
  • Send the statement for rep verification before processing payroll or vendor bill

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free