TIP: You can type at any time to perform a new search.
Sales commissions based on product
sale_commission_product_based · OCA/commission
- Repository
- OCA/commission · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Sales
- Folder size
- 0.05 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/commission
- Last tracking update
- 2026-08-07 07:31:54
- Authors
- Odoo Community Association (OCA), TAKOBI
- Maintainers
- Odoo Community Association (OCA), TAKOBI
- Committers
- Simone Rubino, Weblate, OCA-git-bot, oca-ci
Code Analysis ⓘ
Views touched (1)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_commission_form |
Add product commission to form view of Commission in sales | sale.commission | form | Inherits sale_commission.sale_commission_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (3)
New fields (3)
-
commission_typeSelectionselection_add=[('product_fallback', 'Based on Product with Fallback Percentage')] -
product_fallback_amountFloatstring='Fallback Percentage for Product' -
product_rule_idsOne2many → sale.commission.product_rulecomodel_name='sale.commission.product_rule'inverse_name='commission_id'string='Product rules'
-
calculate_product_fallback(self, base, product)Calculate amount for type 'Fixed and Based on Product Percentage'.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (5)
-
amountFloatstring='Percentage' -
commission_idMany2one → sale.commissioncomodel_name='sale.commission'ondelete='cascade'required=True -
product_category_idMany2one → product.categorycomodel_name='product.category' -
product_idMany2one → product.productcomodel_name='product.product' -
sequenceInteger
-
match_product(self, product)@api.multiFind which rule in self is a match for `product`. Rules are evaluated based on their `sequence`. A rule is a match for a product when the product is either the rule's product or has the rule's category.