TIP: You can type at any time to perform a new search.

Security findings

Repository
OCA/route-planning · module folder · Try on Runboat
Module version
Category
Uncategorized
Folder size
0.1 MB
License
AGPL-3
Application
No
Auto-installable
Yes
Website
https://github.com/OCA/route-planning
Last tracking update
2026-08-27 23:12:46
Authors
Odoo Community Association (OCA), Tecnativa
Maintainers
Odoo Community Association (OCA), Tecnativa
Committers
Carlos Lopez, Víctor Martínez, Weblate, OCA-git-bot, oca-ci
Odoo dependencies
Python dependencies
ortools
System dependencies
None
Required by
route_planning_rma, route_planning_sale_stock
Description
Integration between Route Planning and Stock to automatically generate routes and checkpoints from pickings.

This module automates route and checkpoint creation directly from stock pickings and integrates inventory transit locations and stock rules into Route Planning workflows.

**Key Features:**
- Automatic generation of a Transit Location per Route Area and corresponding stock rules.
- Automatic route and checkpoint generation upon picking validation.
- Automated validation of pickings when route checkpoints are marked as completed.

When you use the transit location created for the Route Area, the delivery is performed in two steps:

The first step moves the stock from the internal location where it is stored to the transit location. This movement represents the physical transfer from your warehouse to the transport vehicle that will perform the delivery.
A second picking is created when you validate the first picking. This picking waits for the corresponding checkpoint to be completed when the delivery is completed at the customer. Once the checkpoint is completed, the picking is automatically validated.

Note: For better integration and simplicity, we recommend using this module with the `route_planning_delivery` module installed.

Code Analysis info_outline

Views touched (9)
XML IDNameModelTypeStatus
route_checkpoint_view_kanban route.checkpoint.kanban route.checkpoint kanban Inherits route_planning.route_checkpoint_view_kanban
view_picking_form stock.picking.form.route stock.picking form Inherits stock.view_picking_form
view_picking_list stock.picking.list.route stock.picking list Inherits stock.vpicktree
view_route_area_form view.route.area.form route.area form Inherits route_planning.view_route_area_form
view_route_area_list view.route.area.list route.area list Inherits route_planning.view_route_area_list
view_route_checkpoint_form route.checkpoint.form route.checkpoint form Inherits route_planning.view_route_checkpoint_form
view_route_checkpoint_list route.checkpoint.list route.checkpoint list Inherits route_planning.view_route_checkpoint_list
view_route_checkpoint_search route.checkpoint.search route.checkpoint search Inherits route_planning.view_route_checkpoint_search
view_route_route_form route.route.form route.route form Inherits route_planning.view_route_route_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (6)

New fields (2)
  • location_id Many2one → stock.location
    copy=False ondelete='restrict' readonly=True args: 'stock.location'
  • warehouse_id Many2one → stock.warehouse
    copy=False default=<expr> domain="[('company_id', '=', company_id)]" args: 'stock.warehouse'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (3)
  • move_ids_without_package Many2many → stock.move
    compute='_compute_move_ids_without_package' args: 'stock.move'
  • picking_domain Binary
    compute='_compute_picking_domain'
  • picking_id Many2one → stock.picking
    copy=False tracking=True args: 'stock.picking'
Public methods (3)
  • action_back_to_planned(self)
  • action_done(self)
  • action_view_picking(self)

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 (3)
  • has_route_planning Boolean
    compute='_compute_has_route_planning'
  • route_area_id Many2one → route.area
    comodel_name='route.area' copy=False help='Route area for this picking, used to create routes.' inverse='_inverse_route_area_id' string='Route Area'
  • route_checkpoint_ids One2many → route.checkpoint
    comodel_name='route.checkpoint' copy=False inverse_name='picking_id' string='Route Checkpoints'
Public methods (2)
  • action_cancel(self)
  • action_view_route_planning(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.