Stock Inventory Revaluation

stock_inventory_revaluation
REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/12.0/stock_inventory_revaluation
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYWarehouse
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Serpent Consulting Services Pvt. Ltd., Eficent Business and IT Consulting Services S.L., Matt Taylor
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Serpent Consulting Services Pvt. Ltd., Eficent Business and IT Consulting Services S.L., Matt Taylor
COMMITTERS
COMMITTERSDenis Roussel, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Matt Taylor, Pascal GOUHIER
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - account
    - analytic
    - portal
    - http_routing
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
stock_inventory_revaluation_get_move_form stock.inventory.revaluation.get.moves.form stock.inventory.revaluation.get.moves form New
stock_inventory_revaluation_mass_post_form stock.inventory.revaluation.mass.post.form stock.inventory.revaluation.mass.post form New
view_category_property_form product.category.stock.property.form.inherit product.category group Inherits stock_account.view_category_property_form
view_move_line_form account.move.line.form account.move.line field Inherits account.view_move_line_form
view_stock_inventory_revaluation_form stock.inventory.revaluation.form stock.inventory.revaluation form New
view_stock_inventory_revaluation_move_form stock.inventory.revaluation.move.form stock.inventory.revaluation.move form New
view_stock_inventory_revaluation_move_tree stock.inventory.revaluation.move.tree stock.inventory.revaluation.move tree New
view_stock_inventory_revaluation_search stock.inventory.revaluation.search stock.inventory.revaluation search New
view_stock_inventory_revaluation_tmpl_form stock.inventory.revaluation.tmpl.form stock.inventory.revaluation.template form New
view_stock_inventory_revaluation_tmpl_tree stock.inventory.revaluation.tmpl.tree stock.inventory.revaluation.template tree New
view_stock_inventory_revaluation_tree stock.inventory.revaluation.tree stock.inventory.revaluation tree New
Models touched (10)

New fields (1)
  • stock_inventory_revaluation_id Many2one → stock.inventory.revaluation
    comodel_name='stock.inventory.revaluation' copy=False ondelete='restrict' string='Stock Inventory Revaluation'
Public methods (1)
  • unlink(self)
    @api.multi

New fields (1)
  • stock_inventory_revaluation_id Many2one → stock.inventory.revaluation
    comodel_name='stock.inventory.revaluation' copy=False ondelete='restrict' related='move_id.stock_inventory_revaluation_id' store=True string='Stock Inventory Revaluation'
Public methods (1)
  • unlink(self)
    @api.multi

New fields (2)
  • property_inventory_revaluation_decrease_account_categ Many2one → account.account
    company_dependent=True help='Define the Financial Accounts to be used as the balancing account in the transaction created by the revaluation. The Valuation Decrease Account is used when the inventory value is decreased.' string='Valuation Decrease Account' args: 'account.account'
  • property_inventory_revaluation_increase_account_categ Many2one → account.account
    company_dependent=True help='Define the Financial Accounts to be used as the balancing account in the transaction created by the revaluation. The Valuation Increase Account is used when the inventory value is increased due to the revaluation.' string='Valuation Increase Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • do_change_standard_price(self, new_price, account_id)
    @api.multi
    Override standard method, as it was not suitable.

New fields (0)

No new fields.

Public methods (1)
  • default_get(self, fields)
    @api.model

New fields (25)
  • account_move_ids One2many → account.move
    comodel_name='account.move' inverse_name='stock_inventory_revaluation_id' readonly=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> readonly=True states={'draft': [('readonly', False)]} string='Company'
  • cost_method Char
    related='product_id.cost_method' string='Cost Method'
  • current_cost Float
    help='The current cost of the product.' related='product_id.standard_price' string='Current cost'
  • current_value Float
    help='Total current value of product in stock' related='product_id.stock_value' string='Current value'
  • decrease_account_id Many2one → account.account
    comodel_name='account.account' help='Define the G/L accounts to be used as the balancing account in the transaction created by the revaluation. The Decrease Account is used when the inventory value is decreased.' readonly=True states={'draft': [('readonly', False)]} string='Decrease Account'
  • document_date Datetime
    readonly=True string='Applied date'
  • increase_account_id Many2one → account.account
    comodel_name='account.account' help='Define the G/L accounts to be used as the balancing account in the transaction created by the revaluation. The Increase Account is used when the inventory value is increased due to the revaluation.' readonly=True states={'draft': [('readonly', False)]} string='Increase Account'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' help='Select a journal for the accounting entry. Leave blank to usethe default journal for the product.' readonly=True states={'draft': [('readonly', False)]} string='Journal'
  • name Char
    copy=False default='/' help='Reference for the journal entry' readonly=True required=True states={'draft': [('readonly', False)]} string='Reference'
  • new_cost Float
    digits=dp.get_precision('Product Price') help='Enter the new cost you wish to assign to the product. Relevant only when the selected revaluation type is Price Change.' readonly=True states={'draft': [('readonly', False)]} string='New cost'
  • new_value Float
    digits=dp.get_precision('Account') help='New total value for the available inventory. Relevant only if the selected revaluation type is Total Value Change. Actual resulting value may be slightly different, based on per-unit price precision and rounding.' readonly=True states={'draft': [('readonly', False)]} string='New value'
  • old_cost Float
    digits=dp.get_precision('Product Price') help='Displays the previous cost of the product' readonly=True string='Old cost'
  • old_value Float
    digits=dp.get_precision('Account') help='Total current value of the product, prior to revaluation' readonly=True string='Old value'
  • post_date Date
    help='Journal Entry posting date' readonly=True states={'draft': [('readonly', False)]} string='Posting Date'
  • product_id Many2one → product.product
    comodel_name='product.product' domain=[('type', '=', 'product')] readonly=True required=True states={'draft': [('readonly', False)]} string='Product'
  • product_template_id Many2one → product.template
    comodel_name='product.template' related='product_id.product_tmpl_id' store=True string='Product Template'
  • qty_available Float
    digits=dp.get_precision('Product Unit of Measure') related='product_id.qty_available' string='Quantity On Hand'
  • remarks Text
    help='Displays by default Inventory Revaluation. This text is copied to the journal entry.' readonly=True states={'draft': [('readonly', False)]} string='Remarks'
  • reval_move_ids One2many → stock.inventory.revaluation.move
    comodel_name='stock.inventory.revaluation.move' copy=False inverse_name='revaluation_id' readonly=True states={'draft': [('readonly', False)]} string='Revaluation Moves'
  • reval_template_id Many2one → stock.inventory.revaluation.template
    comodel_name='stock.inventory.revaluation.template' help='Choose a template to automatically apply revaluation options.' readonly=True states={'draft': [('readonly', False)]} string='Template'
  • revaluation_type Selection
    default='inventory_value' help="'Unit Price Change': Change the per-unit price of the product. Inventory value is recalculated according to the new price and available quantity.\n'Total Value Change': Change the total value of the inventory. Unit price is recalculated according to the new total value and available quantity. Actual resulting value may be slightly different, based on per-unit price precision and rounding." readonly=True required=True selection=[('price_change', 'Unit Price Change'), ('inventory_value', 'Total Value Change')] states={'draft': [('readonly', False)]} string='Revaluation Type'
  • state Selection
    default='draft' readonly=True required=True selection=[('draft', 'Draft'), ('posted', 'Posted'), ('cancel', 'Cancelled')] string='Status'
  • stock_valuation_account_id Many2one → account.account
    comodel_name='account.account' help='To be set automatically when posting the revaluation' readonly=True string='Stock Valuation Account'
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' related='product_template_id.uom_id' string='UoM'
Public methods (5)
  • button_cancel(self)
    @api.multi
  • button_draft(self)
    @api.multi
  • button_post(self)
    @api.multi
  • create(self, values)
    @api.model
  • post(self)
    @api.multi

New fields (6)
  • date_from Date
    args: 'Date From'
  • date_to Date
    args: 'Date To'
  • location_id Many2one → stock.location
    comodel_name='stock.location' domain=[('usage', '=', 'internal')] string='Location'
  • lot_id Many2one → stock.production.lot
    comodel_name='stock.production.lot' domain="[('product_id', '=', product_id)]" string='Lot/Serial'
  • product_id Many2one → product.product
    comodel_name='product.product' related='revaluation_id.product_id'
  • revaluation_id Many2one → stock.inventory.revaluation
    comodel_name='stock.inventory.revaluation' required=True string='Revaluation'
Public methods (2)
  • default_get(self, fields)
    @api.model
  • process(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • process(self)
    @api.multi

New fields (13)
  • company_id Many2one → res.company
    comodel_name='res.company' related='revaluation_id.company_id' string='Company'
  • current_value Float
    related='move_id.remaining_value' string='Current Value'
  • in_date Datetime
    related='move_id.date' string='Incoming Date'
  • location_id Many2one → stock.location
    comodel_name='stock.location' related='move_id.location_dest_id' string='Location'
  • move_id Many2one → stock.move
    comodel_name='stock.move' readonly=True required=True string='Stock Move'
  • name Char
    compute='_compute_name' readonly=True store=True string='Name'
  • new_value Float
    copy=False digits=dp.get_precision('Product Price') help='Enter the new value you wish to assign to the Move. Relevant only when the selected revaluation type is Total Value Change.' string='New Value'
  • old_qty Float
    help="We store the remaining quantity, at the time of posting the revaluation, in case the revaluation gets canceled. If the remaining quantity at the time of cancellation is different, we can't allow the cancellation." readonly=True string='Old Quantity'
  • old_value Float
    digits=dp.get_precision('Product Price') help='Shows the previous value of the move' readonly=True string='Previous Value'
  • product_id Many2one → product.product
    comodel_name='product.product' related='move_id.product_id' string='Product'
  • qty Float
    related='move_id.remaining_qty' string='Quantity'
  • revaluation_id Many2one → stock.inventory.revaluation
    comodel_name='stock.inventory.revaluation' readonly=True required=True string='Revaluation'
  • state Selection
    related='revaluation_id.state'
Public methods (4)
  • create_account_moves(self)
    @api.model
    Must be called after writing new values to reval moves
  • get_value_change(self)
    @api.model
  • write_new_value(self)
    @api.model
  • write_old_value(self)
    @api.model

New fields (6)
  • decrease_account_id Many2one → account.account
    comodel_name='account.account' help='Define the G/L accounts to be used as the balancing account in the transaction created by the revaluation. The Decrease Account is used when the inventory value is decreased.' string='Decrease Account'
  • increase_account_id Many2one → account.account
    comodel_name='account.account' help='Define the G/L accounts to be used as the balancing account in the transaction created by the revaluation. The Increase Account is used when the inventory value is increased due to the revaluation.' string='Increase Account'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' help='Select a journal for the accounting entry. Leave blank to usethe default journal for the product.' string='Journal'
  • name Char
    required=True string='Name'
  • remarks Text
    help='This text is copied to the notes on the journal entry.' required=True string='Remarks'
  • revaluation_type Selection
    default='inventory_value' help="'Unit Price Change': Change the per-unit price of the product. Inventory value is recalculated according to the new price and available quantity.\n'Total Value Change': Change the total value of the inventory. Unit price is recalculated according to the new total value and available quantity." required=True selection=[('price_change', 'Unit Price Change'), ('inventory_value', 'Total Value Change')] string='Revaluation Type'
Public methods (1)
  • copy(self, default=None)
    @api.multi@api.returns('self', <expr>)
REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/10.0/stock_inventory_revaluation
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYWarehouse
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Serpent Consulting Services Pvt. Ltd., Eficent Business and IT Consulting Services S.L.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Serpent Consulting Services Pvt. Ltd., Eficent Business and IT Consulting Services S.L.
COMMITTERS
COMMITTERSmreficent, Denis Roussel, Lois Rilo, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - report
    - procurement
    - barcodes
    - web_planner
    - account
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
stock_inventory_revaluation_get_quant_form stock.inventory.revaluation.get.quant.form stock.inventory.revaluation.get.quant form New
stock_inventory_revaluation_mass_post_form stock.inventory.revaluation.mass.post.form stock.inventory.revaluation.mass.post form New
view_category_property_form product.category.stock.property.form.inherit product.category group Inherits stock_account.view_category_property_form
view_move_line_form account.move.line.form account.move.line field Inherits account.view_move_line_form
view_stock_inventory_revaluation_form stock.inventory.revaluation.form stock.inventory.revaluation form New
view_stock_inventory_revaluation_quant_form stock.inventory.revaluation.quant.form stock.inventory.revaluation.quant form New
view_stock_inventory_revaluation_quant_tree stock.inventory.revaluation.quant.tree stock.inventory.revaluation.quant tree New
view_stock_inventory_revaluation_search stock.inventory.revaluation.search stock.inventory.revaluation search New
view_stock_inventory_revaluation_tree stock.inventory.revaluation.tree stock.inventory.revaluation tree New
Models touched (9)

New fields (1)
  • stock_inventory_revaluation_id Many2one → stock.inventory.revaluation
    comodel_name='stock.inventory.revaluation' copy=False ondelete='restrict' string='Stock Inventory Revaluation'
Public methods (1)
  • unlink(self)
    @api.multi

New fields (1)
  • stock_inventory_revaluation_id Many2one → stock.inventory.revaluation
    comodel_name='stock.inventory.revaluation' copy=False ondelete='restrict' readonly=True related='move_id.stock_inventory_revaluation_id' store=True string='Stock Inventory Revaluation'
Public methods (1)
  • unlink(self)
    @api.multi

New fields (2)
  • property_inventory_revaluation_decrease_account_categ Many2one → account.account
    company_dependent=True help='Define the Financial Accounts to be used as the balancing account in the transaction created by the revaluation. The Valuation Decrease Account is used when the inventory value is decreased.' string='Valuation Decrease Account' args: 'account.account'
  • property_inventory_revaluation_increase_account_categ Many2one → account.account
    company_dependent=True help='Define the Financial Accounts to be used as the balancing account in the transaction created by the revaluation. The Valuation Increase Account is used when the inventory value is increased due to the revaluation.' string='Valuation Increase Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • do_change_standard_price(self, new_price, account_id)
    @api.multi
    Override standard method, as it was not suitable.

New fields (0)

No new fields.

Public methods (1)
  • default_get(self, fields)
    @api.model

New fields (24)
  • account_move_ids One2many → account.move
    comodel_name='account.move' inverse_name='stock_inventory_revaluation_id' readonly=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> readonly=True states={'draft': [('readonly', False)]} string='Company'
  • cost_method Char
    readonly=True related='product_id.cost_method' string='Cost Method'
  • current_cost Float
    compute='_compute_calc_current_cost' digits=dp.get_precision('Product Price') help='Displays the current cost of the product.' readonly=True args: 'Current cost'
  • current_value Float
    compute='_compute_calc_product_value' digits=dp.get_precision('Account') help='Displays the current value of the product.' readonly=True args: 'Current value'
  • decrease_account_id Many2one → account.account
    help='Define the G/L accounts to be used as the balancing account in the transaction created by the revaluation. The Decrease Account is used when the inventory value is decreased.' readonly=True states={'draft': [('readonly', False)]} args: 'account.account', 'Decrease Account'
  • document_date Date
    default=<expr> readonly=True required=True states={'draft': [('readonly', False)]} args: 'Creation date'
  • increase_account_id Many2one → account.account
    help='Define the G/L accounts to be used as the balancing account in the transaction created by the revaluation. The Increase Account is used when the inventory value is increased due to the revaluation.' readonly=True states={'draft': [('readonly', False)]} args: 'account.account', 'Increase Account'
  • journal_id Many2one → account.journal
    default=_default_journal readonly=True states={'draft': [('readonly', False)]} args: 'account.journal', 'Journal'
  • name Char
    copy=False default='/' help='Reference for the journal entry' readonly=True required=True states={'draft': [('readonly', False)]} args: 'Reference'
  • new_cost Float
    digits=dp.get_precision('Product Price') help='Enter the new cost you wish to assign to the product. Relevant only when the selected revaluation type is Price Change.' readonly=True states={'draft': [('readonly', False)]} args: 'New cost'
  • new_value Float
    digits=dp.get_precision('Account') help='Enter the amount you wish to credit or debit from the current inventory value of the item. Enter credit as a negative value.Relevant only if the selected revaluation type is Inventory Credit/Debit.' args: 'Credit/Debit amount'
  • old_cost Float
    digits=dp.get_precision('Product Price') help='Displays the previous cost of the product.' readonly=True args: 'Old cost'
  • old_value Float
    digits=dp.get_precision('Account') help='Displays the current value of the product.' readonly=True args: 'Old value'
  • post_date Datetime
    help='Date of actual processing' readonly=True states={'draft': [('readonly', False)]} args: 'Posting Date'
  • product_id Many2one → product.product
    domain=[('type', '=', 'product')] readonly=True required=True states={'draft': [('readonly', False)]} args: 'product.product', 'Product'
  • product_template_id Many2one → product.template
    readonly=True related='product_id.product_tmpl_id' store=True args: 'product.template', 'Product Template'
  • qty_available Float
    compute='_compute_get_product_qty' digits=dp.get_precision('Product Unit of Measure') args: 'Quantity On Hand'
  • remarks Text
    default='Inventory Revaluation' help='Displays by default Inventory Revaluation. This text is copied to the journal entry.' readonly=True states={'draft': [('readonly', False)]} args: 'Remarks'
  • reval_quant_ids One2many → stock.inventory.revaluation.quant
    string='Revaluation line quants' args: 'stock.inventory.revaluation.quant', 'revaluation_id'
  • revaluation_type Selection
    default='price_change' help="'Price Change': You can re-valuate inventory values by Changing the price for a specific product. The inventory price is changed and inventory value is recalculated according to the new price.\n 'Inventory Debit/Credit': Changing the value of the inventory. The quantity of inventory remains unchanged, resulting in a change in the price" readonly=True required=True states={'draft': [('readonly', False)]} string='Revaluation Type' args: [('price_change', 'Price Change'), ('inventory_value', 'Inventory Debit/Credit')]
  • state Selection
    default='draft' readonly=True required=True selection=[('draft', 'Draft'), ('posted', 'Posted'), ('cancel', 'Cancelled')] states={'draft': [('readonly', False)]} string='Status'
  • uom_id Many2one → product.uom
    readonly=True related='product_template_id.uom_id' args: 'product.uom', 'UoM'
  • user_id Many2one → res.users
    default=<expr> readonly=True states={'draft': [('readonly', False)]} args: 'res.users', 'Created by'
Public methods (5)
  • button_cancel(self)
    @api.multi
  • button_draft(self)
    @api.multi
  • button_post(self)
    @api.multi
  • create(self, values)
    @api.model
  • post(self)
    @api.multi

New fields (2)
  • date_from Date
    args: 'Date From'
  • date_to Date
    args: 'Date To'
Public methods (1)
  • process(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • process(self)
    @api.multi

New fields (10)
  • company_id Many2one → res.company
    comodel_name='res.company' readonly=True related='revaluation_id.company_id' string='Company'
  • current_cost Float
    readonly=True related='quant_id.cost' args: 'Current Cost'
  • in_date Datetime
    readonly=True related='quant_id.in_date' args: 'Incoming Date'
  • location_id Many2one → stock.location
    readonly=True related='quant_id.location_id' args: 'stock.location', 'Location'
  • new_cost Float
    copy=False digits=dp.get_precision('Product Price') help='Enter the new cost you wish to assign to the Quant. Relevant only when the selected revaluation type is Price Change.' args: 'New Cost'
  • old_cost Float
    help='Shows the previous cost of the quant' readonly=True args: 'Previous cost'
  • product_id Many2one → product.product
    readonly=True related='quant_id.product_id' args: 'product.product', 'Product'
  • qty Float
    readonly=True related='quant_id.qty' args: 'Quantity'
  • quant_id Many2one → stock.quant
    domain=[('product_id.type', '=', 'product')] ondelete='cascade' readonly=True required=True args: 'stock.quant', 'Quant'
  • revaluation_id Many2one → stock.inventory.revaluation
    readonly=True required=True args: 'stock.inventory.revaluation', 'Revaluation'
Public methods (1)
  • get_total_value(self)
    @api.model
REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/9.0/stock_inventory_revaluation
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYWarehouse
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Serpent Consulting Services Pvt. Ltd., Eficent Business and IT Consulting Services S.L.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Serpent Consulting Services Pvt. Ltd., Eficent Business and IT Consulting Services S.L.
COMMITTERS
COMMITTERSJordi Ballester Alomar, OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttp://www.eficent.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - report
    - procurement
    - barcodes
    - web_planner
    - account
    - analytic
    - web_tip
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
stock_inventory_revaluation_get_quant_form stock.inventory.revaluation.get.quant.form stock.inventory.revaluation.get.quant form New
stock_inventory_revaluation_mass_post_form stock.inventory.revaluation.mass.post.form stock.inventory.revaluation.mass.post form New
view_category_property_form product.category.stock.property.form.inherit product.category group Inherits stock_account.view_category_property_form
view_move_line_form account.move.line.form account.move.line field Inherits account.view_move_line_form
view_stock_inventory_revaluation_form stock.inventory.revaluation.form stock.inventory.revaluation form New
view_stock_inventory_revaluation_quant_form stock.inventory.revaluation.quant.form stock.inventory.revaluation.quant form New
view_stock_inventory_revaluation_quant_tree stock.inventory.revaluation.quant.tree stock.inventory.revaluation.quant tree New
view_stock_inventory_revaluation_search stock.inventory.revaluation.search stock.inventory.revaluation search New
view_stock_inventory_revaluation_tree stock.inventory.revaluation.tree stock.inventory.revaluation tree New
Models touched (8)

New fields (1)
  • stock_inventory_revaluation_id Many2one → stock.inventory.revaluation
    comodel_name='stock.inventory.revaluation' copy=False ondelete='restrict' string='Stock Inventory Revaluation'
Public methods (1)
  • unlink(self)
    @api.multi

New fields (1)
  • stock_inventory_revaluation_id Many2one → stock.inventory.revaluation
    comodel_name='stock.inventory.revaluation' copy=False ondelete='restrict' related='move_id.stock_inventory_revaluation_id' store=True string='Stock Inventory Revaluation'
Public methods (1)
  • unlink(self)
    @api.multi

New fields (2)
  • property_inventory_revaluation_decrease_account_categ Many2one → account.account
    company_dependent=True help='Define the Financial Accounts to be used as the balancing account in the transaction created by the revaluation. The Valuation Decrease Account is used when the inventory value is decreased.' string='Valuation Decrease Account' args: 'account.account'
  • property_inventory_revaluation_increase_account_categ Many2one → account.account
    company_dependent=True help='Define the Financial Accounts to be used as the balancing account in the transaction created by the revaluation. The Valuation Increase Account is used when the inventory value is increased due to the revaluation.' string='Valuation Increase Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • do_change_standard_price(self, new_price)
    @api.multi
    Override standard method, as it was not suitable.

New fields (24)
  • account_move_ids One2many → account.move
    comodel_name='account.move' inverse_name='stock_inventory_revaluation_id' readonly=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> readonly=True states={'draft': [('readonly', False)]} string='Company'
  • cost_method Char
    readonly=True related='product_id.cost_method' string='Cost Method'
  • current_cost Float
    compute='_compute_calc_current_cost' digits=dp.get_precision('Product Price') help='Displays the current cost of the product.' readonly=True args: 'Current cost'
  • current_value Float
    compute='_compute_calc_product_value' digits=dp.get_precision('Account') help='Displays the current value of the product.' readonly=True args: 'Current value'
  • decrease_account_id Many2one → account.account
    help='Define the G/L accounts to be used as the balancing account in the transaction created by the revaluation. The Decrease Account is used when the inventory value is decreased.' readonly=True states={'draft': [('readonly', False)]} args: 'account.account', 'Decrease Account'
  • document_date Date
    default=<expr> readonly=True required=True states={'draft': [('readonly', False)]} args: 'Creation date'
  • increase_account_id Many2one → account.account
    help='Define the G/L accounts to be used as the balancing account in the transaction created by the revaluation. The Increase Account is used when the inventory value is increased due to the revaluation.' readonly=True states={'draft': [('readonly', False)]} args: 'account.account', 'Increase Account'
  • journal_id Many2one → account.journal
    default=_default_journal readonly=True states={'draft': [('readonly', False)]} args: 'account.journal', 'Journal'
  • name Char
    copy=False default='/' help='Reference for the journal entry' readonly=True required=True states={'draft': [('readonly', False)]} args: 'Reference'
  • new_cost Float
    digits=dp.get_precision('Product Price') help='Enter the new cost you wish to assign to the product. Relevant only when the selected revaluation type is Price Change.' readonly=True states={'draft': [('readonly', False)]} args: 'New cost'
  • new_value Float
    digits=dp.get_precision('Account') help='Enter the amount you wish to credit or debit from the current inventory value of the item. Enter credit as a negative value.Relevant only if the selected revaluation type is Inventory Credit/Debit.' args: 'Credit/Debit amount'
  • old_cost Float
    digits=dp.get_precision('Product Price') help='Displays the previous cost of the product.' readonly=True args: 'Old cost'
  • old_value Float
    digits=dp.get_precision('Account') help='Displays the current value of the product.' readonly=True args: 'Old value'
  • post_date Datetime
    help='Date of actual processing' readonly=True states={'draft': [('readonly', False)]} args: 'Posting Date'
  • product_id Many2one → product.product
    domain=[('type', '=', 'product')] readonly=True required=True states={'draft': [('readonly', False)]} args: 'product.product', 'Product'
  • product_template_id Many2one → product.template
    related='product_id.product_tmpl_id' store=True args: 'product.template', 'Product Template'
  • qty_available Float
    compute='_compute_get_product_qty' digits_compute=dp.get_precision('Product Unit of Measure') args: 'Quantity On Hand'
  • remarks Text
    default='Inventory Revaluation' help='Displays by default Inventory Revaluation. This text is copied to the journal entry.' readonly=True states={'draft': [('readonly', False)]} args: 'Remarks'
  • reval_quant_ids One2many → stock.inventory.revaluation.quant
    string='Revaluation line quants' args: 'stock.inventory.revaluation.quant', 'revaluation_id'
  • revaluation_type Selection
    default='price_change' help="'Price Change': You can re-valuate inventory values by Changing the price for a specific product. The inventory price is changed and inventory value is recalculated according to the new price.\n 'Inventory Debit/Credit': Changing the value of the inventory. The quantity of inventory remains unchanged, resulting in a change in the price" readonly=True required=True states={'draft': [('readonly', False)]} string='Revaluation Type' args: [('price_change', 'Price Change'), ('inventory_value', 'Inventory Debit/Credit')]
  • state Selection
    default='draft' readonly=True required=True selection=[('draft', 'Draft'), ('posted', 'Posted'), ('cancel', 'Cancelled')] states={'draft': [('readonly', False)]} string='Status'
  • uom_id Many2one → product.uom
    readonly=True related='product_template_id.uom_id' args: 'product.uom', 'UoM'
  • user_id Many2one → res.users
    default=<expr> readonly=True states={'draft': [('readonly', False)]} args: 'res.users', 'Created by'
Public methods (5)
  • button_cancel(self)
    @api.multi
  • button_draft(self)
    @api.multi
  • button_post(self)
    @api.multi
  • create(self, values)
    @api.model
  • post(self)
    @api.multi

New fields (2)
  • date_from Date
    args: 'Date From'
  • date_to Date
    args: 'Date To'
Public methods (1)
  • process(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • process(self)
    @api.multi

New fields (10)
  • company_id Many2one → res.company
    comodel_name='res.company' readonly=True related='revaluation_id.company_id' string='Company'
  • current_cost Float
    readonly=True related='quant_id.cost' args: 'Current Cost'
  • in_date Datetime
    readonly=True related='quant_id.in_date' args: 'Incoming Date'
  • location_id Many2one → stock.location
    readonly=True related='quant_id.location_id' args: 'stock.location', 'Location'
  • new_cost Float
    copy=False digits=dp.get_precision('Product Price') help='Enter the new cost you wish to assign to the Quant. Relevant only when the selected revaluation type is Price Change.' args: 'New Cost'
  • old_cost Float
    help='Shows the previous cost of the quant' readonly=True args: 'Previous cost'
  • product_id Many2one → product.product
    readonly=True related='quant_id.product_id' args: 'product.product', 'Product'
  • qty Float
    readonly=True related='quant_id.qty' args: 'Quantity'
  • quant_id Many2one → stock.quant
    domain=[('product_id.type', '=', 'product')] ondelete='cascade' readonly=True required=True args: 'stock.quant', 'Quant'
  • revaluation_id Many2one → stock.inventory.revaluation
    readonly=True required=True args: 'stock.inventory.revaluation', 'Revaluation'
Public methods (2)
  • get_total_value(self)
    @api.model
  • write_new_cost(self)
    @api.model
REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/8.0/stock_inventory_revaluation
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYWarehouse
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent Business and IT Consulting Services S.L.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent Business and IT Consulting Services S.L.
COMMITTERS
COMMITTERSAlexandre Fayolle, GitHub, OCA Transbot, jbeficent, oca-travis, Weblate
WEBSITE
WEBSITEhttp://www.eficent.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:21
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - report
    - procurement
    - board
    - web_kanban_gauge
    - web_kanban_sparkline
    - account
    - analytic
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
stock_inventory_revaluation_get_quant_form stock.inventory.revaluation.get.quant.form stock.inventory.revaluation.get.quant form New
stock_inventory_revaluation_mass_post_form stock.inventory.revaluation.mass.post.form stock.inventory.revaluation.mass.post form New
view_category_property_form product.category.stock.property.form.inherit product.category group Inherits stock_account.view_category_property_form
view_move_line_form account.move.line.form account.move.line field Inherits account.view_move_line_form
view_stock_inventory_revaluation_form stock.inventory.revaluation.form stock.inventory.revaluation form New
view_stock_inventory_revaluation_quant_form stock.inventory.revaluation.quant.form stock.inventory.revaluation.quant form New
view_stock_inventory_revaluation_quant_tree stock.inventory.revaluation.quant.tree stock.inventory.revaluation.quant tree New
view_stock_inventory_revaluation_search stock.inventory.revaluation.search stock.inventory.revaluation search New
view_stock_inventory_revaluation_tree stock.inventory.revaluation.tree stock.inventory.revaluation tree New
Models touched (8)

New fields (1)
  • stock_inventory_revaluation_id Many2one → stock.inventory.revaluation
    comodel_name='stock.inventory.revaluation' copy=False ondelete='restrict' string='Stock Inventory Revaluation'
Public methods (1)
  • unlink(self)
    @api.multi

New fields (1)
  • stock_inventory_revaluation_id Many2one → stock.inventory.revaluation
    comodel_name='stock.inventory.revaluation' copy=False ondelete='restrict' related='move_id.stock_inventory_revaluation_id' store=True string='Stock Inventory Revaluation'
Public methods (1)
  • unlink(self, check=True)
    @api.multi

New fields (2)
  • property_inventory_revaluation_decrease_account_categ Many2one → account.account
    company_dependent=True help='Define the Financial Accounts to be used as the balancing account in the transaction created by the revaluation. The Valuation Decrease Account is used when the inventory value is decreased.' string='Valuation Decrease Account' args: 'account.account'
  • property_inventory_revaluation_increase_account_categ Many2one → account.account
    company_dependent=True help='Define the Financial Accounts to be used as the balancing account in the transaction created by the revaluation. The Valuation Increase Account is used when the inventory value is increased due to the revaluation.' string='Valuation Increase Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • do_change_standard_price(self, new_price)
    @api.multi
    Override standard method, as it was not suitable.

New fields (23)
  • account_move_ids One2many → account.move
    comodel_name='account.move' inverse_name='stock_inventory_revaluation_id' readonly=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> readonly=True states={'draft': [('readonly', False)]} string='Company'
  • cost_method Selection
    readonly=True related='product_template_id.cost_method' string='Cost Method'
  • current_cost Float
    compute='_compute_current_cost' digits=dp.get_precision('Product Price') help='Displays the current cost of the product.' readonly=True args: 'Current cost'
  • current_value Float
    compute='_compute_product_template_value' digits=dp.get_precision('Account') help='Displays the current value of the product.' readonly=True args: 'Current value'
  • decrease_account_id Many2one → account.account
    help='Define the G/L accounts to be used as the balancing account in the transaction created by the revaluation. The Decrease Account is used when the inventory value is decreased.' args: 'account.account', 'Decrease Account'
  • document_date Date
    default=<expr> readonly=True required=True states={'draft': [('readonly', False)]} args: 'Creation date'
  • increase_account_id Many2one → account.account
    help='Define the G/L accounts to be used as the balancing account in the transaction created by the revaluation. The Increase Account is used when the inventory value is increased due to the revaluation.' args: 'account.account', 'Increase Account'
  • journal_id Many2one → account.journal
    default=_default_journal readonly=True states={'draft': [('readonly', False)]} args: 'account.journal', 'Journal'
  • name Char
    copy=False default='/' help='Reference for the journal entry' readonly=True required=True states={'draft': [('readonly', False)]} args: 'Reference'
  • new_cost Float
    digits=dp.get_precision('Product Price') help='Enter the new cost you wish to assign to the product. Relevant only when the selected revaluation type is Price Change.' args: 'New cost'
  • new_value Float
    digits=dp.get_precision('Account') help='Enter the amount you wish to credit or debit from the current inventory value of the item. Enter credit as a negative value.Relevant only if the selected revaluation type is Inventory Credit/Debit.' args: 'Credit/Debit amount'
  • old_cost Float
    digits=dp.get_precision('Product Price') help='Displays the previous cost of the product.' readonly=True args: 'Old cost'
  • old_value Float
    digits=dp.get_precision('Account') help='Displays the current value of the product.' readonly=True args: 'Old value'
  • post_date Datetime
    help='Date of actual processing' states={'done': [('readonly', True)]} args: 'Posting Date'
  • product_template_id Many2one → product.template
    domain=[('type', '=', 'product')] required=True args: 'product.template', 'Product'
  • qty_available Float
    compute='_compute_product_template_qty' digits_compute=dp.get_precision('Product Unit of Measure') args: 'Quantity On Hand'
  • remarks Text
    default='Inventory Revaluation' help='Displays by default Inventory Revaluation. This text is copied to the journal entry.' readonly=True states={'draft': [('readonly', False)]} args: 'Remarks'
  • reval_quant_ids One2many → stock.inventory.revaluation.quant
    string='Revaluation line quants' args: 'stock.inventory.revaluation.quant', 'revaluation_id'
  • revaluation_type Selection
    default='price_change' help="'Price Change': You can re-valuate inventory values by Changing the price for a specific product. The inventory price is changed and inventory value is recalculated according to the new price.\n 'Inventory Debit/Credit': Changing the value of the inventory. The quantity of inventory remains unchanged, resulting in a change in the price" readonly=True required=True states={'draft': [('readonly', False)]} string='Revaluation Type' args: [('price_change', 'Price Change'), ('inventory_value', 'Inventory Debit/Credit')]
  • state Selection
    default='draft' readonly=True required=True selection=[('draft', 'Draft'), ('posted', 'Posted'), ('cancel', 'Cancelled')] states={'draft': [('readonly', False)]} string='Status'
  • uom_id Many2one → product.uom
    readonly=True related='product_template_id.uom_id' args: 'product.uom', 'UoM'
  • user_id Many2one → res.users
    default=<expr> readonly=True states={'draft': [('readonly', False)]} args: 'res.users', 'Created by'
Public methods (5)
  • button_cancel(self)
    @api.multi
  • button_draft(self)
    @api.multi
  • button_post(self)
    @api.multi
  • create(self, values)
    @api.model
  • post(self)
    @api.multi

New fields (2)
  • date_from Date
    args: 'Date From'
  • date_to Date
    args: 'Date To'
Public methods (1)
  • process(self)
    @api.multi

New fields (0)

No new fields.

Public methods (2)
  • default_get(self, fields)
    @api.model
  • process(self)
    @api.multi

New fields (10)
  • company_id Many2one → res.company
    comodel_name='res.company' readonly=True related='revaluation_id.company_id' string='Company'
  • current_cost Float
    readonly=True related='quant_id.cost' args: 'Current Cost'
  • in_date Datetime
    readonly=True related='quant_id.in_date' args: 'Incoming Date'
  • location_id Many2one → stock.location
    readonly=True related='quant_id.location_id' args: 'stock.location', 'Location'
  • new_cost Float
    copy=False digits=dp.get_precision('Product Price') help='Enter the new cost you wish to assign to the Quant. Relevant only when the selected revaluation type is Price Change.' args: 'New Cost'
  • old_cost Float
    help='Shows the previous cost of the quant' readonly=True args: 'Previous cost'
  • product_id Many2one → product.product
    readonly=True related='quant_id.product_id' args: 'product.product', 'Product'
  • qty Float
    readonly=True related='quant_id.qty' args: 'Quantity'
  • quant_id Many2one → stock.quant
    domain=[('product_id.type', '=', 'product')] ondelete='cascade' readonly=True required=True args: 'stock.quant', 'Quant'
  • revaluation_id Many2one → stock.inventory.revaluation
    readonly=True required=True args: 'stock.inventory.revaluation', 'Revaluation'
Public methods (2)
  • get_total_value(self)
  • write_new_cost(self)