Stock Valuation Layer Usage

stock_valuation_layer_usage
REPOSITORY
REPOSITORYOCA/stock-logistics-workflow
GIT
GIThttps://github.com/OCA/stock-logistics-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-workflow/tree/18.0/stock_valuation_layer_usage
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYWarehouse Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, JasminSForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/stock-logistics-workflow:
    - stock_account_product_run_fifo_hook
odoo/odoo:
    - 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 allows to trace the usage of stock valuation layer. That is,
makes it possible to identify in what stock moves was a given valuation
layer used, and how much quantity was taken by the particular stock
move.

This kind of traceability is important in case that at some point you
want to conduct an revaluation (for example, in case that the purchase
order price changes after the products have been received into stock).

Also, it changes the way the outgoing layers are created in order to
respect the MTO case. When creating the out svl, Odoo takes the first
layer available with value. The module stock_valuation_layer_usage
arises an issue with that Odoo process. Odoo will take always the oldest
svl. However, that is not the case for MTO. When there is a fixed link
between the incoming move and the outgoing move, at the time of creating
the outgoing svl the system should take the specific incoming svl not
just the oldest one. Also, when the case is not MTO, the system should
avoid using svl that are "reserved".

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
stock_valuation_layer_form stock.valuation.layer.form stock.valuation.layer notebook Inherits stock_account.stock_valuation_layer_form
stock_valuation_layer_usage_form stock.valuation.layer.usage.form stock.valuation.layer.usage form New
stock_valuation_layer_usage_list stock.valuation.layer.usage.list stock.valuation.layer.usage list New
stock_valuation_layer_usage_pivot stock.valuation.layer.usage.pivot stock.valuation.layer.usage pivot New
stock_valuation_layer_usage_search stock.valuation.layer.usage.search stock.valuation.layer.usage search New
view_move_form_inherit stock.move.form.inherit stock.move group Inherits stock_account.view_move_form_inherit
Models touched (3)

New fields (1)
  • layer_usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace what valuation layers have been used by this move, including the quantities taken.' inverse_name='stock_move_id' string='Valuation Layer Usage'
Public methods (0)

No public methods.

New fields (6)
  • incoming_usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace on what stock moves has the stock valuation been used in, including the quantities taken.' inverse_name='dest_stock_valuation_layer_id' string='Incoming Valuation Usage'
  • incoming_usage_quantity Float
    compute='_compute_incoming_usages' store=True string='Incoming Usage quantity'
  • incoming_usage_value Float
    compute='_compute_incoming_usages' store=True string='Incoming Usage value'
  • usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace on what stock moves has the stock valuation been used in, including the quantities taken.' inverse_name='stock_valuation_layer_id' string='Valuation Usage'
  • usage_quantity Float
    compute='_compute_usage_values' store=True
  • usage_value Float
    compute='_compute_usage_values' store=True
Public methods (2)
  • create(self, values)
    @api.model_create_multi
  • write(self, values)

New fields (7)
  • company_id Many2one → res.company
    readonly=True required=True args: 'res.company', 'Company'
  • dest_stock_valuation_layer_id Many2one → stock.valuation.layer
    comodel_name='stock.valuation.layer' help='Valuation Layer that was used' required=False string='Destination Stock Valuation Layer'
  • product_id Many2one → product.product
    comodel_name='product.product' related='stock_valuation_layer_id.product_id' store=True
  • quantity Float
    string='Taken Quantity'
  • stock_move_id Many2one → stock.move
    comodel_name='stock.move' help='Stock move that took the quantities and value from the layer' string='Stock Move'
  • stock_valuation_layer_id Many2one → stock.valuation.layer
    comodel_name='stock.valuation.layer' help='Valuation Layer that was used' required=True string='Stock Valuation Layer'
  • value Float
    string='Taken Value'
Public methods (1)
  • init(self)
REPOSITORY
REPOSITORYOCA/stock-logistics-workflow
GIT
GIThttps://github.com/OCA/stock-logistics-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-workflow/tree/17.0/stock_valuation_layer_usage
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYWarehouse Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSMiquel Raïch, AaronHForgeFlow, Weblate, OCA-git-bot, oca-ci, JasminSForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:07
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/stock-logistics-workflow:
    - stock_account_product_run_fifo_hook
odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - 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 allows to trace the usage of stock valuation layer. That is,
makes it possible to identify in what stock moves was a given valuation
layer used, and how much quantity was taken by the particular stock
move.

This kind of traceability is important in case that at some point you
want to conduct an revaluation (for example, in case that the purchase
order price changes after the products have been received into stock).

Also, it changes the way the outgoing layers are created in order to
respect the MTO case. When creating the out svl, Odoo takes the first
layer available with value. The module stock_valuation_layer_usage
arises an issue with that Odoo process. Odoo will take always the oldest
svl. However, that is not the case for MTO. When there is a fixed link
between the incoming move and the outgoing move, at the time of creating
the outgoing svl the system should take the specific incoming svl not
just the oldest one. Also, when the case is not MTO, the system should
avoid using svl that are "reserved".

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
stock_valuation_layer_form stock.valuation.layer.form stock.valuation.layer notebook Inherits stock_account.stock_valuation_layer_form
stock_valuation_layer_usage_form stock.valuation.layer.usage.form stock.valuation.layer.usage form New
stock_valuation_layer_usage_pivot stock.valuation.layer.usage.pivot stock.valuation.layer.usage pivot New
stock_valuation_layer_usage_search stock.valuation.layer.usage.search stock.valuation.layer.usage search New
stock_valuation_layer_usage_tree stock.valuation.layer.usage.tree stock.valuation.layer.usage tree New
view_move_form_inherit stock.move.form.inherit stock.move group Inherits stock_account.view_move_form_inherit
Models touched (3)

New fields (1)
  • layer_usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace what valuation layers have been used by this move, including the quantities taken.' inverse_name='stock_move_id' string='Valuation Layer Usage'
Public methods (0)

No public methods.

New fields (6)
  • incoming_usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace on what stock moves has the stock valuation been used in, including the quantities taken.' inverse_name='dest_stock_valuation_layer_id' string='Incoming Valuation Usage'
  • incoming_usage_quantity Float
    compute='_compute_incoming_usages' store=True string='Incoming Usage quantity'
  • incoming_usage_value Float
    compute='_compute_incoming_usages' store=True string='Incoming Usage value'
  • usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace on what stock moves has the stock valuation been used in, including the quantities taken.' inverse_name='stock_valuation_layer_id' string='Valuation Usage'
  • usage_quantity Float
    compute='_compute_usage_values' store=True
  • usage_value Float
    compute='_compute_usage_values' store=True
Public methods (2)
  • create(self, values)
    @api.model_create_multi
  • write(self, values)

New fields (7)
  • company_id Many2one → res.company
    readonly=True required=True args: 'res.company', 'Company'
  • dest_stock_valuation_layer_id Many2one → stock.valuation.layer
    comodel_name='stock.valuation.layer' help='Valuation Layer that was used' required=False string='Destination Stock Valuation Layer'
  • product_id Many2one → product.product
    comodel_name='product.product' related='stock_valuation_layer_id.product_id' store=True
  • quantity Float
    string='Taken Quantity'
  • stock_move_id Many2one → stock.move
    comodel_name='stock.move' help='Stock move that took the quantities and value from the layer' string='Stock Move'
  • stock_valuation_layer_id Many2one → stock.valuation.layer
    comodel_name='stock.valuation.layer' help='Valuation Layer that was used' required=True string='Stock Valuation Layer'
  • value Float
    string='Taken Value'
Public methods (1)
  • init(self)
REPOSITORY
REPOSITORYOCA/stock-logistics-workflow
GIT
GIThttps://github.com/OCA/stock-logistics-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-workflow/tree/16.0/stock_valuation_layer_usage
VERSION
VERSION 2.1.0
CATEGORY
CATEGORYWarehouse Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSPedro M. Baeza, Jordi Ballester Alomar, Miquel Raïch, AaronHForgeFlow, Weblate, OCA-git-bot, oca-ci, Christopher Ormaza
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:51
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/stock-logistics-workflow:
    - stock_account_product_run_fifo_hook
odoo/odoo:
    - 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 (6)
XML IDNameModelTypeStatus
stock_valuation_layer_form stock.valuation.layer.form stock.valuation.layer notebook Inherits stock_account.stock_valuation_layer_form
stock_valuation_layer_usage_form stock.valuation.layer.usage.form stock.valuation.layer.usage form New
stock_valuation_layer_usage_pivot stock.valuation.layer.usage.pivot stock.valuation.layer.usage pivot New
stock_valuation_layer_usage_search stock.valuation.layer.usage.search stock.valuation.layer.usage search New
stock_valuation_layer_usage_tree stock.valuation.layer.usage.tree stock.valuation.layer.usage tree New
view_move_form_inherit stock.move.form.inherit stock.move group Inherits stock_account.view_move_form_inherit
Models touched (3)

New fields (1)
  • layer_usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace what valuation layers have been used by this move, including the quantities taken.' inverse_name='stock_move_id' string='Valuation Layer Usage'
Public methods (0)

No public methods.

New fields (6)
  • incoming_usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace on what stock moves has the stock valuation been used in, including the quantities taken.' inverse_name='dest_stock_valuation_layer_id' string='Incoming Valuation Usage'
  • incoming_usage_quantity Float
    compute='_compute_incoming_usages' store=True string='Incoming Usage quantity'
  • incoming_usage_value Float
    compute='_compute_incoming_usages' store=True string='Incoming Usage value'
  • usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace on what stock moves has the stock valuation been used in, including the quantities taken.' inverse_name='stock_valuation_layer_id' string='Valuation Usage'
  • usage_quantity Float
    compute='_compute_usage_values' store=True
  • usage_value Float
    compute='_compute_usage_values' store=True
Public methods (2)
  • create(self, values)
    @api.model_create_multi
  • write(self, values)

New fields (7)
  • company_id Many2one → res.company
    readonly=True required=True args: 'res.company', 'Company'
  • dest_stock_valuation_layer_id Many2one → stock.valuation.layer
    comodel_name='stock.valuation.layer' help='Valuation Layer that was used' required=False string='Destination Stock Valuation Layer'
  • product_id Many2one → product.product
    comodel_name='product.product' related='stock_valuation_layer_id.product_id' store=True
  • quantity Float
    string='Taken Quantity'
  • stock_move_id Many2one → stock.move
    comodel_name='stock.move' help='Stock move that took the quantities and value from the layer' string='Stock Move'
  • stock_valuation_layer_id Many2one → stock.valuation.layer
    comodel_name='stock.valuation.layer' help='Valuation Layer that was used' required=True string='Stock Valuation Layer'
  • value Float
    string='Taken Value'
Public methods (1)
  • init(self)
REPOSITORY
REPOSITORYOCA/stock-logistics-workflow
GIT
GIThttps://github.com/OCA/stock-logistics-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-workflow/tree/15.0/stock_valuation_layer_usage
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYWarehouse Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSMiquel Raïch, AaronHForgeFlow, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:37
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/stock-logistics-workflow:
    - stock_account_product_run_fifo_hook
odoo/odoo:
    - 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 (6)
XML IDNameModelTypeStatus
stock_valuation_layer_form stock.valuation.layer.form stock.valuation.layer notebook Inherits stock_account.stock_valuation_layer_form
stock_valuation_layer_usage_form stock.valuation.layer.usage.form stock.valuation.layer.usage form New
stock_valuation_layer_usage_pivot stock.valuation.layer.usage.pivot stock.valuation.layer.usage pivot New
stock_valuation_layer_usage_search stock.valuation.layer.usage.search stock.valuation.layer.usage search New
stock_valuation_layer_usage_tree stock.valuation.layer.usage.tree stock.valuation.layer.usage tree New
view_move_form_inherit stock.move.form.inherit stock.move group Inherits stock_account.view_move_form_inherit
Models touched (3)

New fields (1)
  • layer_usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace what valuation layers have been used by this move, including the quantities taken.' inverse_name='stock_move_id' string='Valuation Layer Usage'
Public methods (0)

No public methods.

New fields (6)
  • incoming_usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace on what stock moves has the stock valuation been used in, including the quantities taken.' inverse_name='dest_stock_valuation_layer_id' string='Incoming Valuation Usage'
  • incoming_usage_quantity Float
    compute='_compute_incoming_usages' store=True string='Incoming Usage quantity'
  • incoming_usage_value Float
    compute='_compute_incoming_usages' store=True string='Incoming Usage value'
  • usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace on what stock moves has the stock valuation been used in, including the quantities taken.' inverse_name='stock_valuation_layer_id' string='Valuation Usage'
  • usage_quantity Float
    compute='_compute_usage_values' store=True
  • usage_value Float
    compute='_compute_usage_values' store=True
Public methods (2)
  • create(self, values)
    @api.model_create_multi
  • write(self, values)

New fields (7)
  • company_id Many2one → res.company
    readonly=True required=True args: 'res.company', 'Company'
  • dest_stock_valuation_layer_id Many2one → stock.valuation.layer
    comodel_name='stock.valuation.layer' help='Valuation Layer that was used' required=False string='Destination Stock Valuation Layer'
  • product_id Many2one → product.product
    comodel_name='product.product' related='stock_valuation_layer_id.product_id' store=True
  • quantity Float
    string='Taken Quantity'
  • stock_move_id Many2one → stock.move
    comodel_name='stock.move' help='Stock move that took the quantities and value from the layer' string='Stock Move'
  • stock_valuation_layer_id Many2one → stock.valuation.layer
    comodel_name='stock.valuation.layer' help='Valuation Layer that was used' required=True string='Stock Valuation Layer'
  • value Float
    string='Taken Value'
Public methods (1)
  • init(self)
REPOSITORY
REPOSITORYOCA/stock-logistics-workflow
GIT
GIThttps://github.com/OCA/stock-logistics-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-workflow/tree/14.0/stock_valuation_layer_usage
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYWarehouse Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Christopher Ormaza
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:04
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/stock-logistics-workflow:
    - stock_account_product_run_fifo_hook
odoo/odoo:
    - 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 (6)
XML IDNameModelTypeStatus
stock_valuation_layer_form stock.valuation.layer.form stock.valuation.layer notebook Inherits stock_account.stock_valuation_layer_form
stock_valuation_layer_usage_form stock.valuation.layer.usage.form stock.valuation.layer.usage form New
stock_valuation_layer_usage_pivot stock.valuation.layer.usage.pivot stock.valuation.layer.usage pivot New
stock_valuation_layer_usage_search stock.valuation.layer.usage.search stock.valuation.layer.usage search New
stock_valuation_layer_usage_tree stock.valuation.layer.usage.tree stock.valuation.layer.usage tree New
view_move_form_inherit stock.move.form.inherit stock.move group Inherits stock_account.view_move_form_inherit
Models touched (3)

New fields (1)
  • layer_usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace what valuation layers have been used by this move, including the quantities taken.' inverse_name='stock_move_id' string='Valuation Layer Usage'
Public methods (0)

No public methods.

New fields (6)
  • incoming_usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace on what stock moves has the stock valuation been used in, including the quantities taken.' inverse_name='dest_stock_valuation_layer_id' string='Incoming Valuation Usage'
  • incoming_usage_quantity Float
    compute='_compute_incoming_usages' store=True string='Incoming Usage quantity'
  • incoming_usage_value Float
    compute='_compute_incoming_usages' store=True string='Incoming Usage value'
  • usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace on what stock moves has the stock valuation been used in, including the quantities taken.' inverse_name='stock_valuation_layer_id' string='Valuation Usage'
  • usage_quantity Float
    compute='_compute_usage_values' store=True string='Usage quantity'
  • usage_value Float
    compute='_compute_usage_values' store=True string='Usage value'
Public methods (2)
  • create(self, values)
    @api.model_create_multi
  • write(self, values)

New fields (7)
  • company_id Many2one → res.company
    readonly=True required=True args: 'res.company', 'Company'
  • dest_stock_valuation_layer_id Many2one → stock.valuation.layer
    comodel_name='stock.valuation.layer' help='Valuation Layer that was used' required=False string='Destination Stock Valuation Layer'
  • product_id Many2one → product.product
    comodel_name='product.product' related='stock_valuation_layer_id.product_id' store=True
  • quantity Float
    string='Taken Quantity'
  • stock_move_id Many2one → stock.move
    comodel_name='stock.move' help='Stock move that took the quantities and value from the layer' string='Stock Move'
  • stock_valuation_layer_id Many2one → stock.valuation.layer
    comodel_name='stock.valuation.layer' help='Valuation Layer that was used' required=True string='Stock Valuation Layer'
  • value Float
    string='Taken Value'
Public methods (1)
  • init(self)
REPOSITORY
REPOSITORYOCA/stock-logistics-workflow
GIT
GIThttps://github.com/OCA/stock-logistics-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-workflow/tree/13.0/stock_valuation_layer_usage
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYWarehouse Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSJordi Ballester Alomar, JordiMForgeFlow, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/stock-logistics-workflow:
    - stock_account_product_run_fifo_hook
odoo/odoo:
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - account
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
stock_valuation_layer_form stock.valuation.layer.form stock.valuation.layer notebook Inherits stock_account.stock_valuation_layer_form
stock_valuation_layer_usage_form stock.valuation.layer.usage.form stock.valuation.layer.usage form New
stock_valuation_layer_usage_pivot stock.valuation.layer.usage.pivot stock.valuation.layer.usage pivot New
stock_valuation_layer_usage_search stock.valuation.layer.usage.search stock.valuation.layer.usage search New
stock_valuation_layer_usage_tree stock.valuation.layer.usage.tree stock.valuation.layer.usage tree New
view_move_form_inherit stock.move.form.inherit stock.move group Inherits stock_account.view_move_form_inherit
Models touched (4)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • layer_usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace what valuation layers have been used by this move, including the quantities taken.' inverse_name='stock_move_id' string='Valuation Layer Usage'
Public methods (0)

No public methods.

New fields (1)
  • usage_ids One2many → stock.valuation.layer.usage
    comodel_name='stock.valuation.layer.usage' help='Trace on what stock moves has the stock valuation been used in, including the quantities taken.' inverse_name='stock_valuation_layer_id' string='Valuation Usage'
Public methods (0)

No public methods.

New fields (6)
  • company_id Many2one → res.company
    readonly=True required=True args: 'res.company', 'Company'
  • product_id Many2one → product.product
    comodel_name='product.product' related='stock_valuation_layer_id.product_id' store=True
  • quantity Float
    string='Taken Quantity'
  • stock_move_id Many2one → stock.move
    comodel_name='stock.move' help='Stock move that took the quantities and value from the layer' string='Stock Move'
  • stock_valuation_layer_id Many2one → stock.valuation.layer
    comodel_name='stock.valuation.layer' help='Valuation Layer that was used' required=True string='Stock Valuation Layer'
  • value Float
    string='Taken Value'
Public methods (1)
  • init(self)