Skip to main content

Trip Ticket

The trip ticket is the paper that goes out with the truck: which deliveries it carries, who is driving, who is helping. Until now it lived in Excel, and once the truck came back nothing in Odoo connected the returned DRs to the trip that made them.

This page covers the trip ticket in Odoo — planned before dispatch, completed when it comes back. One record, two moments.

It never blocks a delivery

Validating a DR works exactly as it does today. A delivery does not wait for a trip ticket, and nothing here changes when stock moves. The trip ticket records what happened; it does not gate it.

Step 1 — Create the ticket

Go to Inventory → Transfers → Trip Tickets and click New.

Trip ticket list

Fill the header once for the whole trip:

Trip ticket header

FieldNotes
Delivery DateThe day the truck goes out
DepartureOptional. Use it when the same truck runs two trips in one day
BranchWhich warehouse the trip leaves from
Driver / PahinanteFrom your Delivery Staff list
Truck / PlateFree text, e.g. Isuzu ELF / ABC 1234
Printed No.Optional, if the paper ticket carries its own number

Driver and pahinante are entered once per trip, not once per delivery — they belong to the truck, not to each DR.

The driver dropdown looks empty?

Only people with Drives ticked in Inventory → Configuration → Delivery Staff appear there, and only those with Pahinante ticked appear in the helper list. Add the person or tick the box first.

Step 2 — Add the deliveries

On the Delivery Receipts tab, click Add Delivery Receipts:

Add Delivery Receipts wizard

The list shows validated deliveries from that branch that are not already on another trip. Tick the ones this truck is carrying and click Add.

A delivery belongs to one trip only

If you tick a DR that is already on another ticket, Odoo stops you and names the other ticket. Untick a row and click Add again to take a delivery off this trip.

Then Submit for Review, and Dispatch when the truck leaves.

Step 3 — Encode the trip when it comes back

When the trip ticket returns with the client-signed DRs, open it and go to the Delivery Receipts tab. Every delivery on the trip is one row:

Encoding tab before

For each row, fill in:

  • Actually Delivered — the date the client really received the goods
  • Delivery Result — Complete, Short, Over, or Wrong Item
  • Variance Remarks — what was short, over or wrong

You can tab straight across the rows without opening each delivery.

Encoding tab filled in

Recording a variance does not change any quantity

Marking a delivery Short is for monitoring only. It does not touch the sales order, the delivery, or the invoice — those stay exactly as they were. Correcting the paperwork is a separate decision, and the process for that is still being agreed with Accounting.

Step 4 — Post-validate and close

Click Post-Validate & Close. This stamps who checked the trip and when onto every delivery on it, and closes the ticket:

Closed trip ticket

Post validation summary

It will stop you if a date is missing

If any delivery on the trip has no Actually Delivered date, Odoo refuses to close and lists exactly which ones need it. Fill those in and try again.

What Sales sees

Once a trip is post-validated, the trip ticket number and the real delivery date flow up to the order. On the Sales Orders and Quotations lists you get a Trip Ticket column, and a second SLA measured against the actual delivery:

Trip ticket column on the sales order list

There are now two SLA columns, and they answer different questions:

ColumnMeasuresChanges?
SLA StatusOrder confirmed → DR validatedNo. Unchanged, and still feeds the existing reports
SLA (Actual Delivery)Order confirmed → client actually receivedNew. Shows Awaiting Trip Ticket until the trip is post-validated
The first SLA is deliberately untouched

It is wired into existing reporting, so recalculating it would restate figures that have already been circulated. The trip ticket adds a second measure alongside it rather than changing the first.

Deliveries still waiting to be checked

Nothing forces a post validation to happen. A delivery can go out, come back, and simply never be checked — which is exactly the gap this list closes.

Inventory → Transfers → Awaiting Post Validation shows every delivery that has gone out but has not yet been post-validated against a returned trip ticket. Oldest first, so the ones that have been sitting longest are at the top:

Awaiting post validation worklist

The Days Waiting column counts from the day the delivery was validated, and colours itself as it ages:

Days waitingShown as
0–2 daysNormal
3–6 daysAmber
7 days and overRed

A delivery leaves this list the moment its trip is post-validated. If the list is empty, everything that went out since the cut-off has been accounted for.

Why old deliveries are not on the list

Every delivery made before the trip ticket system went live has no post validation, and there are roughly 26,000 of them. Including those would bury the handful that actually need attention, so the list only counts deliveries validated on or after a cut-off date.

The cut-off lives in Settings → Technical → System Parameters under blu_stock.post_validation_from. Moving it changes what the list covers — no code change needed. Set it back if you ever want to work through an older backlog.

Finding trips that still need work

The search filters on the Trip Tickets list:

  • Not Closed — trips still open
  • Dispatched — out with the truck right now
  • Missing Delivery Date — trips that cannot be closed yet
  • Has Variance — trips where something was short, over or wrong
  • Today — today's trips

Group By offers Delivery Date, Branch, Driver and Status — so "which driver had the most variances this month" is a two-click question.

Who can do what

ActionWho
See trip ticketsEveryone with Inventory access
Create, encode, closeDelivery Accountability Encoders and Inventory Administrators
DeleteInventory Administrators only

It is the same group used for Delivery Accountability — in practice Venancio, Ronald, and whoever else post-validates.

If something is not working

The driver or pahinante list is empty. Nobody has the Drives / Pahinante toggle ticked in Delivery Staff.

A delivery is missing from the Add wizard. It is either not validated yet, from a different branch, or already on another trip ticket.

Post-Validate & Close will not run. One of the deliveries has no actual delivery date. The error lists which ones.

The Sales list shows no Trip Ticket. The trip has not been post-validated yet, or the order's deliveries were never added to a ticket.

What comes next

Still to come: printing the trip ticket from Odoo with the company logo, to replace the Excel file; and a Sales review step with a 4pm cut-off, so tomorrow's trip can be checked for wrong delivery addresses before the truck loads.