Product Abc Classification based on delivered products
This modules includes an ABC analysis computation profile based on the number of sale order lines delivered from a given date by product.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Adds a new ABC classification profile type that ranks products by the number of delivered sale order lines, per warehouse. Users can run the classification and review a history of each computation.
This module extends the existing ABC classification feature so that products can be classified according to how many sale order lines were actually delivered, instead of other criteria.
On an ABC classification profile you can now choose the type "Based on the count of delivered sale order line by product". When this type is selected, a Warehouse field becomes visible and mandatory; Odoo raises a validation error if you try to save the profile without a warehouse. The warehouse defaults to the first warehouse of your company.
When the classification is computed, Odoo looks at sale order lines with a delivered quantity greater than zero, belonging to the selected warehouse, and counts how many lines were delivered to customer locations since the profile's start date. Products are ranked from the highest number of delivered lines to the lowest, and each product is assigned an ABC level based on the cumulative percentages defined in the profile levels. Products with no deliveries are included with a count of zero.
Each computation also writes a history line per product into a new "Abc Sale_stock Level History" screen, found under the Warehouse reporting menu. There you can see the period, product, computed level, ranking, number of sale order lines, totals and percentages, and filter by product, profile or the current year. The same history is also shown on the product classification level form. History records are read-only for regular users.
Depends on
Models and fields (3)
- abc.classification.profile · extends an existing modelprofile_type, warehouse_id
- abc.sale_stock.level.history · new modelranking, to_date, from_date, percentage, product_id (Product), profile_id (Profile), warehouse_id, total_products (Total products analysed), total_so_lines (Total of sale order lines), number_so_lines (Number of sale order lines), product_tmpl_id (Product template), product_level_id, computed_level_id (Computed classification level), percentage_products (Percentage of products), cumulated_percentage, sum_cumulated_percentages (Sum of cummulated percentages), cumulated_percentage_products (Cumulated percentage of products)
- abc.classification.product.level · extends an existing modelsale_stock_level_history_ids
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 2 confirmed, 7 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/product-attribute.
terminal Installation and usage
OCA documentation · Odoo 18.0Usage
Source · Odoo 18.0To use this module, you need to:
- Go to Inventory menu, then to Configuration/Products/ABC
Classification Profile and create a profile with levels, knowing that the sum of all levels in the profile should sum 100 and all the levels should be different.
- Later you should go to product variants, and assign them a profile.
Then the cron classification will proceed to assign to these products one of the profile's levels.
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.