| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/12.0/sale_product_classification |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Sales |
| 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 | david, oca-travis, Weblate, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:17 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - decimal_precision - uom - analytic - portal - http_routing - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.product | field | Inherits product.product_normal_form_view | |
product_template_only_form_view |
product.template | field | Inherits product.product_template_only_form_view | |
product_template_search_view |
product.template | xpath | Inherits product.product_template_search_view | |
res_config_settings_view_form_sale |
res.config.settings | xpath | Inherits sale.res_config_settings_view_form |
sale_classification
Selection
company_dependent=True
default='d'
help='How the product performs according to sales'
selection=[('a', 'A'), ('b', 'B'), ('c', 'C'), ('d', 'D')]
string='Sales classification'
seasonality_classification
Selection
company_dependent=True
default='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)
cron_sales_classification(self)
sale_classification
Selection
compute='_compute_sale_classification'
inverse='_inverse_sale_classification'
readonly=False
search='_search_sale_classification'
selection=[('a', 'A'), ('b', 'B'), ('c', 'C'), ('d', 'D')]
seasonality_classification
Selection
compute='_compute_seasonality_classification'
inverse='_inverse_seasonality_classification'
readonly=False
search='_search_seasonality_classification'
selection=[('very high', 'Very high'), ('high', 'High'), ('medium', 'Medium'), ('low', 'Low')]
create(self, vals_list)
sale_classification_a
Monetary
default=10000
string='Sales equal or above this amount'
sale_classification_b
Monetary
default=5000
string='Sales equal or above this amount and below A'
sale_classification_c
Monetary
default=2500
string='Sales equal or above this amount and below B'
sale_classification_days_to_evaluate
Integer
default=365
string='From the date the action is run, evalute these days'
sale_classification_days_to_ignore
Integer
default=0
help='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.
sale_classification_a
Monetary
readonly=False
related='company_id.sale_classification_a'
sale_classification_b
Monetary
readonly=False
related='company_id.sale_classification_b'
sale_classification_c
Monetary
readonly=False
related='company_id.sale_classification_c'
sale_classification_days_to_evaluate
Integer
readonly=False
related='company_id.sale_classification_days_to_evaluate'
sale_classification_days_to_ignore
Integer
readonly=False
related='company_id.sale_classification_days_to_ignore'
No public methods.