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
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
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_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'
Public methods (2)
  • action_get_sales_classification(self)
    Compute every product classifications according to each company rules and sales
  • cron_sales_classification(self)
    @api.model
    Evaluate according company rules

New fields (2)
  • 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')]
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi
    Set given values to first variant after creation

New fields (5)
  • 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'
Public methods (0)

No public methods.

New fields (5)
  • 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'
Public methods (0)

No public methods.