OdooWiki OCA HUB

Account commissions OCA

account_commission_oca folder_open OCA/commission open_in_new
Sales Management License: AGPL-3

This module adds the function to calculate commissions in invoices (account moves).

It also allows to create vendor bills from settlements for external agents.

This module depends on the commission module.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Adds commission tracking to customer invoices and lets you pay agents by creating vendor bills from commission settlements. Includes a commission analysis report.

This module brings commissions into the invoicing side of Odoo. On customer invoices and credit notes, each invoice line can carry one or more agents with a commission and an amount. A "Commissions" group appears on the invoice line, and the invoice form shows a total commission and a "Settlements" button when settlements exist.

  • Agents are added automatically on customer invoice lines based on the customer and the product, and you can regenerate them on a draft invoice with the "Regenerate agents" button.
  • Commissions can be settled either when the invoice is issued or when it is paid, chosen per commission.
  • Settlements of type "Sales Invoices" are created from invoice lines; they cannot be edited, and once invoiced they cannot be cancelled or deleted.
  • From a settled settlement you can click "Make invoice" to generate a vendor bill for the agent, optionally grouping several settlements into one bill.
  • Cancelling an invoice with settled lines is blocked, and deleting an invoice puts its settlements back to settled.

A "Commissions" menu under Invoicing gives access to Invoices Settlements, Create Commission Invoices and the Commission Analysis report (pivot and graph by agent, month, customer, product category).

Depends on

Required by other modules

Menus it adds

menu_invoice_commissions_analysismenu_invoicing_settlementsmenu_invoicing_settlements_make_invoice
Models and fields (9)
  • commission · extends an existing modelinvoice_state (Invoice Status)
  • account.move · extends an existing modelsettlement_ids (Settlements), commission_total (Commissions), settlement_count, partner_agent_ids (Agents)
  • account.move.line · new modelagent_ids, any_settled, settlement_id
  • commission.settlement · extends an existing modelstate, invoice_id (Generated Invoice), settlement_type, invoice_line_ids (Generated invoice lines)
  • commission.make.settle · extends an existing modelsettlement_type
  • commission.make.invoice · new modeldate, grouped (Group invoices), company_id, journal_id, product_id (Product for invoicing), settlement_ids, from_settlement
  • account.invoice.line.agent · new modelsettled, object_id, company_id, invoice_id (Invoice), currency_id, invoice_date (Invoice date), settlement_line_ids
  • commission.settlement.line · extends an existing modelinvoice_line_id (Source invoice line), invoice_agent_line_id
  • invoice.commission.analysis.report · new modelamount, uom_id, balance, settled, agent_id, categ_id, quantity (# of Qty), company_id, partner_id, percentage (Percentage of commission), price_unit (Unit Price), product_id, date_invoice (Invoice Date), commission_id, invoice_state (Invoice Status), price_subtotal (Subtotal), invoice_line_id

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

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

Confirmation status: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 19.0

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

terminal Installation and usage

OCA documentation · Odoo 19.0

For selecting invoice status in commissions:

  • Edit or create a new record to select the invoice status for settling the commissions.
  • Invoice Based: Commissions are settled when the invoice is issued.
  • Payment Based: Commissions are settled when the invoice is paid.

For adding commissions on invoices:

  • Go to Invoicing \> Customers \> Invoices.
  • Edit or create a new record.
  • When you have selected a partner, each new invoice line you add will have the agents and commissions set at customer level.
  • You can add, modify or delete these agents discretely clicking on the icon with several persons represented, next to the "Commission" field in the list. This icon will be available only if the line hasn't been invoiced yet.
  • If you have configured your system for editing lines in a popup window, agents will appear also in this window.
  • The agents icon will be in this ocassion visible when the line hasn't been settled.
  • You have a button "Regenerate agents" on the bottom of the page "Invoice Lines" for forcing a recompute of all agents from the partner setup. This is needed for example when you have changed the partner on the invoice having already inserted lines.

For invoicing the settlements (only for external agents):

  • Go to Invoicing \> Commissions \> Create Commission Invoices.
  • On the window that appears, you can select following data:
  • Product. It should be a service product for being coherent.
  • Journal: To be selected between existing purchase journals.
  • Date: If you want to choose a specific invoice date. You can leave it blank if you prefer.
  • Settlements: For selecting specific settlements to invoice. You can leave it blank as well for invoicing all the pending settlements.

If you want to invoice a/some specific settlement/s:

  • Navigate to Invoicing \> Commissions \> Invoices Settlements.
  • Select it/them on the list.
  • Click on Action \> Create Commission Invoices.
  • You can as well enter in one settlement, and click on the "Make invoice" button.

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.