Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
30c3756
[ADD] V8. product_replenishment_cost
legalsylvain Jul 24, 2015
9b2d7ef
[UPD] prefix versions with 8.0
sbidoul Oct 9, 2015
cdab8d3
[MIG] Make modules uninstallable
pedrobaeza Oct 14, 2015
4907743
[MIG] Rename manifest files
pedrobaeza Oct 6, 2016
cc5a2ea
remove obsolete .pot files [ci skip]
sbidoul Jun 15, 2018
95cc70d
migrate product_replenishment_cost to v9
nicomacr Nov 2, 2016
a716707
[MIG] product_replenishment_cost: Migration to 10.0
Jul 31, 2019
3ecc3d5
[PORT][12.0] product_replenishment_cost
legalsylvain Aug 9, 2019
dffd550
Added translation using Weblate (Chinese (Simplified))
liweijie0812 Sep 18, 2019
e9e1cb6
Translated using Weblate (Chinese (Simplified))
liweijie0812 Sep 18, 2019
6590a5e
Added translation using Weblate (Portuguese (Brazil))
marcelsavegnago Mar 14, 2021
5d5cdd7
Added translation using Weblate (Portuguese)
alvarorib Apr 12, 2021
a1a6945
Translated using Weblate (Portuguese)
alvarorib Apr 12, 2021
c4a470a
Added translation using Weblate (Italian)
mymage Dec 28, 2022
599c9cb
Translated using Weblate (Italian)
mymage Dec 28, 2022
40f02d9
[REF] apply pre-commit fixes
legalsylvain Jan 3, 2023
5bb7fac
[IMP] product_replenishment_cost: pre-commit stuff
amarcosg Jun 5, 2023
341a4cd
[MIG] product_replenishment_cost: Migration to 16.0
amarcosg Jun 5, 2023
3a287e4
[UPD] DESCRIPTION.rst
amarcosg Jun 6, 2023
2bf1c9a
[UPD] Update product_replenishment_cost.pot
Jul 25, 2023
96a37ff
Update translation files
weblate Jul 25, 2023
2cc557c
Translated using Weblate (Spanish)
Ivorra78 Aug 21, 2023
1c8a7b5
Translated using Weblate (French)
kbentaleb Jan 8, 2024
6788552
Translated using Weblate (Italian)
mymage Jan 19, 2024
a897364
Translated using Weblate (Portuguese (Brazil))
May 21, 2024
f3f9bf1
[IMP] product_replenishment_cost: pre-commit auto fixes
BhaveshHeliconia Feb 21, 2025
34d8400
[MIG] product_replenishment_cost: Migration to 17.0
BhaveshHeliconia Feb 21, 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
115 changes: 115 additions & 0 deletions product_replenishment_cost/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
==========================
Product Replenishment Cost
==========================

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

.. |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/licence-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%2Fmargin--analysis-lightgray.png?logo=github
:target: https://github.com/OCA/margin-analysis/tree/17.0/product_replenishment_cost
:alt: OCA/margin-analysis
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/margin-analysis-17-0/margin-analysis-17-0-product_replenishment_cost
: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/margin-analysis&target_branch=17.0
:alt: Try me on Runboat

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

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.

**Table of contents**

.. contents::
:local:

Known issues / Roadmap
======================

Due to framework limitation, the field ``replenishment_cost`` is not
company dependent, while ``standard_price`` is. (in the recent Odoo
versions)

It is due to the current impossibility to make working computed field
between two field ``company_dependent=True``.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/margin-analysis/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/margin-analysis/issues/new?body=module:%20product_replenishment_cost%0Aversion:%2017.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
-------

* Camptocamp
* GRAP

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

- Alexandre Fayolle <alexandre.fayolle@camptocamp.com>
- Yannick Vaucher <yannick.vaucher@camptocamp.com>
- Joël Grand-Guillaume <joel.grand-guillaume@camptocamp.com>
- Sylvain Le Gal (https://twitter.com/legalsylvain)
- Marc Poch Mallandrich <mpoch@planetatic.com>
- `Heliconia Solutions Pvt. Ltd. <https://www.heliconia.io>`__

- Bhavesh Heliconia

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/margin-analysis <https://github.com/OCA/margin-analysis/tree/17.0/product_replenishment_cost>`_ 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_replenishment_cost/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
21 changes: 21 additions & 0 deletions product_replenishment_cost/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright (C) 2012 - Today: Camptocamp SA
# Copyright (C) 2016 - Today: GRAP (http://www.grap.coop)
# @author: Alexandre Fayolle
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Product Replenishment Cost",
"summary": "Provides an overridable method on product which compute"
"the Replenishment cost of a product",
"version": "17.0.1.0.0",
"author": "Camptocamp,GRAP,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Products",
"depends": [
"product",
],
"website": "https://github.com/OCA/margin-analysis",
"data": [
"views/product_view.xml",
],
"installable": True,
}
47 changes: 47 additions & 0 deletions product_replenishment_cost/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# # Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_replenishment_cost
#
# Translators:
# PlanetaTIC - Marc Poch <mpoch@planetatic.com>, 2019
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-10-30 16:52+0000\n"
"PO-Revision-Date: 2023-09-02 18:17+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: product_replenishment_cost
#: model:ir.model,name:product_replenishment_cost.model_product_product
msgid "Product Variant"
msgstr "Variante del producto"

#. module: product_replenishment_cost
#: model:ir.model.fields,field_description:product_replenishment_cost.field_product_product__replenishment_cost
msgid "Replenishment cost"
msgstr "Coste de reposición"

#. module: product_replenishment_cost
#: model:ir.model.fields,help:product_replenishment_cost.field_product_product__replenishment_cost
msgid ""
"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."
msgstr ""
"El coste que tiene que pagar para producir o adquirir los bienes. "
"Dependiendo de los módulos instalados, este coste puede calcularse en "
"función de diversos datos, por ejemplo, listas de materiales o compras más "
"recientes. De forma predeterminada, el coste de reposición es el mismo que "
"el precio de coste."

#~ msgid "Product"
#~ msgstr "Producto"
45 changes: 45 additions & 0 deletions product_replenishment_cost/i18n/fr.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_replenishment_cost
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-08-09 17:05+0000\n"
"PO-Revision-Date: 2024-01-09 00:49+0000\n"
"Last-Translator: kbentaleb <k.bentaleb@gmail.com>\n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: product_replenishment_cost
#: model:ir.model,name:product_replenishment_cost.model_product_product
msgid "Product Variant"
msgstr "Variantes de produit"

#. module: product_replenishment_cost
#: model:ir.model.fields,field_description:product_replenishment_cost.field_product_product__replenishment_cost
msgid "Replenishment cost"
msgstr "Coût de réapprovisionnement"

#. module: product_replenishment_cost
#: model:ir.model.fields,help:product_replenishment_cost.field_product_product__replenishment_cost
msgid ""
"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."
msgstr ""
"Le coût que vous devez prendre en charge pour produire ou acquerir la "
"marchandise. Selon les modules installés, le calcul de ce coût peut "
"s'appuyer sur diverses informations : par exemple les nomenclatures ou les "
"derniers achats. Par défaut, le coût de réapprovisionnement est le même que "
"le Prix de revient."

#~ msgid "Product"
#~ msgstr "Article"
43 changes: 43 additions & 0 deletions product_replenishment_cost/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_replenishment_cost
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-01-19 10:33+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: product_replenishment_cost
#: model:ir.model,name:product_replenishment_cost.model_product_product
msgid "Product Variant"
msgstr "Variante prodotto"

#. module: product_replenishment_cost
#: model:ir.model.fields,field_description:product_replenishment_cost.field_product_product__replenishment_cost
msgid "Replenishment cost"
msgstr "Costo rifornimento"

#. module: product_replenishment_cost
#: model:ir.model.fields,help:product_replenishment_cost.field_product_product__replenishment_cost
msgid ""
"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."
msgstr ""
"Il costo che si sostiene per produrre o acquistare il bene. In funzione dei "
"moduli installati, questo costo può essere calcolato in base a varie "
"informazioni, per esempio distinte base o gli ultimi acquisti. Il costo di "
"rifornimento predefinito è lo stesso del prezzo di costo."

#~ msgid "Product"
#~ msgstr "Prodotto"
41 changes: 41 additions & 0 deletions product_replenishment_cost/i18n/nl.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * product_replenishment_cost
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 6.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-23 10:21+0000\n"
"PO-Revision-Date: 2012-12-23 11:28+0100\n"
"Last-Translator: Erwin van der Ploeg | Endian Solutions "
"<erwin@endiansolutions.nl>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: \n"
"X-Generator: Poedit 1.5.4\n"

#. module: product_replenishment_cost
#: model:ir.model,name:product_replenishment_cost.model_product_product
msgid "Product Variant"
msgstr ""

#. module: product_replenishment_cost
#: model:ir.model.fields,field_description:product_replenishment_cost.field_product_product__replenishment_cost
msgid "Replenishment cost"
msgstr "Kostprijs (incl. kosten)"

#. module: product_replenishment_cost
#: model:ir.model.fields,help:product_replenishment_cost.field_product_product__replenishment_cost
msgid ""
"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."
msgstr "Dit is de kostprijs, inclusief eventuele kosten."

#~ msgid "Product"
#~ msgstr "Product"
33 changes: 33 additions & 0 deletions product_replenishment_cost/i18n/product_replenishment_cost.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_replenishment_cost
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: product_replenishment_cost
#: model:ir.model,name:product_replenishment_cost.model_product_product
msgid "Product Variant"
msgstr ""

#. module: product_replenishment_cost
#: model:ir.model.fields,field_description:product_replenishment_cost.field_product_product__replenishment_cost
msgid "Replenishment cost"
msgstr ""

#. module: product_replenishment_cost
#: model:ir.model.fields,help:product_replenishment_cost.field_product_product__replenishment_cost
msgid ""
"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."
msgstr ""
43 changes: 43 additions & 0 deletions product_replenishment_cost/i18n/pt.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_replenishment_cost
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-04-12 16:46+0000\n"
"Last-Translator: alvarorib <alvaro.ribeiro@exo.pt>\n"
"Language-Team: none\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.3.2\n"

#. module: product_replenishment_cost
#: model:ir.model,name:product_replenishment_cost.model_product_product
msgid "Product Variant"
msgstr ""

#. module: product_replenishment_cost
#: model:ir.model.fields,field_description:product_replenishment_cost.field_product_product__replenishment_cost
msgid "Replenishment cost"
msgstr "Custo de Reposição"

#. module: product_replenishment_cost
#: model:ir.model.fields,help:product_replenishment_cost.field_product_product__replenishment_cost
msgid ""
"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."
msgstr ""
"O custo que deverá suportar para produzir ou adquirir os bens. Dependendo "
"dos módulos instalados, esse custo pode ser calculado com base em várias "
"informações, por exemplo, listas de materiais ou compras mais recentes. Por "
"pré definição, o custo de Reposição é igual ao Preço de custo."

#~ msgid "Product"
#~ msgstr "Produto"
Loading