TIP: You can type at any time to perform a new search.
Stock Location Orderpoint
stock_location_orderpoint · OCA/stock-logistics-orderpoint
Security findings
- Repository
- OCA/stock-logistics-orderpoint · module folder · Try on Runboat
- Module version
- Category
- Uncategorized
- Folder size
- 0.25 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/stock-logistics-orderpoint
- Last tracking update
- 2026-09-10 17:17:31
- Authors
- ACSONE SA/NV, Odoo Community Association (OCA), BCIM, MT Software
- Maintainers
- ACSONE SA/NV, Odoo Community Association (OCA), BCIM, MT Software
- Committers
- Jacques-Etienne Baudoux, Laurent Mignon (ACSONE), Thierry Ducrest, Weblate, OCA-git-bot, oca-ci, Mmequignon, David Gallay
- Odoo dependencies
- Python dependencies
- requests
- System dependencies
- None
- Required by
- None
- Description
Declare orderpoint on a location allowing to replenish any product with the same criteria. This is for an internal warehouse replenishment currently not compatible with the purchase buy route.
Code Analysis
Views touched (4)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
stock_location_orderpoint_form |
stock.location.orderpoint.form | stock.location.orderpoint | form | New |
stock_location_orderpoint_search |
stock.location.orderpoint.search | stock.location.orderpoint | search | New |
view_location_form |
stock.location.form (in stock_location_orderpoint) | stock.location | form | Inherits stock.view_location_form |
view_stock_location_orderpoint_list_editable |
stock.location.orderpoint.list.editable | stock.location.orderpoint | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (7)
New fields (2)
-
location_orderpoint_countIntegercompute='_compute_location_orderpoint_count' -
location_orderpoint_idsOne2many → stock.location.orderpointcomodel_name='stock.location.orderpoint'help='Location Orderpoints. Rules that allows this location to be replenished.'inverse_name='location_id'string='Location Orderpoints'
-
action_open_location_orderpoints(self) -
create(self, vals_list)@api.model_create_multi -
unlink(self) -
write(self, vals)
New fields (16)
-
activeBooleandefault=True -
company_idMany2one → res.companydefault=<expr>required=True args: 'res.company', 'Company' -
group_idMany2one → procurement.groupcopy=Falsehelp='Moves created through this orderpoint will be put in this procurement group. If none is given, the moves generated by stock rules will be grouped into one big picking.' args: 'procurement.group', 'Procurement Group' -
last_cron_executionDatetimehelp='Last time this orderpoint was processed by the cron' -
location_idMany2one → stock.locationcheck_company=Trueondelete='cascade'required=True args: 'stock.location', 'Location' -
location_src_idMany2one → stock.locationcompute='_compute_location_src_id'store=True args: 'stock.location' -
nameCharcopy=Falsedefault='/'help="Set to '/' and save if you want a default name to be proposed."readonly=Falserequired=True -
prioritySelectiondefault='0'selection='_selection_move_priorities' -
proc_run_asyncBooleancompute='_compute_proc_run_async'help="If enabled, procurements will be run asynchronously in delayed jobs when processing this orderpoint. Only applies to 'cron' and 'manual' triggers. If disabled, all procurements will be run in the same transaction. "precompute=Truereadonly=Falsestore=Truestring='Delay procurement execution' -
product_domain_charChardefault='[]'help='Additional domain to filter products for this orderpoint. 'string='Product domain' -
replenish_horizonFloatdefault=7help='Time horizon to consider for the replenishment. Limits the demand considered to what is expected in the horizon. 'required=Truestring='Replenishment horizon (in days)' -
replenish_limit_to_free_qtyBooleandefault=Truehelp='If enabled, the replenishment quantity will be limited to the free quantity at the source location. 'string='Limit replenishment to free quantity at source location' -
replenish_methodSelectiondefault='fill_up'help='Defines how the qty to replenish gets computed\nFill up = The replenishment will be triggered when a move is waiting availability and forecast quantity is negative at the location (i.e. min=0). The replenished quantity will bring back the forecast quantity to 0 (i.e. max=0) but will be limited to what is available at the source location to plan only reservable replenishment moves'required=True args: [('fill_up', 'Fill up')] -
route_idMany2one → stock.routedomain="[('rule_ids.location_dest_id', 'in', [location_id])]"string='Preferred Route' args: 'stock.route' -
sequenceIntegerdefault=10 -
triggerSelectiondefault='auto'help="Auto/realtime orderpoints are triggered on new moves\nManual orderpoints are triggered via the orderpoints' view\nScheduled orderpoints are triggered via scheduled actions per location"required=True args: [('auto', 'Auto/realtime'), ('manual', 'Manual'), ('cron', 'Scheduled')]
-
create(self, vals_list)@api.model_create_multi -
location(self)@propertyReturn location_id with the excluded_location_domain in context. -
location_src(self)@propertyReturn location_src_id with the excluded_location_domain in context. -
run_cron_replenishment(self, location_ids=None)@api.model -
run_replenishment(self, products=None, job_logs=None)Public entry point to execute the replenishment rule. :param products: optional recordset of product.product If provided, limits the computation scope. :param job_logs: optional list to collect trace messages. When provided, messages are appended for each step of the pipeline. Used by delayed jobs to build their result string. -
unlink(self) -
write(self, vals)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (6)
-
excluded_location_domainJsondefault=Falsehelp='Optional domain to exclude some locations from availability computation. ' -
horizonDatetimehelp='Time horizon to consider for the replenishment. Only moves with a date_deadline up to this datetime will be considered in the demand computation.'required=Truestring='Horizon Datetime' -
location_idMany2one → stock.locationrequired=Truestring='Destination Location' args: 'stock.location' -
location_src_idMany2one → stock.locationrequired=Truestring='Source Location' args: 'stock.location' -
product_domainBinarydefault=[]help='Optional domain to filter products' -
replenish_limit_to_free_qtyBooleandefault=True
-
compute(self, products=None, demand_only=False, job_logs=None)Compute replenishment quantities for the given products. :param products: optional product.product recordset to scope the computation. If None, the strategy determines the candidates. :param demand_only: if True, stop after demand computation and return {product_id: demand_qty} without the availability cap. Used by the async path in _run_replenishment so that one job per product can be enqueued after a single demand pass, with no double calculation. :param job_logs: optional list to collect trace messages. :return: dict {product_id: demand_qty} if demand_only=True dict {product_id: qty_to_procure} if demand_only=False -
location(self)@propertyReturn location_id with the excluded_location_domain in context. -
location_src(self)@propertyReturn location_src_id with the excluded_location_domain in context.
New fields (1)
-
location_orderpoint_idMany2one → stock.location.orderpointindex=True args: 'stock.location.orderpoint', 'Stock location orderpoint'
-
create(self, vals_list)@api.model_create_multi@api.returns('self', <expr>) -
write(self, vals)
New fields (0)
No new fields.
Public methods (0)No public methods.
Loading…
Loading…