bemade_stock_quant_valuation new module to add valuation on the inventory adjustment view.

This commit is contained in:
Marc Durepos 2023-09-19 15:09:10 -04:00
parent 934943330f
commit 538aac89c3
5 changed files with 75 additions and 0 deletions

View file

@ -0,0 +1 @@
from . import models

View file

@ -0,0 +1,33 @@
#
# Bemade Inc.
#
# Copyright (C) September 2023 Bemade Inc. (<https://www.bemade.org>).
# Author: Marc Durepos (Contact : marc@bemade.org)
#
# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1)
# It is forbidden to publish, distribute, sublicense, or sell copies of the Software
# or modified copies of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#
{
'name': 'Stock Quant Valuation',
'version': '15.0.1.0.0',
'summary': 'Adds valuation to stock quant for better inventory adjustment management',
'description': '',
'category': 'Inventory',
'author': 'Bemade Inc.',
'website': 'https://www.bemade.org',
'license': 'OPL-1',
'depends': ['stock_account'],
'data': ['views/stock_account_views.xml'],
'demo': [],
'installable': True,
'auto_install': False,
}

View file

@ -0,0 +1 @@
from . import stock_quant

View file

@ -0,0 +1,21 @@
from odoo import models, fields, api
class StockQuant(models.Model):
_inherit = 'stock.quant'
value_unit = fields.Float(related='product_id.standard_price', readonly=True,
groups='stock.group_stock_manager', digits='Product Price')
value_difference = fields.Float(compute='_compute_difference_value',
help='The value of the difference between the '
'quantity on hand and the counted '
'quantity.',
groups='stock.group_stock_manager',
digits='Product Price',
store=True)
@api.depends('inventory_diff_quantity', 'value_unit')
def _compute_difference_value(self):
for rec in self:
rec.value_difference = (rec.value_unit * rec.inventory_diff_quantity
if rec.inventory_diff_quantity is not None else None)

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<data>
<record id="view_stock_quant_tree_inventory_editable_inherit_bemade_stock_quant_valuation" model="ir.ui.view">
<field name="name">stock.quant.inventory.tree.editable.inherit</field>
<field name="model">stock.quant</field>
<field name="inherit_id" ref="stock.view_stock_quant_tree_inventory_editable"></field>
<field name="arch" type="xml">
<xpath expr="//field[@name='product_uom_id']" position="after">
<field name="value_unit" optional="show"/>
<field name="value" optional="hide"/>
</xpath>
<xpath expr="//field[@name='inventory_diff_quantity']" position="after">
<field name="value_difference" optional="show"/>
</xpath>
</field>
</record>
</data>
</odoo>