Appearance
Delivery Orders
A delivery order (DO) is the instruction to get finished goods out of the building: pack them, book a carrier, hand them over and track them to the customer's door.
It is the last of the three order records. The Sales Order says what was sold, the Work Order says what was built, and the delivery order says what ships.

Screenshot not captured yet — this page is written against the live build and will be illustrated once a delivery order can be taken through packing and booking.
Parts of this module are not finished — read this first
Delivery Orders is partly a first-phase build. The list, the record, packing, package types, change requests, manual booking and tracking are real and save to the server. Three things are not yet connected, and the screens give no sign of it:
| What | Status | Do this instead |
|---|---|---|
| Book with DHL in Pulse | Not connected. Nothing is sent to DHL or saved; the "booking" vanishes on reload — but you still get a success toast | Book with the carrier yourself, then record it manually |
| Five tracking action buttons — Notify customer, Contact carrier, Reschedule delivery, Track remaining boxes, Raise claim | Render and click, but do nothing | Contact the customer or carrier yourself. Only Refresh works |
| Hold dispatch on a change request | Does not exist | Raising a CR does not stop a shipment — tell the warehouse directly |
Each is called out again on its own page. Everything else in these guides describes behaviour that works.
In this section
- The List — columns, filters, search and export
- Delivery Order Details — the record and its five tabs
- Order Overview — the journey card, items, parties and key dates
- Ready for Packing — the three packing steps, weigh-in and box labels
- Package Types — the shared library of box sizes
- Change Requests — correcting ship-to, contact or billing
- Book Shipment — booking with DHL, or recording a manual booking
- Order Tracking — status, journey, piece IDs and documents
- Activity — the audit trail
- Field Reference — every limit, value and validation message
Getting there
Delivery Order in the left sidebar, or go straight to /delivery-orders. Opening one takes you to /delivery-orders/{id}/overview, and each tab has its own address.
Where a delivery order comes from
There is no "Create Delivery Order" button in this module
The Delivery Orders list has no create action. A delivery order is generated from a work order and approved on the sales order before it ever appears here.
1
Generate DO on the work order
Once every unit has passed QA, Generate DO sends the delivery order for approval. It sits at Approval Pending.
2
An approver decides it
On the sales order's Delivery tab. Approval moves it to Confirm.
3
Someone presses Create Delivery Order
Also on the sales order's Delivery tab. This is the moment it enters this module, at the Packing stage.
An approved delivery order is not in this list yet
Approval Pending, Confirm and Rejected orders are deliberately kept out of the Delivery Orders list. If somebody says "the delivery order was approved" but you cannot find it here, it is almost certainly sitting at Confirm on the sales order, waiting for Create Delivery Order.
The Five Stages
Only five stages appear in this module. Each is a coloured pill in the Stage column.
| Stage | Pill colour | What it means | Next step |
|---|---|---|---|
| Packing | Amber | Being packed and weighed | Pack and weigh |
| Ready to dispatch | Purple | Packed; the carrier has to be booked | Book shipment |
| In transit | Blue | With the carrier | In transit |
| Delivered | Green | Arrived | Delivered |
| Cancelled | Grey | The delivery will not happen | Cancelled |
"Ready to dispatch" is labelled Book shipment on screen
The stored stage is Ready to dispatch; the pill reads Book shipment, because that is the action waiting for you. Both names mean the same thing — you will see the stored one in filters and in CSV exports, and the action name in the list.
It is also the one row where the Stage pill and the Next step column say the same thing. Everywhere else the two differ, which is the point of having both.
Nothing in this module cancels a delivery order
Cancelled has a pill, a journey heading and an empty state on every tab — but there is no cancel action anywhere in Delivery Orders, and no documented way to reach the stage or to undo it. If you need an order cancelled, that is a conversation with Sales on the sales order, not something you can do here.
Three stages you will never see here
| Stage | Where it lives instead |
|---|---|
| Approval Pending | Sales order → Delivery tab |
| Confirm | Sales order → Delivery tab, as Create Delivery Order |
| Rejected | Sales order → Delivery tab. The work order can then send a new one |
Retired stages
Three stages existed before the separate Order Verification step was removed. A one-time migration moved every order still in one of them to Packing:
Draft · Verification · Needs attention
If you find one of these in an old note or screenshot, read it as Packing.
How it fits together
| Step | Record | What it means |
|---|---|---|
| 1 | Sales Order | What the customer bought, and the committed date |
| 2 | Work Order | The build instruction; serials, photos and QA |
| 3 | Generate DO | The delivery order is sent for approval |
| 4 | Approval → Confirm → Create | The delivery order is released into this module |
| 5 | Delivery Order | Packing, booking, tracking, delivery |
The Five Tabs
| Tab | Address | What it is for |
|---|---|---|
| Order Overview | /overview | The journey, items, parties, dates and totals |
| Ready for packing | /packing | Confirm the parties and carrier, add boxes, weigh in |
| Book shipment | /book-shipment | Book DHL in Pulse, or record a booking made elsewhere |
| Order Tracking | /tracking | Status, the shipment journey, the steps and the piece IDs |
| Activity | /activity | Who did what, and when |
Each tab has its own address, so a pasted link opens on the right one.
The tabs are a sequence, not a menu
They follow the order the work actually happens in. A tab that is not relevant yet says so rather than showing an empty screen — "Nothing to pack yet", "Booking opens after verification". Full list of those states on each tab's own page.
What you can do
| Action | Where |
|---|---|
| See every delivery in flight | The list |
| Find one by DO number, sales order, customer or ship-to | Search and filters |
| Check what is going where, and to whom | Order Overview |
| Confirm the ship-to, contact and billing with the customer | Ready for packing |
| Correct any of those three | Raise CR |
| Add boxes, pick package types, weigh the shipment | Ready for packing |
| Print 4×6 in box labels | Ready for packing |
| Book DHL from inside Pulse | Book shipment |
| Record a booking made on the phone or a carrier site | Book shipment |
| Watch the carrier's scans, for a DHL or a manual booking | Order Tracking |
| Copy the per-box piece IDs for a carrier query | Order Tracking |
| Download the delivery challan or packing slip | Header ⋯ Export |
| See the whole audit trail | Activity |
Permissions
Everything in this module is gated on the delivery_orders module — not sales_orders.
| Permission | What it allows |
|---|---|
| view | Opening the list, any order and every tab |
| edit | Packing, booking, package types |
| export | Exporting the list to CSV |
| approve | Deciding a delivery order or a packing change request |
Which controls each one unlocks
Missing permissions hide controls rather than disabling them, so the screen simply looks simpler. This is what goes missing:
| Without | You lose |
|---|---|
| view | The module entirely — the sidebar entry and every address |
| edit | Confirm address / contact / billing, Confirm Carrier, Raise CR, + Add package, the Qty / Weight / package-type inputs, Add photos, Mark ready to dispatch, every Book shipment action, the tracking mark actions, and Manage package types |
| export | Export CSV on the list |
| approve | The Approve and Reject buttons in the change-request popup |
Read-only is a perfectly normal state here
With view alone you can still open every tab, read the packing steps, see the boxes and follow the tracking. The packing tab simply renders its cards without the confirm buttons. If you expected a button and the card looks otherwise complete, it is almost always edit you are missing.
Full Sales Order access does not open this module
A user with every Sales Orders grant and no Delivery Orders grant cannot open this list, and finds the sales order's own Delivery tab closed too. The two are separate modules.
Video demonstrations
Watch: The delivery orders list, its stages and filters
Watch: Moving through all five tabs
Watch: Ready for packing, start to finish
Related
- Generate DO — where a delivery order is raised
- Sales Order Delivery tab — approving and creating it
- Work Orders — what is being shipped