Odoo Walkthroughs
Walkthrough 03

Vehicle Scheduling

Group confirmed deliveries into batches by route, assign drivers and vehicles, manage weight capacity, and dispatch.

Phase 0 — one-time setup

Configure Once

These steps are normally done at go-live and rarely revisited. Each new product needs a weight, each new vehicle needs a record, and the vehicle categories define our weight limits.

A

Set the product weight (every SKU)

(or Admin)

Navigate Sales app → Products tab → Products.

  1. Open the product record.
  2. Click the Inventory tab.
  3. Set the Weight (kg) — accurate to the kilogram. This is the value Odoo sums up per batch to compare against vehicle capacity.
  4. Click Save.
Sprint 5 — editing product weight on the Inventory tab
Sprint 5, p.10 — Product weight is set under the Inventory tab on the product record.
⚠ Wrong weights = wrong capacity warnings

If a 20L drum is recorded as 1 kg, Odoo will let you load 5 tonnes of paint into a 1-tonne bakkie without warning. Audit product weights any time a packaging change happens.

B

Create a vehicle category

Categories group vehicles by capacity (e.g. "1-Tonne Bakkie", "3-Tonne Truck", "8-Tonne Truck"). Each category has a max weight which Odoo enforces when batches are built.

Navigate Fleet app → Configuration tab → Categories → click New.

  1. Category name — e.g. Truck — 3-Tonne.
  2. Max weight — in kilograms (e.g. 3000).
  3. Max volume — optional, only if volume is a constraint for some routes.
  4. Click Save.
Sprint 5 — creating a vehicle category
Sprint 5, p.12 — Vehicle category with max weight (and optional max volume).
C

Create a vehicle model

Models are reusable templates (e.g. "Toyota Hilux 2.4 GD-6"). Each model is linked to a category.

Navigate Fleet app → Configuration tab → Models → click New.

  1. Model Name
  2. Manufacturer
  3. Vehicle Type (Car / Bicycle / Other — usually Other for trucks)
  4. Category — choose the category created in Step B.
  5. Click Save.
Sprint 5 — creating a vehicle model
Sprint 5, p.13 — Model record with linked category.
D

Add the actual vehicle

Navigate Fleet app → Fleet tab → Fleet → click New.

  1. Model — the model created in Step C. The category auto-populates.
  2. License Plate
  3. Driver — the user account of the assigned driver. (Optional Future Driver for handovers.)
  4. Fleet Manager — typically Logistics Olympic Paints.
  5. Click Save.
Sprint 5 — vehicle record
Sprint 5, p.14 — Vehicle record linking model, license plate, driver and fleet manager.
📌 Drivers are Odoo users

Each driver needs an Odoo user account so they can be selected here. If a driver leaves, deactivate the user — they will no longer appear in the driver dropdown but historic batches keep their attribution intact.

Phase 1

Find the Orders to Deliver

Start of every dispatch shift. Open the deliveries list, filter to today's confirmed orders, and group by area before building batches.

1

Open the deliveries list

Navigate Inventory app → Operations tab → Deliveries.

You see every WH/OUT record currently in the system: Draft, Ready, Done and Cancelled.

Sprint 5 — deliveries list
Sprint 5, p.6 — The Deliveries list view in the Inventory app.
2

Sort & filter by area

The goal is to find deliveries going to the same town / suburb so they can be grouped into one trip.

  1. Click the Scheduled Date column heading to sort by date — newest first.
  2. Click the Street, Street 2, City or State column heading to sort/filter by address.
  3. Use the top-right search box to filter by city (e.g. type "Polokwane").
  4. Confirm the status filter is Ready — only Ready deliveries can be batched.
Sprint 5 — sorting deliveries by address column
Sprint 5, p.7 — Sorting by Street / City to find geographically adjacent deliveries.
Phase 2

Build the Batch

Pick the orders going to the same area, add them to a new batch, set the scheduled date, and visualise the route on a map.

3

Add deliveries to a new batch

  1. Tick the checkboxes for every delivery in the same area.
  2. Click Actions (top of list) → Add to batch.
  3. On the popup:
    • Select a new batch transfer.
    • Enter a Description — e.g. "Polokwane North run — 13 May".
    • Select a Responsible employee (usually the driver, or the dispatcher).
  4. Click Confirm.
  5. A green toast notification appears with the batch reference — click it to jump straight to the batch.
Sprint 5 — Add to batch popup
Sprint 5, p.7–8 — Selecting deliveries and adding them to a new batch transfer.
📌 Adding to an existing batch

If a batch is already open for that route, choose "an existing batch transfer" on the popup instead — handy when an order is confirmed after dispatch planning starts.

4

Set the scheduled date on the batch

On the batch record, set Scheduled Date to the planned delivery date/time. Click Save.

Alternatively reach the same batch via Inventory → Operations tab → Batch Transfers → click the record.

5

View the route on a map

On the batch record click the Map button.

  • The left pane lists every delivery in the batch.
  • Click a delivery number — the map zooms to that delivery address.
  • Click View in Google Maps to open the full multi-stop route in Google Maps — share that link with the driver's phone for turn-by-turn navigation.
Sprint 5 — map view of batch
Sprint 5, p.8–9 — Map view shows every delivery pin; "View in Google Maps" exports the route.
Phase 3

Assign & Dispatch

Pick the driver, pick the vehicle, check that the load fits, and validate the batch to mark it dispatched.

6

Assign the driver and vehicle

On the batch record:

  1. Set Driver — the assigned driver user.
  2. Set Vehicle — the truck/bakkie that will physically run the route.
  3. Set Vehicle Category — usually auto-fills from the vehicle's model.
7

Check the weight capacity

As soon as a vehicle is assigned, Odoo:

  • Sums the product weight × quantity across every line in every delivery in the batch.
  • Compares it to the vehicle category's Max weight.
  • Shows the result as a percentage of capacity on the batch.

Below 100% — proceed to Step 9 to validate. At or over 100% — go to Step 8 to handle the overage.

Sprint 5 — capacity percentage on batch
Sprint 5, p.17 — Capacity percentage displayed once vehicle + category are set.
8

Over capacity — create a backorder

The trick: reduce the line quantities on the over-capacity delivery to what the truck can actually carry, then create a backorder for the rest.

  1. On the batch, expand the delivery line that puts you over capacity.
  2. Edit the Quantity on that line down to a number that brings total batch weight under 100%.
  3. Click Save.
  4. Click Validate on the delivery.
  5. The Create Backorder? pop-up appears — click Create Backorder.
Sprint 5 — backorder pop-up
Sprint 5, p.18–19 — Create Backorder dialog after a partial validation.

Then handle the backorder:

  1. Navigate Inventory → Operations → Deliveries.
  2. Click the column-filter icon → tick Back Order of to surface the column.
  3. Click the Back Order of heading to sort; tick the backorder records.
  4. ActionsAdd to Batch → fill in the popup → Confirm.
  5. Open the new batch → assign a different vehicle + driver → Validate.
Sprint 5 — backorder records list
Sprint 5, p.19 — Filtering deliveries by "Back Order of" to find and rebatch the residual stock.
9

Validate & dispatch the batch

Once driver, vehicle and capacity are correct:

  1. Click Validate on the batch.
  2. The status moves: DraftReadyDispatched (manually marked) → Done (once driver returns and individual deliveries are validated).
  3. Stock decrements as each individual WH/OUT in the batch is validated by the driver / on driver return.
✓ What "Validate" does at batch level
  • Locks the deliveries into the batch (no more additions).
  • Records the driver + vehicle + scheduled date for reporting.
  • Generates the consolidated batch picking slip you can print for the driver.
Phase 4

Edge Cases

Situations that come up regularly: double-booking the same truck, and using an outside courier.

10

Double-booking prevention

Odoo does not block double-booking out of the box — it relies on the dispatcher noticing. The discipline:

  1. Before assigning a vehicle to a new batch, check the existing batches it's on.
  2. Navigate Inventory → Operations → Batch Transfers.
  3. Filter by the vehicle (or by date) — if the truck is already booked at an overlapping date/time, the dispatch will collide.
  4. If the windows do not overlap (e.g. AM run vs PM run), proceed.
  5. If they do overlap, either re-shuffle batches or pick a different driver/vehicle.
Sprint 5 — double-booking guidance
Sprint 5, p.20–21 — Sprint guidance on double-booking: check scheduled dates and assign different vehicle/driver if needed.
⚠ This is a manual gate

There is no hard system block. Use the Calendar / Gantt view on Batch Transfers to spot overlaps visually before confirming the assignment.

11

Third-party carrier flow

When delivery is outsourced (e.g. an external courier picks up at our warehouse and runs the drop):

  1. Build the batch normally with the deliveries.
  2. Leave the Driver, Vehicle and Vehicle Category fields blank on the batch — these are for our own fleet only.
  3. Click Validate on the batch and on each delivery as the courier collects.
  4. Capture the courier's bill in Accounting:
    1. Accounting → Vendors tab → BillsNew.
    2. Add the courier as Vendor.
    3. Set Bill reference and Bill date.
    4. Add an invoice line for the delivery expense + amount.
    5. Click Confirm.
Sprint 5 — vendor bill for courier
Sprint 5, p.22–23 — Capturing the third-party courier's bill as a vendor bill in Accounting.
Phase 5

Reporting

Once batches are running, three reports answer the operational questions: who delivered how much, which vehicle did which routes, and which deliveries are still outstanding.

12

Vehicle & driver reports

Navigate Inventory → Operations → Batch Transfers.

  1. Click the filter icon → remove the default filter → select Vehicle as the filter dimension.
  2. Switch between List / Kanban / Gantt / Graph / Pivot / Calendar views with the icons in the top right.
  3. For driver-level reporting: clear the filter and re-filter by Driver.
Sprint 5 — vehicle reports view
Sprint 5, p.27–28 — Filtering Batch Transfers by Vehicle, then changing view (List / Gantt / Graph / Pivot).
13

Moves History — by batch transfer

For the detail report of what stock actually moved on each batch:

  1. Navigate Inventory → Reporting → Moves History.
  2. Keep the default Done filter.
  3. Click the filter icon → select Batch Transfer.
  4. List view shows every batch's delivery count and quantity. Switch to Kanban or Pivot for summary views.
Sprint 5 — moves history by batch
Sprint 5, p.29–30 — Moves History grouped by Batch Transfer.
📌 Common reporting questions
  • How many deliveries did each driver complete this week? Batch Transfers → Filter Driver → Group by Week → Pivot.
  • How much stock did the 3-tonne truck move last month? Moves History → Filter Vehicle → Group by Month → Pivot.
  • Which deliveries are still outstanding? Deliveries → Filter Status = Ready.