Delivery Route Planner — Mapbox GL
Turn any in-progress batch transfer into a fully geocoded, optimized delivery route with a single click — and equip drivers with PDF manifests and per-stop picking details right in the portal. An extended version of the Route Planner Suite that connects Odoo Inventory directly to multi-stop route planning, Mapbox dispatch, and a delivery-aware driver experience.
Product Overview
Delivery Route Planner — Mapbox GL is the inventory-to-dispatch bridge for Odoo. It adds two modules — delivery_route_planner_mapbox_gl and website_delivery_route_planner_mapbox_gl — on top of the Route Planner Suite, wiring Odoo's batch transfers, stock pickings, warehouse locations, and fleet assignments directly into the route planning workflow and into the driver portal.
The result: your warehouse team continues to work with familiar batch transfers, dispatchers get an automatically generated, geocoded, Mapbox-optimized delivery route with driver, vehicle, weight, volume, and stop grouping already figured out, and drivers see picking references and downloadable PDF manifests on every portal screen.
Route Planner Suite
This product includes everything in our Route Planner Suite — the full Mapbox GL foundation layer, the Route Planner application, the Mapbox visualization extension, the driver portal, and the portal address pinpointing module. All seven suite modules are included so you get the complete planning, visualization, and driver-facing experience out of the box — including delivery photo attachment, customer signature capture, and GPS-tagged location maps in the route chatter — plus two delivery-specific extensions on top.
For the full feature breakdown of those seven modules, see the dedicated product page: Route Planner with Mapbox →
This page focuses on what Delivery Route Planner adds on top of that suite.
The Problem It Solves
Turning an Odoo batch transfer into a real delivery run hits a familiar set of friction points. The Delivery Route Planner extension closes each one inside the same Odoo instance:
Manual Route Creation From Batches
Converting a batch transfer into a route by hand means copying each delivery address, assigning the driver and vehicle, grouping pickings by customer, ordering the stops, and running the optimisation — 15+ steps per route. One click replaces all of that.
Duplicate Stops for the Same Customer
Two pickings to the same address become two stops on a manually-built route — wasted miles and confused drivers. Smart stop grouping merges them into a single stop with aggregated weight and volume.
Capacity Blind Spots
Without weight and volume surfaced per stop, dispatchers can't tell at a glance whether a route's load actually fits in the assigned vehicle. The extension aggregates both from the picking lines and shows them on every route stop.
Drivers Without Manifest Access
PDF manifests typically live in the Odoo backend, out of reach for drivers. A Delivery Manifest button on the route card, the detail page, and the map view gives drivers one-tap access to the picking report from any portal screen.
No Picking Context on the Map
Drivers see stop addresses but not the picking documents tied to each stop. Without that link, customer signatures can't be matched back to specific transfers without a separate lookup. The portal surfaces picking references in the map sidebar and the stops table.
Inventory and Route State Drift
A batch gets cancelled but its route stays Confirmed — and a driver heads out to deliveries that no longer exist. Automatic route cancellation when a batch is cancelled keeps state aligned without manual cleanup.
Complex Warehouse Address Hierarchies
Multi-level warehouse structures (dock → zone → warehouse → parent) make it tricky to figure out which address counts as "departure." The location-hierarchy resolver checks each level in order until it finds a real address with valid coordinates.
No Cross-Record Audit Trail
Route creation lives in one application, the batch in another — so tracking which batch produced which route, when it was created, and what happened afterwards requires cross-system queries. Chatter messages on both records with clickable links produce a complete audit trail in Odoo's native mail system.
What Delivery Route Planner Adds
Two purpose-built extension modules — one for the backend dispatch workflow, one for the driver portal — bring inventory and delivery context all the way through the route lifecycle.
Delivery Route Planner — Mapbox GL
A dedicated Odoo module that integrates the inventory and fleet flows with the Route Planner application. It introduces a one-click route generator on batch transfers, smart stop grouping by customer, weight and volume tracking per stop, and a robust address-resolution mechanism that works with complex warehouse hierarchies.
Why It Exists
Before this module, turning a warehouse batch into a usable delivery route meant manually creating the route, re-entering the driver and vehicle, typing in each delivery address, remembering to group multiple drops to the same customer, and running the optimization. Delivery Route Planner automates all of that — validating your data, resolving the departure point, grouping customers, and optimizing the sequence — so a dispatcher goes from batch-ready to route-ready in a single click.
Website Delivery Route Planner — Mapbox GL
Extends the driver portal with delivery-specific information for routes linked to a batch transfer. Adds a downloadable PDF manifest accessible from every portal screen, surfaces picking document references at each stop in the map sidebar and the stops table, and shows the batch transfer reference on the route detail page.
Why It Exists
Drivers in the field need more than just stop coordinates — they need the picking documentation for proof of delivery, the batch reference for dispatch coordination, and quick access to the manifest as a PDF backup. This module closes the gap between the inventory-aware backend and the driver-facing portal so the full delivery context travels with the driver from depot to doorstep. All delivery-specific UI is conditionally rendered — manual routes with no batch transfer are unaffected and display exactly as they do in the base portal.
How It Works
The end-to-end workflow from warehouse to driver:
- Create a Batch Transfer with your delivery pickings in Odoo Inventory.
- Assign a Driver and Vehicle to the batch.
- Set the batch to In Progress.
- Click Create Delivery Route. The module validates all prerequisites and generates the route.
- The route opens on an interactive Mapbox map with every stop grouped, geocoded, and optimally ordered.
- Review weight and volume per stop, confirm, and dispatch to the driver's portal.
- The driver opens the portal and sees the route with batch reference, per-stop picking documents, and a Delivery Manifest button that opens the Odoo batch picking report as a PDF — available on the route card, the detail page, and the interactive map sidebar. From the stop dialog, drivers can attach a delivery photo, collect a customer signature drawn on the device, and every action is logged to the route chatter alongside a GPS-tagged Mapbox location image.
Under the hood, clicking Create Delivery Route runs a full prerequisite validation (driver and vehicle on the batch, latitude and longitude on every delivery address, resolved departure address), groups all pickings by customer, sorts the stops alphabetically, and creates the route using the Mapbox Directions API with the pre-configured "Delivery" route type. Driver, vehicle, responsible user, scheduled date, and description are all copied over from the batch automatically, and clickable chatter messages are posted on both records. On the driver side, the portal automatically surfaces all picking references and manifest links whenever a route is linked to a batch, and hides those UI elements cleanly for routes that aren't.
Key Features
All features below are additions contributed by the Delivery Route Planner module on top of the underlying Route Planner Suite.
Route Creation
- One-Click Route Generation — A Create Delivery Route button appears on batch transfers that are In Progress and don't yet have a route. One click produces a complete, validated, optimized delivery route.
- Delivery Route Type — Generated routes are automatically typed as "Delivery," enforcing vehicle, driver, and departure date at confirmation, and defaulting to a 15-minute service duration per stop.
- Smart Stop Grouping — Multiple pickings to the same customer are automatically merged into a single route stop; stops are sorted alphabetically by customer name.
- Directions API by Default — Routes generated from batch transfers use the Mapbox Directions API. The API can be switched to the Optimization API from the route form after creation if automatic stop reordering is preferred.
- Comprehensive Prerequisite Validation — Before creation, the system checks that the batch has a driver and vehicle, every picking has a delivery address with both latitude and longitude, every picking has a source location, and the resolved departure address has valid coordinates. Each failure produces a specific, actionable error message.
Stop Management
- Weight & Volume per Stop — Total weight and volume are calculated for each delivery stop based on the assigned pickings' move lines, using the system-configured units of measure (e.g., kg, m²).
- Transfer Details per Stop — Each route stop shows the list of assigned transfers, picking count, and weight/volume breakdown inline on the list view and in a dedicated section on the stop form.
Inventory & Fleet Integration
- Auto-Assignment from Batch — Driver, vehicle, responsible user, scheduled date, and description are copied from the batch transfer to the route automatically — no duplicate data entry.
- Bidirectional Linking — Batch transfers show a Delivery Route smart button opening the route; the route shows the source batch as a read-only link; individual pickings show which route and route stop they belong to via computed fields.
- Location Address Hierarchy — The departure address is resolved by checking the batch's dock location first, then the first picking's source location, then walking up through parent locations until an address is found. Works with arbitrarily complex warehouse structures.
- Address Field on Stock Locations — Adds an Address field (editable) and a Real Address field (computed from the hierarchy) to every stock location, so a partner can be associated with any warehouse, zone, or dock.
Lifecycle Management
- Route Cancellation on Batch Cancel — When a batch transfer is cancelled and it has exactly one associated route in a cancellable state (Draft, Confirmed, or In Progress), that route is cancelled automatically and the event logged in both chatters. If multiple routes are linked, the system prompts the dispatcher to cancel each route manually first.
- Unlink Draft Routes — A dedicated Unlink Delivery Route button lets dispatchers permanently remove a Draft route from a batch — for example after editing pickings or correcting addresses — so a fresh route can be generated. Only Draft routes can be unlinked; a Confirmed route must be cancelled and reset to Draft first. If multiple routes are linked, each must be unlinked individually from the route form.
- Duplicate Prevention — Three layers of protection — hidden UI button, application-level error on RPC, and a database-level unique constraint — ensure one batch can have at most one route.
- Cleanup on Delete — Deleting a route or a single route stop automatically removes the picking associations so transfers never point to records that no longer exist.
Audit Trail
- Chatter Integration — Route creation, confirmation, cancellation, and unlinking events are logged with clickable links in the chatter of both the batch transfer and the route, creating a complete audit trail tied to Odoo's native mail system.
Driver Portal Delivery Features
- PDF Delivery Manifest — One-click access to the Odoo batch picking report as a PDF, opened inline in the browser. The filename uses the route's own reference (e.g.
delivery_manifest_RPD-2024.05.0001.pdf). Served through an authenticated portal endpoint (/my/route-overview/{token}/manifest) — unauthenticated requests and routes without a linked batch return 404. - Manifest Button on Route Cards — A manifest icon button on every route card in the portal overview, so drivers can grab the PDF straight from the dashboard without opening the route first.
- Manifest Button on Route Detail Page — A prominent Delivery Manifest button in the route detail action bar for drivers reviewing the route before departure.
- Manifest Button in Map View — The same manifest is one tap away while navigating — a button above the waypoint list in the interactive map sidebar.
- Batch Transfer Reference — The linked batch transfer document is displayed in the route detail header, giving drivers a direct cross-reference back to inventory.
- Transfer Column in Stops Table — An extra column in the route detail stops table listing the picking documents assigned to each stop, comma-separated (e.g.
WH/OUT/00001, WH/OUT/00002). - Picking References in Map Sidebar — Each waypoint in the interactive map sidebar shows the associated picking names with a barcode icon — including both intermediate stops and the final destination, handled consistently.
- Conditional Feature Visibility — All delivery-specific UI elements (manifest buttons, batch reference, Transfer column, picking names) are automatically hidden when a route has no linked batch transfer. Manual routes continue to display exactly as they do in the base portal.
Use Cases & Benefits
Warehouse-to-Road in Seconds
One click turns a batch transfer into a geocoded, optimized, driver-assigned delivery route — replacing 15+ manual steps of copying addresses, assigning drivers, and ordering stops.
Fewer Data-Entry Errors
Prerequisite validation catches missing coordinates, unassigned drivers, and misconfigured warehouse addresses before a route is created, with specific messages identifying exactly what needs to be fixed.
Smarter Stop Planning
Smart grouping merges multiple pickings to the same customer into a single stop, so drivers never make two trips to the same address.
Capacity-Aware Dispatch
Weight and volume per stop give dispatchers immediate insight into load distribution, helping them match routes to vehicles without guesswork.
Works With Complex Warehouses
The location hierarchy resolver handles multi-level warehouse structures — docks, sub-zones, parent locations — so you're not forced to reorganize your inventory setup to use it.
Optimized Travel Time
The Mapbox Optimization API automatically selects the most efficient visit order for every generated route, reducing fuel, time, and missed delivery windows.
Tight Inventory-Route Sync
Cancelling a batch cancels its route automatically; deleting records cleans up picking references. Route and inventory state never drift apart.
Native Odoo Flow
No new screens to learn — dispatchers work inside batch transfers they already use, and the route opens with the same Route Planner UI the rest of the team is familiar with.
Full Audit Trail
Every creation, confirmation, cancellation, and unlink action is logged to the chatter of both records, giving operations and compliance teams complete traceability.
Proof-of-Delivery Ready
The PDF delivery manifest is always one click away — from the dashboard, the detail page, or the interactive map. Drivers can also capture a customer signature drawn on the device and attach a delivery photo from the stop dialog, with every action automatically logged to the chatter alongside a GPS-tagged Mapbox location image.
Picking Visibility in the Field
Drivers see exactly which transfer documents belong to each stop on the map and in the stops table — no more digging into a separate system to figure out what's in the box.
Graceful Fallback for Manual Routes
Delivery-specific UI only appears when it makes sense. Manual routes (no batch transfer) continue to display cleanly in the portal with nothing out of place.
Configuration Quick Reference
Three Odoo Inventory settings need to be enabled, and each source warehouse location needs an address configured with geocoded coordinates.
Required Inventory Settings
Navigate to Settings → Inventory → Configuration and enable:
| Section | Setting |
|---|---|
| Operations | Batch, Wave & Cluster Transfers |
| Shipping | Dispatch Management System |
| Warehouse | Storage Locations |
Without these settings, batch transfers, driver/vehicle assignment, and warehouse locations will not be available.
Warehouse Source Location Address
This module adds an Address field to every stock location. Set it on your warehouse source location (e.g. WH/Stock) to the partner that represents that location's physical address, and make sure that partner has both latitude and longitude set. If the specific location has no address, the system walks up through parent locations until it finds one.
Customer Address Requirements
Each customer (delivery partner) on the pickings must have both latitude and longitude geocoded. Missing coordinates block route creation with a specific error identifying the affected customer.
What's in the Bundle
Delivery Route Planner — Mapbox GL is a complete 9-module package. The seven Route Planner Suite modules provide the platform; modules 8 and 9, highlighted below, are the delivery-specific extensions — one for the backend dispatch flow, one for the driver portal.
base_mapbox_gl— Mapbox configuration, geocoding, on-map controls, shared UI componentsweb_view_base_mapbox_gl— Newmapbox_glOdoo view type with sidebar, grouping, and selectionweb_view_list_with_mapbox_gl— Split-screen list-plus-map widget for ordered location fieldsroute_planner— Base Route Planner application: lifecycle, stops, route types, fleet integrationroute_planner_mapbox_gl— Mapbox map visualization and API-based routing for Route Plannerwebsite_route_planner_mapbox_gl— Mobile-friendly driver portalwebsite_portal_pinpoint_address_mapbox_gl— Portal "My Address" map dialog with auto-geocoding and draggable markerdelivery_route_planner_mapbox_gl— Inventory integration: batch-to-route automation, smart grouping, weight & volume trackingwebsite_delivery_route_planner_mapbox_gl— Driver portal delivery extension: PDF manifest, picking references, batch-aware display
For a detailed feature breakdown of modules 1–7, see the Route Planner with Mapbox product page.