OdooWiki OCA HUB

Sales commissions based on paid amount

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

This module allows to settle commissions based on paid amount.

auto_awesome What this module does

AI-generated from the code · Odoo 14.0

Lets you pay sales agents commissions only on the amounts customers have actually paid, instead of on the full invoice. You can track expected versus settled commission per payment and see it in dedicated menus.

This module extends the sales commission app so a commission can be calculated on the paid amount rather than the full invoice. On each commission you now choose a "Payment amount type": "Full amount" (the default) or "Paid amount".

When "Paid amount" is selected, Odoo builds a forecast of the commission expected from each payment term line of the invoice, and then tracks the commission actually earned each time a payment is reconciled with the invoice. A button on the agent lines opens a pop-up showing the forecast and the actual partial commissions.

Two new menus appear under the Sales Commissions menu: "Partial Commission Forecast" (expected commissions per payment) and "Partial Commissions" (commissions already settled through payments). Settlement lines show a settled amount, and partial settlement lines cannot be deleted once they belong to a settlement.

In Settings, a company option "Show invoice and payment dates in settlements" adds the invoice date and payment date used when creating a settlement to the settlement form. The settlement wizard now also creates settlements from paid partial commissions, and the settlement records store the invoice date and payment date limits used.

Depends on

Required by other modules

Menus it adds

Partial Commission ForecastPartial Commissions
Models and fields (10)
  • res.company · extends an existing modelcommission_show_settlement_dates (Show invoice and payment dates in settlements)
  • sale.commission · extends an existing modelpayment_amount_type (Payment amount type)
  • res.config.settings · extends an existing modelcommission_show_settlement_dates
  • account.partial.reconcile · extends an existing modelaccount_invoice_line_agent_partial_ids
  • account.invoice.line.agent · extends an existing modelpartial_settled (Partial Commission Amount Settled), is_fully_settled, payment_amount_type, invoice_line_agent_partial_ids, commission_settlement_line_partial_ids
  • sale.commission.settlement · extends an existing modelsettlement_date_to (Invoice date up to), show_settlement_dates, settlement_date_payment_to (Payment date up to)
  • sale.commission.make.settle · extends an existing model
  • sale.commission.settlement.line · extends an existing modelsettled_amount, agent_line_partial_ids, settlement_line_partial_ids
  • account.invoice.line.agent.partial · new modelamount (Commission Amount), move_id (Invoice), agent_id, company_id, is_settled (Fully settled), currency_id, invoice_date, move_line_id, date_maturity, settled_amount, invoice_line_id (Invoice Line), invoice_line_agent_id, settlement_line_partial_ids, account_partial_reconcile_id
  • sale.commission.settlement.line.partial · new modelamount, move_id, agent_id, company_id, is_settled, currency_id, invoice_date, date_maturity, settlement_id, invoice_line_id, reconcile_amount (Payment amount), settlement_line_ids, partial_reconcile_id, invoice_line_agent_id, reconcile_debit_move_id (Debit move line), invoice_agent_partial_id, reconcile_credit_move_id (Credit move line)

Text generated by AI (DeepSeek) from reading the Odoo 14.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: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 14.0

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

terminal Installation and usage

OCA documentation · Odoo 14.0
  • Go to Sales > Commissions Management > Commission Types > create or open a record
  • Select Invoice Status: Payment Based
  • Select Payment Amount Type: Paid Amount

Behavior for commission settlements will be as per module description.

No verified information in OCA: Installation, Configuration.

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.