| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/commission |
| GIT | |
| GIT | https://github.com/OCA/commission.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/commission/tree/17.0/commission |
| VERSION | |
| VERSION | 1.1.2 |
| CATEGORY | |
| CATEGORY | Invoicing |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | Lois Rilo, Weblate, OCA-git-bot, oca-ci, sygel, Angel Rivas, ambientWave |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/commission |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:04 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - product - base - base_setup - web - bus - web_tour - uom |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
commission_form |
commissions form | commission | form | New |
commission_tree |
commissions tree | commission | tree | New |
grouped_report_settlement |
grouped_report_settlement | ir.ui.view | qweb | New |
grouped_report_settlement_document |
grouped_report_settlement_document | ir.ui.view | qweb | New |
product_template_form_view_commission |
product.template.common.form.commission | product.template | label | Inherits product.product_template_form_view |
report_settlement |
report_settlement | ir.ui.view | qweb | New |
report_settlement_document |
report_settlement_document | ir.ui.view | qweb | New |
res_partner_view_search |
res.partner.select | res.partner | filter | Inherits base.view_res_partner_filter |
view_commission_mixin_agent_only |
commission.mixin | form | New | |
view_partner_form_agent |
res.partner.form.agent | res.partner | xpath | Inherits base.view_partner_form |
view_settled_wizard |
Select period to settle | commission.make.settle | form | New |
view_settlement_form |
Settlements | commission.settlement | form | New |
view_settlement_line_graph |
commission.settlement.line.graph | commission.settlement.line | graph | New |
view_settlement_line_search |
commission.settlement.line.search | commission.settlement.line | search | New |
view_settlement_line_tree |
Settlement lines | commission.settlement.line | tree | New |
view_settlement_search |
commission.settlement.search | commission.settlement | search | New |
view_settlement_tree |
Settlements tree | commission.settlement | tree | New |
active
Boolean
default=True
amount_base_type
Selection
default='gross_amount'
help="Select the base amount for computing the percentage:\n* 'Sale/Invoice Amount': percentage is computed from the amount put on sales order/invoice.\n* 'Margin (Amount - Cost)': percentage is computed from the profit only, taken the cost from the product."
required=True
selection=[('gross_amount', 'Sale/Invoice Amount'), ('net_amount', 'Margin (Amount - Cost)')]
string='Base'
commission_type
Selection
default='fixed'
help='Select the percentage type of the commission:\n* \'Fixed percentage\': all commissions are computed with a fixed percentage. You can fill the percentage in the field "Fixed percentage".\n* \'By sections\': percentage varies depending amount intervals. You can fill intervals and percentages in the section "Rate definition".'
required=True
selection=[('fixed', 'Fixed percentage'), ('section', 'By sections')]
string='Type'
fix_qty
Float
string='Fixed percentage'
name
Char
required=True
section_ids
One2many → commission.section
comodel_name='commission.section'
inverse_name='commission_id'
string='Sections'
settlement_type
Selection
selection='_selection_settlement_type'
calculate_section(self, base)
agent_id
Many2one → res.partner
comodel_name='res.partner'
domain="[('agent', '=', True)]"
ondelete='restrict'
required=True
amount
Monetary
compute='_compute_amount'
store=True
string='Commission Amount'
commission_id
Many2one → commission
comodel_name='commission'
compute='_compute_commission_id'
copy=True
ondelete='restrict'
readonly=False
required=True
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
object_id
Many2one → commission.mixin
comodel_name='commission.mixin'
copy=False
ondelete='cascade'
required=True
string='Parent'
No public methods.
agent_ids
Many2many → res.partner
comodel_name='res.partner'
domain="[('agent', '=', True)]"
can_settle
Boolean
compute='_compute_can_settle'
help='Technical field for improving UX when no extra *commission is installed.'
date_to
Date
default=fields.Date.today
required=True
args: 'Up to'
settlement_type
Selection
required=True
selection=[]
action_settle(self)
agent_ids
One2many → commission.line.mixin
comodel_name='commission.line.mixin'
compute='_compute_agent_ids'
copy=True
help='Agents/Commissions related to the invoice line.'
inverse_name='object_id'
readonly=False
store=True
string='Agents & commissions'
commission_free
Boolean
compute='_compute_commission_free'
readonly=True
store=True
string='Comm. free'
commission_status
Char
compute='_compute_commission_status'
string='Commission'
product_id
Many2one → product.product
comodel_name='product.product'
string='Product'
button_edit_agents(self)
recompute_agents(self)
amount_from
Float
string='From'
amount_to
Float
string='To'
commission_id
Many2one → commission
string='Commission'
args: 'commission'
percent
Float
required=True
No public methods.
agent_id
Many2one → res.partner
comodel_name='res.partner'
domain="[('agent', '=', True)]"
required=True
agent_type
Selection
related='agent_id.agent_type'
can_edit
Boolean
compute='_compute_can_edit'
help='Technical field for determining if user can edit settlements'
store=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
default=<expr>
readonly=True
required=True
date_from
Date
required=True
string='From'
date_to
Date
required=True
string='To'
line_ids
One2many → commission.settlement.line
comodel_name='commission.settlement.line'
inverse_name='settlement_id'
string='Settlement lines'
name
Char
settlement_type
Selection
default='manual'
help="The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase order'..."
readonly=True
required=True
selection=[('manual', 'Manual')]
state
Selection
default='settled'
readonly=True
required=True
selection=[('settled', 'Settled'), ('cancel', 'Canceled')]
total
Float
compute='_compute_total'
readonly=True
store=True
action_cancel(self)
grouped_report_lines(self)
agent_id
Many2one → res.partner
comodel_name='res.partner'
related='settlement_id.agent_id'
store=True
commission_id
Many2one → commission
comodel_name='commission'
compute='_compute_commission_id'
readonly=False
required=True
store=True
company_id
Many2one → res.company
comodel_name='res.company'
related='settlement_id.company_id'
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
readonly=True
related='settlement_id.currency_id'
store=True
date
Date
compute='_compute_date'
readonly=False
required=True
store=True
settled_amount
Monetary
compute='_compute_settled_amount'
readonly=False
store=True
settlement_id
Many2one → commission.settlement
ondelete='cascade'
readonly=True
required=True
args: 'commission.settlement'
No public methods.
commission_free
Boolean
default=False
string='Free of commission'
No public methods.
agent
Boolean
help='Check this field if the partner is a creditor or an agent.'
string='Creditor/Agent'
agent_ids
Many2many → res.partner
column1='partner_id'
column2='agent_id'
comodel_name='res.partner'
domain=[('agent', '=', True)]
readonly=False
relation='partner_agent_rel'
string='Agents'
agent_type
Selection
default='agent'
selection=[('agent', 'External agent')]
string='Type'
commission_id
Many2one → commission
comodel_name='commission'
help='This is the default commission used in the sales where this agent is assigned. It can be changed on each operation if needed.'
string='Commission'
settlement
Selection
default='monthly'
selection=[('biweekly', 'Bi-weekly'), ('monthly', 'Monthly'), ('quaterly', 'Quarterly'), ('semi', 'Semi-annual'), ('annual', 'Annual')]
string='Settlement period'
settlement_ids
One2many → commission.settlement
comodel_name='commission.settlement'
inverse_name='agent_id'
readonly=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/commission |
| GIT | |
| GIT | https://github.com/OCA/commission.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/commission/tree/16.0/commission |
| VERSION | |
| VERSION | 2.4.1 |
| CATEGORY | |
| CATEGORY | Invoicing |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | sergio-teruel, JordiMForgeFlow, Weblate, OCA-git-bot, David, Ethan Hildick, Florent THOMAS, oca-ci, jguenat, Alessio Renda, SoSylwe |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/commission |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:44 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - product - base - base_setup - web - bus - web_tour - uom |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
commission_form |
commissions form | commission | form | New |
commission_tree |
commissions tree | commission | tree | New |
product_template_form_view_commission |
product.template.common.form.commission | product.template | div | Inherits product.product_template_form_view |
report_settlement |
report_settlement | ir.ui.view | qweb | New |
report_settlement_document |
report_settlement_document | ir.ui.view | qweb | New |
res_partner_view_search |
res.partner.select | res.partner | filter | Inherits base.view_res_partner_filter |
view_commission_mixin_agent_only |
commission.mixin | form | New | |
view_partner_form_agent |
res.partner.form.agent | res.partner | field | Inherits base.view_partner_form |
view_settled_wizard |
Select period to settle | commission.make.settle | form | New |
view_settlement_form |
Settlements | commission.settlement | form | New |
view_settlement_line_graph |
commission.settlement.line.graph | commission.settlement.line | graph | New |
view_settlement_line_search |
commission.settlement.line.search | commission.settlement.line | search | New |
view_settlement_line_tree |
Settlement lines | commission.settlement.line | tree | New |
view_settlement_search |
commission.settlement.search | commission.settlement | search | New |
view_settlement_tree |
Settlements tree | commission.settlement | tree | New |
active
Boolean
default=True
amount_base_type
Selection
default='gross_amount'
help="Select the base amount for computing the percentage:\n* 'Sale/Invoice Amount': percentage is computed from the amount put on sales order/invoice.\n* 'Margin (Amount - Cost)': percentage is computed from the profit only, taken the cost from the product."
required=True
selection=[('gross_amount', 'Sale/Invoice Amount'), ('net_amount', 'Margin (Amount - Cost)')]
string='Base'
commission_type
Selection
default='fixed'
help='Select the percentage type of the commission:\n* \'Fixed percentage\': all commissions are computed with a fixed percentage. You can fill the percentage in the field "Fixed percentage".\n* \'By sections\': percentage varies depending amount intervals. You can fill intervals and percentages in the section "Rate definition".'
required=True
selection=[('fixed', 'Fixed percentage'), ('section', 'By sections')]
string='Type'
fix_qty
Float
string='Fixed percentage'
name
Char
required=True
section_ids
One2many → commission.section
comodel_name='commission.section'
inverse_name='commission_id'
string='Sections'
settlement_type
Selection
selection='_selection_settlement_type'
calculate_section(self, base)
agent_id
Many2one → res.partner
comodel_name='res.partner'
domain="[('agent', '=', True)]"
ondelete='restrict'
required=True
amount
Monetary
compute='_compute_amount'
store=True
string='Commission Amount'
commission_id
Many2one → commission
comodel_name='commission'
compute='_compute_commission_id'
copy=True
ondelete='restrict'
readonly=False
required=True
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
object_id
Many2one → commission.mixin
comodel_name='commission.mixin'
copy=False
ondelete='cascade'
required=True
string='Parent'
No public methods.
agent_ids
Many2many → res.partner
comodel_name='res.partner'
domain="[('agent', '=', True)]"
can_settle
Boolean
compute='_compute_can_settle'
help='Technical field for improving UX when no extra *commission is installed.'
date_to
Date
default=fields.Date.today
required=True
args: 'Up to'
settlement_type
Selection
required=True
selection=[]
action_settle(self)
agent_ids
One2many → commission.line.mixin
comodel_name='commission.line.mixin'
compute='_compute_agent_ids'
copy=True
help='Agents/Commissions related to the invoice line.'
inverse_name='object_id'
readonly=False
store=True
string='Agents & commissions'
commission_free
Boolean
compute='_compute_commission_free'
readonly=True
store=True
string='Comm. free'
commission_status
Char
compute='_compute_commission_status'
string='Commission'
product_id
Many2one → product.product
comodel_name='product.product'
string='Product'
button_edit_agents(self)
recompute_agents(self)
amount_from
Float
string='From'
amount_to
Float
string='To'
commission_id
Many2one → commission
string='Commission'
args: 'commission'
percent
Float
required=True
No public methods.
agent_id
Many2one → res.partner
comodel_name='res.partner'
domain="[('agent', '=', True)]"
required=True
agent_type
Selection
related='agent_id.agent_type'
can_edit
Boolean
compute='_compute_can_edit'
help='Technical field for determining if user can edit settlements'
store=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
default=<expr>
readonly=True
required=True
date_from
Date
required=True
string='From'
date_to
Date
required=True
string='To'
line_ids
One2many → commission.settlement.line
comodel_name='commission.settlement.line'
inverse_name='settlement_id'
string='Settlement lines'
name
Char
settlement_type
Selection
default='manual'
help="The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase order'..."
readonly=True
required=True
selection=[('manual', 'Manual')]
state
Selection
default='settled'
readonly=True
required=True
selection=[('settled', 'Settled'), ('cancel', 'Canceled')]
total
Float
compute='_compute_total'
readonly=True
store=True
action_cancel(self)
agent_id
Many2one → res.partner
comodel_name='res.partner'
related='settlement_id.agent_id'
store=True
commission_id
Many2one → commission
comodel_name='commission'
compute='_compute_commission_id'
readonly=False
required=True
store=True
company_id
Many2one → res.company
comodel_name='res.company'
related='settlement_id.company_id'
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
readonly=True
related='settlement_id.currency_id'
store=True
date
Date
compute='_compute_date'
readonly=False
required=True
store=True
settled_amount
Monetary
compute='_compute_settled_amount'
readonly=False
store=True
settlement_id
Many2one → commission.settlement
ondelete='cascade'
readonly=True
required=True
args: 'commission.settlement'
No public methods.
commission_free
Boolean
default=False
string='Free of commission'
No public methods.
agent
Boolean
help='Check this field if the partner is a creditor or an agent.'
string='Creditor/Agent'
agent_ids
Many2many → res.partner
column1='partner_id'
column2='agent_id'
comodel_name='res.partner'
domain=[('agent', '=', True)]
readonly=False
relation='partner_agent_rel'
string='Agents'
agent_type
Selection
default='agent'
selection=[('agent', 'External agent')]
string='Type'
commission_id
Many2one → commission
comodel_name='commission'
help='This is the default commission used in the sales where this agent is assigned. It can be changed on each operation if needed.'
string='Commission'
settlement
Selection
default='monthly'
selection=[('biweekly', 'Bi-weekly'), ('monthly', 'Monthly'), ('quaterly', 'Quarterly'), ('semi', 'Semi-annual'), ('annual', 'Annual'), ('pending', 'Pending commissions')]
string='Settlement period'
settlement_ids
One2many → commission.settlement
comodel_name='commission.settlement'
inverse_name='agent_id'
readonly=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/commission |
| GIT | |
| GIT | https://github.com/OCA/commission.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/commission/tree/15.0/commission |
| VERSION | |
| VERSION | 3.3.0 |
| CATEGORY | |
| CATEGORY | Invoicing |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Enric Tobella, sergio-teruel, Weblate, OCA-git-bot, oca-ci, Carlos Roca, jguenat, Julien Guenat, Alessio Renda, Eduard Brahas |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/commission |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:33 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - product - base - base_setup - web - bus - web_tour - uom |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
commission_form |
commissions form | commission | form | New |
commission_tree |
commissions tree | commission | tree | New |
product_template_form_view_commission |
product.template.common.form.commission | product.template | label | Inherits product.product_template_form_view |
report_settlement |
report_settlement | ir.ui.view | qweb | New |
report_settlement_document |
report_settlement_document | ir.ui.view | qweb | New |
res_partner_view_search |
res.partner.select | res.partner | filter | Inherits base.view_res_partner_filter |
view_commission_mixin_agent_only |
commission.mixin | form | New | |
view_partner_form |
res.partner.form - Agents per partner | res.partner | xpath | Inherits base.view_partner_form |
view_partner_form_agent |
res.partner.form.agent | res.partner | field | Inherits base.view_partner_form |
view_settled_wizard |
Select period to settle | commission.make.settle | form | New |
view_settlement_form |
Settlements | commission.settlement | form | New |
view_settlement_line_graph |
commission.settlement.line.graph | commission.settlement.line | graph | New |
view_settlement_line_search |
commission.settlement.line.search | commission.settlement.line | search | New |
view_settlement_line_tree |
Settlement lines | commission.settlement.line | tree | New |
view_settlement_search |
commission.settlement.search | commission.settlement | search | New |
view_settlement_tree |
Settlements tree | commission.settlement | tree | New |
active
Boolean
default=True
amount_base_type
Selection
default='gross_amount'
help="Select the base amount for computing the percentage:\n* 'Sale/Invoice Amount': percentage is computed from the amount put on sales order/invoice.\n* 'Margin (Amount - Cost)': percentage is computed from the profit only, taken the cost from the product."
required=True
selection=[('gross_amount', 'Sale/Invoice Amount'), ('net_amount', 'Margin (Amount - Cost)')]
string='Base'
commission_type
Selection
default='fixed'
help='Select the percentage type of the commission:\n* \'Fixed percentage\': all commissions are computed with a fixed percentage. You can fill the percentage in the field "Fixed percentage".\n* \'By sections\': percentage varies depending amount intervals. You can fill intervals and percentages in the section "Rate definition".'
required=True
selection=[('fixed', 'Fixed percentage'), ('section', 'By sections')]
string='Type'
fix_qty
Float
string='Fixed percentage'
name
Char
required=True
section_ids
One2many → commission.section
comodel_name='commission.section'
inverse_name='commission_id'
string='Sections'
settlement_type
Selection
selection='_selection_settlement_type'
calculate_section(self, base)
agent_id
Many2one → res.partner
comodel_name='res.partner'
domain="[('agent', '=', True)]"
ondelete='restrict'
required=True
amount
Monetary
compute='_compute_amount'
store=True
string='Commission Amount'
commission_id
Many2one → commission
comodel_name='commission'
compute='_compute_commission_id'
copy=True
ondelete='restrict'
readonly=False
required=True
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
object_id
Many2one → commission.mixin
comodel_name='commission.mixin'
copy=False
ondelete='cascade'
required=True
string='Parent'
No public methods.
agent_ids
Many2many → res.partner
comodel_name='res.partner'
domain="[('agent', '=', True)]"
can_settle
Boolean
compute='_compute_can_settle'
help='Technical field for improving UX when no extra *commission is installed.'
date_to
Date
default=fields.Date.today
required=True
args: 'Up to'
settlement_type
Selection
required=True
selection=[]
action_settle(self)
agent_ids
One2many → commission.line.mixin
comodel_name='commission.line.mixin'
compute='_compute_agent_ids'
copy=True
help='Agents/Commissions related to the invoice line.'
inverse_name='object_id'
readonly=False
store=True
string='Agents & commissions'
commission_free
Boolean
compute='_compute_commission_free'
readonly=False
store=True
string='Comm. free'
commission_status
Char
compute='_compute_commission_status'
string='Commission'
product_id
Many2one → product.product
comodel_name='product.product'
string='Product'
button_edit_agents(self)
recompute_agents(self)
amount_from
Float
string='From'
amount_to
Float
string='To'
commission_id
Many2one → commission
string='Commission'
args: 'commission'
percent
Float
required=True
No public methods.
agent_id
Many2one → res.partner
comodel_name='res.partner'
domain="[('agent', '=', True)]"
required=True
agent_type
Selection
related='agent_id.agent_type'
can_edit
Boolean
compute='_compute_can_edit'
help='Technical field for determining if user can edit settlements'
store=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
default=<expr>
readonly=True
required=True
date_from
Date
required=True
string='From'
date_to
Date
required=True
string='To'
line_ids
One2many → commission.settlement.line
comodel_name='commission.settlement.line'
inverse_name='settlement_id'
string='Settlement lines'
name
Char
settlement_type
Selection
default='manual'
help="The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase order'..."
readonly=True
required=True
selection=[('manual', 'Manual')]
state
Selection
default='settled'
readonly=True
required=True
selection=[('settled', 'Settled'), ('cancel', 'Canceled')]
total
Float
compute='_compute_total'
readonly=True
store=True
action_cancel(self)
agent_id
Many2one → res.partner
comodel_name='res.partner'
related='settlement_id.agent_id'
store=True
commission_id
Many2one → commission
comodel_name='commission'
compute='_compute_commission_id'
readonly=False
required=True
store=True
company_id
Many2one → res.company
comodel_name='res.company'
related='settlement_id.company_id'
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
readonly=True
related='settlement_id.currency_id'
store=True
date
Date
compute='_compute_date'
readonly=False
required=True
store=True
settled_amount
Monetary
compute='_compute_settled_amount'
readonly=False
store=True
settlement_id
Many2one → commission.settlement
ondelete='cascade'
readonly=True
required=True
args: 'commission.settlement'
No public methods.
commission_free
Boolean
default=False
string='Free of commission'
No public methods.
agent
Boolean
help='Check this field if the partner is a creditor or an agent.'
string='Creditor/Agent'
agent_ids
Many2many → res.partner
column1='partner_id'
column2='agent_id'
comodel_name='res.partner'
domain=[('agent', '=', True)]
readonly=False
relation='partner_agent_rel'
string='Agents'
agent_type
Selection
default='agent'
selection=[('agent', 'External agent')]
string='Type'
commission_id
Many2one → commission
comodel_name='commission'
help='This is the default commission used in the sales where this agent is assigned. It can be changed on each operation if needed.'
string='Commission'
settlement
Selection
default='monthly'
selection=[('biweekly', 'Bi-weekly'), ('monthly', 'Monthly'), ('quaterly', 'Quarterly'), ('semi', 'Semi-annual'), ('annual', 'Annual'), ('pending', 'Pending commissions')]
string='Settlement period'
settlement_ids
One2many → commission.settlement
comodel_name='commission.settlement'
inverse_name='agent_id'
readonly=True
No public methods.