OdooWiki OCA HUB
Invoicing License: AGPL-3

This module provides the base functions for commission operations to enable the following:

  • Define agents with their commissions
  • Assign agents to partners
  • Create settlements to summarize commissions for certain periods

You can define which base amount is going to be taken into account: net amount (based on margin) or gross amount (line subtotal amount).

Additional feature provided by this module:

  • Adds a grouped settlement report by date.

auto_awesome What this module does

AI-generated from the code · Odoo 17.0

Define commission rules for agents, assign agents to customers and products, and generate commission settlements with printable reports.

This module adds the building blocks for managing sales commissions in Odoo. You can create commission types under Commissions > Configuration > Commission types, choosing either a fixed percentage or a percentage that varies by amount sections, and deciding whether the commission is calculated on the sale/invoice amount or on the margin (amount minus cost).

  • Mark a contact as an agent and set their default commission and settlement period (bi-weekly, monthly, quarterly, semi-annual or annual).
  • Assign agents to customers and mark products as free of commission.
  • On sales or invoice lines, agents and their commission amounts are shown, with a status indicating whether the line is commission-free, has no agents, or how many agents it has.
  • Use the Settle Commissions wizard to create settlements for a chosen date and agents; the system groups lines by agent, company and currency and creates settlement records.
  • Settlements show the agent, period, lines and total, can be cancelled, and are tracked with messages and activities.
  • Two PDF reports are available: a Settlement report and a Grouped settlement report by date.
  • Access is controlled by User and Manager groups, and settlements are filtered by company.

Depends on

product

Menus it adds

CommissionsConfigurationSettlementsmenu_settlementCommission typesmenu_agent_formmenu_commission_make_settle
Models and fields (9)
  • commission · new modelname, active, fix_qty (Fixed percentage), section_ids (Sections), commission_type (Type), settlement_type, amount_base_type (Base)
  • res.partner · extends an existing modelagent (Creditor/Agent), agent_ids (Agents), agent_type (Type), settlement (Settlement period), commission_id (Commission), settlement_ids
  • commission.mixin · new modelagent_ids (Agents & commissions), product_id (Product), commission_free (Comm. free), commission_status (Commission)
  • product.template · extends an existing modelcommission_free (Free of commission)
  • commission.section · new modelpercent, amount_to (To), amount_from (From), commission_id (Commission)
  • commission.line.mixin · new modelamount (Commission Amount), agent_id, object_id (Parent), currency_id, commission_id
  • commission.settlement · new modelname, state, total, date_to (To), agent_id, can_edit, line_ids (Settlement lines), date_from (From), agent_type, company_id, currency_id, settlement_type
  • commission.make.settle · new modeldate_to (Up to), agent_ids, can_settle, settlement_type
  • commission.settlement.line · new modeldate, agent_id, company_id, currency_id, commission_id, settlement_id, settled_amount

Text generated by AI (DeepSeek) from reading the Odoo 17.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 3 confirmed, 6 with no information of 9 versions.

Sources · Odoo 16.0

Confirmed on 2026-11-03 in branch 16.0 of OCA/commission.

terminal Installation and usage

OCA documentation · Odoo 17.0

For adding commissions:

  • Go to Commissions \> Configuration \> Commission types.
  • Edit or create a new record.
  • Select a name for distinguishing that type.
  • Select the percentage type of the commission:
  • Fixed percentage: all commissions are computed with a fixed percentage. You can fill the percentage in the field "Fixed percentage".
  • By sections: percentage varies depending amount intervals. You can fill intervals and percentages in the section "Rate definition".
  • Select the base amount for computing the percentage:
  • Sale/Invoice Amount: percentage is computed from the amount put on sales order/invoice.
  • Margin (Amount - Cost): percentage is computed from the profit only, taken the cost from the product.

For adding new agents:

  • Go to Commissions \> Agents. You can also access from Contacts \> Contacts or Sales \> Orders \> Customers.
  • Edit or create a new record.
  • On "Sales & Purchases" page, mark "Agent" check. It should be checked if you have accessed from first menu option.
  • There's a new page called "Agent information". In it, you can set following data:
  • The agent type, being in this base module "External agent" the only existing configuration. It can be extended with hr_commission module for setting an "Employee" agent type.
  • The associated commission type.
  • The settlement period, where you can select "Bi-weekly", "Monthly", "Quaterly", "Semi-annual" or "Annual". You will also be able to see the settlements that have been made to this agent from this page.

For setting default agents in partners:

  • Go to Invoicing \> Customers \> Customers or Contacts \> Contacts.
  • Edit or create a new record.
  • On "Sales & Purchases" page, you will see a field called "Agents" where they can be added. You can put the number of agents you want, but you can't select specific commission for each partner in this base module.

For settling the commissions to agents:

  • Go to Commissions \> Settlements \> Settle Commissions.
  • On the window that appears, you should select the date up to which you want to create commissions. It should be at least one day after the last period date. For example, if you settlements are monthly, you have to put at least the first day of the following month.
  • You can settle only certain agents if you select them on the "Agents" section. Leave it empty for settling all.
  • Click on "Make settlements" button.
  • If there are new settlements, they will be shown after this.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.