Product Stock State

product_stock_state
REPOSITORY
REPOSITORYOCA/product-attribute
GIT
GIThttps://github.com/OCA/product-attribute.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-attribute/tree/18.0/product_stock_state
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, GRAP
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, natuan9
WEBSITE
WEBSITEhttps://github.com/OCA/product-attribute
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:12
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds a "stock state" field on the product in order to inform
the user of its general stock state at a glance.

The state value can be :

- In Stock
- In Limited Stock (if qty available is under a threshold)
- Resupplying (if qty forcasted is \> 0)
- Out of Stock (otherwise)

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
res_company_view_form_threshold res.company.threshold res.company xpath Inherits base.view_company_form
res_config_settings_view_form_threshold res.config.settings.threshold res.config.settings xpath Inherits stock.res_config_settings_view_form
view_product_category_form product.category xpath Inherits product.product_category_form_view
view_product_product_tree product.product field Inherits stock.view_stock_product_tree
view_product_template_form product.template xpath Inherits stock.view_template_property_form
Models touched (5)

New fields (2)
  • manual_stock_state_threshold Float
    digits='Stock Threshold'
  • stock_state_threshold Float
    compute='_compute_stock_state_threshold' digits='Stock Threshold' help="The custom value under which the stock state of the products of this category will pass from 'In Stock' to 'In Limited Stock' State. If not set, Odoo will use the threshold defined at the company level." recursive=True store=True
Public methods (0)

No public methods.

New fields (1)
  • stock_state Selection
    compute='_compute_stock_state' selection=[('in_stock', 'In Stock'), ('in_limited_stock', 'In Limited Stock'), ('resupplying', 'Resupplying'), ('out_of_stock', 'Out Of Stock')]
Public methods (0)

No public methods.

New fields (2)
  • manual_stock_state_threshold Float
    digits='Stock Threshold'
  • stock_state_threshold Float
    compute='_compute_stock_state_threshold' digits='Stock Threshold' help="Define custom value under which the stock state will pass from 'In Stock' to 'In Limited Stock' State. If not set, Odoo will use the value defined in the product category. If no value is defined in product category, it will use the value defined for the company" store=True
Public methods (0)

No public methods.

New fields (1)
  • stock_state_threshold Float
    default=10 digits='Stock Threshold'
Public methods (0)

No public methods.

New fields (1)
  • stock_state_threshold Float
    help="Define custom value under which the stock state will pass from 'In Stock' to 'In Limited Stock' State." readonly=False related='company_id.stock_state_threshold' string='Stock State Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/product-attribute
GIT
GIThttps://github.com/OCA/product-attribute.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-attribute/tree/16.0/product_stock_state
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, GRAP
COMMITTERS
COMMITTERSsbejaoui, Weblate, OCA-git-bot, oca-ci, Henry Backman
WEBSITE
WEBSITEhttps://github.com/OCA/product-attribute
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:48
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account_payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
res_company_view_form_threshold res.company.threshold res.company xpath Inherits base.view_company_form
res_config_settings_view_form_threshold res.config.settings.threshold res.config.settings xpath Inherits stock.res_config_settings_view_form
view_product_category_form product.category xpath Inherits product.product_category_form_view
view_product_product_tree product.product field Inherits stock.view_stock_product_tree
view_product_template_form product.template xpath Inherits stock.view_template_property_form
Models touched (5)

New fields (2)
  • manual_stock_state_threshold Float
    digits='Stock Threshold'
  • stock_state_threshold Float
    compute='_compute_stock_state_threshold' digits='Stock Threshold' help="The custom value under which the stock state of the products of this category will pass from 'In Stock' to 'In Limited Stock' State. If not set, Odoo will use the threshold defined at the company level." recursive=True store=True
Public methods (0)

No public methods.

New fields (1)
  • stock_state Selection
    compute='_compute_stock_state' selection=[('in_stock', 'In Stock'), ('in_limited_stock', 'In Limited Stock'), ('resupplying', 'Resupplying'), ('out_of_stock', 'Out Of Stock')]
Public methods (0)

No public methods.

New fields (2)
  • manual_stock_state_threshold Float
    digits='Stock Threshold'
  • stock_state_threshold Float
    compute='_compute_stock_state_threshold' digits='Stock Threshold' help="Define custom value under which the stock state will pass from 'In Stock' to 'In Limited Stock' State. If not set, Odoo will use the value defined in the product category. If no value is defined in product category, it will use the value defined for the company" store=True
Public methods (0)

No public methods.

New fields (1)
  • stock_state_threshold Float
    default=10 digits='Stock Threshold'
Public methods (0)

No public methods.

New fields (1)
  • stock_state_threshold Float
    help="Define custom value under which the stock state will pass from 'In Stock' to 'In Limited Stock' State." readonly=False related='company_id.stock_state_threshold' string='Stock State Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/product-attribute
GIT
GIThttps://github.com/OCA/product-attribute.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-attribute/tree/15.0/product_stock_state
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, GRAP
COMMITTERS
COMMITTERSMiquel Raïch, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/product-attribute
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:35
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
    - stock_account
    - stock
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
res_company_view_form_threshold res.company.threshold res.company xpath Inherits base.view_company_form
res_config_settings_view_form_threshold res.config.settings.threshold res.config.settings xpath Inherits stock.res_config_settings_view_form
view_product_category_form product.category xpath Inherits product.product_category_form_view
view_product_product_tree product.product field Inherits stock.view_stock_product_tree
view_product_template_form product.template group Inherits stock.view_template_property_form
Models touched (5)

New fields (2)
  • manual_stock_state_threshold Float
    digits='Stock Threshold'
  • stock_state_threshold Float
    compute='_compute_stock_state_threshold' digits='Stock Threshold' help="The custom value under which the stock state of the products of this category will pass from 'In Stock' to 'In Limited Stock' State. If not set, Odoo will use the threshold defined at the company level." recursive=True store=True
Public methods (0)

No public methods.

New fields (1)
  • stock_state Selection
    compute='_compute_stock_state' selection='_selection_stock_state'
Public methods (0)

No public methods.

New fields (2)
  • manual_stock_state_threshold Float
    digits='Stock Threshold'
  • stock_state_threshold Float
    compute='_compute_stock_state_threshold' digits='Stock Threshold' help="Define custom value under which the stock state will pass from 'In Stock' to 'In Limited Stock' State. If not set, Odoo will use the value defined in the product category. If no value is defined in product category, it will use the value defined for the company" store=True
Public methods (0)

No public methods.

New fields (1)
  • stock_state_threshold Float
    default=10 digits='Stock Threshold'
Public methods (0)

No public methods.

New fields (1)
  • stock_state_threshold Float
    help="Define custom value under which the stock state will pass from 'In Stock' to 'In Limited Stock' State." readonly=False related='company_id.stock_state_threshold' string='Stock State Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/product-attribute
GIT
GIThttps://github.com/OCA/product-attribute.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-attribute/tree/14.0/product_stock_state
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, GRAP
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, Mourad, oca-ci, Kitti U, Kev-Roche, watthanun
WEBSITE
WEBSITEhttps://github.com/OCA/product-attribute
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
    - stock_account
    - stock
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
res_company_view_form_threshold res.company.threshold res.company xpath Inherits base.view_company_form
res_config_settings_view_form_threshold res.config.settings.threshold res.config.settings xpath Inherits stock.res_config_settings_view_form
view_product_category_form product.category xpath Inherits product.product_category_form_view
view_product_product_tree product.product field Inherits stock.view_stock_product_tree
view_product_template_form product.template xpath Inherits stock.view_template_property_form
Models touched (5)

New fields (2)
  • manual_stock_state_threshold Float
    digits='Stock Threshold'
  • stock_state_threshold Float
    compute='_compute_stock_state_threshold' digits='Stock Threshold' help="The custom value under which the stock state of the products of this category will pass from 'In Stock' to 'In Limited Stock' State. If not set, Odoo will use the threshold defined at the company level." store=True
Public methods (0)

No public methods.

New fields (1)
  • stock_state Selection
    compute='_compute_stock_state' selection='_selection_stock_state'
Public methods (0)

No public methods.

New fields (3)
  • manual_stock_state_threshold Float
    digits='Stock Threshold'
  • on_demand Boolean
    help='This field allows you to force the stock state to the on-demand value'
  • stock_state_threshold Float
    compute='_compute_stock_state_threshold' digits='Stock Threshold' help="Define custom value under which the stock state will pass from 'In Stock' to 'In Limited Stock' State. If not set, Odoo will use the value defined in the product category. If no value is defined in product category, it will use the value defined for the company" store=True
Public methods (0)

No public methods.

New fields (1)
  • stock_state_threshold Float
    default=10 digits='Stock Threshold'
Public methods (0)

No public methods.

New fields (1)
  • stock_state_threshold Float
    help="Define custom value under which the stock state will pass from 'In Stock' to 'In Limited Stock' State." readonly=False related='company_id.stock_state_threshold' string='Stock State Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/product-attribute
GIT
GIThttps://github.com/OCA/product-attribute.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-attribute/tree/13.0/product_stock_state
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, GRAP
COMMITTERS
COMMITTERSGuewen Baconnier, OCA Transbot, João Marques, oca-travis, Weblate, OCA-git-bot, Simone Orsi
WEBSITE
WEBSITEhttps://github.com/OCA/product-attribute
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
    - stock_account
    - stock
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
res_company_view_form_threshold res.company.threshold res.company xpath Inherits base.view_company_form
res_config_settings_view_form_threshold res.config.settings.threshold res.config.settings xpath Inherits stock.res_config_settings_view_form
view_product_category_form product.category xpath Inherits product.product_category_form_view
view_product_product_tree product.product field Inherits stock.view_stock_product_tree
view_product_template_form product.template field Inherits stock.view_template_property_form
Models touched (5)

New fields (2)
  • manual_stock_state_threshold Float
    digits='Stock Threshold'
  • stock_state_threshold Float
    compute='_compute_stock_state_threshold' digits='Stock Threshold' help="The custom value under which the stock state of the products of this category will pass from 'In Stock' to 'In Limited Stock' State. If not set, Odoo will use the threshold defined at the company level." store=True
Public methods (0)

No public methods.

New fields (1)
  • stock_state Selection
    compute='_compute_stock_state' selection='_selection_stock_state'
Public methods (0)

No public methods.

New fields (2)
  • manual_stock_state_threshold Float
    digits='Stock Threshold'
  • stock_state_threshold Float
    compute='_compute_stock_state_threshold' digits='Stock Threshold' help="Define custom value under which the stock state will pass from 'In Stock' to 'In Limited Stock' State. If not set, Odoo will use the value defined in the product category. If no value is defined in product category, it will use the value defined for the company" store=True
Public methods (0)

No public methods.

New fields (1)
  • stock_state_threshold Float
    default=10 digits='Stock Threshold'
Public methods (0)

No public methods.

New fields (1)
  • stock_state_threshold Float
    help="Define custom value under which the stock state will pass from 'In Stock' to 'In Limited Stock' State." readonly=False related='company_id.stock_state_threshold' string='Stock State Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/product-attribute
GIT
GIThttps://github.com/OCA/product-attribute.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-attribute/tree/12.0/product_stock_state
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, GRAP
COMMITTERS
COMMITTERSOCA Transbot, Sébastien BEAU, oca-travis, Weblate, OCA-git-bot, Héctor Villarreal Ortega, Kevin Khao
WEBSITE
WEBSITEhttps://github.com/OCA/product-attribute
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:18
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - decimal_precision
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - stock_account
    - stock
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
res_company_view_form_threshold res.company.threshold res.company xpath Inherits base.view_company_form
res_config_settings_view_form_threshold res.config.settings.threshold res.config.settings xpath Inherits stock.res_config_settings_view_form
view_product_category_form product.category xpath Inherits product.product_category_form_view
view_product_product_tree product.product field Inherits stock.view_stock_product_tree
view_product_template_form product.template field Inherits stock.view_template_property_form
Models touched (5)

New fields (2)
  • manual_stock_state_threshold Float
    digits=dp.get_precision('Stock Threshold')
  • stock_state_threshold Float
    compute='_compute_stock_state_threshold' digits=dp.get_precision('Stock Threshold') help="The custom value under which the stock state of the products of this category will pass from 'In Stock' to 'In Limited Stock' State. If not set, Odoo will use the threshold defined at the company level." store=True
Public methods (0)

No public methods.

New fields (1)
  • stock_state Selection
    compute='_compute_stock_state' selection=_STOCK_STATE_SELECTION
Public methods (0)

No public methods.

New fields (2)
  • manual_stock_state_threshold Float
    digits=dp.get_precision('Stock Threshold')
  • stock_state_threshold Float
    compute='_compute_stock_state_threshold' digits=dp.get_precision('Stock Threshold') help="Define custom value under which the stock state will pass from 'In Stock' to 'In Limited Stock' State. If not set, Odoo will use the value defined in the product category. If no value is defined in product category, it will use the value defined for the company" store=True
Public methods (0)

No public methods.

New fields (1)
  • stock_state_threshold Float
    default=10 digits=dp.get_precision('Stock Threshold')
Public methods (0)

No public methods.

New fields (1)
  • stock_state_threshold Float
    help="Define custom value under which the stock state will pass from 'In Stock' to 'In Limited Stock' State." readonly=False related='company_id.stock_state_threshold' string='Stock State Threshold'
Public methods (0)

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/product-attribute
PULL REQUEST
PULL REQUEST[MIG] product_stock_state : Migration to 19.0 (#2283)