TIP: You can type at any time to perform a new search.
Sale Product Classification
sale_product_classification · OCA/sale-workflow
- Repository
- OCA/sale-workflow · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Sales
- Folder size
- 0.06 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/sale-workflow
- Last tracking update
- 2026-08-07 07:31:49
- Authors
- Odoo Community Association (OCA), Tecnativa
- Maintainers
- Odoo Community Association (OCA), Tecnativa
- Committers
- david, Weblate, OCA-git-bot, oca-travis
Code Analysis ⓘ
Views touched (4)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.product | form | Inherits product.product_normal_form_view | |
product_template_only_form_view |
product.template | form | Inherits product.product_template_only_form_view | |
product_template_search_view |
product.template | search | Inherits product.product_template_search_view | |
res_config_settings_view_form_sale |
res.config.settings | form | Inherits sale.res_config_settings_view_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (4)
New fields (2)
-
sale_classificationSelectioncompany_dependent=Truedefault='d'help='How the product performs according to sales'selection=[('a', 'A'), ('b', 'B'), ('c', 'C'), ('d', 'D')]string='Sales classification' -
seasonality_classificationSelectioncompany_dependent=Truedefault='low'help='Whether this product is selled during very short periods of time or steadily across the whole year'selection=[('very high', 'Very high'), ('high', 'High'), ('medium', 'Medium'), ('low', 'Low')]string='Seasonility'
-
action_get_sales_classification(self)Compute every product classifications according to each company rules and sales -
cron_sales_classification(self)@api.modelEvaluate according company rules
New fields (2)
-
sale_classificationSelectioncompute='_compute_sale_classification'inverse='_inverse_sale_classification'readonly=Falsesearch='_search_sale_classification'selection=[('a', 'A'), ('b', 'B'), ('c', 'C'), ('d', 'D')] -
seasonality_classificationSelectioncompute='_compute_seasonality_classification'inverse='_inverse_seasonality_classification'readonly=Falsesearch='_search_seasonality_classification'selection=[('very high', 'Very high'), ('high', 'High'), ('medium', 'Medium'), ('low', 'Low')]
-
create(self, vals_list)@api.model_create_multiSet given values to first variant after creation
New fields (5)
-
sale_classification_aMonetarydefault=10000string='Sales equal or above this amount' -
sale_classification_bMonetarydefault=5000string='Sales equal or above this amount and below A' -
sale_classification_cMonetarydefault=2500string='Sales equal or above this amount and below B' -
sale_classification_days_to_evaluateIntegerdefault=365string='From the date the action is run, evalute these days' -
sale_classification_days_to_ignoreIntegerdefault=0help='If set, the products created in these date ranges will be ignored in the classification compute'string='Ignore products newer than these days'
No public methods.
New fields (5)
-
sale_classification_aMonetaryreadonly=Falserelated='company_id.sale_classification_a' -
sale_classification_bMonetaryreadonly=Falserelated='company_id.sale_classification_b' -
sale_classification_cMonetaryreadonly=Falserelated='company_id.sale_classification_c' -
sale_classification_days_to_evaluateIntegerreadonly=Falserelated='company_id.sale_classification_days_to_evaluate' -
sale_classification_days_to_ignoreIntegerreadonly=Falserelated='company_id.sale_classification_days_to_ignore'
No public methods.