Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
2032958
[ADD] product_abc_classification
MiquelRForgeFlow May 28, 2020
5a63ff4
[IMP] product_abc_classification: Makes the classification computatio…
lmarion-source Jan 26, 2021
0cfc4b5
[IMP] product_abc_classification/base: Restore module name
rousseldenis Nov 10, 2022
7242b45
[IMP] product_abc_classification: add product smart button in profile
MiquelRForgeFlow Feb 2, 2022
b07283f
[FIX] product_abc_classification: Remove not working context attributes
rousseldenis Nov 15, 2022
d7e061c
[FIX] product_abc_classification: Use the good _for_xml_id() and add …
rousseldenis Nov 17, 2022
e777c86
[FIX] product_abc_classification: Adapt write() for a multi recordset
rousseldenis Nov 22, 2022
5f148ff
[IMP] product_abc_classification: Improve profile view + help
rousseldenis Feb 15, 2023
e0153ac
[FIX] product_abc_classification: Translated terms into views
lmignon Apr 5, 2023
bf6e878
[FIX] product_abc_classification: Fix tests
rousseldenis Sep 18, 2023
cb8a689
Added translation using Weblate (Spanish)
Ivorra78 Oct 9, 2023
87419c7
Update translation files
weblate Oct 28, 2023
513b27b
Added translation using Weblate (Italian)
mymage Oct 29, 2023
0810035
product_abc_classification: fix invalidate cache warning
simahawk Feb 21, 2024
fbcb940
product_abc_classification: fix tests error log
simahawk Feb 21, 2024
6ba7561
[IMP] product_abc_classification: pre-commit auto fixes
fgaviiria Jul 17, 2024
f145fec
[MIG] product_abc_classification: Migration to 17.0
fgaviiria Jul 18, 2024
d1e5359
[MIG] product_abc_classification: Migration to 17.0: run pre-commit a…
anothingguy Jun 30, 2025
a5ef1cd
[IMP] product_abc_classification: allow setting profiles at category
JordiMForgeFlow Jul 30, 2024
b095389
[IMP] product_abc_classification: pre-commit auto fixes
anothingguy Jun 30, 2025
a209114
[18.0][MIG] product_abc_classification: Migration to 18.0
anothingguy Nov 7, 2025
1b8be04
[MIG] product_abc_classification: Migration to 19.0
bizzappdev Dec 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 119 additions & 0 deletions product_abc_classification/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

==========================
Product Abc Classification
==========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:f602d3cbe4b034e608e4a5b554b3532e87e682d94cb1ee8ba499905258e348c3
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--attribute-lightgray.png?logo=github
:target: https://github.com/OCA/product-attribute/tree/19.0/product_abc_classification
:alt: OCA/product-attribute
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/product-attribute-19-0/product-attribute-19-0-product_abc_classification
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/product-attribute&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This modules provides the bases to build ABC analysis (or ABC
classification) addons. These classification are used by inventory
management teams to help identify the most important products in their
portfolio and ensure they prioritize managing them above those less
valuable.

Managers will create a profile with several levels (percentages) and
then the profiled products will automatically get a corresponding level
using the ABC classification.

The addon *product_abc_classification_sale_stock* defines a computation
profile based on the number of sale order line delivered by product.

**Table of contents**

.. contents::
:local:

Usage
=====

To 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 categories or product variants, and
assign them a profile. Then the cron classification will proceed to
assign to these products one of the profile's levels.

NOTE: If you profile (or unprofile) a product category, then all its
child categories and products will be profiled (or unprofiled).

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/product-attribute/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/product-attribute/issues/new?body=module:%20product_abc_classification%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* ACSONE SA/NV
* ForgeFlow

Contributors
------------

- Miquel Raïch <miquel.raich@eficent.com>
- Lindsay Marion <lindsay.marion@acsone.eu>
- Laurent Mignon <laurent.mignon@acsone.eu>
- Denis Roussel <denis.roussel@acsone.eu>
- Hoang Diep <hoang@trobz.com>

Other credits
-------------

The migration of this module from 17.0 to 18.0 was financially supported
by Camptocamp

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/product-attribute <https://github.com/OCA/product-attribute/tree/19.0/product_abc_classification>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions product_abc_classification/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
23 changes: 23 additions & 0 deletions product_abc_classification/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright 2020 ForgeFlow
# Copyright 2021 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Product Abc Classification",
"summary": """
ABC classification for sales and warehouse management""",
"version": "19.0.1.0.0",
"license": "AGPL-3",
"author": "ACSONE SA/NV, ForgeFlow, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/product-attribute",
"depends": ["product", "stock"],
"data": [
"views/abc_classification_product_level.xml",
"views/abc_classification_profile.xml",
"views/product_template.xml",
"views/product_product.xml",
"views/product_category.xml",
"security/ir.model.access.csv",
"data/ir_cron.xml",
],
}
12 changes: 12 additions & 0 deletions product_abc_classification/data/ir_cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="ir_cron_product_abc_classification" model="ir.cron">
<field name="name">Perform the product ABC Classification</field>
<field name="user_id" ref="base.user_root" />
<field name="interval_number">1</field>
<field name="interval_type">months</field>
<field name="model_id" ref="model_abc_classification_profile" />
<field name="code">model._cron_compute_abc_classification()</field>
<field name="state">code</field>
</record>
</odoo>
Loading