TIP: You can type at any time to perform a new search.
Account commissions OCA
account_commission_oca · OCA/commission
- Repository
- OCA/commission · module folder · Try on Runboat
- Module version
- 1.0.1
- Category
- Sales Management
- Folder size
- 0.3 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/commission
- Last tracking update
- 2026-08-07 09:06:24
- Authors
- Odoo Community Association (OCA), Tecnativa
- Maintainers
- Odoo Community Association (OCA), Tecnativa
- Committers
- Weblate, OCA-git-bot, oca-ci, arantxa-s73, Pablo Cortés
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- sale_commission_oca
- Description
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.
Code Analysis ⓘ
Views touched (14)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
commission_form |
commissions form | commission | form | Inherits commission_oca.commission_form |
commission_make_invoice_form |
Make invoices | commission.make.invoice | form | New |
invoice_line_agent_tree |
account.invoice.line.agent | list | New | |
report_settlement_document |
report_settlement_document | ir.ui.view | qweb | Inherits commission_oca.report_settlement_document |
view_account_invoice_filter_agent |
view_account_invoice_filter_agent | account.move | Inherits account.view_account_invoice_filter | |
view_in_invoice_bill_tree_inherit |
account.out.invoice.list | account.move | list | Inherits account.view_in_invoice_bill_tree |
view_invoice_commission_analysis_graph |
invoice.commission.analysis.graph | invoice.commission.analysis.report | graph | New |
view_invoice_commission_analysis_pivot |
invoice.commission.analysis.pivot | invoice.commission.analysis.report | pivot | New |
view_invoice_commission_analysis_search |
invoice.commission.analysis.search | invoice.commission.analysis.report | search | New |
view_move_form |
account.invoice.form.agent | account.move | form | Inherits account.view_move_form |
view_move_line_form |
account.move.line | form | Inherits account.view_move_line_form | |
view_settlement_form |
Settlements - Add invoice stuff | commission.settlement | form | Inherits commission_oca.view_settlement_form |
view_settlement_line_tree_inherit |
Settlement lines | commission.settlement.line | tree | Inherits commission_oca.view_settlement_line_tree |
view_settlement_tree |
Settlements list - Invoice decoration | commission.settlement | list | Inherits commission_oca.view_settlement_tree |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (9)
New fields (7)
-
company_idMany2one → res.companycomodel_name='res.company'compute='_compute_company'store=True -
currency_idMany2onerelated='object_id.currency_id' -
invoice_dateDatereadonly=Truerelated='invoice_id.invoice_date'store=Truestring='Invoice date' -
invoice_idMany2one → account.movecomodel_name='account.move'related='object_id.move_id'store=Truestring='Invoice' -
object_idMany2one → account.move.linecomodel_name='account.move.line' -
settledBooleancompute='_compute_settled'store=True -
settlement_line_idsOne2many → commission.settlement.linecomodel_name='commission.settlement.line'inverse_name='invoice_agent_line_id'
No public methods.
New fields (4)
-
commission_totalFloatcompute='_compute_commission_total'store=Truestring='Commissions' -
partner_agent_idsMany2many → res.partnercomodel_name='res.partner'compute='_compute_agents'search='_search_agents'string='Agents' -
settlement_countIntegercompute='_compute_settlement' -
settlement_idsOne2many → commission.settlementcompute='_compute_settlement'string='Settlements' args: 'commission.settlement'
-
action_post(self)Put settlements associated to the invoices in invoiced state. -
action_view_settlement(self) -
button_cancel(self)Check settled lines and put settlements associated to the invoices in exception. -
recompute_lines_agents(self) -
unlink(self)Put 'invoiced' settlements associated to the invoices back in settled state.
New fields (3)
-
agent_idsOne2many → account.invoice.line.agentcomodel_name='account.invoice.line.agent' -
any_settledBooleancompute='_compute_any_settled' -
settlement_idMany2one → commission.settlementcomodel_name='commission.settlement'copy=Falsehelp='Settlement that generates this invoice line'
No public methods.
New fields (1)
-
invoice_stateSelectiondefault='open'help="Select the invoice status for settling the commissions:\n* 'Invoice Based': Commissions are settled when the invoice is issued.\n* 'Payment Based': Commissions are settled when the invoice is paid."string='Invoice Status' args: [('open', 'Invoice Based'), ('paid', 'Payment Based')]
No public methods.
New fields (7)
-
company_idMany2one → res.companycomodel_name='res.company'readonly=Truerelated='journal_id.company_id' -
dateDatedefault=fields.Date.context_today -
from_settlementBooleandefault=<expr> -
groupedBooleanstring='Group invoices' -
journal_idMany2one → account.journalcomodel_name='account.journal'default=<expr>domain="[('type', '=', 'purchase')]"required=True -
product_idMany2one → product.productcomodel_name='product.product'required=Truestring='Product for invoicing' -
settlement_idsMany2many → commission.settlementcolumn1='wizard_id'column2='settlement_id'comodel_name='commission.settlement'default=<expr>domain="[('state', '=', 'settled'),('agent_type', '=', 'agent'),('company_id', '=', company_id)]"relation='commission_make_invoice_settlement_rel'
-
button_create(self)
New fields (1)
-
settlement_typeSelectionondelete={'sale_invoice': 'cascade'}selection_add=[('sale_invoice', 'Sales Invoices')]
No public methods.
New fields (4)
-
invoice_idMany2one → account.movecomodel_name='account.move'compute='_compute_invoice_id'store=Truestring='Generated Invoice' -
invoice_line_idsOne2many → account.move.linecomodel_name='account.move.line'inverse_name='settlement_id'readonly=Truestring='Generated invoice lines' -
settlement_typeSelectionondelete={'sale_invoice': 'set default'}selection_add=[('sale_invoice', 'Sales Invoices')] -
stateSelectionondelete={'invoiced': 'set default', 'except_invoice': 'set default'}selection_add=[('invoiced', 'Invoiced'), ('except_invoice', 'Invoice exception')]
-
action_cancel(self)Check if any settlement has been invoiced. -
action_draft(self) -
action_invoice(self) -
make_invoices(self, journal, product, date=False, grouped=False) -
unlink(self)
New fields (2)
-
invoice_agent_line_idMany2one → account.invoice.line.agentcomodel_name='account.invoice.line.agent' -
invoice_line_idMany2one → account.move.linecomodel_name='account.move.line'related='invoice_agent_line_id.object_id'store=Truestring='Source invoice line'
No public methods.
New fields (17)
-
agent_idMany2one → res.partnerreadonly=True args: 'res.partner', 'Agent' -
amountFloatreadonly=True -
balanceFloatreadonly=True -
categ_idMany2one → product.categoryreadonly=True args: 'product.category', 'Category of Product' -
commission_idMany2one → commissionreadonly=True args: 'commission', 'Commission' -
company_idMany2one → res.companyreadonly=True args: 'res.company', 'Company' -
date_invoiceDatereadonly=True args: 'Invoice Date' -
invoice_line_idMany2one → account.move.linereadonly=True args: 'account.move.line' -
invoice_stateSelectionreadonly=Trueselection='_get_selection_invoice_state'string='Invoice Status' -
partner_idMany2one → res.partnerreadonly=True args: 'res.partner', 'Partner' -
percentageIntegerreadonly=True args: 'Percentage of commission' -
price_subtotalFloatreadonly=True args: 'Subtotal' -
price_unitFloatreadonly=True args: 'Unit Price' -
product_idMany2one → product.productreadonly=True args: 'product.product', 'Product' -
quantityFloatreadonly=True args: '# of Qty' -
settledBooleanreadonly=True -
uom_idMany2one → uom.uomreadonly=True args: 'uom.uom', 'Unit of Measure'
-
init(self)@api.model
Loading…