Product Replenishment Cost

product_replenishment_cost
REPOSITORY
REPOSITORYOCA/margin-analysis
GIT
GIThttps://github.com/OCA/margin-analysis.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/margin-analysis/tree/18.0/product_replenishment_cost
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYProducts
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, GRAP
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Bhavesh Heliconia
WEBSITE
WEBSITEhttps://github.com/OCA/margin-analysis
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Provides an overridable method on product which compute the
Replenishment cost of a product. By default it just returns the value of
"Cost price" field, but using the product_cost_incl_bom module, it will
return the costing from the bom.

"Cost price" is the cost assigned for each product in the warehouse and
the "Replenishment cost" is the cost it would cost to buy a new product.
They are different costs because the cost price depends on your
valuation method and the operations you have performed while the
replenishment cost is determined by the current market conditions.

For example: The price of the product in the supplier's catalog is
€15/piece. Therefore, if I want to buy a new unit, my replenishment cost
would be €15. But if my stock comes from having bought it in a special
offer that allowed me to buy it for €10, then my cost price is
€10/piece.

As it is a generic module, you can also setup your own way of computing
the replenishment_cost for your product.

All OCA modules to compute margins are based on it, so you'll be able to
use them in your own way.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_product_product_form product.product xpath Inherits product.product_normal_form_view
Models touched (1)

New fields (1)
  • replenishment_cost Float
    compute='_compute_replenishment_cost' digits='Product Price' help='The cost that you have to support in order to produce or acquire the goods. Depending on the modules installed, this cost may be computed based on various pieces of information, for example Bills of Materials or latest Purchases. By default, the Replenishment cost is the same as the Cost Price.' store=True string='Replenishment cost'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/margin-analysis
GIT
GIThttps://github.com/OCA/margin-analysis.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/margin-analysis/tree/16.0/product_replenishment_cost
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYProducts
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, GRAP
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Álvaro
WEBSITE
WEBSITEhttps://github.com/OCA/margin-analysis
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:54
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_product_product_form product.product xpath Inherits product.product_normal_form_view
Models touched (1)

New fields (1)
  • replenishment_cost Float
    compute='_compute_replenishment_cost' digits='Product Price' help='The cost that you have to support in order to produce or acquire the goods. Depending on the modules installed, this cost may be computed based on various pieces of information, for example Bills of Materials or latest Purchases. By default, the Replenishment cost is the same as the Cost Price.' store=True string='Replenishment cost'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/margin-analysis
GIT
GIThttps://github.com/OCA/margin-analysis.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/margin-analysis/tree/12.0/product_replenishment_cost
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYProducts
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, GRAP
COMMITTERS
COMMITTERSSylvain LE GAL, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/margin-analysis
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_product_product_form product.product xpath Inherits product.product_normal_form_view
Models touched (1)

New fields (1)
  • replenishment_cost Float
    compute='_compute_replenishment_cost' digits=dp.get_precision('Product Price') help='The cost that you have to support in order to produce or acquire the goods. Depending on the modules installed, this cost may be computed based on various pieces of information, for example Bills of Materials or latest Purchases. By default, the Replenishment cost is the same as the Cost Price.' store=True string='Replenishment cost'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/margin-analysis
GIT
GIThttps://github.com/OCA/margin-analysis.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/margin-analysis/tree/10.0/product_replenishment_cost
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYProducts
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, GRAP
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE), Francisco Fernández @PlanetaTIC, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/margin-analysis
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - report
    - sales_team
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Provides an overridable method on product which compute the Replenishment cost
of a product. By default it just returns the value of "Cost price" field, but
using the product_cost_incl_bom module, it will return the costing from the
bom.

As it is a generic module, you can also setup your own way of computing the
replenishment_cost for your product.

All OCA modules to compute margins are based on it, so you'll be able to use
them in your own way.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_product_product_form product.product xpath Inherits product.product_normal_form_view
Models touched (1)

New fields (1)
  • replenishment_cost Float
    compute='_get_replenishment_cost' digits=dp.get_precision('Product Price') help='The cost that you have to support in order to produce or acquire the goods. Depending on the modules installed, this cost may be computed based on various pieces of information, for example Bills of Materials or latest Purchases. By default, the Replenishment cost is the same as the Cost Price.' store=True string='Replenishment cost'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/margin-analysis
GIT
GIThttps://github.com/OCA/margin-analysis.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/margin-analysis/tree/9.0/product_replenishment_cost
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYProducts
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, GRAP
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE), OCA-git-bot, Nicolas Mac Rouillon
WEBSITE
WEBSITEhttp://www.camptocamp.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:23
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - report
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_product_product_form product.product xpath Inherits product.product_normal_form_view
Models touched (1)

New fields (1)
  • replenishment_cost Float
    compute=_get_replenishment_cost digits_compute=dp.get_precision('Product Price') help='The cost that you have to support in order to produce or acquire the goods. Depending on the modules installed, this cost may be computed based on various pieces of information, for example Bills of Materials or latest Purchases. By default, the Replenishment cost is the same as the Cost Price.' store=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/margin-analysis
GIT
GIThttps://github.com/OCA/margin-analysis.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/margin-analysis/tree/8.0/product_replenishment_cost
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYProducts
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, GRAP
COMMITTERS
COMMITTERSStéphane Bidoul, Sylvain LE GAL, Stéphane Bidoul (ACSONE), OCA-git-bot
WEBSITE
WEBSITEhttp://www.camptocamp.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - report
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_product_product_form product.product field Inherits product.product_normal_form_view
Models touched (1)

New fields (1)
  • replenishment_cost Float
    compute=_get_replenishment_cost digits_compute=dp.get_precision('Product Price') help='The cost that you have to support in order to produce or acquire the goods. Depending on the modules installed, this cost may be computed based on various pieces of information, for example Bills of Materials or latest Purchases. By default, the Replenishment cost is the same as the Cost Price.' store=True
Public methods (0)

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/margin-analysis
PULL REQUEST
PULL REQUEST[17.0][MIG] product_replenishment_cost: Migration to 17.0 (#238)