TIP: You can type at any time to perform a new search.
Stock Request
stock_request · OCA/stock-logistics-request
- Repository
- OCA/stock-logistics-request · module folder · Try on Runboat
- Module version
- 1.0.1
- Category
- Warehouse Management
- Folder size
- 1.49 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/stock-logistics-request
- Last tracking update
- 2026-08-07 09:06:36
- Authors
- Odoo Community Association (OCA), ForgeFlow
- Maintainers
- Odoo Community Association (OCA), ForgeFlow
- Committers
- Kiril Vangelovski, LauraCForgeFlow, Weblate, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- stock_request_purchase
- Description
This module was written to allow users to request products that are frequently stocked by the company, to be transferred to their chosen location.
Code Analysis ⓘ
Views touched (11)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
res.config.settings.view.form.inherit.stock_request | res.config.settings | form | Inherits base.res_config_settings_view_form |
stock_request_order_form |
stock.request.order.form | stock.request.order | form | New |
stock_request_order_search |
stock.request.order.search | stock.request.order | search | New |
stock_request_order_tree |
stock.request.order.tree | stock.request.order | list | New |
stock_request_search |
stock.request.search | stock.request | search | New |
view_move_form |
stock.move.form | stock.move | form | Inherits stock.view_move_form |
view_picking_form |
stock.picking.form | stock.picking | form | Inherits stock.view_picking_form |
view_stock_request_allocation_form |
stock.request.allocation.form | stock.request.allocation | form | New |
view_stock_request_allocation_tree |
stock.request.allocation.tree | stock.request.allocation | list | New |
view_stock_request_form |
stock.request.form | stock.request | form | New |
view_stock_request_tree |
stock.request.tree | stock.request | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (13)
New fields (2)
-
stock_request_allow_virtual_locBooleanstring='Allow Virtual locations on Stock Requests' -
stock_request_check_available_firstBooleanstring='Check available stock first'
No public methods.
New fields (8)
-
group_stock_request_orderBooleanimplied_group='stock_request.group_stock_request_order' -
module_stock_request_analyticBooleanstring='Stock Requests Analytic integration' -
module_stock_request_kanbanBooleanstring='Stock Requests Kanban integration' -
module_stock_request_mrpBooleanstring='Stock Request for Manufacturing' -
module_stock_request_purchaseBooleanstring='Stock Requests for Purchases' -
module_stock_request_submitBooleanstring='Submitted state in Stock Requests' -
stock_request_allow_virtual_locBooleanreadonly=Falserelated='company_id.stock_request_allow_virtual_loc' -
stock_request_check_available_firstBooleanreadonly=Falserelated='company_id.stock_request_check_available_first'
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (2)
-
allocation_idsOne2many → stock.request.allocationcomodel_name='stock.request.allocation'inverse_name='stock_move_id'string='Stock Request Allocation' -
stock_request_idsOne2many → stock.requestcomodel_name='stock.request'compute='_compute_stock_request_ids'string='Stock Requests'
-
copy_data(self, default=None)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (2)
-
stock_request_countIntegercompute='_compute_stock_request_ids' args: 'Stock Request #' -
stock_request_idsOne2many → stock.requestcomodel_name='stock.request'compute='_compute_stock_request_ids'string='Stock Requests'
-
action_view_stock_request(self):return dict: dictionary value for created view
New fields (21)
-
allocation_idsOne2many → stock.request.allocationcomodel_name='stock.request.allocation'inverse_name='stock_request_id'string='Stock Request Allocation' -
company_idMany2one -
expected_dateDatetimehelp='Date when you expect to receive the goods.'index=Truerequired=True -
location_idMany2one -
move_idsOne2many → stock.movecomodel_name='stock.move'compute='_compute_move_ids'readonly=Truestring='Stock Moves' -
nameChar -
order_idMany2one → stock.request.orderreadonly=True args: 'stock.request.order' -
picking_countIntegercompute='_compute_picking_ids'readonly=Truestring='Delivery Orders' -
picking_idsOne2many → stock.pickingcompute='_compute_picking_ids'readonly=Truestring='Pickings' args: 'stock.picking' -
picking_policySelectiondefault='direct'required=Truestring='Shipping Policy' args: [('direct', 'Receive each product when available'), ('one', 'Receive all products at once')] -
product_idMany2one -
product_uom_idMany2one -
product_uom_qtyFloat -
qty_cancelledFloatcompute='_compute_qty'digits='Product Unit of Measure'help='Quantity cancelled'readonly=Truestore=True -
qty_doneFloatcompute='_compute_qty'digits='Product Unit of Measure'help='Quantity completed'readonly=Truestore=True -
qty_in_progressFloatcompute='_compute_qty'digits='Product Unit of Measure'help='Quantity in progress.'readonly=Truestore=True -
reference_idsMany2many -
requested_byMany2one → res.usersdefault=<expr>required=Truetracking=True args: 'res.users' -
route_idMany2one -
stateSelectioncopy=Falsedefault='draft'index=Truereadonly=Trueselection=[('draft', 'Draft'), ('open', 'In progress'), ('done', 'Done'), ('cancel', 'Cancelled')]string='Status'tracking=True -
warehouse_idMany2one
-
action_cancel(self) -
action_confirm(self) -
action_done(self) -
action_draft(self) -
action_view_transfer(self) -
check_cancel(self) -
check_done(self) -
check_order_company(self)@api.constrains('order_id', 'company_id') -
check_order_expected_date(self)@api.constrains('order_id', 'expected_date') -
check_order_location(self)@api.constrains('order_id', 'location_id') -
check_order_picking_policy(self)@api.constrains('order_id', 'picking_policy') -
check_order_reference_ids(self)@api.constrains('order_id', 'reference_ids') -
check_order_requested_by(self)@api.constrains('order_id', 'requested_by') -
check_order_warehouse_id(self)@api.constrains('order_id', 'warehouse_id') -
create(self, vals_list)@api.model_create_multi -
unlink(self)
New fields (13)
-
allow_virtual_locationBooleanreadonly=Truerelated='company_id.stock_request_allow_virtual_loc' -
allowed_uom_idsMany2many → uom.uomcomodel_name='uom.uom'compute='_compute_allowed_uom_ids' -
company_idMany2one → res.companydefault=<expr>required=True args: 'res.company', 'Company' -
location_idMany2one → stock.locationcomodel_name='stock.location'domain="not allow_virtual_location and [('usage', 'in', ['internal', 'transit'])] or []"ondelete='cascade'required=Truestring='Location' -
nameCharcopy=Falsedefault='/'readonly=Truerequired=True -
product_idMany2one → product.productdomain=[('type', 'in', ['product', 'consu'])]ondelete='cascade'required=True args: 'product.product', 'Product' -
product_qtyFloatcompute='_compute_product_qty'copy=Falsedigits='Product Unit of Measure'help='Quantity in the default UoM of the product'store=True args: 'Real Quantity' -
product_uom_idMany2one → uom.uomcomodel_name='uom.uom'default=<expr>domain="[('id', 'in', allowed_uom_ids)]"required=Truestring='Product Unit of Measure' -
product_uom_qtyFloatdigits='Product Unit of Measure'help='Quantity, specified in the unit of measure indicated in the request.'required=True args: 'Quantity' -
reference_idsMany2many → stock.referencehelp='Moves created through this stock request will be grouped using these references. If none are given, the moves generated by procurement rules will be grouped into one big picking.' args: 'stock.reference', 'References' -
route_idMany2one → stock.routedomain="[('id', 'in', route_ids)]"ondelete='restrict'string='Route' args: 'stock.route' -
route_idsMany2many → stock.routecompute='_compute_route_ids'readonly=Truestring='Routes' args: 'stock.route' -
warehouse_idMany2one → stock.warehousecheck_company=Truecomodel_name='stock.warehouse'ondelete='cascade'required=Truestring='Warehouse'
-
default_get(self, fields)@api.model -
get_parents(self) -
onchange_company_id(self)@api.onchange('company_id')Sets a default warehouse when the company is changed. -
onchange_location_id(self)@api.onchange('location_id') -
onchange_product_id(self)@api.onchange('product_id') -
onchange_warehouse_id(self)@api.onchange('warehouse_id')Finds location id for changed warehouse.
New fields (9)
-
allocated_product_qtyFloatcopy=Falsehelp='Quantity of the stock request allocated to the stock move, in the default UoM of the product' args: 'Allocated Quantity' -
company_idMany2one → res.companycomodel_name='res.company'readonly=Truerelated='stock_request_id.company_id'store=Truestring='Company' -
open_product_qtyFloatcompute='_compute_open_product_qty' args: 'Open Quantity' -
product_idMany2one → product.productcomodel_name='product.product'readonly=Truerelated='stock_request_id.product_id'string='Product' -
product_uom_idMany2one → uom.uomcomodel_name='uom.uom'readonly=Truerelated='stock_request_id.product_uom_id'string='UoM' -
requested_product_qtyFloatcompute='_compute_requested_product_qty'help='Quantity of the stock request allocated to the stock move, in the default UoM of the product' args: 'Requested Quantity' -
requested_product_uom_qtyFloathelp='Quantity of the stock request allocated to the stock move, in the UoM of the Stock Request' args: 'Requested Quantity (UoM)' -
stock_move_idMany2one → stock.movecomodel_name='stock.move'ondelete='cascade'required=Truestring='Stock Move' -
stock_request_idMany2one → stock.requestcomodel_name='stock.request'ondelete='cascade'required=Truestring='Stock Request'
No public methods.
New fields (17)
-
allow_virtual_locationBooleanreadonly=Truerelated='company_id.stock_request_allow_virtual_loc' -
company_idMany2one → res.companydefault=<expr>required=True args: 'res.company', 'Company' -
expected_dateDatetimedefault=fields.Datetime.nowhelp='Date when you expect to receive the goods.'index=Truerequired=True -
location_idMany2one → stock.locationcomodel_name='stock.location'domain="not allow_virtual_location and [('usage', 'in', ['internal', 'transit'])] or []"ondelete='cascade'required=Truestring='Location' -
move_idsOne2many → stock.movecomodel_name='stock.move'compute='_compute_move_ids'readonly=Truestring='Stock Moves' -
nameCharcopy=Falsedefault='/'readonly=Truerequired=True -
picking_countIntegercompute='_compute_picking_ids'readonly=Truestring='Delivery Orders' -
picking_idsOne2many → stock.pickingcompute='_compute_picking_ids'readonly=Truestring='Pickings' args: 'stock.picking' -
picking_policySelectiondefault='direct'required=Truestring='Shipping Policy' args: [('direct', 'Receive each product when available'), ('one', 'Receive all products at once')] -
reference_idsMany2many → stock.referencecolumn1='stock_request_order_id'column2='stock_reference_id'comodel_name='stock.reference'help='Moves created through this stock request will be grouped using these references. If none are given, the moves generated by procurement rules will be grouped into one big picking.'relation='stock_request_order_stock_reference_rel'string='References' -
requested_byMany2one → res.usersdefault=<expr>required=Truetracking=True args: 'res.users' -
route_idMany2one → stock.routecompute='_compute_route_id'help='The route related to a stock request order'inverse='_inverse_route_id'readonly=Truestore=True args: 'stock.route' -
route_idsMany2many → stock.routecompute='_compute_route_ids'readonly=Truestore=Truestring='Routes' args: 'stock.route' -
stateSelectioncompute='_compute_state'copy=Falsedefault='draft'index=Truereadonly=Trueselection=_get_request_order_statesstore=Truestring='Status'tracking=True -
stock_request_countIntegercompute='_compute_stock_request_count'readonly=Truestring='Stock requests' -
stock_request_idsOne2many → stock.requestcopy=Trueinverse_name='order_id' args: 'stock.request' -
warehouse_idMany2one → stock.warehousecheck_company=Truecomodel_name='stock.warehouse'ondelete='cascade'required=Truestring='Warehouse'
-
action_cancel(self) -
action_confirm(self) -
action_done(self) -
action_draft(self) -
action_view_stock_requests(self) -
action_view_transfer(self) -
change_childs(self) -
create(self, vals_list)@api.model_create_multi -
default_get(self, fields)@api.model -
get_parents(self) -
onchange_company_id(self)@api.onchange('company_id') -
onchange_expected_date(self)@api.onchange('expected_date') -
onchange_location_id(self)@api.onchange('location_id') -
onchange_picking_policy(self)@api.onchange('picking_policy') -
onchange_reference_ids(self)@api.onchange('reference_ids') -
onchange_requested_by(self)@api.onchange('requested_by') -
onchange_warehouse_id(self)@api.onchange('warehouse_id') -
unlink(self)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (1)-
run(self, procurements, raise_user_error=True)@api.model
New fields (0)
No new fields.
Public methods (0)No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…