Repository
OCA/stock-logistics-warehouse · module folder · Try on Runboat
Module version
1.2.0
Category
Warehouse
Folder size
1.26 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/stock-logistics-warehouse
Last tracking update
2026-08-07 08:42:50
Authors
Odoo Community Association (OCA), ForgeFlow
Maintainers
Odoo Community Association (OCA), ForgeFlow
Committers
Weblate, OCA-git-bot, oca-ci, Joan Sisquella, Nishi
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
Adds the capability to request a Slot Verification when an inventory is
'Pending to Approve' or create one at will when a potential issue with a
specific location is found. When asked from an inventory adjustment,
which have discrepancies over the threshold for the location, a Slot
Verification Request will be created for each line that exceed the
maximum discrepancy allowed.

A SVR must be created when warehouse operation (e.g. an inventory
adjustment, a cycle count...) uncovers a count discrepancy within a slot
(a small stock location), and the discrepancy is greater than the
pre-defined acceptable variance threshold. It is a stock manager's task
to confirm the SVR and assign it to someone to perform it.

The aim of SVR is to find and fix errors before they are transferred to
another location, so they will not be found again in similar stock
operations. In other words, a SVR helps to correct an already existing
error in our stock records the earliest possible. Many times, a SVR will
likely lead to manual actions (before being marked as solved) in order
to fix the problems uncovered.

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
stock_slot_verification_request_form_view stock.slot.verification.request.form stock.slot.verification.request form New
stock_slot_verification_request_search_view stock.slot.verification.request.search stock.slot.verification.request search New
stock_slot_verification_request_tree_view stock.slot.verification.request.list stock.slot.verification.request list New
view_location_form stock.location form Inherits stock.view_location_form
view_move_line_tree_svr stock.move.line.tree.svr stock.move.line list Inherits stock.view_move_line_tree
view_stock_quant_tree Stock tree view - discrepancy extension stock.quant tree Inherits stock.view_stock_quant_tree_inventory_editable
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • solving_slot_verification_request_id Many2one → stock.slot.verification.request
    comodel_name='stock.slot.verification.request' help='This Inventory adjustment was created from the specified SVR.'
Public methods (0)

No public methods.

New fields (1)
  • slot_verification_ids One2many → stock.slot.verification.request
    comodel_name='stock.slot.verification.request' inverse_name='location_id' string='Slot Verification Requests'
Public methods (1)
  • action_open_svr(self)
    Open the corresponding Slot Verification Request directly from the Location.

New fields (3)
  • allow_svr_creation Boolean
    compute='_compute_allow_svr_creation' string='Allow SVR Creation'
  • requested_verification Boolean
    copy=False string='Requested Verification?'
  • slot_verification_ids One2many → stock.slot.verification.request
    comodel_name='stock.slot.verification.request' inverse_name='quant_id' string='Slot Verification Request'
Public methods (2)
  • action_open_svr(self)
    Open the corresponding Slot Verification Request directly from the stock quant.
  • action_request_verification(self)

New fields (19)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> readonly=True required=True string='Company'
  • created_inventory_count Integer
    compute='_compute_created_inventory_count'
  • created_inventory_ids One2many → stock.inventory
    comodel_name='stock.inventory' help='These inventory adjustments were created from this SVR.' inverse_name='solving_slot_verification_request_id' string='Created Inventories'
  • inventory_id Many2one → stock.inventory
    comodel_name='stock.inventory' readonly=True string='Inventory Adjustment'
  • involved_move_line_count Integer
    compute='_compute_involved_move_line_count'
  • involved_move_line_ids Many2many → stock.move.line
    column1='slot_verification_request_id' column2='move_line_id' comodel_name='stock.move.line' compute='_compute_involved_move_lines' relation='slot_verification_move_involved_rel' store=False string='Involved Stock Moves'
  • involved_quant_count Integer
    compute='_compute_involved_quant_count'
  • involved_quant_ids Many2many → stock.quant
    column1='slot_verification_request_id' column2='quant_id' comodel_name='stock.quant' compute='_compute_involved_quants' relation='slot_verification_inv_line_involved_rel' store=False string='Involved Inventory Quants'
  • location_id Many2one → stock.location
    comodel_name='stock.location' readonly=True required=True string='Location' tracking=True
  • lot_id Many2one → stock.lot
    comodel_name='stock.lot' readonly=True string='Lot' tracking=True
  • name Char
    default='/' readonly=True required=True
  • notes Text
  • processed_by Many2one → res.users
    copy=False help='User who has solved or cancelled the request.' readonly=True args: 'res.users'
  • product_default_code Char
    related='product_id.default_code' store=True translate=False
  • product_id Many2one → product.product
    comodel_name='product.product' readonly=True string='Product' tracking=True
  • product_name Char
    related='product_id.name' store=True translate=False args: 'Product Name'
  • quant_id Many2one → stock.quant
    comodel_name='stock.quant' readonly=True string='Stock Line'
  • responsible_id Many2one → res.users
    comodel_name='res.users' string='Assigned to' tracking=True
  • state Selection
    default='wait' selection=[('wait', 'Waiting Actions'), ('open', 'In Progress'), ('cancelled', 'Cancelled'), ('done', 'Solved')] string='Status' tracking=True
Public methods (8)
  • action_cancel(self)
  • action_confirm(self)
  • action_create_inventory_adjustment(self)
  • action_solved(self)
  • action_view_inventories(self)
  • action_view_move_lines(self)
  • action_view_quants(self)
  • create(self, vals_list)
    @api.model_create_multi

Loading…

Loading…

Loading…

Loading…

Loading…